Revision 7681e63f
Added by Andreas Müller about 6 years ago
app-import/src/main/java/eu/etaxonomy/cdm/io/edaphobase/EdaphobaseAuthorImport.java | ||
---|---|---|
98 | 98 |
while(rs.next()){ |
99 | 99 |
List<Person> singlePersons = new ArrayList<>(); |
100 | 100 |
String authorStr = rs.getString("tax_author_name"); |
101 |
authorStr = authorStr.replace(" et ", " & "); |
|
102 |
|
|
103 |
boolean isEtAl = false; |
|
104 |
if (authorStr.endsWith(" & al.")){ |
|
105 |
isEtAl = true; |
|
106 |
authorStr = authorStr.substring(0, authorStr.length()-6).trim(); |
|
107 |
} |
|
101 | 108 |
|
102 | 109 |
String[] splits = authorStr.split("\\s*&\\s*"); |
103 | 110 |
for (String split : splits){ |
... | ... | |
105 | 112 |
for (String commaSplit : commaSplits){ |
106 | 113 |
Person person = personMap.get(commaSplit); |
107 | 114 |
if (person == null){ |
108 |
person = Person.NewTitledInstance(commaSplit); |
|
115 |
person = Person.NewInstance(); |
|
116 |
person.setNomenclaturalTitle(commaSplit); |
|
109 | 117 |
personMap.put(commaSplit, person); |
110 | 118 |
} |
111 | 119 |
singlePersons.add(person); |
112 | 120 |
} |
113 | 121 |
} |
114 |
if (singlePersons.size() > 1){ |
|
122 |
if (singlePersons.size() > 1 || singlePersons.size() == 1 && isEtAl){
|
|
115 | 123 |
Team team = Team.NewInstance(); |
124 |
team.setHasMoreMembers(isEtAl); |
|
116 | 125 |
for (Person person: singlePersons){ |
117 | 126 |
team.addTeamMember(person); |
118 | 127 |
} |
Also available in: Unified diff
ref #5499, ref #7308 improve edaphobas import