import eu.etaxonomy.cdm.model.description.CommonTaxonName;\r
import eu.etaxonomy.cdm.model.description.DescriptionElementSource;\r
import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.cdm.model.location.NamedArea;\r
import eu.etaxonomy.cdm.model.location.Country;\r
+import eu.etaxonomy.cdm.model.location.NamedArea;\r
import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
import eu.etaxonomy.cdm.model.reference.Reference;\r
import eu.etaxonomy.cdm.model.taxon.Taxon;\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
\r
- Map<String, Reference> biblioRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
+ Map<String, Reference> refMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
\r
Map<String, Language> iso6392Map = new HashMap<String, Language>();\r
\r
}\r
}\r
\r
- Reference<?> reference = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, String.valueOf(languageRefRefFk));\r
+ Reference<?> reference = refMap.get(String.valueOf(languageRefRefFk));\r
String microCitation = null;\r
String originalNameString = null;\r
\r
//Taxon misappliedName = getMisappliedName(biblioRefMap, nomRefMap, misNameRefFk, taxon);\r
Taxon misappliedNameTaxon = null;\r
if (misappliedTaxonId != null){\r
- TaxonBase misTaxonBase = taxonMap.get(String.valueOf(misappliedTaxonId));\r
+ TaxonBase<?> misTaxonBase = taxonMap.get(String.valueOf(misappliedTaxonId));\r
if (misTaxonBase == null){\r
logger.warn("MisappliedName not found for misappliedTaxonId " + misappliedTaxonId + "; commonNameId: " + commonNameId);\r
}else if (misTaxonBase.isInstanceOf(Taxon.class)){\r
}\r
}else{\r
\r
- Reference<?> sec = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, String.valueOf(misNameRefFk));\r
+ Reference<?> sec = refMap.get(String.valueOf(misNameRefFk));\r
if (nameUsedInSource == null || sec == null){\r
logger.warn("Taxon name or misapplied name reference is null for common name " + commonNameId);\r
}else{\r
\r
}\r
\r
-\r
-\r
- /**\r
- * Not used anymore. Use MisappliedName RIdentifier instead\r
- * @param biblioRefMap\r
- * @param nomRefMap\r
- * @param misNameRefFk\r
- * @param taxon\r
- */\r
- private boolean isFirstMisappliedName = true;\r
- private Taxon getMisappliedName(Map<String, Reference> biblioRefMap, Map<String, Reference> nomRefMap, Object misNameRefFk, Taxon taxon) {\r
- Taxon misappliedTaxon = null;\r
- Reference<?> misNameRef = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, String.valueOf(misNameRefFk));\r
- misappliedTaxon = Taxon.NewInstance(taxon.getName(), misNameRef);\r
- Set<String> includeProperty = new HashSet<String>();\r
- try {\r
-// //IMatchStrategy matchStrategy = DefaultMatchStrategy.NewInstance(TaxonBase.class);\r
-// //List<TaxonBase> misappliedList1 = getCommonService().findMatching(misappliedTaxon, matchStrategy);\r
- List<TaxonBase> misappliedList = getTaxonService().list(misappliedTaxon, includeProperty, null, null, null, null);\r
- if (misappliedList.size() > 0){\r
- misappliedTaxon = CdmBase.deproxy(misappliedList.get(0), Taxon.class);\r
- }\r
- } catch (ClassCastException e) {\r
- logger.error(e.getMessage());\r
- if (isFirstMisappliedName){\r
- e.printStackTrace();\r
- isFirstMisappliedName = false;\r
- }\r
- }\r
- return misappliedTaxon;\r
- }\r
-\r
-\r
-\r
/**\r
* @param iso6392Map\r
* @param iso639_2\r
\r
pos = 9;\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
pos = 10;\r
\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference<?>> biblioReferenceMap = (Map<String, Reference<?>>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
-\r
- pos = 11;\r
- \r
} catch (SQLException e) {\r
throw new RuntimeException("pos: " +pos, e);\r
} catch (NullPointerException nep){\r
BerlinModelImportConfigurator config = state.getConfig();\r
Set<TaxonBase> taxaToSave = new HashSet<TaxonBase>();\r
Map<String, TaxonBase> taxonMap = (Map<String, TaxonBase>) partitioner.getObjectMap(BerlinModelTaxonImport.NAMESPACE);\r
- Map<String, Reference> biblioRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
-\r
+ Map<String, Reference> refMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ \r
ResultSet rs = partitioner.getResultSet();\r
\r
Reference<?> sourceRef = state.getTransactionalSourceReference();\r
Reference<?> citation = null;\r
String factRefFk = String.valueOf(factRefFkObj);\r
if (factRefFkObj != null){\r
- citation = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, factRefFk); \r
+ citation = refMap.get(factRefFk); \r
}\r
if (citation == null && (factRefFkObj != null)){\r
logger.warn("Citation not found in referenceMap: " + factRefFk);\r
Map<String, TaxonBase> taxonMap = (Map<String, TaxonBase>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, taxonMap);\r
\r
-\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
- \r
- //nom refDetail map\r
- nameSpace = BerlinModelRefDetailImport.NOM_REFDETAIL_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = refDetailIdSet;\r
- Map<String, Reference> nomRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomRefDetailMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
- //biblio refDetail map\r
- nameSpace = BerlinModelRefDetailImport.BIBLIO_REFDETAIL_NAMESPACE;\r
+ //refDetail map\r
+ nameSpace = BerlinModelRefDetailImport.REFDETAIL_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = refDetailIdSet;\r
- Map<String, Reference> biblioRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioRefDetailMap);\r
+ Map<String, Reference> refDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, refDetailMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
* @param nomRefFk\r
* @return\r
*/\r
- protected Reference getReferenceFromMaps(\r
- Map<String, Reference> firstDetailMap,\r
- Map<String, Reference> secondDetailMap, \r
- Map<String, Reference> firstRefMap,\r
- Map<String, Reference> secondRefMap,\r
+ protected Reference<?> getReferenceFromMaps(\r
+ Map<String, Reference> detailMap,\r
+ Map<String, Reference> refMap,\r
String nomRefDetailFk,\r
String nomRefFk) {\r
- Reference ref = null;\r
- ref = getReferenceDetailFromMaps(firstDetailMap, secondDetailMap, nomRefDetailFk);\r
- if (ref == null){\r
- ref = getReferenceOnlyFromMaps(firstRefMap, secondRefMap, nomRefFk);\r
- }\r
- return ref;\r
- }\r
- \r
- /**\r
- * As getReferenceFromMaps but search is performed only on references, not on\r
- * detail maps.\r
- * @param firstRefMap\r
- * @param secondRefMap\r
- * @param nomRefFk\r
- * @return\r
- */\r
- protected Reference getReferenceOnlyFromMaps(\r
- Map<String, Reference> firstRefMap,\r
- Map<String, Reference> secondRefMap,\r
- String nomRefFk) {\r
- Reference ref = null;\r
- if (firstRefMap != null){\r
- ref = firstRefMap.get(nomRefFk);\r
- }else{\r
- logger.warn("First reference map does not exist");\r
+ Reference<?> ref = null;\r
+ if (detailMap != null){\r
+ ref = detailMap.get(nomRefDetailFk);\r
}\r
if (ref == null){\r
- if (secondRefMap != null){\r
- ref = secondRefMap.get(nomRefFk);\r
- }else{\r
- logger.warn("Second reference map does not exist"); \r
- }\r
+ ref = refMap.get(nomRefFk);\r
}\r
return ref;\r
}\r
+ \r
\r
/**\r
* Searches for a reference in the first detail map. If it does not exist it \r
BerlinModelImportConfigurator config = state.getConfig();\r
Set<TaxonNameBase> nameToSave = new HashSet<TaxonNameBase>();\r
Map<String, TaxonNameBase> nameMap = (Map<String, TaxonNameBase>) partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE);\r
- Map<String, Reference> biblioRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
-\r
+ Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ \r
ResultSet rs = partitioner.getResultSet();\r
\r
Reference<?> sourceRef = state.getTransactionalSourceReference();\r
\r
TaxonNameBase<?,?> taxonNameBase = nameMap.get(String.valueOf(nameId));\r
String nameFactRefFk = String.valueOf(nameFactRefFkObj);\r
- Reference<?> citation = getReferenceOnlyFromMaps(biblioRefMap, \r
- nomRefMap, nameFactRefFk);\r
+ Reference<?> citation = refMap.get(nameFactRefFk);\r
\r
if (taxonNameBase != null){\r
//PROTOLOGUE\r
Map<String, Person> objectMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, objectMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
\r
} catch (SQLException e) {\r
Map<String, Person> nameMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, nameMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
- //nom refDetail map\r
- nameSpace = BerlinModelRefDetailImport.NOM_REFDETAIL_NAMESPACE;\r
+ //refDetail map\r
+ nameSpace = BerlinModelRefDetailImport.REFDETAIL_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = refDetailIdSet;\r
- Map<String, Reference> nomRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomRefDetailMap);\r
- \r
- //biblio refDetail map\r
- nameSpace = BerlinModelRefDetailImport.BIBLIO_REFDETAIL_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = refDetailIdSet;\r
- Map<String, Reference> biblioRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioRefDetailMap);\r
-\r
+ Map<String, Reference> refDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, refDetailMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
int nameId, ResultSet rs, ResultSetPartitioner partitioner) \r
throws SQLException{\r
\r
- Map<String, Reference> biblioRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
- Map<String, Reference> biblioDetailMap = partitioner.getObjectMap(BerlinModelRefDetailImport.BIBLIO_REFDETAIL_NAMESPACE);\r
- Map<String, Reference> nomRefDetailMap = partitioner.getObjectMap(BerlinModelRefDetailImport.NOM_REFDETAIL_NAMESPACE);\r
+ Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ Map<String, Reference> refDetailMap = partitioner.getObjectMap(BerlinModelRefDetailImport.REFDETAIL_NAMESPACE);\r
\r
Object nomRefFkObj = rs.getObject("NomStatusRefFk");\r
Object nomRefDetailFkObj = rs.getObject("NomStatusRefDetailFk");\r
\r
boolean success = true;\r
//nomenclatural Reference\r
- if (biblioRefMap != null){\r
+ if (refMap != null){\r
if (nomRefFkObj != null){\r
String nomRefFk = String.valueOf(nomRefFkObj);\r
String nomRefDetailFk = String.valueOf(nomRefDetailFkObj);\r
- Reference<?> ref = getReferenceFromMaps(biblioDetailMap, nomRefDetailMap, biblioRefMap,\r
- nomRefMap, nomRefDetailFk, nomRefFk); \r
+ Reference<?> ref = getReferenceFromMaps(refDetailMap, refMap, nomRefDetailFk, nomRefFk); \r
\r
//setRef\r
if (ref == null ){\r
public boolean doPartition(ResultSetPartitioner partitioner, BerlinModelImportState state) {\r
boolean success = true;\r
ResultSet rs = partitioner.getResultSet();\r
-\r
+ Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ \r
Set<DescriptionElementBase> objectsToSave = new HashSet<DescriptionElementBase>();\r
try {\r
int i = 0;\r
}\r
if (distribution != null){\r
Integer refId = sourceNumberRefIdMap.get(sourceNumber);\r
- Reference<?> ref = getReference(refId, state);\r
+ Reference<?> ref = refMap.get(String.valueOf(refId));\r
\r
if (ref != null){\r
DescriptionElementSource originalSource = DescriptionElementSource.NewInstance(OriginalSourceType.PrimaryTaxonomicSource);\r
Map<String, TaxonNameBase> nameMap = (Map<String, TaxonNameBase>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, nameMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
-\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
return result;\r
}\r
\r
- \r
-\r
- private Reference getReference(Integer refId, BerlinModelImportState state) {\r
- Reference<?> ref = (Reference)state.getRelatedObject(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE, String.valueOf(refId));\r
- if (ref == null){\r
- ref = (Reference)state.getRelatedObject(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE, String.valueOf(refId));;\r
- }\r
- return ref;\r
- }\r
-\r
- \r
- \r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.CdmIoBase#doCheck(eu.etaxonomy.cdm.io.common.IoStateBase)\r
- */\r
@Override\r
protected boolean doCheck(BerlinModelImportState state){\r
IOValidator<BerlinModelImportState> validator = new BerlinModelOccurrenceSourceImportValidator();\r
return validator.validate(state);\r
}\r
\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.cdm.io.common.CdmIoBase#isIgnore(eu.etaxonomy.cdm.io.common.IImportConfigurator)\r
- */\r
+ @Override\r
protected boolean isIgnore(BerlinModelImportState state){\r
if (! state.getConfig().isDoOccurrence()){\r
return true;\r
import java.util.Map;\r
import java.util.Set;\r
\r
+import org.apache.commons.lang.StringUtils;\r
import org.apache.log4j.Logger;\r
import org.springframework.stereotype.Component;\r
\r
* \r
* @author a.mueller\r
* @created 20.03.2008\r
- * @version 1.0\r
*/\r
@Component\r
public class BerlinModelRefDetailImport extends BerlinModelImportBase {\r
\r
public static final String NOM_REFDETAIL_NAMESPACE = "NomRefDetail";\r
public static final String BIBLIO_REFDETAIL_NAMESPACE = "BiblioRefDetail";\r
- ReferenceFactory refFactory;\r
+ public static final String REFDETAIL_NAMESPACE = "RefDetail";\r
+ \r
+ private static ReferenceFactory refFactory;\r
\r
\r
\r
\r
//nomRef\r
String fullNomRefCache = rs.getString("fullNomRefCache"); \r
- if ( CdmUtils.isNotEmpty(fullNomRefCache) ){\r
+ if ( StringUtils.isNotBlank(fullNomRefCache) ){\r
Reference genericReference = refFactory.newGeneric();\r
genericReference.setTitleCache(fullNomRefCache, true);\r
nomRefDetailsToSave.put(refDetailId, genericReference);\r
\r
//biblioRef\r
String fullRefCache = rs.getString("fullRefCache"); \r
- if ( CdmUtils.isNotEmpty(fullRefCache) && ! fullRefCache.equals(fullNomRefCache)){\r
- Reference genericReference = refFactory.newGeneric();\r
+ if ( StringUtils.isNotBlank(fullRefCache) && ! fullRefCache.equals(fullNomRefCache)){\r
+ Reference<?> genericReference = refFactory.newGeneric();\r
genericReference.setTitleCache(fullRefCache, true);\r
biblioRefDetailsToSave.put(refDetailId, genericReference);\r
//year\r
import java.util.Set;\r
import java.util.UUID;\r
\r
+import org.apache.commons.lang.StringUtils;\r
import org.apache.log4j.Logger;\r
import org.springframework.stereotype.Component;\r
\r
/**\r
* @author a.mueller\r
* @created 20.03.2008\r
- * @version 1.0\r
*/\r
@Component\r
public class BerlinModelReferenceImport extends BerlinModelImportBase {\r
private static final Logger logger = Logger.getLogger(BerlinModelReferenceImport.class);\r
\r
- public static final String NOM_REFERENCE_NAMESPACE = "NomReference";\r
- public static final String BIBLIO_REFERENCE_NAMESPACE = "BiblioReference";\r
+ public static final String REFERENCE_NAMESPACE = "Reference";\r
\r
public static final UUID REF_DEPOSITED_AT_UUID = UUID.fromString("23ca88c7-ce73-41b2-8ca3-2cb22f013beb");\r
public static final UUID REF_SOURCE_UUID = UUID.fromString("d6432582-2216-4b08-b0db-76f6c1013141");\r
\r
//type to count the references nomReferences that have been created and saved\r
private class RefCounter{\r
- RefCounter() {nomRefCount = 0; referenceCount = 0;};\r
- int nomRefCount;\r
- int referenceCount;\r
- public String toString(){return String.valueOf(nomRefCount) + "," +String.valueOf(referenceCount);};\r
+ RefCounter() {refCount = 0;};\r
+ int refCount;\r
+\r
+ public String toString(){return String.valueOf(refCount) ;};\r
}\r
\r
\r
}\r
boolean success = true;\r
\r
- Map<Integer, Reference> nomRefToSave = new HashMap<Integer, Reference>();\r
- Map<Integer, Reference> biblioRefToSave = new HashMap<Integer, Reference>();\r
+ Map<Integer, Reference> refToSave = new HashMap<Integer, Reference>();\r
\r
- Map<String, Reference> relatedNomReferences = partitioner.getObjectMap(NOM_REFERENCE_NAMESPACE);\r
- Map<String, Reference> relatedBiblioReferences = partitioner.getObjectMap(BIBLIO_REFERENCE_NAMESPACE);\r
+ Map<String, Reference> relatedReferences = partitioner.getObjectMap(REFERENCE_NAMESPACE);\r
\r
BerlinModelImportConfigurator config = state.getConfig();\r
\r
while (rs.next()){\r
if ((i++ % modCount) == 0 && i!= 1 ){ logger.info("References handled: " + (i-1) + " in round -" );}\r
\r
- success &= makeSingleReferenceRecord(rs, state, partitioner, biblioRefToSave, nomRefToSave, relatedBiblioReferences, relatedNomReferences, refCounter);\r
+ success &= makeSingleReferenceRecord(rs, state, partitioner, refToSave, relatedReferences, refCounter);\r
} // end resultSet\r
\r
//for the concept reference a fixed uuid may be needed -> change uuid\r
Integer sourceSecId = (Integer)config.getSourceSecId();\r
- Reference<?> sec = biblioRefToSave.get(sourceSecId);\r
- if (sec == null){\r
- sec = nomRefToSave.get(sourceSecId); \r
- }\r
+ Reference<?> sec = refToSave.get(sourceSecId);\r
+\r
if (sec != null){\r
sec.setUuid(config.getSecUuid());\r
logger.info("SecUuid changed to: " + config.getSecUuid());\r
}\r
\r
//save and store in map\r
- logger.info("Save nomenclatural references (" + refCounter.nomRefCount + ")");\r
- getReferenceService().saveOrUpdate(nomRefToSave.values());\r
- logger.info("Save bibliographical references (" + refCounter.referenceCount +")");\r
- getReferenceService().saveOrUpdate(biblioRefToSave.values());\r
+ logger.info("Save references (" + refCounter.refCount + ")");\r
+ getReferenceService().saveOrUpdate(refToSave.values());\r
\r
// }//end resultSetList \r
\r
private boolean doPartitionSecondPath(ResultSetPartitioner partitioner, BerlinModelImportState state) {\r
boolean success = true;\r
\r
- Map<Integer, Reference> nomRefToSave = new HashMap<Integer, Reference>();\r
- Map<Integer, Reference> biblioRefToSave = new HashMap<Integer, Reference>();\r
+ Map<Integer, Reference> refToSave = new HashMap<Integer, Reference>();\r
\r
- Map<String, Reference> relatedNomReferences = partitioner.getObjectMap(NOM_REFERENCE_NAMESPACE);\r
- Map<String, Reference> relatedBiblioReferences = partitioner.getObjectMap(BIBLIO_REFERENCE_NAMESPACE);\r
+ Map<String, Reference> relatedReferencesMap = partitioner.getObjectMap(REFERENCE_NAMESPACE);\r
\r
try {\r
int i = 0;\r
\r
if (inRefFk != null){\r
\r
- Reference<?> thisNomRef = getReferenceOnlyFromMaps(relatedNomReferences, relatedBiblioReferences, String.valueOf(refId));\r
- Reference<?> thisBiblioRef = getReferenceOnlyFromMaps(relatedBiblioReferences, relatedNomReferences, String.valueOf(refId));\r
+ Reference<?> thisRef = relatedReferencesMap.get(String.valueOf(refId));\r
\r
- Reference<?> nomInReference = relatedNomReferences.get(String.valueOf(inRefFk));\r
- Reference<?> biblioInReference = relatedBiblioReferences.get(String.valueOf(inRefFk));\r
- boolean inRefExists = false;\r
- if (thisNomRef != null){\r
- Reference<?> inRef = (nomInReference != null)? nomInReference : biblioInReference;\r
- if (inRef == null){\r
- logger.warn("No InRef found for nomRef: " + thisNomRef.getTitleCache() + "; RefId: " + refId + "; inRefFK: " + inRefFk);\r
- }\r
- thisNomRef.setInReference(inRef);\r
- nomRefToSave.put(refId, thisNomRef);\r
- //remember that an in reference exists\r
- inRefExists |= (inRef != null);\r
- thisNomRef.setTitleCache(null);\r
- thisNomRef.getTitleCache();\r
- }\r
- if (thisBiblioRef != null){\r
- Reference<?> inRef = (biblioInReference != null)? biblioInReference : nomInReference ;\r
+ Reference<?> inRef = relatedReferencesMap.get(String.valueOf(inRefFk));\r
+ \r
+ if (thisRef != null){\r
if (inRef == null){\r
- logger.warn("No InRef found for biblioRef: " + thisBiblioRef.getTitleCache() + "; RefId: " + refId + "; inRefFK: " + inRefFk);\r
+ logger.warn("No InRef found for nomRef: " + thisRef.getTitleCache() + "; RefId: " + refId + "; inRefFK: " + inRefFk);\r
}\r
- thisBiblioRef.setInReference(inRef);\r
- biblioRefToSave.put(refId, thisBiblioRef);\r
- //remember that an in reference exists\r
- inRefExists |= (inRef != null);\r
- thisBiblioRef.setTitleCache(null);\r
- thisBiblioRef.getTitleCache();\r
+ thisRef.setInReference(inRef);\r
+ refToSave.put(refId, thisRef);\r
+ thisRef.setTitleCache(null);\r
+ thisRef.getTitleCache();\r
}\r
- if (inRefExists == false){\r
- logger.warn("No in reference was saved though an 'inRefFk' is available. RefId " + refId);\r
- }\r
- \r
}\r
\r
} // end resultSet\r
\r
//save and store in map\r
- logger.info("Save nomenclatural references (" + refCounter.nomRefCount + ")");\r
- getReferenceService().saveOrUpdate(nomRefToSave.values());\r
- logger.info("Save bibliographical references (" + refCounter.referenceCount +")");\r
- getReferenceService().saveOrUpdate(biblioRefToSave.values());\r
+ logger.info("Save references (" + refCounter.refCount + ")");\r
+ getReferenceService().saveOrUpdate(refToSave.values());\r
\r
// }//end resultSetList \r
\r
Map<String, Team> teamMap = (Map<String, Team>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, teamMap);\r
\r
- \r
- //nom reference map\r
- nameSpace = NOM_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> nomRefMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomRefMap);\r
-\r
- //biblio reference map\r
- nameSpace = BIBLIO_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> biblioRefMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioRefMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
ResultSet rs, \r
BerlinModelImportState state,\r
ResultSetPartitioner<BerlinModelImportState> partitioner,\r
- Map<Integer, Reference> biblioRefToSave, \r
- Map<Integer, Reference> nomRefToSave, \r
- Map<String, Reference> relatedBiblioReferences, \r
- Map<String, Reference> relatedNomReferences, \r
+ Map<Integer, Reference> refToSave, \r
+ Map<String, Reference> relatedReferences, \r
RefCounter refCounter){\r
boolean success = true;\r
\r
}else if (categoryFk == REF_JOURNAL){\r
referenceBase = makeJournal(valueMap);\r
}else if(categoryFk == REF_BOOK){\r
- referenceBase = makeBook(valueMap, biblioRefToSave, nomRefToSave, relatedBiblioReferences, relatedNomReferences);\r
+ referenceBase = makeBook(valueMap, refToSave, relatedReferences);\r
}else if(categoryFk == REF_DATABASE){\r
referenceBase = makeDatabase(valueMap);\r
}else if(categoryFk == REF_INFORMAL){\r
}else if(categoryFk == REF_CONFERENCE_PROCEEDINGS){\r
referenceBase = makeProceedings(valueMap);\r
}else if(categoryFk == REF_ARTICLE){\r
- referenceBase = makeArticle(valueMap, biblioRefToSave, nomRefToSave, relatedBiblioReferences, relatedNomReferences);\r
+ referenceBase = makeArticle(valueMap, refToSave, relatedReferences);\r
}else if(categoryFk == REF_JOURNAL_VOLUME){\r
referenceBase = makeJournalVolume(valueMap);\r
}else if(categoryFk == REF_PART_OF_OTHER_TITLE){\r
- referenceBase = makePartOfOtherTitle(valueMap, biblioRefToSave, nomRefToSave, relatedBiblioReferences, relatedNomReferences);\r
+ referenceBase = makePartOfOtherTitle(valueMap, refToSave, relatedReferences);\r
}else{\r
logger.warn("Unknown categoryFk (" + categoryFk + "). Create 'Generic instead'");\r
referenceBase = ReferenceFactory.newGeneric();\r
}\r
\r
//nom&BiblioReference - must be last because a clone is created\r
- success &= makeNomAndBiblioReference(rs, state, partitioner, refId, referenceBase, refCounter, \r
- biblioRefToSave, nomRefToSave );\r
+ success &= makeNomAndBiblioReference(rs, state, partitioner, refId, referenceBase, refCounter, refToSave);\r
\r
\r
} catch (Exception e) {\r
* Creates and saves a nom. reference and a biblio. reference after checking necessity\r
* @param rs\r
* @param refId\r
- * @param referenceBase\r
+ * @param ref\r
* @param refCounter\r
* @param biblioRefToSave\r
* @param nomRefToSave\r
BerlinModelImportState state,\r
ResultSetPartitioner partitioner,\r
int refId, \r
- Reference<?> referenceBase, \r
+ Reference<?> ref, \r
RefCounter refCounter, \r
- Map<Integer, Reference> biblioRefToSave, \r
- Map<Integer, Reference> nomRefToSave\r
+ Map<Integer, Reference> refToSave\r
) throws SQLException{\r
\r
Map<String, Team> teamMap = partitioner.getObjectMap(BerlinModelAuthorTeamImport.NAMESPACE);\r
Integer nomAuthorTeamFk = rs.getInt("NomAuthorTeamFk");\r
String strNomAuthorTeamFk = String.valueOf(nomAuthorTeamFk);\r
TeamOrPersonBase<?> nomAuthor = teamMap.get(strNomAuthorTeamFk);\r
- Reference nomReference = null;\r
- \r
- boolean hasNomRef = false;\r
- boolean hasBiblioRef = false;\r
- Reference sourceReference = state.getTransactionalSourceReference();\r
+\r
+ Reference<?> sourceReference = state.getTransactionalSourceReference();\r
\r
- //is Nomenclatural Reference\r
- if ( (CdmUtils.isNotEmpty(nomRefCache) && isPreliminary) || (CdmUtils.isNotEmpty(nomTitleAbbrev) && ! isPreliminary) ){\r
- referenceBase.setTitle(nomTitleAbbrev);\r
- TeamOrPersonBase<?> author = getAuthorTeam(refAuthorString , nomAuthor, true);\r
- referenceBase.setAuthorTeam(author);\r
- //referenceBase.setNomenclaturallyRelevant(true);\r
- if (isPreliminary){\r
- referenceBase.setTitleCache(nomRefCache, true);\r
- }\r
- if (! nomRefToSave.containsKey(refId)){\r
- if (referenceBase == null){\r
- logger.warn("refBase is null");\r
- }\r
- nomRefToSave.put(refId, referenceBase);\r
- }else{\r
- logger.warn("Duplicate refId in Berlin Model database. Second reference was not imported !!");\r
- }\r
- \r
-// ???\r
-// nomRefToSave.put(refId, referenceBase);\r
- hasNomRef = true;\r
- nomReference = referenceBase;\r
- refCounter.nomRefCount++;\r
+ //preliminary\r
+ if (isPreliminary){\r
+ ref.setAbbrevTitleCache(nomRefCache, true);\r
+ ref.setTitleCache(refCache, true);\r
}\r
- //is bibliographical Reference\r
- if ((CdmUtils.isNotEmpty(refCache) && isPreliminary && ! refCache.equalsIgnoreCase(nomRefCache)) \r
- || (CdmUtils.isNotEmpty(title) && ! isPreliminary && ! title.equalsIgnoreCase(nomTitleAbbrev)) \r
- || hasNomRef == false){\r
- if (hasNomRef){\r
- referenceBase = (Reference)referenceBase.clone();\r
- copyCreatedUpdated(referenceBase, nomReference);\r
- }\r
- referenceBase.setTitle(title);\r
- TeamOrPersonBase author = getAuthorTeam(refAuthorString , nomAuthor, false);\r
- referenceBase.setAuthorTeam(author);\r
- referenceBase.setNomenclaturallyRelevant(false);\r
- if (isPreliminary){\r
- referenceBase.setTitleCache(refCache, true);\r
- }\r
- if (! biblioRefToSave.containsKey(refId)){\r
- biblioRefToSave.put(refId, referenceBase);\r
- }else{\r
- logger.warn("Duplicate refId in Berlin Model database. Second reference was not imported !!");\r
- }\r
- hasBiblioRef = true;\r
- \r
- //??\r
- //biblioRefToSave.put(refId, referenceBase);\r
- refCounter.referenceCount++;\r
+\r
+ //title/abbrevTitle\r
+ if (StringUtils.isNotBlank(nomTitleAbbrev)){\r
+ ref.setAbbrevTitle(nomTitleAbbrev);\r
}\r
- //refId\r
- if (hasNomRef){\r
- ImportHelper.setOriginalSource(nomReference, sourceReference, refId, NOM_REFERENCE_NAMESPACE);\r
+ if (StringUtils.isNotBlank(title)){\r
+ ref.setTitle(title);\r
}\r
- if (hasBiblioRef){\r
- ImportHelper.setOriginalSource(referenceBase, sourceReference, refId, BIBLIO_REFERENCE_NAMESPACE);\r
+\r
+ //author\r
+ TeamOrPersonBase<?> author = getAuthorTeam(refAuthorString , nomAuthor);\r
+ ref.setAuthorTeam(author);\r
+ \r
+ //save\r
+ if (! refToSave.containsKey(refId)){\r
+ refToSave.put(refId, ref);\r
+ }else{\r
+ logger.warn("Duplicate refId in Berlin Model database. Second reference was not imported !!");\r
}\r
+ refCounter.refCount++;\r
\r
- return true;\r
+ //refId\r
+ ImportHelper.setOriginalSource(ref, sourceReference, refId, REFERENCE_NAMESPACE);\r
\r
+ return true;\r
}\r
\r
/**\r
\r
}\r
\r
- private Reference<?> makeArticle (Map<String, Object> valueMap, Map<Integer, Reference> biblioRefToSave, Map<Integer, Reference> nomRefToSave, Map<String, Reference> relatedBiblioReferences, Map<String, Reference> relatedNomReferences){\r
+ private Reference<?> makeArticle (Map<String, Object> valueMap, Map<Integer, Reference> refToSave, Map<String, Reference> relatedReferences){\r
\r
IArticle article = ReferenceFactory.newArticle();\r
Object inRefFk = valueMap.get("inRefFk".toLowerCase());\r
return (Reference)article;\r
}\r
\r
- private Reference<?> makePartOfOtherTitle (Map<String, Object> valueMap, Map<Integer, Reference> biblioRefToSave, Map<Integer, Reference> nomRefToSave, Map<String, Reference> relatedBiblioReferences, Map<String, Reference> relatedNomReferences){\r
+ private Reference<?> makePartOfOtherTitle (Map<String, Object> valueMap, \r
+ Map<Integer, Reference> refToSave, \r
+ Map<String, Reference> relatedReferences){\r
+ \r
Reference<?> result;\r
Object inRefFk = valueMap.get("inRefFk".toLowerCase());\r
Integer inRefCategoryFk = (Integer)valueMap.get("inRefCategoryFk".toLowerCase());\r
* @param relatedNomReferences\r
* @return\r
*/\r
- private boolean existsInMapOrToSave(Integer inRefFkInt, Map<Integer, Reference> biblioRefToSave, Map<Integer, Reference> nomRefToSave, Map<String, Reference> relatedBiblioReferences, Map<String, Reference> relatedNomReferences) {\r
+ private boolean existsInMapOrToSave(Integer inRefFkInt, Map<Integer, Reference> refToSave, Map<String, Reference> relatedReferences) {\r
boolean result = false;\r
if (inRefFkInt == null){\r
return false;\r
}\r
- result |= nomRefToSave.containsKey(inRefFkInt);\r
- result |= biblioRefToSave.containsKey(inRefFkInt);\r
- result |= relatedBiblioReferences.containsKey(String.valueOf(inRefFkInt));\r
- result |= relatedNomReferences.containsKey(String.valueOf(inRefFkInt));\r
+ result |= refToSave.containsKey(inRefFkInt);\r
+ result |= relatedReferences.containsKey(String.valueOf(inRefFkInt));\r
return result;\r
}\r
\r
\r
private Reference<?> makeBook(\r
Map<String, Object> valueMap, \r
- Map<Integer, Reference> biblioRefToSave, \r
- Map<Integer, Reference> nomRefToSave, \r
- Map<String, Reference> relatedBiblioReferences, \r
- Map<String, Reference> relatedNomReferences){\r
+ Map<Integer, Reference> refToSave, \r
+ Map<String, Reference> relatedReferences){\r
if (logger.isDebugEnabled()){logger.debug("RefType 'Book'");}\r
Reference<?> book = ReferenceFactory.newBook();\r
Integer refId = (Integer)valueMap.get("refId".toLowerCase());\r
printSeries = ReferenceFactory.newPrintSeries(series);\r
logger.info("Implementation of printSeries is preliminary");\r
}\r
- Object inRefFk = valueMap.get("inRefFk".toLowerCase());\r
//Series (as Reference)\r
- if (inRefFk != null && false){ //&&false added for first/second path implementation, following code may be removed if this is successful\r
- int inRefFkInt = (Integer)inRefFk;\r
- if (existsInMapOrToSave(inRefFkInt, biblioRefToSave, nomRefToSave, relatedBiblioReferences, relatedNomReferences)){\r
- Reference<?> inSeries = getReferenceFromMaps(inRefFkInt, nomRefToSave, relatedNomReferences);\r
- if (inSeries == null){\r
- inSeries = getReferenceFromMaps(inRefFkInt, biblioRefToSave, relatedBiblioReferences);\r
- logger.info("inSeries (" + inRefFkInt + ") found in referenceStore instead of nomRefStore.");\r
- nomRefToSave.put(inRefFkInt, inSeries);\r
- }\r
- if (inSeries == null){\r
- logger.warn("inSeries for " + inRefFkInt + " is null. "+\r
- " InReference relation could not be set");;\r
- //}else if (PrintSeries.class.isAssignableFrom(inSeries.getClass())){\r
- }else if (inSeries.getType().equals(ReferenceType.PrintSeries)){\r
- book.setInSeries((IPrintSeries)inSeries);\r
- //TODO\r
- }else{\r
- logger.warn("inSeries is not of type PrintSeries but of type " + inSeries.getType().getMessage() +\r
- ". In-reference relation could not be set for refId " + refId + " and inRefFk " + inRefFk);\r
- }\r
- }else{\r
- logger.error("PrintSeries (refId = " + inRefFkInt + ") for book (refID = " + refId +") could not be found in nomRefStore. Inconsistency error. ");\r
- //success = false;\r
- }\r
- }\r
if (book.getInSeries() != null && printSeries != null){\r
logger.warn("Book has series string and inSeries reference. Can not take both. Series string neglected");\r
}else{\r
}\r
\r
result &= ImportHelper.addMultipleValues(sourceValues, cdmBase, destinationAttribute, classes, NO_OVERWRITE, OBLIGATORY);\r
-// //only for testing\r
-// if (cdmBase instanceof PublicationBase){\r
-// PublicationBase pub = ((PublicationBase)cdmBase);\r
-// pub.addPublisher("A new publisher for " + pub.getTitleCache(), "A nice place");\r
-// }\r
return result;\r
}\r
\r
\r
- private static TeamOrPersonBase<?> getAuthorTeam(String authorString, TeamOrPersonBase<?> nomAuthor, boolean preferNomeclaturalAuthor){\r
+ private static TeamOrPersonBase<?> getAuthorTeam(String authorString, TeamOrPersonBase<?> nomAuthor){\r
TeamOrPersonBase<?> result;\r
- if (preferNomeclaturalAuthor){\r
- if (nomAuthor != null){\r
- result = nomAuthor;\r
- }else{\r
- if (CdmUtils.isEmpty(authorString)){\r
- result = null;\r
- }else{\r
- TeamOrPersonBase<?> team = Team.NewInstance();\r
- //TODO which one to use??\r
- team.setNomenclaturalTitle(authorString);\r
- team.setTitleCache(authorString, true);\r
- result = team;\r
- }\r
- }\r
- }else{ //prefer bibliographic\r
- if (CdmUtils.isNotEmpty(authorString)){\r
- TeamOrPersonBase<?> team = Team.NewInstance();\r
- //TODO which one to use??\r
- team.setNomenclaturalTitle(authorString);\r
- team.setTitleCache(authorString, true);\r
- result = team;\r
- }else{\r
- result = nomAuthor;\r
- }\r
+ if (nomAuthor != null){\r
+ result = nomAuthor;\r
+ } else if (StringUtils.isNotBlank(authorString)){\r
+// xx;\r
+ //FIXME check for existing team / persons\r
+ TeamOrPersonBase<?> team = Team.NewInstance();\r
+ team.setNomenclaturalTitle(authorString);\r
+ team.setTitleCache(authorString, true);\r
+ team.setNomenclaturalTitle(authorString);\r
+ result = team;\r
+ }else{\r
+ result = null;\r
}\r
+ \r
return result;\r
}\r
\r
BerlinModelImportConfigurator config = state.getConfig();\r
Set<TaxonBase> taxaToSave = new HashSet<TaxonBase>();\r
Map<String, TaxonNameBase> taxonNameMap = (Map<String, TaxonNameBase>) partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE);\r
- Map<String, Reference> biblioRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
+ Map<String, Reference> refMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
\r
ResultSet rs = partitioner.getResultSet();\r
try{\r
\r
Reference<?> reference = null;\r
String refFk = String.valueOf(refFkInt);\r
- reference = getReferenceOnlyFromMaps(biblioRefMap, \r
- nomRefMap, refFk);\r
+ reference = refMap.get(refFk); \r
\r
if(! config.isIgnoreNull()){\r
if (taxonName == null ){\r
Map<String, Person> nameMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, nameMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
Map<String, Person> teamMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, teamMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
- \r
- //nom refDetail map\r
- nameSpace = BerlinModelRefDetailImport.NOM_REFDETAIL_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = refDetailIdSet;\r
- Map<String, Reference> nomRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomRefDetailMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
- //biblio refDetail map\r
- nameSpace = BerlinModelRefDetailImport.BIBLIO_REFDETAIL_NAMESPACE;\r
+ //refDetail map\r
+ nameSpace = BerlinModelRefDetailImport.REFDETAIL_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = refDetailIdSet;\r
- Map<String, Reference> biblioRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioRefDetailMap);\r
+ Map<String, Reference> refDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, refDetailMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
\r
private boolean makeNomenclaturalReference(IImportConfigurator config, TaxonNameBase taxonNameBase, \r
int nameId, ResultSet rs, ResultSetPartitioner partitioner) throws SQLException{\r
- Map<String, Reference> biblioRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
- Map<String, Reference> biblioRefDetailMap = partitioner.getObjectMap(BerlinModelRefDetailImport.BIBLIO_REFDETAIL_NAMESPACE);\r
- Map<String, Reference> nomRefDetailMap = partitioner.getObjectMap(BerlinModelRefDetailImport.NOM_REFDETAIL_NAMESPACE);\r
+ Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ Map<String, Reference> refDetailMap = partitioner.getObjectMap(BerlinModelRefDetailImport.REFDETAIL_NAMESPACE);\r
\r
Object nomRefFkObj = rs.getObject("NomRefFk");\r
Object nomRefDetailFkObj = rs.getObject("NomRefDetailFk");\r
\r
boolean success = true;\r
//nomenclatural Reference\r
- if (biblioRefMap != null){\r
+ if (refMap != null){\r
if (nomRefFkObj != null){\r
String nomRefFk = String.valueOf(nomRefFkObj);\r
String nomRefDetailFk = String.valueOf(nomRefDetailFkObj);\r
//get nomRef\r
- Reference nomReference = \r
- getReferenceFromMaps(nomRefDetailMap, biblioRefDetailMap, \r
- nomRefMap, biblioRefMap, nomRefDetailFk, nomRefFk);\r
+ Reference<?> nomReference = \r
+ getReferenceFromMaps(refDetailMap, refMap, nomRefDetailFk, nomRefFk);\r
\r
\r
//setNomRef\r
BerlinModelImportConfigurator config = state.getConfig();\r
Set<TaxonNameBase> nameToSave = new HashSet<TaxonNameBase>();\r
Map<String, TaxonNameBase> nameMap = (Map<String, TaxonNameBase>) partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE);\r
- Map<String, Reference> biblioRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
-\r
- \r
+ Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ \r
ResultSet rs = partitioner.getResultSet();\r
try {\r
\r
if (relRefFkObj != null){\r
String relRefFk = String.valueOf(relRefFkObj);\r
//get nomRef\r
- citation = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, \r
- relRefFk);\r
- }\r
+ citation = refMap.get(relRefFk);\r
+ }\r
\r
//TODO (preliminaryFlag = true testen\r
String microcitation = details;\r
Map<String, Person> objectMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, objectMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
- //nom refDetail map\r
- nameSpace = BerlinModelRefDetailImport.NOM_REFDETAIL_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = refDetailIdSet;\r
- Map<String, Reference> nomRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomRefDetailMap);\r
- \r
- //biblio refDetail map\r
- nameSpace = BerlinModelRefDetailImport.BIBLIO_REFDETAIL_NAMESPACE;\r
+ //refDetail map\r
+ nameSpace = BerlinModelRefDetailImport.REFDETAIL_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = refDetailIdSet;\r
- Map<String, Reference> biblioRefDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioRefDetailMap);\r
+ Map<String, Reference> refDetailMap= (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, refDetailMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
logger.info("start make classification ...");\r
\r
Set<String> idSet = getTreeReferenceIdSet(state);\r
- \r
+\r
//nom reference map\r
- String nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
- Class cdmClass = Reference.class;\r
-// idSet = new HashSet<String>();\r
- Map<String, Reference> nomRefMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- \r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
-// idSet = new HashSet<String>();\r
- Map<String, Reference> biblioRefMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ String nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
+ Class<?> cdmClass = Reference.class;\r
+ Map<String, Reference> refMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
\r
String treeName = "Classification - No Name";\r
\r
\r
Integer ptRefFkInt = nullSafeInt(rs,"PTRefFk");\r
String ptRefFk= String.valueOf(ptRefFkInt);\r
- Reference<?> ref = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, ptRefFk);\r
+ Reference<?> ref = refMap.get(ptRefFk);\r
\r
String refCache = rs.getString("RefCache");\r
if (StringUtils.isNotBlank(refCache)){\r
Set<TaxonBase> taxaToSave = new HashSet<TaxonBase>();\r
Map<String, TaxonBase> taxonMap = (Map<String, TaxonBase>) partitioner.getObjectMap(BerlinModelTaxonImport.NAMESPACE);\r
Map<Integer, Classification> classificationMap = new HashMap<Integer, Classification>();\r
- Map<String, Reference> biblioRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = (Map<String, Reference>) partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
+ Map<String, Reference> refMap = (Map<String, Reference>)partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
\r
ResultSet rs = partitioner.getResultSet();\r
\r
String notes = rs.getString("notes");\r
boolean isConceptRelationship = rs.getBoolean("is_concept_relation");\r
\r
- TaxonBase taxon1 = taxonMap.get(String.valueOf(taxon1Id));\r
- TaxonBase taxon2 = taxonMap.get(String.valueOf(taxon2Id));\r
+ TaxonBase<?> taxon1 = taxonMap.get(String.valueOf(taxon1Id));\r
+ TaxonBase<?> taxon2 = taxonMap.get(String.valueOf(taxon2Id));\r
\r
String refFk = String.valueOf(relRefFk);\r
- Reference citation = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, refFk);\r
+ Reference<?> citation = refMap.get(refFk);\r
\r
String microcitation = null; //does not exist in RelPTaxon\r
\r
// Set<UUID> treeUuidSet = state\r
// getClassificationService().find(uuidSet);\r
// \r
- \r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r
/**\r
* @author a.mueller\r
* @created 20.03.2008\r
- * @version 1.0\r
*/\r
@Component\r
public class BerlinModelTypesImport extends BerlinModelImportBase /*implements IIO<BerlinModelImportConfigurator>*/ {\r
Map<Integer, DerivedUnit> typeMap = new HashMap<Integer, DerivedUnit>();\r
\r
Map<String, TaxonNameBase> nameMap = (Map<String, TaxonNameBase>) partitioner.getObjectMap(BerlinModelTaxonNameImport.NAMESPACE);\r
- Map<String, Reference> biblioRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE);\r
- Map<String, Reference> nomRefMap = partitioner.getObjectMap(BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE);\r
-\r
+ Map<String, Reference> refMap = partitioner.getObjectMap(BerlinModelReferenceImport.REFERENCE_NAMESPACE);\r
+ \r
BerlinModelImportConfigurator config = state.getConfig();\r
Source source = config.getSource();\r
\r
if (refFkObj != null){\r
String relRefFk = String.valueOf(refFkObj);\r
//get nomRef\r
- citation = getReferenceOnlyFromMaps(biblioRefMap, nomRefMap, relRefFk);\r
- }\r
+ citation = refMap.get(relRefFk);\r
+ }\r
\r
DerivedUnit specimen = DerivedUnit.NewPreservedSpecimenInstance();\r
specimen.putDefinition(Language.DEFAULT(), typePhrase);\r
Map<String, Person> objectMap = (Map<String, Person>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
result.put(nameSpace, objectMap);\r
\r
- //nom reference map\r
- nameSpace = BerlinModelReferenceImport.NOM_REFERENCE_NAMESPACE;\r
- cdmClass = Reference.class;\r
- idSet = referenceIdSet;\r
- Map<String, Reference> nomReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, nomReferenceMap);\r
-\r
- //biblio reference map\r
- nameSpace = BerlinModelReferenceImport.BIBLIO_REFERENCE_NAMESPACE;\r
+ //reference map\r
+ nameSpace = BerlinModelReferenceImport.REFERENCE_NAMESPACE;\r
cdmClass = Reference.class;\r
idSet = referenceIdSet;\r
- Map<String, Reference> biblioReferenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
- result.put(nameSpace, biblioReferenceMap);\r
+ Map<String, Reference> referenceMap = (Map<String, Reference>)getCommonService().getSourcedObjectsByIdInSource(cdmClass, idSet, nameSpace);\r
+ result.put(nameSpace, referenceMap);\r
\r
} catch (SQLException e) {\r
throw new RuntimeException(e);\r