Revision 64cf9d1d
Added by Andreas Müller about 5 years ago
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/DefinedTermBase.java | ||
---|---|---|
393 | 393 |
|
394 | 394 |
|
395 | 395 |
@Override |
396 |
public T readCsvLine(Class<T> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
396 |
public T readCsvLine(Class<T> termClass, List<String> csvLine, TermType termType, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) {
|
|
397 | 397 |
try { |
398 |
T newInstance = getInstance(termClass); |
|
398 |
T newInstance = getInstance(termClass, termType);
|
|
399 | 399 |
readCsvLine(newInstance, csvLine, Language.CSV_LANGUAGE(), abbrevAsId); |
400 | 400 |
readIsPartOf(newInstance, csvLine, terms); |
401 | 401 |
return newInstance; |
... | ... | |
448 | 448 |
} |
449 | 449 |
|
450 | 450 |
|
451 |
private <T extends DefinedTermBase> T getInstance(Class<? extends DefinedTermBase> termClass) { |
|
451 |
private <T extends DefinedTermBase> T getInstance(Class<? extends DefinedTermBase> termClass, TermType termType) {
|
|
452 | 452 |
try { |
453 | 453 |
Constructor<T> c = ((Class<T>)termClass).getDeclaredConstructor(); |
454 | 454 |
c.setAccessible(true); |
455 | 455 |
T termInstance = c.newInstance(); |
456 |
termInstance.setTermType(termType); |
|
456 | 457 |
return termInstance; |
457 | 458 |
} catch (Exception e) { |
458 | 459 |
throw new RuntimeException(e); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/ILoadableTerm.java | ||
---|---|---|
22 | 22 |
* the csvLine attributes are merged into the existing default language and the default Language is returned. |
23 | 23 |
* @return |
24 | 24 |
*/ |
25 |
public T readCsvLine(Class<T> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId); |
|
25 |
public T readCsvLine(Class<T> termClass, List<String> csvLine, TermType termType, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId);
|
|
26 | 26 |
|
27 | 27 |
public void writeCsvLine(CSVWriter writer, T term); |
28 | 28 |
} |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/Language.java | ||
---|---|---|
1201 | 1201 |
// } |
1202 | 1202 |
|
1203 | 1203 |
@Override |
1204 |
public Language readCsvLine(Class<Language> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
1204 |
public Language readCsvLine(Class<Language> termClass, List<String> csvLine, TermType termType, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) {
|
|
1205 | 1205 |
try { |
1206 |
Language newInstance = Language.class.newInstance();
|
|
1206 |
Language newInstance = Language.NewInstance(); //term type not needed is added in constructor anyway
|
|
1207 | 1207 |
if ( UUID.fromString(csvLine.get(0).toString()).equals(Language.uuidEnglish)){ |
1208 | 1208 |
DefinedTermBase.readCsvLine(newInstance, csvLine, newInstance, abbrevAsId); |
1209 | 1209 |
}else{ |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/RelationshipTermBase.java | ||
---|---|---|
244 | 244 |
//**************** CSV *************************/ |
245 | 245 |
|
246 | 246 |
@Override |
247 |
public T readCsvLine(Class<T> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
248 |
T newInstance = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
247 |
public T readCsvLine(Class<T> termClass, List<String> csvLine, TermType termType, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) {
|
|
248 |
T newInstance = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId);
|
|
249 | 249 |
|
250 | 250 |
String inverseText = CdmUtils.Ne(csvLine.get(6).trim()); |
251 | 251 |
String inverseLabel = csvLine.get(5).trim(); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/common/init/TermLoader.java | ||
---|---|---|
142 | 142 |
Class<? extends DefinedTermBase> termClass, |
143 | 143 |
TermVocabulary<T> voc, boolean abbrevAsId, |
144 | 144 |
T classDefiningTermInstance) { |
145 |
T term = (T) classDefiningTermInstance.readCsvLine(termClass,arrayedLine(csvLine), terms, abbrevAsId); |
|
146 |
term.setTermType(voc.getTermType()); |
|
145 |
T term = (T) classDefiningTermInstance.readCsvLine(termClass,arrayedLine(csvLine), voc.getTermType(), terms, abbrevAsId); |
|
147 | 146 |
voc.addTerm(term); |
148 | 147 |
terms.put(term.getUuid(), term); |
149 | 148 |
return term; |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/Feature.java | ||
---|---|---|
655 | 655 |
* @see #NewInstance(String, String, String) |
656 | 656 |
*/ |
657 | 657 |
@Override |
658 |
public Feature readCsvLine(Class<Feature> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
659 |
Feature newInstance = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
658 |
public Feature readCsvLine(Class<Feature> termClass, List<String> csvLine, TermType termType, |
|
659 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
660 |
Feature newInstance = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId); |
|
660 | 661 |
String text = csvLine.get(4); |
661 | 662 |
if (text != null && text.length() >= 6){ |
662 | 663 |
if ("1".equals(text.substring(0, 1))){newInstance.setSupportsTextData(true);} |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/description/PresenceAbsenceTerm.java | ||
---|---|---|
607 | 607 |
} |
608 | 608 |
|
609 | 609 |
@Override |
610 |
public PresenceAbsenceTerm readCsvLine(Class<PresenceAbsenceTerm> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId){ |
|
611 |
PresenceAbsenceTerm newInstance = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
610 |
public PresenceAbsenceTerm readCsvLine(Class<PresenceAbsenceTerm> termClass, List<String> csvLine, TermType termType, |
|
611 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId){ |
|
612 |
PresenceAbsenceTerm newInstance = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId); |
|
612 | 613 |
String abbreviatedLabel = csvLine.get(4); |
613 | 614 |
// String uuid = (String)csvLine.get(0); |
614 | 615 |
// map.put(abbreviatedLabel, UUID.fromString(uuid)); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/location/Country.java | ||
---|---|---|
41 | 41 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
42 | 42 |
import eu.etaxonomy.cdm.model.common.Language; |
43 | 43 |
import eu.etaxonomy.cdm.model.common.Representation; |
44 |
import eu.etaxonomy.cdm.model.common.TermType; |
|
44 | 45 |
import eu.etaxonomy.cdm.model.common.TermVocabulary; |
45 | 46 |
|
46 | 47 |
/** |
... | ... | |
590 | 591 |
//for hibernate use only |
591 | 592 |
@Deprecated |
592 | 593 |
protected Country() { |
594 |
super(); //sets the term type to TermType.NamedAreas |
|
593 | 595 |
} |
594 | 596 |
private Country(String term, String label, String labelAbbrev) { |
595 | 597 |
super(term, label, labelAbbrev); |
... | ... | |
626 | 628 |
} |
627 | 629 |
|
628 | 630 |
@Override |
629 |
public NamedArea readCsvLine(Class<NamedArea> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
631 |
public NamedArea readCsvLine(Class<NamedArea> termClass, List<String> csvLine, TermType termType, |
|
632 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
630 | 633 |
try { |
631 | 634 |
Language lang= Language.DEFAULT(); |
632 |
Country newInstance = Country.class.newInstance();
|
|
635 |
Country newInstance = NewInstance();
|
|
633 | 636 |
newInstance.setUuid(UUID.fromString(csvLine.get(0))); |
634 | 637 |
String uriStr = CdmUtils.Ne(csvLine.get(1)); |
635 | 638 |
newInstance.setUri(uriStr == null? null: URI.create(uriStr)); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/location/NamedArea.java | ||
---|---|---|
340 | 340 |
} |
341 | 341 |
|
342 | 342 |
@Override |
343 |
public NamedArea readCsvLine(Class<NamedArea> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
344 |
NamedArea newInstance = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
343 |
public NamedArea readCsvLine(Class<NamedArea> termClass, List<String> csvLine, TermType termType, |
|
344 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
345 |
NamedArea newInstance = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId); |
|
345 | 346 |
|
346 | 347 |
String levelString = csvLine.get(6); |
347 | 348 |
|
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/NameRelationshipType.java | ||
---|---|---|
508 | 508 |
} |
509 | 509 |
|
510 | 510 |
@Override |
511 |
public NameRelationshipType readCsvLine(Class<NameRelationshipType> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
512 |
NameRelationshipType result = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
511 |
public NameRelationshipType readCsvLine(Class<NameRelationshipType> termClass, List<String> csvLine, TermType termType, |
|
512 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
513 |
NameRelationshipType result = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId); |
|
513 | 514 |
String kindOfString = csvLine.get(10).trim(); |
514 | 515 |
if (StringUtils.isNotBlank(kindOfString)){ |
515 | 516 |
UUID uuidKindOf = UUID.fromString(kindOfString); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/NomenclaturalStatusType.java | ||
---|---|---|
913 | 913 |
*/ |
914 | 914 |
|
915 | 915 |
@Override |
916 |
public NomenclaturalStatusType readCsvLine(Class<NomenclaturalStatusType> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { //TODO should be List<String> but makes error for some strange reason |
|
916 |
public NomenclaturalStatusType readCsvLine(Class<NomenclaturalStatusType> termClass, List<String> csvLine, TermType termType, |
|
917 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { //TODO should be List<String> but makes error for some strange reason |
|
917 | 918 |
try { |
918 | 919 |
NomenclaturalStatusType newInstance = termClass.newInstance(); |
920 |
newInstance.setTermType(termType); |
|
919 | 921 |
DefinedTermBase.readCsvLine(newInstance, csvLine, Language.LATIN(), abbrevAsId); |
920 | 922 |
return newInstance; |
921 | 923 |
} catch (Exception e) { |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/name/Rank.java | ||
---|---|---|
993 | 993 |
|
994 | 994 |
|
995 | 995 |
@Override |
996 |
public Rank readCsvLine(Class<Rank> termClass, List<String> csvLine, Map<UUID, DefinedTermBase> terms, boolean abbrevAsId) { |
|
997 |
Rank rank = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
996 |
public Rank readCsvLine(Class<Rank> termClass, List<String> csvLine, TermType termType, Map<UUID, DefinedTermBase> terms, boolean abbrevAsId) {
|
|
997 |
Rank rank = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId);
|
|
998 | 998 |
RankClass rankClass = RankClass.getByKey(csvLine.get(5)); |
999 | 999 |
assert rankClass != null: "XXXXXXXXXXXXXXXXXXXXX Rank class must not be null: " + csvLine ; |
1000 | 1000 |
rank.setRankClass(rankClass); |
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/taxon/TaxonRelationshipType.java | ||
---|---|---|
625 | 625 |
} |
626 | 626 |
|
627 | 627 |
@Override |
628 |
public TaxonRelationshipType readCsvLine(Class<TaxonRelationshipType> termClass, List<String> csvLine, Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
629 |
TaxonRelationshipType newInstance = super.readCsvLine(termClass, csvLine, terms, abbrevAsId); |
|
628 |
public TaxonRelationshipType readCsvLine(Class<TaxonRelationshipType> termClass, List<String> csvLine, TermType termType, |
|
629 |
Map<UUID,DefinedTermBase> terms, boolean abbrevAsId) { |
|
630 |
TaxonRelationshipType newInstance = super.readCsvLine(termClass, csvLine, termType, terms, abbrevAsId); |
|
630 | 631 |
|
631 | 632 |
newInstance.setSymbol(newInstance.getIdInVocabulary()); |
632 | 633 |
String inverseLabelAbbrev = csvLine.get(7).trim(); |
Also available in: Unified diff
ref #6794 fix early setting of termType during term loading