import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
import eu.etaxonomy.cdm.database.ICdmDataSource;\r
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator;\r
-import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;\r
-import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;\r
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;\r
+import eu.etaxonomy.cdm.io.common.IImportConfigurator;\r
import eu.etaxonomy.cdm.io.common.Source;\r
-import eu.etaxonomy.cdm.model.name.NameRelationshipType;\r
+import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;\r
+import eu.etaxonomy.cdm.io.common.IImportConfigurator.DO_REFERENCES;\r
import eu.etaxonomy.cdm.model.name.NomenclaturalCode;\r
import eu.etaxonomy.cdm.model.name.NonViralName;\r
\r
*\r
*/\r
public class SalvadorActivator {\r
- @SuppressWarnings("unused")\r
private static final Logger logger = Logger.getLogger(SalvadorActivator.class);\r
\r
//database validation status (create, update, validate ...)\r
\r
//check - import\r
static final CHECK check = CHECK.CHECK_AND_IMPORT;\r
-\r
+ static final IImportConfigurator.EDITOR editor = IImportConfigurator.EDITOR.EDITOR_AS_EDITOR;\r
\r
//NomeclaturalCode\r
static final NomenclaturalCode nomenclaturalCode = NomenclaturalCode.ICBN;\r
+ \r
+ //ignore null\r
+ static final boolean ignoreNull = true;\r
\r
// ****************** ALL *****************************************\r
\r
static final boolean doRelTaxa = true;\r
static final boolean doFacts = true;\r
static final boolean doOccurences = false;\r
+ \r
+ //etc.\r
+ static final boolean doMarker = true;\r
+ static final boolean doUser = true;\r
+ \r
\r
// ************************ NONE **************************************** //\r
\r
// //references\r
// static final DO_REFERENCES doReferences = DO_REFERENCES.NONE;\r
// //names\r
-// static final boolean doTaxonNames = true;\r
+// static final boolean doTaxonNames = false;\r
// static final boolean doRelNames = false;\r
// static final boolean doNameStatus = false;\r
// static final boolean doTypes = false;\r
// //taxa\r
// static final boolean doTaxa = true;\r
// static final boolean doRelTaxa = false;\r
-// static final boolean doFacts = true;\r
+// static final boolean doFacts = false;\r
// static final boolean doOccurences = false;\r
+// \r
+// //etc.\r
+// static final boolean doMarker = true;\r
+// static final boolean doUser = true; \r
\r
\r
public boolean doImport(){\r
Source source = berlinModelSource;\r
ICdmDataSource destination = cdmDestination;\r
\r
- BerlinModelImportConfigurator bmImportConfigurator = BerlinModelImportConfigurator.NewInstance(source, destination);\r
+ BerlinModelImportConfigurator config = BerlinModelImportConfigurator.NewInstance(source, destination);\r
+ \r
+ config.setSecUuid(secUuid);\r
+ config.setSourceSecId(sourceSecId);\r
+ config.setNomenclaturalCode(nomenclaturalCode);\r
+ config.setIgnoreNull(ignoreNull);\r
+ \r
+ config.setDoAuthors(doAuthors);\r
+ config.setDoReferences(doReferences);\r
+ config.setDoTaxonNames(doTaxonNames);\r
+ config.setDoRelNames(doRelNames);\r
+ config.setDoNameStatus(doNameStatus);\r
+ config.setDoTypes(doTypes);\r
+ config.setDoNameFacts(doNameFacts);\r
\r
- bmImportConfigurator.setSecUuid(secUuid);\r
- bmImportConfigurator.setSourceSecId(sourceSecId);\r
- bmImportConfigurator.setNomenclaturalCode(nomenclaturalCode);\r
-\r
- bmImportConfigurator.setDoAuthors(doAuthors);\r
- bmImportConfigurator.setDoReferences(doReferences);\r
- bmImportConfigurator.setDoTaxonNames(doTaxonNames);\r
- bmImportConfigurator.setDoRelNames(doRelNames);\r
- bmImportConfigurator.setDoNameStatus(doNameStatus);\r
- bmImportConfigurator.setDoTypes(doTypes);\r
- bmImportConfigurator.setDoNameFacts(doNameFacts);\r
+ config.setDoTaxa(doTaxa);\r
+ config.setDoRelTaxa(doRelTaxa);\r
+ config.setDoFacts(doFacts);\r
+ config.setDoOccurrence(doOccurences);\r
\r
- bmImportConfigurator.setDoTaxa(doTaxa);\r
- bmImportConfigurator.setDoRelTaxa(doRelTaxa);\r
- bmImportConfigurator.setDoFacts(doFacts);\r
- bmImportConfigurator.setDoOccurrence(doOccurences);\r
- bmImportConfigurator.setDbSchemaValidation(hbm2dll);\r
-\r
- bmImportConfigurator.setCheck(check);\r
- bmImportConfigurator.setIgnore0AuthorTeam(isIgnore0AuthorTeam);\r
+ config.setDoMarker(doMarker);\r
+ config.setDoUser(doUser);\r
+ \r
+ config.setDbSchemaValidation(hbm2dll);\r
+\r
+ config.setCheck(check);\r
+ config.setEditor(editor);\r
+ config.setIgnore0AuthorTeam(isIgnore0AuthorTeam);\r
\r
- bmImportConfigurator.setNamerelationshipTypeMethod(getNameRelationshipTypeMethod());\r
+ config.setNamerelationshipTypeMethod(getHandleNameRelationshipTypeMethod());\r
+ config.setUserTransformationMethod(getTransformUsernameMethod());\r
\r
// invoke import\r
CdmDefaultImport<BerlinModelImportConfigurator> bmImport = new CdmDefaultImport<BerlinModelImportConfigurator>();\r
- boolean result = bmImport.invoke(bmImportConfigurator);\r
+ boolean result = bmImport.invoke(config);\r
System.out.println("End import from BerlinModel ("+ source.getDatabase() + ")...");\r
return result;\r
}\r
export.doExport();\r
}\r
}\r
+\r
\r
- \r
- private Method getNameRelationshipTypeMethod(){\r
+ private Method getHandleNameRelationshipTypeMethod(){\r
String methodName = "handleNameRelationshipType";\r
try {\r
Method method = this.getClass().getDeclaredMethod(methodName, Integer.class, NonViralName.class, NonViralName.class);\r
return null;\r
}\r
}\r
- \r
+\r
+\r
//used by BerlinModelImportConfigurator\r
+ @SuppressWarnings("unused")\r
private static boolean handleNameRelationshipType(Integer relQualifierFk, NonViralName nameTo, NonViralName nameFrom){\r
if (relQualifierFk == 72){\r
nameTo.getHomotypicalGroup().merge(nameFrom.getHomotypicalGroup());\r
return false;\r
}\r
\r
+ private Method getTransformUsernameMethod(){\r
+ String methodName = "transformUsername";\r
+ try {\r
+ Method method = this.getClass().getDeclaredMethod(methodName, String.class);\r
+ method.setAccessible(true);\r
+ return method;\r
+ } catch (Exception e) {\r
+ logger.error("Problem creating Method: " + methodName);\r
+ return null;\r
+ }\r
+ }\r
+ \r
+ //used by BerlinModelImportConfigurator\r
+ @SuppressWarnings("unused")\r
+ private static String transformUsername(String nameToBeTransformed){\r
+ if ("W.G.Berendsohn".equals(nameToBeTransformed)){\r
+ return "wgb";\r
+ }else if("XXXXERWE".equals(nameToBeTransformed)){\r
+ return null;\r
+ }\r
+ return nameToBeTransformed;\r
+ }\r
+\r
}\r