Revision b313991f
Added by Andreas Müller over 4 years ago
app-import/src/main/java/eu/etaxonomy/cdm/io/berlinModel/in/BerlinModelNameFactsImport.java | ||
---|---|---|
36 | 36 |
import eu.etaxonomy.cdm.io.berlinModel.in.validation.BerlinModelNameFactsImportValidator; |
37 | 37 |
import eu.etaxonomy.cdm.io.common.IOValidator; |
38 | 38 |
import eu.etaxonomy.cdm.io.common.ResultSetPartitioner; |
39 |
import eu.etaxonomy.cdm.model.agent.Person; |
|
40 | 39 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
41 | 40 |
import eu.etaxonomy.cdm.model.common.Language; |
42 | 41 |
import eu.etaxonomy.cdm.model.description.Feature; |
... | ... | |
106 | 105 |
boolean success = true ; |
107 | 106 |
BerlinModelImportConfigurator config = state.getConfig(); |
108 | 107 |
Set<TaxonName> nameToSave = new HashSet<>(); |
109 |
Map<String, TaxonName> nameMap = partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE); |
|
110 |
Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE); |
|
108 |
@SuppressWarnings("unchecked") |
|
109 |
Map<String, TaxonName> nameMap = partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE); |
|
110 |
@SuppressWarnings("unchecked") |
|
111 |
Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE); |
|
111 | 112 |
|
112 | 113 |
ResultSet rs = partitioner.getResultSet(); |
113 | 114 |
|
... | ... | |
207 | 208 |
} |
208 | 209 |
if (config.getMaximumNumberOfNameFacts() != 0 && i >= config.getMaximumNumberOfNameFacts() - 1){ |
209 | 210 |
logger.warn("ONLY " + config.getMaximumNumberOfNameFacts() + " NAMEFACTS imported !!!" ) |
210 |
;};
|
|
211 |
;} |
|
211 | 212 |
logger.info("Names to save: " + nameToSave.size()); |
212 | 213 |
getNameService().save(nameToSave); |
213 | 214 |
return success; |
... | ... | |
215 | 216 |
logger.error("SQLException:" + e); |
216 | 217 |
return false; |
217 | 218 |
} |
218 |
|
|
219 | 219 |
} |
220 | 220 |
|
221 |
|
|
222 | 221 |
@Override |
223 | 222 |
public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs, BerlinModelImportState state) { |
224 |
String nameSpace; |
|
225 |
Class<?> cdmClass;
|
|
223 |
|
|
224 |
String nameSpace;
|
|
226 | 225 |
Set<String> idSet; |
227 |
Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();
|
|
226 |
Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<>(); |
|
228 | 227 |
|
229 | 228 |
try{ |
230 |
Set<String> nameIdSet = new HashSet<String>();
|
|
231 |
Set<String> referenceIdSet = new HashSet<String>();
|
|
229 |
Set<String> nameIdSet = new HashSet<>(); |
|
230 |
Set<String> referenceIdSet = new HashSet<>(); |
|
232 | 231 |
while (rs.next()){ |
233 | 232 |
handleForeignKey(rs, nameIdSet, "PTnameFk"); |
234 | 233 |
handleForeignKey(rs, referenceIdSet, "nameFactRefFk"); |
235 |
} |
|
234 |
}
|
|
236 | 235 |
|
237 | 236 |
//name map |
238 | 237 |
nameSpace = BerlinModelTaxonNameImport.NAMESPACE; |
239 |
cdmClass = TaxonName.class; |
|
240 | 238 |
idSet = nameIdSet; |
241 |
Map<String, Person> objectMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);
|
|
239 |
Map<String, TaxonName> objectMap = getCommonService().getSourcedObjectsByIdInSourceC(TaxonName.class, idSet, nameSpace);
|
|
242 | 240 |
result.put(nameSpace, objectMap); |
243 | 241 |
|
244 | 242 |
//reference map |
245 | 243 |
nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE; |
246 |
cdmClass = Reference.class; |
|
247 | 244 |
idSet = referenceIdSet; |
248 |
Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);
|
|
245 |
Map<String, Reference> referenceMap = getCommonService().getSourcedObjectsByIdInSourceC(Reference.class, idSet, nameSpace);
|
|
249 | 246 |
result.put(nameSpace, referenceMap); |
250 | 247 |
|
251 | 248 |
|
Also available in: Unified diff
adapt some classes to new CommonService.getSourcedObjectSByIdInSource and cleanup