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); |
Also available in: Unified diff
ref #6794 fix early setting of termType during term loading