Revision 48564
Added by Panagiotis Kanakakis almost 7 years ago
RequestManagerImpl.java | ||
---|---|---|
649 | 649 |
} |
650 | 650 |
|
651 | 651 |
@Override |
652 |
@Transactional(propagation = Propagation.REQUIRED , rollbackFor = {PersonManagerException.class, |
|
653 |
ManagerException.class,ParseException.class,Exception.class}) |
|
652 | 654 |
public void importCSV(String csv) throws PersonManagerException, ManagerException, ParseException { |
653 | 655 |
|
654 | 656 |
String linesWithHeader[] = csv.split("\\r?\\n"); |
... | ... | |
668 | 670 |
String coFunderName = line.length>10?line[10].trim():null; |
669 | 671 |
String coFunderDiscountPercentage = line.length>=11?line[11].trim():null; |
670 | 672 |
|
671 |
System.out.println("New request info " + line[0] + "/" + line[1] + "/" + line[2]); |
|
672 |
|
|
673 | 673 |
importRequestFromCSV(userEmail,grant,doi,acceptanceDate, |
674 | 674 |
identifierType,identifierValue,publicationLicense,apc, |
675 | 675 |
apcCurrency,discount,coFunderName,coFunderDiscountPercentage); |
... | ... | |
677 | 677 |
} |
678 | 678 |
|
679 | 679 |
|
680 |
@Transactional(propagation= Propagation.REQUIRED) |
|
681 | 680 |
private void importRequestFromCSV(String userEmail, String grant, String doi, String acceptanceDate, |
682 | 681 |
String identifierType, String identifierValue, String publicationLicense, |
683 | 682 |
String apc, String apcCurrency, String discount, String coFunderName, |
... | ... | |
692 | 691 |
throw new PersonManagerException("User with email " + userEmail + " not exists!"); |
693 | 692 |
} |
694 | 693 |
|
695 |
|
|
696 |
System.out.println("Grant number: " + grant); |
|
697 |
|
|
698 | 694 |
List<Object> rs = projectManager.search(grant); |
699 | 695 |
Project project = null; |
700 | 696 |
if(rs.size() == 0) { |
... | ... | |
703 | 699 |
}else |
704 | 700 |
project = (Project) rs.get(0); |
705 | 701 |
|
706 |
System.out.println("Project id : " + project.getId()); |
|
707 | 702 |
Publication publication = null; |
708 | 703 |
try { |
709 |
System.out.println(doi); |
|
710 | 704 |
publication = publicationManager.resolveDOI(doi); |
711 |
System.out.println("Publication id: " + publication.getId()); |
|
712 | 705 |
} catch (ManagerException e) { |
713 | 706 |
e.printStackTrace(); |
714 | 707 |
throw new ManagerException("Requested doi("+doi+") not found!"); |
715 | 708 |
} |
716 | 709 |
publicationManager.savePublication(publication); |
717 | 710 |
|
711 |
|
|
718 | 712 |
if(publication.getJournal()!=null && publication.getJournal().getPublisher()!=null) |
719 | 713 |
publisherManager.savePublisher(publication.getJournal().getPublisher()); |
720 | 714 |
else if(publication.getPublisher()!=null) |
... | ... | |
725 | 719 |
Request request = requestDAO.getRequestFromCSV(user,project,publication,acceptanceDate, |
726 | 720 |
identifierType,identifierValue,publicationLicense,apc, |
727 | 721 |
apcCurrency,discount,coFunders); |
722 |
|
|
728 | 723 |
request.setId("L" + new SimpleDateFormat("yyyyMMdd-").format(new Date()) + requestDAO.getRequestId()); |
724 |
request.setEligibility(eligibilityManager.validate(request)); |
|
725 |
|
|
726 |
if(!request.getEligibility().getStatus().equals(Eligibility.Status.OK)) |
|
727 |
throw new ManagerException("Request for project "+grant+" is not eligible!"); |
|
729 | 728 |
saveRequest(request); |
730 | 729 |
|
731 | 730 |
} |
Also available in: Unified diff
- Move journal cascade all from publication
- Bug fixes on publication commit