Project

General

Profile

« Previous | Next » 

Revision ce7369eb

Added by Andreas Müller over 2 years ago

ref #9809 include new authors in result.

View differences:

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