Project

General

Profile

« Previous | Next » 

Revision 49202

1. Fix import from csv.
2. Fix pie chart issue. Change request status ( code -> value ).

View differences:

modules/uoa-goldoa-service/branches/hibernate/src/test/java/unitest/ManageRequestsTest.java
240 240
    @Rollback(true)
241 241
    public void importCSVRequests() {
242 242

  
243
        String csv = "User email,Project Grant Number,DOI,Acceptance Date,Publication Identifier Type,Publication Identifier value,License,APC,APC currency,Discount,Co-Funder Name,Co-funder discount percentage (';' separated)\n" +
243
        /*String csv = "User email,Project Grant Number,DOI,Acceptance Date,Publication Identifier Type,Publication Identifier value,License,APC,APC currency,Discount,Co-Funder Name,Co-funder discount percentage (';' separated)\n" +
244 244
                "pkanakakis@di.uoa.gr  ,641489,10.1002/0470841559.ch10 ,2015-05-27,doi,doiValue,testLicense,1000,EUR,0\n "+
245 245
                "pkanakakis@di.uoa.gr  ,100016,10.1002/0470841559.ch10 ,2015-05-27,doi,doiValue,testLicense,1000,EUR,0\n"+
246
                "pkanakakis@di.uoa.gr  ,100016,10.1002/0470841559.ch2,2015-05-27,doi,doiValue,testLicense,1000,EUR,0";
246
                "pkanakakis@di.uoa.gr  ,100016,10.1002/0470841559.ch2,2015-05-27,doi,doiValue,testLicense,1000,EUR,0";*/
247 247
        //"pkanakakis@di.uoa.gr,100016,10.1002/0470841559.ch1,2015-05-27,doi,doiValue,licenseValue,1000,EUR,10.00,,";
248 248
        //"pkanakakis@di.uoa.gr,100016,10.1002/0470841559.ch10,2015-05-27,doi,doiValue,licenseValue,1000,EUR,10.00,,";
249
        System.out.println(csv);
249

  
250
        String csv = "User email,Project Grant Number,DOI,Acceptance date,Publication identifier type,Publication identifier value,APC,ApcCurrency,Discount\n" +
251
                "gwen.franck@kb.nl,265113, 10.5194/acp-16-8249-2016,2017-01-01,,,1440,EUR,\n" +
252
                "gwen.franck@kb.nl,265148, 10.5194/acp-16-10879-2016,2017-01-01,,,1710,EUR,\n" +
253
                "gwen.franck@kb.nl,287530, 10.5194/gmd-9-3483-2016,2017-01-01,,,810,EUR,\n" +
254
                "gwen.franck@kb.nl,243908, 10.5194/bg-13-4205-2016,2017-01-01,,,1260,EUR,\n" +
255
                "gwen.franck@kb.nl,294146, 10.5194/bg-13-6049-2016,2017-01-01,,,1620,EUR,\n" +
256
                "gwen.franck@kb.nl,282910, 10.5194/gmd-9-4475-2016,2017-01-01,,,1350,EUR,\n" +
257
                "gwen.franck@kb.nl,265113, 10.5194/acp-17-627-2017,2017-01-01,,,1275,EUR,\n" +
258
                "gwen.franck@kb.nl,243908, 10.5194/bg-13-4205-2016,2017-01-01,,,1950,EUR,\n" +
259
                "gwen.franck@kb.nl,316210, 10.5194/amt-10-83-2017,2017-01-01,,,1980,EUR,\n" +
260
                "gwen.franck@kb.nl,295132, 10.5194/acp-17-645-2017,2017-01-01,,,1275,EUR,\n" +
261
                "gwen.franck@kb.nl,312642, 10.5194/os-13-1-2017,2017-01-01,,,825,EUR,\n" +
262
                "gwen.franck@kb.nl,295132, 10.5194/acp-17-1653-2017,2017-01-01,,,1800,EUR,\n" +
263
                "gwen.franck@kb.nl,299035, 10.5194/tc-11-319-2017,2017-01-01,,,825,EUR,\n" +
264
                "gwen.franck@kb.nl,256961, 10.5194/amt-10-507-2017,2017-01-01,,,1425,EUR,\n" +
265
                "gwen.franck@kb.nl,265113, 10.5194/acp-17-2689-2017,2017-01-01,,,1500,EUR,\n" +
266
                "gwen.franck@kb.nl,282688, 10.5194/acp-17-2709-2017,2017-01-01,,,1080,EUR,\n" +
267
                "gwen.franck@kb.nl,282700, 10.5194/gmd-10-959-2017,2017-01-01,,,1275,EUR,\n" +
268
                "gwen.franck@kb.nl,316173, 10.5194/acp-17-3673-2017,2017-01-01,,,1170,EUR,\n" +
269
                "gwen.franck@kb.nl,316210, 10.5194/acp-17-4063-2017,2017-01-01,,,1530,EUR,\n" +
270
                "gwen.franck@kb.nl,316662, 10.5194/acp-17-4053-2017,2017-01-01,,,900,EUR,\n" +
271
                "gwen.franck@kb.nl,282700, 10.5194/bg-14-1593-2017,2017-01-01,,,750,EUR,\n" +
272
                "gwen.franck@kb.nl,308377, 10.5194/acp-17-4401-2017,2017-01-01,,,1350,EUR,\n" +
273
                "gwen.franck@kb.nl,290605, 10.5194/acp-17-5035-2017,2017-01-01,,,1980,EUR,\n" +
274
                "gwen.franck@kb.nl,606953, 10.5194/acp-17-5893-2017,2017-01-01,,,1980,EUR,\n" +
275
                "gwen.franck@kb.nl,606738, 10.5194/gmd-10-1985-2017,2017-01-01,,,1980,EUR,\n" +
276
                "gwen.franck@kb.nl,283568, 10.5194/cp-13-455-2017,2017-01-01,,,1620,EUR,\n" +
277
                "gwen.franck@kb.nl,267099, 10.5194/acp-17-7143-2017,2017-01-01,,,1170,EUR,\n" +
278
                "gwen.franck@kb.nl,282700, 10.5194/bg-14-3051-2017,2017-01-01,,,1440,EUR,\n" +
279
                "gwen.franck@kb.nl,262693, 10.5194/bg-14-3157-2017,2017-01-01,,,975,EUR,\n" +
280
                "gwen.franck@kb.nl,243908, 10.5194/cp-13-729-2017,2017-01-01,,,990,EUR,\n" +
281
                "gwen.franck@kb.nl,311903, 10.5194/hess-21-3507-2017,2017-01-01,,,1620,EUR,\n" +
282
                "gwen.franck@kb.nl,608166, 10.5194/nhess-17-1177-2017,2017-01-01,,,1050,EUR,\n" +
283
                "gwen.franck@kb.nl,282688, 10.5194/acp-17-8681-2017,2017-01-01,,,1980,EUR,\n" +
284
                "gwen.franck@kb.nl,289384,10.1186/s12918-017-0428-y,2017-01-01,,,1657,EUR,75\n" +
285
                "gwen.franck@kb.nl,221948,10.1186/s40249-017-0245-y,2017-01-01,,,1657,EUR,75\n" +
286
                "gwen.franck@kb.nl,263916,10.1186/s12870-017-1017-3,2017-01-01,,,1657,EUR,75\n" +
287
                "gwen.franck@kb.nl,613549,10.1186/s13068-017-0744-x,2017-01-01,,,1895,EUR,25\n" +
288
                "gwen.franck@kb.nl,303772,10.1186/s12864-016-3444-1,2017-01-01,,,1657,EUR,75\n" +
289
                "gwen.franck@kb.nl,329033,10.1186/s13100-017-0086-z,2017-01-01,,,1657,EUR,75\n" +
290
                "gwen.franck@kb.nl,306141,10.1186/s13012-017-0552-5,2017-01-01,,,1828,EUR,75\n" +
291
                "gwen.franck@kb.nl,312941,10.1186/s12859-017-1513-3,2017-01-01,,,1657,EUR,75\n" +
292
                "gwen.franck@kb.nl,258068,10.1186/s12859-017-1503-5,2017-01-01,,,1657,EUR,75\n" +
293
                "gwen.franck@kb.nl,221948,10.1186/s40249-016-0224-8,2017-01-01,,,1657,EUR,75\n" +
294
                "gwen.franck@kb.nl,265827,10.1186/s12884-017-1230-y,2017-01-01,,,1657,EUR,75\n" +
295
                "gwen.franck@kb.nl,259348,10.1186/s13073-017-0407-3,2017-01-01,,,2156,EUR,5\n" +
296
                "gwen.franck@kb.nl,260997,10.1186/s12863-017-0478-6,2017-01-01,,,1657,EUR,75\n" +
297
                "gwen.franck@kb.nl,263147,10.1186/s12951-016-0238-1,2017-01-01,,,1657,EUR,75\n" +
298
                "gwen.franck@kb.nl,265827,10.1186/s12889-017-4069-2,2017-01-01,,,1657,EUR,75\n" +
299
                "gwen.franck@kb.nl,264738,10.1186/s12911-016-0398-9,2017-01-01,,,1657,EUR,75\n" +
300
                "gwen.franck@kb.nl,258837,10.1186/s13012-016-0535-y,2017-01-01,,,1828,EUR,75\n" +
301
                "gwen.franck@kb.nl,289319,10.1186/s12866-016-0917-y,2017-01-01,,,1657,EUR,75\n" +
302
                "gwen.franck@kb.nl,627027,10.1186/s12864-016-3420-9,2017-01-01,,,1657,EUR,75\n" +
303
                "gwen.franck@kb.nl,289974,10.1186/s12859-016-1416-8,2017-01-01,,,1657,EUR,75\n" +
304
                "gwen.franck@kb.nl,289126,10.1186/s13326-016-0109-6,2017-01-01,,,1657,EUR,75\n" +
305
                "gwen.franck@kb.nl,259348,10.1186/s12859-016-1391-0,2017-01-01,,,1657,EUR,75\n" +
306
                "gwen.franck@kb.nl,279227,10.1186/s12888-016-1167-0,2017-01-01,,,1657,EUR,75\n" +
307
                "gwen.franck@kb.nl,306029,10.1186/s12967-016-1067-6,2017-01-01,,,1657,EUR,75\n" +
308
                "gwen.franck@kb.nl,311935,10.1186/s12934-016-0598-0,2017-01-01,,,1657,EUR,75\n" +
309
                "gwen.franck@kb.nl,278871,10.1186/s12974-016-0761-x,2017-01-01,,,1895,EUR,25\n" +
310
                "gwen.franck@kb.nl,289706,10.1186/s12898-016-0109-5,2017-01-01,,,1657,EUR,75\n" +
311
                "gwen.franck@kb.nl,115189,10.1186/s12874-016-0259-3,2017-01-01,,,1657,EUR,75\n" +
312
                "gwen.franck@kb.nl,305831,10.1186/s12909-016-0785-z,2017-01-01,,,1657,EUR,75\n" +
313
                "gwen.franck@kb.nl,289592,10.1186/s12711-016-0258-1,2017-01-01,,,1391,EUR,75\n" +
314
                "gwen.franck@kb.nl,283496,10.1186/s13007-016-0144-4,2017-01-01,,,1729,EUR,\n" +
315
                "gwen.franck@kb.nl,278570,10.1186/s13045-016-0345-3,2017-01-01,,,1999,EUR,75\n" +
316
                "gwen.franck@kb.nl,278901,10.1186/s12916-016-0709-0,2017-01-01,,,2156,EUR,5\n" +
317
                "gwen.franck@kb.nl,303891,10.1186/s12984-016-0204-z,2017-01-01,,,1657,EUR,75\n" +
318
                "gwen.franck@kb.nl,266005,10.1186/s12906-016-1378-4,2017-01-01,,,1657,EUR,75\n" +
319
                "gwen.franck@kb.nl,288209,10.1186/s12911-016-0376-2,2017-01-01,,,1657,EUR,75\n" +
320
                "gwen.franck@kb.nl,283359,10.1186/s12898-016-0103-y,2017-01-01,,,1657,EUR,75\n" +
321
                "gwen.franck@kb.nl,296679,10.1186/s13036-016-0031-6,2017-01-01,,,1729,EUR,\n" +
322
                "gwen.franck@kb.nl,265494,10.1186/s12263-016-0539-x,2017-01-01,,,1657,EUR,75\n" +
323
                "gwen.franck@kb.nl,289377,10.1186/s12864-016-3083-6,2017-01-01,,,1657,EUR,75\n" +
324
                "gwen.franck@kb.nl,250157,10.1186/s13059-016-1051-8,2017-01-01,,,2299,EUR,\n" +
325
                "gwen.franck@kb.nl,258837, 10.1186/s13012-016-0473-8,2017-01-01,,,1828,EUR,75\n" +
326
                "gwen.franck@kb.nl,306105,10.1186/s12936-016-1499-8,2017-01-01,,,1729,EUR,\n" +
327
                "gwen.franck@kb.nl,289300,10.1186/s13007-016-0140-8,2017-01-01,,,1729,EUR,\n" +
328
                "gwen.franck@kb.nl,279039,10.1186/s13068-016-0605-z,2017-01-01,,,1895,EUR,25\n" +
329
                "gwen.franck@kb.nl,296590,10.1186/s12938-016-0226-6,2017-01-01,,,1657,EUR,75\n" +
330
                "gwen.franck@kb.nl,304925,10.1186/s13063-016-1526-7,2017-01-01,,,1657,EUR,75\n" +
331
                "gwen.franck@kb.nl,265970,10.1186/s12961-016-0136-x,2017-01-01,,,1781,EUR,25\n" +
332
                "gwen.franck@kb.nl,289377,10.1186/s12863-016-0431-0,2017-01-01,,,1657,EUR,75\n" +
333
                "gwen.franck@kb.nl,289974,10.1186/s12864-016-2926-5,2017-01-01,,,1657,EUR,75\n" +
334
                "gwen.franck@kb.nl,306105, 10.1186/s12936-016-1505-1,2017-01-01,,,1729,EUR,\n" +
335
                "gwen.franck@kb.nl,290148,10.1186/s13014-016-0683-x,2017-01-01,,,1657,EUR,75\n" +
336
                "gwen.franck@kb.nl,281930,10.1186/s12961-016-0132-1,2017-01-01,,,1748,EUR,\n" +
337
                "gwen.franck@kb.nl,226144, 10.1186/s12940-016-0170-8,2017-01-01,,,1719,EUR,5\n" +
338
                "gwen.franck@kb.nl,289841,10.1186/s12864-016-2879-8,2017-01-01,,,1657,EUR,75\n" +
339
                "gwen.franck@kb.nl,257258,10.1186/s12913-016-1587-z,2017-01-01,,,1657,EUR,75\n" +
340
                "gwen.franck@kb.nl,258883,10.1186/s12904-016-0144-1,2017-01-01,,,1657,EUR,75\n" +
341
                "gwen.franck@kb.nl,245199,10.1186/s12906-016-1227-5,2017-01-01,,,1657,EUR,75\n" +
342
                "gwen.franck@kb.nl,624370,10.1186/s12951-016-0215-8,2017-01-01,,,1657,EUR,75\n" +
343
                "gwen.franck@kb.nl,258883,10.1186/s12904-016-0132-5,2017-01-01,,,1657,EUR,75\n" +
344
                "gwen.franck@kb.nl,241718,10.1186/s12934-016-0497-4,2017-01-01,,,1657,EUR,75\n" +
345
                "gwen.franck@kb.nl,306088,10.1186/s13058-015-0583-2,2017-01-01,,,2142,EUR,25\n" +
346
                "gwen.franck@kb.nl,629675,10.1002/open.201700097,2017-01-01,,,1440,EUR,\n" +
347
                "gwen.franck@kb.nl,289219,10.1002/open.201700101,2017-01-01,,,1440,EUR,\n" +
348
                "gwen.franck@kb.nl,289706,10.1002/ece3.3247,2017-01-01,,,1224,EUR,\n" +
349
                "gwen.franck@kb.nl,262443,10.1002/acn3.434,2017-01-01,,,1752,EUR,\n" +
350
                "gwen.franck@kb.nl,260524,10.15252/emmm.201606978,2017-01-01,,,2000,EUR,\n" +
351
                "gwen.franck@kb.nl,311849,10.1111/gcbb.12451,2017-01-01,,,1487,EUR,\n" +
352
                "gwen.franck@kb.nl,287844,10.1002/ece3.2844,2017-01-01,,,979,EUR,\n" +
353
                "gwen.franck@kb.nl,624035,10.1002/ece3.2731,2017-01-01,,,979,EUR,\n" +
354
                "gwen.franck@kb.nl,270089,10.1111/pbi.12655,2017-01-01,,,1768,EUR,\n" +
355
                "gwen.franck@kb.nl,612146,10.1002/ece3.2580,2017-01-01,,,896,EUR,\n" +
356
                "gwen.franck@kb.nl,330466,10.1002/ecs2.1508,2017-01-01,,,962,EUR,\n" +
357
                "gwen.franck@kb.nl,281640,10.1136/bmjopen-2016-011217,2017-01-01,,,1605,EUR,5\n" +
358
                "gwen.franck@kb.nl,289384,10.1136/bmjopen-2016-013952,2017-01-01,,,1605,EUR,5\n" +
359
                "gwen.franck@kb.nl,258583,10.1136/bmjopen-2016-011569,2017-01-01,,,1605,EUR,5\n" +
360
                "gwen.franck@kb.nl,265660,10.1136/bmjgh-2016-000212,2017-01-01,,,2000,EUR,\n" +
361
                "gwen.franck@kb.nl,306186,10.1136/bmjopen-2016-013805,2017-01-01,,,1605,EUR,5\n" +
362
                "gwen.franck@kb.nl,270182,10.3389/fncom.2015.00107,2017-01-01,,,912,EUR,\n" +
363
                "gwen.franck@kb.nl,601165,10.1371/journal.pcbi.1004172,2017-01-01,,,2069,EUR,\n" +
364
                "gwen.franck@kb.nl,303618,10.1371/journal.pone.0157394,2017-01-01,,,1357,EUR,49\n" +
365
                "gwen.franck@kb.nl,321610,10.1186/s12862-016-0629-9,2017-01-01,,,1396,EUR,\n" +
366
                "gwen.franck@kb.nl,303618,10.1002/ece3.2305,2017-01-01,,,1456,EUR,56\n" +
367
                "gwen.franck@kb.nl,289540,10.3389/fmicb.2016.01481,2017-01-01,,,1653,EUR,\n" +
368
                "gwen.franck@kb.nl,311956,10.1128/genomea.00524-16,2017-01-01,,,601,EUR,22\n" +
369
                "gwen.franck@kb.nl,289540,10.3390/md14070124,2017-01-01,,,1773,EUR,99\n" +
370
                "gwen.franck@kb.nl,303618,10.1002/ece3.2290,2017-01-01,,,1820,EUR,7\n" +
371
                "gwen.franck@kb.nl,303618,10.1371/journal.pone.0145352,2017-01-01,,,1211,EUR,";
372

  
250 373
        try {
251 374
            rm.importCSV(csv);
252 375
        } catch (Exception e) {
modules/uoa-goldoa-service/branches/hibernate/src/test/java/unitest/StatisticsTest.java
75 75
    @Test
76 76
    @Transactional
77 77
    @Rollback(true)
78
    public void createPieChart(){
79
        Series publicationTypeDistributionSeries = st.getSeries(new Series.Category[] {Series.Category.STATUS},
80
                new Request.RequestStatus[] {Request.RequestStatus.CONDITIONALLY_APPROVED, Request.RequestStatus.APPROVED,
81
                        Request.RequestStatus.ACCOUNTING_PROCESSING, Request.RequestStatus.ACCOUNTING_PAID, Request.RequestStatus.ACCOUNTING_ON_HOLD});
82

  
83
        List<Quadruple<String, Integer, Float, Float>> data = publicationTypeDistributionSeries.getData(Series.Category.STATUS);
84
        for(Quadruple<String, Integer, Float, Float> t:data)
85
            System.out.println(t.getFirst()+"/"+t.getSecond());
86
    }
87

  
88

  
89

  
90
    @Test
91
    @Transactional
92
    @Rollback(true)
78 93
    public void infoLabel(){
79 94

  
80 95
        Numbers numbers = st.getNumbers(new Numbers.Category[]{Numbers.Category.REQUESTS, Numbers.Category.PROJECTS,
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/RequestManagerImpl.java
655 655
		String lines[] = Arrays.copyOfRange(linesWithHeader,1,linesWithHeader.length);
656 656
		for(String str : lines){
657 657
			String line[] = str.split(",");
658
			String userEmail = line.length>=0?line[0].trim():null;
659
			String grant = line.length>=1?line[1].trim():null;
660
			String doi = line.length>=2?line[2].trim():null;
661
			String acceptanceDate = line.length>=3?line[3].trim():null;
662
			String identifierType = line.length>=4?line[4].trim():null;
663
			String identifierValue = line.length>=5?line[5].trim():null;
664
			String publicationLicense = line.length>=6?line[6].trim():null;
665
			String apc = line.length>=7?line[7].trim():null;
666
			String apcCurrency = line.length>=8?line[8].trim():null;
667
			String discount = line.length>=9?line[9].trim():null;
658
			String userEmail = line.length>0?line[0].trim():null;
659
			String grant = line.length>1?line[1].trim():null;
660
			String doi = line.length>2?line[2].trim():null;
661
			String acceptanceDate = line.length>3?line[3].trim():null;
662
			String identifierType = line.length>4?line[4].trim():null;
663
			String identifierValue = line.length>5?line[5].trim():null;
664
			String apc = line.length>6?line[6].trim():null;
665
			String apcCurrency = line.length>7?line[7].trim():null;
666
			String discount = line.length>8?line[8].trim():null;
668 667

  
669 668
			importRequestFromCSV(userEmail,grant,doi,acceptanceDate,
670
				identifierType,identifierValue,publicationLicense,apc,
669
				identifierType,identifierValue,apc,
671 670
				apcCurrency,discount);
672 671
		}
673 672
	}
674 673

  
675 674

  
676 675
	private void importRequestFromCSV(String userEmail, String grant, String doi, String acceptanceDate,
677
									  String identifierType, String identifierValue, String publicationLicense,
678
									  String apc, String apcCurrency, String discount)
676
									  String identifierType, String identifierValue,
677
									  String apc, String apcCurrency,String discount)
679 678
			throws PersonManagerException, ParseException, ManagerException {
680 679

  
681 680
		User user = null;
......
702 701
			throw new ManagerException("Requested doi("+doi+") not found!");
703 702
		}
704 703

  
705
		if ( publicationManager.getPublication(publication.getId())  == null )
706
			publicationManager.savePublication(publication);
707 704

  
708

  
709 705
		if(publication.getJournal()!=null && publication.getJournal().getPublisher()!=null)
710 706
			publisherManager.savePublisher(publication.getJournal().getPublisher());
711 707
		else if(publication.getPublisher()!=null)
712 708
			publisherManager.savePublisher(publication.getPublisher());
713 709

  
710
		if ( publicationManager.getPublication(publication.getId())  == null )
711
			publicationManager.savePublication(publication);
714 712

  
713

  
715 714
		Request request = requestDAO.getRequestFromCSV(user,project,publication,acceptanceDate,
716
				identifierType,identifierValue,publicationLicense,apc,
715
				identifierType,identifierValue,apc,
717 716
				apcCurrency,discount);
718 717

  
719 718
		request.setId("L" + new SimpleDateFormat("yyyyMMdd-").format(new Date()) + requestDAO.getRequestId());
720
		request.setEligibility(eligibilityManager.validate(request));
719
		request.setEligibility(Eligibility.OK);
721 720

  
722 721
		if(!request.getEligibility().getStatus().equals(Eligibility.Status.OK))
723 722
			throw new ManagerException("Request for project "+grant+" is not eligible!");
724
		saveRequest(request);
723
		requestDAO.saveRequest(request);
725 724

  
726 725
	}
727 726

  
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/RequestDAO.java
826 826
	}
827 827

  
828 828
	public Request getRequestFromCSV(User user, Project project, Publication publication, String acceptanceDate,
829
									 String identifierType, String identifierValue, String publicationLicense,
829
									 String identifierType, String identifierValue,
830 830
									 String apc, String apcCurrency, String discount) throws ParseException {
831 831

  
832 832
		Request request = new Request();
......
842 842

  
843 843

  
844 844
		publication.getIdentifiers().add(id);
845
		publication.setLicense(publicationLicense);
846 845

  
847
		request.setApc(Float.parseFloat(apc));
848
		request.setCurrency(Currency.valueOf(apcCurrency));
849
		request.setDiscount(Float.parseFloat(discount));
846
		request.setApc(apc!=null?Float.parseFloat(apc):null);
847
		request.setCurrency(apcCurrency!=null?Currency.valueOf(apcCurrency):null);
848
		request.setDiscount(discount!=null?Float.parseFloat(discount):null);
850 849
		request.setPublication(publication);
851 850
		request.setStatus(Request.RequestStatus.LIBRARY_FUND_PAID);
852 851
		return request;
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/PublicationDAO.java
26 26

  
27 27
	public Publication savePublication(Publication publication) {
28 28

  
29
		for(Author a : publication.getAuthors())
30
			a.setId(DigestUtils.md5Hex(a.getFirstname()+ a.getLastname() + a.getEmail() +
31
					(a.getOrganization()!=null?a.getOrganization().getId():"") +
32
					(a.getDepartment()!=null?a.getDepartment():"")
33
			) + publication.getId());
34
		
29
		for(Author a : publication.getAuthors()){
30
			if ( a != null)
31
				a.setId(DigestUtils.md5Hex(a.getFirstname() + a.getLastname() + a.getEmail() +
32
						(a.getOrganization() != null ? a.getOrganization().getId() : "") +
33
						(a.getDepartment() != null ? a.getDepartment() : "")
34
				) + publication.getId());
35
		}
36

  
37

  
35 38
		getSession().saveOrUpdate(publication);
36 39
		return publication;
37 40
	}
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/PublicationManagerImpl.java
186 186
		a.setFirstname(author.path("given").textValue());
187 187
		a.setLastname(author.path("family").textValue());
188 188
		a.setId(DigestUtils.md5Hex(a.getFirstname() + a.getEmail()) + publication.getId());
189
		return a;
189
		if(a.getFirstname() != null)
190
			return a;
191
		return null;
190 192
	}
191 193

  
192 194
	private Publisher parsePublisher(JsonNode publisherName) {
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/stats/StatsManagerImpl.java
161 161
				if(rs[0] == null) rs[0] = "";
162 162
				if(rs[2] == null) rs[2] = "0.0";
163 163
				if(rs[3] == null) rs[3] = "0.0";
164
				
164

  
165

  
165 166
				if(category != Series.Category.STATUS)
166 167
					q = new Quadruple<>(rs[0].toString(),
167 168
							Integer.parseInt(rs[1].toString()), Float.parseFloat(rs[2].toString()), Float.parseFloat(rs[3].toString()));
168 169
				else
169
					q = new Quadruple<>(rs[0].toString(),
170
					q = new Quadruple<>(Request.RequestStatus.forStatus((Integer) rs[0]).getValue(),
170 171
							Integer.parseInt(rs[1].toString()), Float.parseFloat(rs[2].toString()), Float.parseFloat(rs[3].toString()));
171 172
				l.add(q);
172 173
			}

Also available in: Unified diff