Revision ce7369eb
Added by Andreas Müller over 2 years ago
cdmlib-io/src/main/java/eu/etaxonomy/cdm/io/reference/ris/in/RisReferenceImport.java | ||
---|---|---|
89 | 89 |
next = risReader.readRecord(); |
90 | 90 |
} |
91 | 91 |
|
92 |
|
|
93 |
getReferenceService().saveOrUpdate(referencesToSave); |
|
92 |
//TODO handle result counts more generic |
|
94 | 93 |
state.getResult().addNewRecords(Reference.class.getSimpleName(), referencesToSave.size()); |
94 |
for (Reference ref : referencesToSave){ |
|
95 |
if (ref.getAuthorship() != null && !ref.getAuthorship().isPersited()){ |
|
96 |
TeamOrPersonBase<?> newAuthor = ref.getAuthorship(); |
|
97 |
state.getResult().addNewRecord(newAuthor); |
|
98 |
if (newAuthor instanceof Team){ |
|
99 |
for (Person member : ((Team)newAuthor).getTeamMembers()){ |
|
100 |
if (!member.isPersited()){ |
|
101 |
state.getResult().addNewRecord(member); |
|
102 |
} |
|
103 |
} |
|
104 |
} |
|
105 |
} |
|
106 |
} |
|
107 |
getReferenceService().saveOrUpdate(referencesToSave); |
|
95 | 108 |
|
96 | 109 |
} catch (Exception e) { |
97 | 110 |
String message = "Unexpected exception during RIS Reference Import"; |
cdmlib-io/src/test/java/eu/etaxonomy/cdm/io/referenceris/in/RisReferenceImportTest.java | ||
---|---|---|
132 | 132 |
ImportResult result = defaultImport.invoke(configurator); |
133 | 133 |
String report = result.createReport().toString(); |
134 | 134 |
Assert.assertTrue(report.contains("Reference: 2")); |
135 |
Assert.assertTrue(report.contains("Team: 1")); |
|
136 |
Assert.assertTrue(report.contains("Person: 5")); |
|
137 |
|
|
135 | 138 |
Assert.assertEquals(0, result.getErrors().size() + result.getExceptions().size() + result.getWarnings().size()); |
136 | 139 |
|
137 | 140 |
Integer expected = 2; |
Also available in: Unified diff
ref #9809 include new authors in result.