import eu.etaxonomy.cdm.model.common.Language;\r
import eu.etaxonomy.cdm.model.common.Marker;\r
import eu.etaxonomy.cdm.model.common.MarkerType;\r
-import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.cdm.model.description.TextData;\r
+import eu.etaxonomy.cdm.model.common.OriginalSourceType;\r
import eu.etaxonomy.cdm.model.media.Media;\r
import eu.etaxonomy.cdm.model.name.ZoologicalName;\r
import eu.etaxonomy.cdm.model.occurrence.Collection;\r
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;\r
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;\r
-import eu.etaxonomy.cdm.model.occurrence.Specimen;\r
import eu.etaxonomy.cdm.model.reference.Reference;\r
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
\r
\r
/**\r
public class GlobisImageImport extends GlobisImportBase<Taxon> {\r
private static final Logger logger = Logger.getLogger(GlobisImageImport.class);\r
\r
- private int modCount = 10000;\r
+ private int modCount = 1000;\r
\r
private UUID uuidArtNonSpecTaxMarkerType = UUID.fromString("be362085-0f5b-4314-96d1-78b9b129ef6d") ;\r
private static final String pluralString = "images";\r
private static final String dbTableName = "Einzelbilder";\r
- private static final Class cdmTargetClass = Media.class; //not needed\r
+ private static final Class<?> cdmTargetClass = Media.class; //not needed\r
\r
- private static final String IMAGE_NAMESPACE = "Einzelbilder";\r
private static UUID uuidGartRef = UUID.fromString("af85470f-6e54-4304-9d29-fd117cd56161"); \r
\r
public GlobisImageImport(){\r
\r
Set<Media> objectsToSave = new HashSet<Media>();\r
\r
- Map<String, Specimen> typeMap = (Map<String, Specimen>) partitioner.getObjectMap(GlobisSpecTaxImport.TYPE_NAMESPACE);\r
+ Map<String, DerivedUnit> typeMap = (Map<String, DerivedUnit>) partitioner.getObjectMap(TYPE_NAMESPACE);\r
\r
Map<String, Taxon> taxonMap = (Map<String, Taxon>) partitioner.getObjectMap(TAXON_NAMESPACE);\r
- Map<String, ZoologicalName> specTaxNameMap = (Map<String, ZoologicalName>) partitioner.getObjectMap(GlobisSpecTaxImport.SPEC_TAX_NAMESPACE);\r
+ Map<String, ZoologicalName> specTaxNameMap = (Map<String, ZoologicalName>) partitioner.getObjectMap(SPEC_TAX_NAMESPACE);\r
\r
ResultSet rs = partitioner.getResultSet();\r
\r
\r
String title = null;\r
\r
- Specimen specimen = null;\r
+ DerivedUnit specimen = null;\r
if (spectaxID != null){\r
//try to find type specimen\r
if (isNotBlank(motiv) && (motiv.startsWith("type specimen"))){\r
\r
//not type specimen\r
if (specimen == null){\r
- specimen = Specimen.NewInstance();\r
+ specimen = DerivedUnit.NewPreservedSpecimenInstance();\r
specimen.setTitleCache("Specimen for " + title );\r
String collectionCode = transformCopyright2CollectionCode(copyright);\r
//TODO\r
\r
\r
//source\r
- specimen.addSource(String.valueOf(bildID), IMAGE_NAMESPACE, state.getTransactionalSourceReference(), null);\r
+ specimen.addSource(OriginalSourceType.Import, String.valueOf(bildID), IMAGE_NAMESPACE, state.getTransactionalSourceReference(), null);\r
\r
//GART id (specimenID)\r
if (isNotBlank(specimenId)){\r
- specimen.addSource(specimenId, "", refGart, null);\r
+ specimen.addSource(OriginalSourceType.Lineage, specimenId, "specimenId", refGart, null);\r
}\r
//bemerkungen\r
if (isNotBlank(bemerkungen)){\r
\r
private String getNameFromFileOs(ResultSet rs) throws SQLException {\r
String fileOS = rs.getString("file OS");\r
- Pattern pattern = Pattern.compile("(.+)(_...._..\\.jpg)");\r
+ Pattern pattern = Pattern.compile("(.+)(_.{4}(-.{1,3})?(_Nr\\d{3,4})?_.{2,3}\\.jpg)");\r
Matcher matcher = pattern.matcher(fileOS);\r
if (matcher.matches()){\r
String match = matcher.group(1);\r
\r
while (rs.next()){\r
handleForeignKey(rs, currSpecIdSet, "SpecCurrspecID");\r
+ handleForeignKey(rs, specTaxIdSet, "spectaxID");\r
handleTypeKey(rs, typeIdSet, "spectaxID", "copyright");\r
}\r
\r
//specTax map\r
- nameSpace = GlobisSpecTaxImport.SPEC_TAX_NAMESPACE;\r
- cdmClass = TaxonBase.class;\r
+ nameSpace = SPEC_TAX_NAMESPACE;\r
+ cdmClass = ZoologicalName.class;\r
idSet = specTaxIdSet;\r
- Map<String, TaxonBase> specTaxMap = (Map<String, TaxonBase>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, specTaxMap);\r
+ Map<String, ZoologicalName> specTaxNameMap = (Map<String, ZoologicalName>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, specTaxNameMap);\r
\r
- //taxon map\r
- nameSpace = TAXON_NAMESPACE;\r
- cdmClass = Taxon.class;\r
- idSet = currSpecIdSet;\r
- Map<String, Taxon> taxonMap = (Map<String, Taxon>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, taxonMap);\r
+// //taxon map\r
+// nameSpace = TAXON_NAMESPACE;\r
+// cdmClass = Taxon.class;\r
+// idSet = currSpecIdSet;\r
+// Map<String, Taxon> taxonMap = (Map<String, Taxon>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+// result.put(nameSpace, taxonMap);\r
\r
\r
//type map\r
nameSpace = GlobisSpecTaxImport.TYPE_NAMESPACE;\r
- cdmClass = Specimen.class;\r
+ cdmClass = DerivedUnit.class;\r
idSet = typeIdSet;\r
- Map<String, Specimen> typeMap = (Map<String, Specimen>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ Map<String, DerivedUnit> typeMap = (Map<String, DerivedUnit>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, typeMap);\r
\r
\r
return result;\r
}\r
\r
- private void handleTypeKey(ResultSet rs, Set<String> idSet, String specTaxIdAttr, String copyrightAttr)\r
- throws SQLException {\r
+ private void handleTypeKey(ResultSet rs, Set<String> idSet, String specTaxIdAttr, String copyrightAttr) throws SQLException {\r
Integer specTaxId = nullSafeInt(rs, specTaxIdAttr);\r
if (specTaxId != null){\r
String copyright = rs.getString(copyrightAttr);\r