//map that stores the regions (named areas) and makes them accessible via the regionFk\r
private Map<String, NamedArea> regionMap = new HashMap<String, NamedArea>();\r
\r
- \r
-\r
public BerlinModelCommonNamesImport(){\r
super(dbTableName, pluralString);\r
}\r
\r
- \r
-\r
@Override\r
protected String getIdQuery(BerlinModelImportState state) {\r
String result = " SELECT CommonNameId FROM emCommonName WHERE (1=1) ";\r
return result;\r
}\r
\r
-\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportBase#getRecordQuery(eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator)\r
- */\r
@Override\r
protected String getRecordQuery(BerlinModelImportConfigurator config) {\r
String recordQuery = "";\r
@Override\r
public boolean doPartition(ResultSetPartitioner partitioner, BerlinModelImportState state) {\r
boolean success = true ;\r
- BerlinModelImportConfigurator config = state.getConfig();\r
+ \r
Set<TaxonBase> taxaToSave = new HashSet<TaxonBase>();\r
Map<String, Taxon> taxonMap = (Map<String, Taxon>) partitioner.getObjectMap(BerlinModelTaxonImport.NAMESPACE);\r
Map<String, TaxonNameBase> taxonNameMap = (Map<String, TaxonNameBase>) partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE);\r
//status\r
if (isNotBlank(status)){\r
AnnotationType statusAnnotationType = getAnnotationType( state, STATUS_ANNOTATION_UUID, "status","The status of this object","status", null);\r
- Annotation annotation = Annotation.NewInstance(status, statusAnnotationType, Language.DEFAULT());\r
for (CommonTaxonName commonTaxonName : commonTaxonNames){\r
+ Annotation annotation = Annotation.NewInstance(status, statusAnnotationType, Language.DEFAULT());\r
commonTaxonName.addAnnotation(annotation);\r
}\r
- \r
}\r
\r
//Notes\r
*/\r
private Language getAndHandleLanguage(Map<String, Language> iso639Map, String iso639_2, String iso639_1, String languageString, String originalLanguageString, BerlinModelImportState state) {\r
Language language;\r
- if (StringUtils.isNotBlank(iso639_2)|| StringUtils.isNotBlank(iso639_1) ){\r
+ if (isNotBlank(iso639_2)|| isNotBlank(iso639_1) ){\r
//TODO test performance, implement in state\r
language = getLanguageFromIsoMap(iso639Map, iso639_2, iso639_1);\r
\r
language = getTermService().getLanguageByIso(iso639_2);\r
iso639Map.put(iso639_2, language);\r
if (language == null){\r
- language = getTermService().getLanguageByIso(iso639_1);\r
+ try {\r
+ language = getTermService().getLanguageByIso(iso639_1);\r
+ } catch (Exception e) {\r
+ // TODO Auto-generated catch block\r
+ // TODO remove if problem with duplicate DescElement_Annot id is solved\r
+ e.printStackTrace();\r
+ }\r
iso639Map.put(iso639_1, language);\r
}\r
if (language == null){\r
ResultSet rs = source.getResultSet(sql);\r
while (rs.next()){\r
String strRegionFks = rs.getString("RegionFks"); \r
- if (StringUtils.isBlank(strRegionFks)){\r
+ if (isBlank(strRegionFks)){\r
continue;\r
}\r
\r
return sqlWhere;\r
}\r
\r
-\r
-\r
/**\r
* Returns a map which is filled by the emCode->TdwgCode mapping defined in emArea.\r
* Some exceptions are defined for emCode 'Ab','Rf','Uk' and some additional mapping is added \r
}\r
\r
\r
-\r
-\r
/**\r
* Returns the first non-image gallery description. Creates a new one if no description exists.\r
* @param taxon\r
return result;\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.berlinModel.in.IPartitionedIO#getRelatedObjectsForPartition(java.sql.ResultSet)\r
- */\r
+ @Override\r
public Map<Object, Map<String, ? extends CdmBase>> getRelatedObjectsForPartition(ResultSet rs) {\r
String nameSpace;\r
Class<?> cdmClass;\r
Set<String> idSet;\r
Map<Object, Map<String, ? extends CdmBase>> result = new HashMap<Object, Map<String, ? extends CdmBase>>();\r
\r
- int pos = -1;\r
+ String pos = "0";\r
try{\r
Set<String> taxonIdSet = new HashSet<String>();\r
Set<String> nameIdSet = new HashSet<String>();\r
Set<String> referenceIdSet = new HashSet<String>();\r
while (rs.next()){\r
- pos = 0;\r
handleForeignKey(rs, taxonIdSet, "taxonId");\r
- pos = 1;\r
handleForeignKey(rs, taxonIdSet, "misappliedTaxonId");\r
- pos = 2;\r
handleForeignKey(rs, referenceIdSet, "refId");\r
- pos = 3;\r
handleForeignKey(rs, referenceIdSet, "languageRefRefFk");\r
- pos = 4;\r
handleForeignKey(rs, nameIdSet, "NameInSourceFk");\r
- pos = 5;\r
handleForeignKey(rs, nameIdSet, "PTNameFk");\r
- pos = 6;\r
handleForeignKey(rs, referenceIdSet, "MisNameRefFk");\r
- pos = -2;\r
- \r
}\r
\r
- pos = 7;\r
- \r
//name map\r
nameSpace = BerlinModelTaxonNameImport.NAMESPACE;\r
cdmClass = TaxonNameBase.class;\r
idSet = nameIdSet;\r
Map<String, TaxonNameBase<?,?>> nameMap = (Map<String, TaxonNameBase<?,?>>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, nameMap);\r
-\r
- pos = 8;\r
\r
//taxon map\r
nameSpace = BerlinModelTaxonImport.NAMESPACE;\r
idSet = taxonIdSet;\r
Map<String, TaxonBase<?>> taxonMap = (Map<String, TaxonBase<?>>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, taxonMap);\r
-\r
- pos = 9;\r
\r
//reference map\r
nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
idSet = referenceIdSet;\r
Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, referenceMap);\r
-\r
- pos = 10;\r
- \r
+ // TODO remove if problem with duplicate DescElement_Annot id is solved\r
} catch (SQLException e) {\r
throw new RuntimeException("pos: " +pos, e);\r
} catch (NullPointerException nep){\r