Revision 548a9ae0
Added by Andreas Müller almost 7 years ago
cdm-pesi/src/main/java/eu/etaxonomy/cdm/io/pesi/faunaEuropaea/FaunaEuropaeaAdditionalTaxonDataImport.java | ||
---|---|---|
22 | 22 |
|
23 | 23 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
24 | 24 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
25 |
import eu.etaxonomy.cdm.model.name.INonViralName; |
|
26 |
import eu.etaxonomy.cdm.model.name.ITaxonNameBase; |
|
25 | 27 |
import eu.etaxonomy.cdm.model.name.NonViralName; |
26 | 28 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
27 | 29 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
... | ... | |
31 | 33 |
/** |
32 | 34 |
* @author a.babadshanjan |
33 | 35 |
* @created 21.08.2010 |
34 |
* @version 1.0 |
|
35 | 36 |
*/ |
36 | 37 |
@Component |
37 | 38 |
public class FaunaEuropaeaAdditionalTaxonDataImport extends FaunaEuropaeaImportBase { |
39 |
private static final long serialVersionUID = -6734273038256432559L; |
|
38 | 40 |
|
39 |
private static final Logger logger = Logger.getLogger(FaunaEuropaeaAdditionalTaxonDataImport.class);
|
|
41 |
private static final Logger logger = Logger.getLogger(FaunaEuropaeaAdditionalTaxonDataImport.class);
|
|
40 | 42 |
// private static final String parentPluralString = "Synonyms"; |
41 | 43 |
private static final String pluralString = "InfraGenericEpithets"; |
42 | 44 |
//private static final String acceptedTaxonUUID = "A9C24E42-69F5-4681-9399-041E652CF338"; // any accepted taxon uuid, taken from original fauna europaea database |
43 | 45 |
|
44 |
/* (non-Javadoc) |
|
45 |
* @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IImportConfigurator) |
|
46 |
*/ |
|
47 | 46 |
@Override |
48 | 47 |
protected boolean doCheck(FaunaEuropaeaImportState state) { |
49 | 48 |
boolean result = true; |
50 |
FaunaEuropaeaImportConfigurator fauEuConfig = state.getConfig(); |
|
51 | 49 |
logger.warn("Checking for Taxa not yet fully implemented"); |
52 |
// result &= checkTaxonStatus(fauEuConfig); |
|
53 |
|
|
54 | 50 |
return result; |
55 | 51 |
} |
56 | 52 |
|
... | ... | |
77 | 73 |
* @return |
78 | 74 |
*/ |
79 | 75 |
private void processAdditionalInfraGenericEpithets(FaunaEuropaeaImportState state) { |
80 |
int count = 0; |
|
81 | 76 |
int pageSize = 1000; |
82 | 77 |
Set<UUID> uuidSet = new HashSet<UUID>(); |
83 | 78 |
FaunaEuropaeaImportConfigurator fauEuConfig = state.getConfig(); |
... | ... | |
108 | 103 |
if (!uuidSet.isEmpty()){ |
109 | 104 |
taxonNames = getNameService().find(uuidSet); |
110 | 105 |
|
111 |
for (TaxonNameBase taxonName : taxonNames) { |
|
106 |
for (TaxonNameBase<?,?> taxonName : taxonNames) {
|
|
112 | 107 |
|
113 | 108 |
// Check whether its taxonName has an infraGenericEpithet |
114 | 109 |
if (taxonName != null && (taxonName.isInstanceOf(NonViralName.class))) { |
115 |
NonViralName targetNonViralName = CdmBase.deproxy(taxonName, NonViralName.class); |
|
110 |
INonViralName targetNonViralName = CdmBase.deproxy(taxonName, NonViralName.class);
|
|
116 | 111 |
String infraGenericEpithet = targetNonViralName.getInfraGenericEpithet(); |
117 | 112 |
if (infraGenericEpithet == null) { |
118 | 113 |
String genusOrUninomial = targetNonViralName.getGenusOrUninomial(); |
... | ... | |
121 | 116 |
"*", "*", null, pageSize, 1); |
122 | 117 |
if (foundTaxa.size() == 1) { |
123 | 118 |
// one matching Taxon found |
124 |
TaxonBase taxon = foundTaxa.iterator().next(); |
|
119 |
TaxonBase<?> taxon = foundTaxa.iterator().next();
|
|
125 | 120 |
if (taxon != null) { |
126 |
TaxonNameBase name = taxon.getName(); |
|
121 |
ITaxonNameBase name = taxon.getName();
|
|
127 | 122 |
if (name != null && name.isInstanceOf(NonViralName.class)) { |
128 |
NonViralName nonViralName = CdmBase.deproxy(name, NonViralName.class); |
|
123 |
INonViralName nonViralName = CdmBase.deproxy(name, NonViralName.class);
|
|
129 | 124 |
infraGenericEpithet = nonViralName.getInfraGenericEpithet(); |
130 | 125 |
|
131 | 126 |
// set infraGenericEpithet |
132 | 127 |
// targetNonViralName.setInfraGenericEpithet(infraGenericEpithet); |
133 | 128 |
logger.debug("Added an InfraGenericEpithet to this TaxonName: " + taxonName.getUuid() + " (" + taxonName.getTitleCache() + ")"); |
134 |
count++; |
|
135 | 129 |
} |
136 | 130 |
} |
137 | 131 |
} else if (foundTaxa.size() > 1) { |
138 | 132 |
logger.warn("Multiple taxa match search criteria: " + taxonName.getUuid() + " (" + taxonName.getTitleCache() + ")"); |
139 |
for (TaxonBase foundTaxon : foundTaxa) { |
|
133 |
for (TaxonBase<?> foundTaxon : foundTaxa) {
|
|
140 | 134 |
logger.warn(foundTaxon.getUuid() + ", " + foundTaxon.getTitleCache()); |
141 | 135 |
} |
142 | 136 |
} else if (foundTaxa.size() == 0) { |
... | ... | |
157 | 151 |
return; |
158 | 152 |
} |
159 | 153 |
|
160 |
|
|
161 |
/* (non-Javadoc) |
|
162 |
* @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IoStateBase) |
|
163 |
*/ |
|
164 | 154 |
@Override |
165 | 155 |
protected boolean isIgnore(FaunaEuropaeaImportState state) { |
166 | 156 |
return ! state.getConfig().isDoTaxa(); |
167 | 157 |
} |
168 |
|
|
169 | 158 |
} |
Also available in: Unified diff
Cleanup