Revision 49828
Added by Panagiotis Kanakakis over 6 years ago
modules/uoa-goldoa-service/branches/hibernate/src/test/java/unitest/ManageRequestsTest.java | ||
---|---|---|
121 | 121 |
@Rollback(true) |
122 | 122 |
public void resolveDOI() { |
123 | 123 |
try { |
124 |
Publication p = pum.resolveDOI("10.1002/0470841559.ch1");
|
|
124 |
Publication p = pum.resolveDOI("10.1155/2017/1297658");
|
|
125 | 125 |
System.out.println(p.getType().getType()); |
126 | 126 |
} catch (ManagerException e) { |
127 | 127 |
e.printStackTrace(); |
... | ... | |
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" + |
|
244 |
"pkanakakis@di.uoa.gr ,641489,10.1002/0470841559.ch10 ,2015-05-27,doi,doiValue,testLicense,1000,EUR,0\n "+ |
|
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";*/ |
|
247 |
//"pkanakakis@di.uoa.gr,100016,10.1002/0470841559.ch1,2015-05-27,doi,doiValue,licenseValue,1000,EUR,10.00,,"; |
|
248 |
//"pkanakakis@di.uoa.gr,100016,10.1002/0470841559.ch10,2015-05-27,doi,doiValue,licenseValue,1000,EUR,10.00,,"; |
|
243 |
String csv = "Firstname,Lastname,Email, Affiliation,Project Grant Number,DOI,Acceptance Date,Publication Identifier Type,Publication Identifier value," + |
|
244 |
"APC,APC currency,Discount\n" + |
|
245 |
"Panagiotis,Kanakakis,pkanakakis@di.uoa.gr,NATIONAL AND KAPODISTRIAN UNIVERSITY OF ATHENS,641489,10.1002/0470841559.ch10,2015-05-27,doi,doiValue,1000,EUR,0\n "+ |
|
246 |
"Panagiotis,Kanakakis,p2@di.uoa.gr,NATIONAL AND KAPODISTRIAN UNIVERSITY OF ATHENS,641489,10.1002/0470841559.ch10,2015-05-27,doi,doiValue,1000,EUR,0\n "+ |
|
247 |
"Panagiotis,Kanakakis,,NATIONAL AND KAPODISTRIAN UNIVERSITY OF ATHENS,641489,10.1002/0470841559.ch10,2015-05-27,doi,doiValue,,EUR,"; |
|
249 | 248 |
|
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 |
|
|
373 | 249 |
try { |
374 | 250 |
rm.importCSV(csv); |
375 | 251 |
} catch (Exception e) { |
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/RequestManagerImpl.java | ||
---|---|---|
59 | 59 |
@Autowired |
60 | 60 |
private PublisherManager publisherManager; |
61 | 61 |
|
62 |
|
|
62 | 63 |
@Value("${goldoa.sendCoordinatorEmails}") |
63 | 64 |
private String sendCoordinatorEmails ;//= false; |
64 | 65 |
@Value("${goldoa.sendEvaEmail}") |
... | ... | |
66 | 67 |
@Value("${goldoa.evaEmail}") |
67 | 68 |
private String evaEmail;// = null; |
68 | 69 |
|
69 |
private Log logger = LogFactory.getLog(RequestManagerImpl.class);
|
|
70 |
private Log LOGGER = LogFactory.getLog(RequestManagerImpl.class);
|
|
70 | 71 |
|
71 | 72 |
@Override |
72 | 73 |
public Request saveRequest(final Request request) { |
... | ... | |
649 | 650 |
@Override |
650 | 651 |
@Transactional(propagation = Propagation.REQUIRED , rollbackFor = {PersonManagerException.class, |
651 | 652 |
ManagerException.class,ParseException.class,Exception.class}) |
652 |
public void importCSV(String csv) throws PersonManagerException, ManagerException, ParseException { |
|
653 |
public void importCSV(String csv) throws PersonManagerException, ManagerException, ParseException, OrganizationManagerException {
|
|
653 | 654 |
|
654 | 655 |
String linesWithHeader[] = csv.split("\\r?\\n"); |
655 | 656 |
String lines[] = Arrays.copyOfRange(linesWithHeader,1,linesWithHeader.length); |
656 | 657 |
for(String str : lines){ |
657 | 658 |
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 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; |
|
667 | 659 |
|
668 |
importRequestFromCSV(userEmail,grant,doi,acceptanceDate, |
|
669 |
identifierType,identifierValue,apc, |
|
670 |
apcCurrency,discount); |
|
660 |
String firstname = !line[0].equals("")?line[0].trim():null; |
|
661 |
String lastname = !line[1].equals("")?line[1].trim():null; |
|
662 |
String email = !line[2].equals("")?line[2].trim():null; |
|
663 |
String organization = !line[3].equals("")?line[3].trim():null; |
|
664 |
|
|
665 |
String grant = !line[4].equals("")?line[4].trim():null; |
|
666 |
String doi = !line[5].equals("")?line[5].trim():null; |
|
667 |
String acceptanceDate = !line[6].equals("")?line[6].trim():null; |
|
668 |
String identifierType = !line[7].equals("")?line[7].trim():null; |
|
669 |
String identifierValue = !line[8].equals("")?line[8].trim():null; |
|
670 |
String apc = !line[9].equals("")?line[9].trim():"0"; |
|
671 |
String apcCurrency = !line[10].equals("")?line[10].trim():null; |
|
672 |
String discount = line.length>11?line[11].trim():"0"; |
|
673 |
|
|
674 |
importRequestFromCSV(firstname,lastname,organization,email, |
|
675 |
grant,doi,acceptanceDate, identifierType, |
|
676 |
identifierValue,apc, apcCurrency,discount); |
|
671 | 677 |
} |
672 | 678 |
} |
673 | 679 |
|
674 | 680 |
|
675 |
private void importRequestFromCSV(String userEmail, String grant, String doi, String acceptanceDate, |
|
681 |
private void importRequestFromCSV(String firstname, String lastname, String organization, String email, String grant, |
|
682 |
String doi, String acceptanceDate, |
|
676 | 683 |
String identifierType, String identifierValue, |
677 |
String apc, String apcCurrency,String discount) |
|
678 |
throws PersonManagerException, ParseException, ManagerException { |
|
684 |
String apc, String apcCurrency, String discount)
|
|
685 |
throws PersonManagerException, ParseException, ManagerException, OrganizationManagerException {
|
|
679 | 686 |
|
687 |
Organization org = (Organization) organizationManager.search(organization).get(0); |
|
688 |
if(org == null){ |
|
689 |
LOGGER.debug("Organization " + organization + " not exists!"); |
|
690 |
throw new OrganizationManagerException(OrganizationManagerException.ErrorCause.NOT_EXISTS); |
|
691 |
} |
|
692 |
|
|
693 |
|
|
680 | 694 |
User user = null; |
681 | 695 |
try { |
682 |
user = userManager.getByEmail(userEmail);
|
|
696 |
user = userManager.getByEmail(email);
|
|
683 | 697 |
} catch (PersonManagerException e) { |
684 |
e.printStackTrace(); |
|
685 |
throw new PersonManagerException("User with email " + userEmail + " not exists!"); |
|
698 |
LOGGER.debug("User with email : " + email + "not exists!" ,e); |
|
699 |
LOGGER.debug("Creating new inactive user with default password!"); |
|
700 |
user = userManager.createInActiveResearcher(firstname,lastname,email,org); |
|
686 | 701 |
} |
687 | 702 |
|
688 | 703 |
List<Object> rs = projectManager.search(grant); |
689 | 704 |
Project project = null; |
690 | 705 |
if(rs.size() == 0) { |
691 |
System.out.println("Project with specified grant("+grant+") not found!");
|
|
706 |
LOGGER.debug("Project with specified grant("+grant+") not found!");
|
|
692 | 707 |
throw new ManagerException("Project with specified grant("+grant+") not found!"); |
693 | 708 |
}else |
694 | 709 |
project = (Project) rs.get(0); |
... | ... | |
697 | 712 |
try { |
698 | 713 |
publication = publicationManager.resolveDOI(doi); |
699 | 714 |
} catch (ManagerException e) { |
700 |
e.printStackTrace();
|
|
715 |
LOGGER.debug("Requested doi("+doi+") not found!" , e);
|
|
701 | 716 |
throw new ManagerException("Requested doi("+doi+") not found!"); |
702 | 717 |
} |
703 | 718 |
|
... | ... | |
711 | 726 |
publicationManager.savePublication(publication); |
712 | 727 |
|
713 | 728 |
|
714 |
Request request = requestDAO.getRequestFromCSV(user,project,publication,acceptanceDate, |
|
715 |
identifierType,identifierValue,apc, |
|
716 |
apcCurrency,discount); |
|
729 |
Request request = requestDAO.getRequestFromCSV(user,project,publication,org, |
|
730 |
acceptanceDate, identifierType,identifierValue,apc, apcCurrency,discount); |
|
717 | 731 |
|
718 | 732 |
request.setId("L" + new SimpleDateFormat("yyyyMMdd-").format(new Date()) + requestDAO.getRequestId()); |
719 | 733 |
request.setEligibility(Eligibility.OK); |
720 | 734 |
|
735 |
|
|
721 | 736 |
if(!request.getEligibility().getStatus().equals(Eligibility.Status.OK)) |
722 | 737 |
throw new ManagerException("Request for project "+grant+" is not eligible!"); |
723 | 738 |
requestDAO.saveRequest(request); |
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/UserDAO.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.goldoa.service.dao; |
2 | 2 |
|
3 |
import eu.dnetlib.goldoa.domain.AccountAction; |
|
4 |
import eu.dnetlib.goldoa.domain.Role; |
|
5 |
import eu.dnetlib.goldoa.domain.User; |
|
6 |
import eu.dnetlib.goldoa.domain.UserRole; |
|
3 |
import eu.dnetlib.goldoa.domain.*; |
|
7 | 4 |
import org.apache.commons.codec.digest.DigestUtils; |
8 | 5 |
import org.apache.commons.logging.Log; |
9 | 6 |
import org.apache.commons.logging.LogFactory; |
... | ... | |
11 | 8 |
import org.hibernate.criterion.Order; |
12 | 9 |
import org.hibernate.criterion.Restrictions; |
13 | 10 |
import org.hibernate.transform.Transformers; |
11 |
import org.springframework.beans.factory.annotation.Autowired; |
|
14 | 12 |
import org.springframework.stereotype.Repository; |
15 | 13 |
|
16 | 14 |
import java.math.BigInteger; |
17 | 15 |
import java.sql.Timestamp; |
18 | 16 |
import java.util.List; |
17 |
import java.util.UUID; |
|
19 | 18 |
|
20 | 19 |
/** |
21 | 20 |
* Created by antleb on 3/13/15. |
22 | 21 |
*/ |
23 | 22 |
@Repository |
24 | 23 |
public class UserDAO extends AbstractDao<String, User> { |
25 |
private Log log = LogFactory.getLog(UserDAO.class);
|
|
24 |
private Log LOGGER = LogFactory.getLog(UserDAO.class);
|
|
26 | 25 |
|
27 | 26 |
/** |
28 | 27 |
* Returns the person with the given id. Objects of different type are placeholders containing only their id. |
... | ... | |
199 | 198 |
// .setCacheRegion("user") |
200 | 199 |
.list(); |
201 | 200 |
} |
201 |
|
|
202 |
public User createInActiveResearcher(String firstname, String lastname, String email, Organization organization) { |
|
203 |
User user = new User(); |
|
204 |
user.setFirstname(firstname); |
|
205 |
user.setLastname(lastname); |
|
206 |
user.setEmail(email); |
|
207 |
user.setPassword(DigestUtils.md5Hex(UUID.randomUUID().toString())); |
|
208 |
|
|
209 |
UserRole personRole = new UserRole(); |
|
210 |
UserRolePK urPk = new UserRolePK(); |
|
211 |
urPk.setUser(user); |
|
212 |
urPk.setRole(new Role("researcher","Researcher")); |
|
213 |
personRole.setPk(urPk); |
|
214 |
|
|
215 |
Affiliation affiliation = new Affiliation(); |
|
216 |
affiliation.setOrganization(organization); |
|
217 |
affiliation.getUsers().add(user); |
|
218 |
user.getAffiliations().add(affiliation); |
|
219 |
|
|
220 |
saveUser(user); |
|
221 |
return user; |
|
222 |
} |
|
202 | 223 |
} |
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/dao/RequestDAO.java | ||
---|---|---|
825 | 825 |
return result; |
826 | 826 |
} |
827 | 827 |
|
828 |
public Request getRequestFromCSV(User user, Project project, Publication publication, String acceptanceDate,
|
|
829 |
String identifierType, String identifierValue, |
|
828 |
public Request getRequestFromCSV(User user, Project project, Publication publication, Organization organization,
|
|
829 |
String acceptanceDate, String identifierType, String identifierValue,
|
|
830 | 830 |
String apc, String apcCurrency, String discount) throws ParseException { |
831 | 831 |
|
832 | 832 |
Request request = new Request(); |
833 |
request.setProject(project); |
|
833 | 834 |
request.setUser(user); |
834 |
request.setProject(project);
|
|
835 |
request.setResearcher(user);
|
|
835 | 836 |
|
836 | 837 |
publication.setAcceptancedate(new SimpleDateFormat("yyyy-MM-dd").parse(acceptanceDate)); |
837 | 838 |
|
... | ... | |
843 | 844 |
|
844 | 845 |
publication.getIdentifiers().add(id); |
845 | 846 |
|
847 |
request.setOrganization(organization); |
|
846 | 848 |
request.setApc(apc!=null?Float.parseFloat(apc):null); |
847 | 849 |
request.setCurrency(apcCurrency!=null?Currency.valueOf(apcCurrency):null); |
848 | 850 |
request.setDiscount(discount!=null?Float.parseFloat(discount):null); |
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/RequestManager.java | ||
---|---|---|
113 | 113 |
|
114 | 114 |
public List<CommentTemplate> getCommentTemplates(Request.RequestStatus requestStatus); |
115 | 115 |
|
116 |
public void importCSV(String csv) throws PersonManagerException, ManagerException, IOException, ParseException; |
|
116 |
public void importCSV(String csv) throws PersonManagerException, ManagerException, IOException, ParseException, OrganizationManagerException;
|
|
117 | 117 |
} |
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/UserManagerImpl.java | ||
---|---|---|
20 | 20 |
import java.util.UUID; |
21 | 21 |
import java.util.concurrent.ExecutorService; |
22 | 22 |
|
23 |
//import eu.dnetlib.goldoa.service.utils.EmailUtils; |
|
24 | 23 |
|
25 | 24 |
/** |
26 | 25 |
* Created by antleb on 3/4/15. |
... | ... | |
34 | 33 |
|
35 | 34 |
@Autowired |
36 | 35 |
private EmailUtils emailUtils; |
37 |
|
|
36 |
|
|
38 | 37 |
@Autowired |
39 | 38 |
ExecutorService executorService; |
40 | 39 |
|
41 | 40 |
private int tokenTTL = 30; |
42 | 41 |
|
43 |
private Log log = LogFactory.getLog(UserManagerImpl.class);
|
|
42 |
private Log LOGGER = LogFactory.getLog(UserManagerImpl.class);
|
|
44 | 43 |
|
45 | 44 |
public static int generateId(Affiliation affiliation) { |
46 | 45 |
StringBuilder sb = new StringBuilder(); |
... | ... | |
158 | 157 |
} catch (PersonManagerException e) { |
159 | 158 |
throw e; |
160 | 159 |
} catch (Exception e) { |
161 |
log.error("Error logging in", e);
|
|
160 |
LOGGER.error("Error logging in", e);
|
|
162 | 161 |
} |
163 | 162 |
return null; |
164 | 163 |
} |
... | ... | |
309 | 308 |
return userDAO.getUserRoles(email); |
310 | 309 |
} |
311 | 310 |
|
311 |
@Override |
|
312 |
public User createInActiveResearcher(String firstname, String lastname, String email, Organization organization) throws OrganizationManagerException, PersonManagerException { |
|
313 |
|
|
314 |
if(firstname == null || lastname == null || email == null) |
|
315 |
throw new PersonManagerException("Empty firstname or lastname or email"); |
|
316 |
return userDAO.createInActiveResearcher(firstname,lastname,email,organization); |
|
317 |
} |
|
318 |
|
|
312 | 319 |
} |
modules/uoa-goldoa-service/branches/hibernate/src/main/java/eu/dnetlib/goldoa/service/UserManager.java | ||
---|---|---|
1 | 1 |
package eu.dnetlib.goldoa.service; |
2 | 2 |
|
3 |
import eu.dnetlib.goldoa.domain.PersonManagerException; |
|
4 |
import eu.dnetlib.goldoa.domain.Role; |
|
5 |
import eu.dnetlib.goldoa.domain.User; |
|
3 |
import eu.dnetlib.goldoa.domain.*; |
|
6 | 4 |
|
7 | 5 |
import java.util.List; |
8 | 6 |
|
... | ... | |
54 | 52 |
public Role getRole(String roleId); |
55 | 53 |
|
56 | 54 |
List<Role> getUserRoles(String email); |
55 |
|
|
56 |
User createInActiveResearcher(String firstname, String lastname, String email, Organization organization) throws OrganizationManagerException, PersonManagerException; |
|
57 | 57 |
} |
modules/uoa-goldoa-service/branches/hibernate/src/main/resources/log4j.properties | ||
---|---|---|
1 |
# Set root logger level to DEBUG and its only appender to A1. |
|
2 |
log4j.rootLogger=INFO, A1 |
|
1 |
log4j.rootLogger = WARN, R |
|
3 | 2 |
|
4 |
# A1 is set to be a ConsoleAppender. |
|
5 |
log4j.appender.A1.File=/tmp/log.out |
|
6 |
# A1 uses PatternLayout. |
|
7 |
log4j.appender.A1.layout=org.apache.log4j.PatternLayout |
|
8 |
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n |
|
3 |
log4j.logger.eu.dnetlib = DEBUG |
|
4 |
log4j.logger.eu.dnetlib.clients.data.datasourcemanager.ws.Converter = FATAL |
|
5 |
log4j.logger.org.springframework = DEBUG, S |
|
6 |
log4j.additivity.org.springframework = false |
|
9 | 7 |
|
8 |
log4j.logger.com.opensymphony.xwork2.ognl.OgnlValueStack = FATAL |
|
9 |
log4j.logger.com.opensymphony.xwork2.ObjectFactory = FATAL |
|
10 | 10 |
|
11 |
# Define the root logger with appender file |
|
12 |
#log4j.rootLogger = DEBUG, FILE |
|
11 |
log4j.logger.eu.dnetlib.repo.manager=DEBUG |
|
12 |
|
|
13 |
log4j.appender.R=org.apache.log4j.RollingFileAppender |
|
14 |
log4j.appender.R.File=/tmp/uoa-goldoa-service.log |
|
15 |
log4j.appender.R.MaxFileSize=10MB |
|
16 |
log4j.appender.R.MaxBackupIndex=10 |
|
17 |
log4j.appender.R.layout=org.apache.log4j.PatternLayout |
|
18 |
log4j.appender.R.layout.ConversionPattern= %d %p %t [%c] - %m%n |
|
19 |
|
|
20 |
log4j.appender.S=org.apache.log4j.RollingFileAppender |
|
21 |
log4j.appender.S.File=/tmp/uoa-goldoa-service-spring.log |
|
22 |
log4j.appender.S.MaxFileSize=10MB |
|
23 |
log4j.appender.S.MaxBackupIndex=10 |
|
24 |
log4j.appender.S.layout=org.apache.log4j.PatternLayout |
|
25 |
log4j.appender.S.layout.ConversionPattern= %d %p %t [%c] - %m%n |
|
26 |
|
|
27 |
|
|
28 |
#org.apache.cxf.Logger=org.apache.cxf.common.logging.Log4jLogger |
|
13 | 29 |
# |
14 |
## Define the file appender |
|
15 |
#log4j.appender.FILE=org.apache.log4j.FileAppender |
|
30 |
#log4j.rootLogger=INFO, CONSOLE |
|
31 |
#log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender |
|
32 |
#log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout |
|
33 |
#log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n |
|
16 | 34 |
# |
17 |
## Set the name of the file |
|
18 |
#log4j.appender.FILE.File=/tmp/log.out |
|
19 |
# |
|
20 |
## Set the immediate flush to true (default) |
|
21 |
#log4j.appender.FILE.ImmediateFlush=true |
|
22 |
# |
|
23 |
## Set the threshold to debug mode |
|
24 |
#log4j.appender.FILE.Threshold=debug |
|
25 |
# |
|
26 |
## Set the append to false, overwrite |
|
27 |
#log4j.appender.FILE.Append=false |
|
28 |
# |
|
29 |
## Define the layout for file appender |
|
30 |
#log4j.appender.FILE.layout=org.apache.log4j.PatternLayout |
|
31 |
#log4j.appender.FILE.layout.conversionPattern=%m%n |
|
32 |
|
|
35 |
#log4j.logger.eu.dnetlib.repo.manager=DEBUG |
Also available in: Unified diff
1. Change log4j properties file.
2. Add method to create researcher from bulk import csv
3. Change csv handling on bulk import
4. Modify request unit test.