-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.cdm.app.cyprus;\r
-\r
-import java.net.URI;\r
-import java.net.URISyntaxException;\r
-import java.util.UUID;\r
-\r
-import org.apache.log4j.Logger;\r
-\r
-import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;\r
-import eu.etaxonomy.cdm.api.service.ITermService;\r
-import eu.etaxonomy.cdm.app.common.CdmDestinations;\r
-import eu.etaxonomy.cdm.database.DbSchemaValidation;\r
-import eu.etaxonomy.cdm.database.ICdmDataSource;\r
-import eu.etaxonomy.cdm.io.common.CdmDefaultImport;\r
-import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;\r
-import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;\r
-import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;\r
-import eu.etaxonomy.cdm.io.cyprus.CyprusImportConfigurator;\r
-import eu.etaxonomy.cdm.io.cyprus.CyprusTransformer;\r
-import eu.etaxonomy.cdm.model.agent.Person;\r
-import eu.etaxonomy.cdm.model.description.Feature;\r
-import eu.etaxonomy.cdm.model.description.FeatureNode;\r
-import eu.etaxonomy.cdm.model.description.FeatureTree;\r
-import eu.etaxonomy.cdm.model.reference.Reference;\r
-import eu.etaxonomy.cdm.model.reference.ReferenceFactory;\r
-\r
-/**\r
- * @author a.mueller\r
- * @created 16.12.2010\r
- * @version 1.0\r
- */\r
-public class CyprusActivator {\r
- private static final Logger logger = Logger.getLogger(CyprusActivator.class);\r
- \r
- //database validation status (create, update, validate ...)\r
- static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;\r
-// static final URI source = cyprus_distribution();\r
- static final URI source = cyprus_local();\r
-\r
- \r
- static final ICdmDataSource cdmDestination = CdmDestinations.localH2();\r
-// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_postgres_CdmTest();\r
-// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();\r
-// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_cyprus_dev();\r
-// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_cyprus_production();\r
-\r
- \r
- //feature tree uuid\r
- public static final UUID featureTreeUuid = UUID.fromString("14d1e912-5ec2-4d10-878b-828788b70a87");\r
- \r
- //classification\r
- static final UUID classificationUuid = UUID.fromString("0c2b5d25-7b15-4401-8b51-dd4be0ee5cab");\r
- \r
- //check - import\r
- static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;\r
- \r
- //taxa\r
- static final boolean doTaxa = true;\r
- static final boolean doDeduplicate = false;\r
- static final boolean doDistribution = false;\r
-\r
- \r
- private void doImport(ICdmDataSource cdmDestination){\r
- \r
- //make Source\r
- CyprusImportConfigurator config= CyprusImportConfigurator.NewInstance(source, cdmDestination);\r
- config.setClassificationUuid(classificationUuid);\r
- config.setCheck(check);\r
- config.setDoDistribution(doDistribution);\r
- config.setDoTaxa(doTaxa);\r
- config.setDbSchemaValidation(hbm2dll);\r
- \r
- CdmDefaultImport myImport = new CdmDefaultImport();\r
-\r
- \r
- //...\r
- if (true){\r
- System.out.println("Start import from ("+ source.toString() + ") ...");\r
- config.setSourceReference(getSourceReference(config.getSourceReferenceTitle()));\r
- myImport.invoke(config);\r
- if (doTaxa){\r
- FeatureTree tree = makeFeatureNodes(myImport.getCdmAppController().getTermService());\r
- myImport.getCdmAppController().getFeatureTreeService().saveOrUpdate(tree);\r
- }\r
-\r
- System.out.println("End import from ("+ source.toString() + ")...");\r
- }\r
- \r
- \r
- \r
- //deduplicate\r
- if (doDeduplicate){\r
- ICdmApplicationConfiguration app = myImport.getCdmAppController();\r
- int count = app.getAgentService().deduplicate(Person.class, null, null);\r
- logger.warn("Deduplicated " + count + " persons.");\r
-// count = app.getAgentService().deduplicate(Team.class, null, null);\r
-// logger.warn("Deduplicated " + count + " teams.");\r
- count = app.getReferenceService().deduplicate(Reference.class, null, null);\r
- logger.warn("Deduplicated " + count + " references.");\r
- }\r
- \r
- }\r
-\r
- private Reference getSourceReference(String string) {\r
- Reference result = ReferenceFactory.newGeneric();\r
- result.setTitleCache(string);\r
- return result;\r
- }\r
-\r
- private FeatureTree makeFeatureNodes(ITermService service){\r
- CyprusTransformer transformer = new CyprusTransformer();\r
- \r
- FeatureTree result = FeatureTree.NewInstance(featureTreeUuid);\r
- result.setTitleCache("Cyprus Feature Tree");\r
- FeatureNode root = result.getRoot();\r
- FeatureNode newNode;\r
-\r
- newNode = FeatureNode.NewInstance(Feature.STATUS());\r
- root.addChild(newNode);\r
- \r
- newNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());\r
- root.addChild(newNode);\r
-\r
- newNode = FeatureNode.NewInstance(Feature.SYSTEMATICS());\r
- root.addChild(newNode);\r
-\r
- //user defined features\r
- String [] featureList = new String[]{"Red Book", "Endemism"};\r
- addFeataureNodesByStringList(featureList, root, transformer, service);\r
- \r
- return result;\r
- }\r
- \r
-\r
- //Cyprus\r
- public static URI cyprus_local() {\r
- URI sourceUrl;\r
- try {\r
- sourceUrl = new URI("file:/C:/localCopy/Data/zypern/Zypern.xls");\r
- return sourceUrl;\r
- } catch (URISyntaxException e) {\r
- e.printStackTrace();\r
- return null;\r
- }\r
- }\r
- //Cyprus distriution\r
- public static URI cyprus_distribution() {\r
- URI sourceUrl;\r
- try {\r
- sourceUrl = new URI("file:/C:/localCopy/Data/zypern/Zypern_distribution_RH_corr.xls");\r
- return sourceUrl;\r
- } catch (URISyntaxException e) {\r
- e.printStackTrace();\r
- return null;\r
- }\r
- }\r
- \r
- public void addFeataureNodesByStringList(String[] featureStringList, FeatureNode root, IInputTransformer transformer, ITermService termService){\r
- try {\r
- for (String featureString : featureStringList){\r
- UUID featureUuid;\r
- featureUuid = transformer.getFeatureUuid(featureString);\r
- Feature feature = (Feature)termService.find(featureUuid);\r
- if (feature != null){\r
- FeatureNode child = FeatureNode.NewInstance(feature);\r
- root.addChild(child); \r
- }\r
- }\r
- } catch (UndefinedTransformerMethodException e) {\r
- logger.error("getFeatureUuid is not implemented in transformer. Features could not be added");\r
- }\r
- }\r
- \r
-\r
- /**\r
- * @param args\r
- */\r
- public static void main(String[] args) {\r
- CyprusActivator me = new CyprusActivator();\r
- me.doImport(cdmDestination);\r
- }\r
- \r
-}\r
+/**
+* Copyright (C) 2007 EDIT
+* European Distributed Institute of Taxonomy
+* http://www.e-taxonomy.eu
+*
+* The contents of this file are subject to the Mozilla Public License Version 1.1
+* See LICENSE.TXT at the top of this package for the full license terms.
+*/
+
+package eu.etaxonomy.cdm.app.cyprus;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.UUID;
+
+import org.apache.log4j.Logger;
+
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
+import eu.etaxonomy.cdm.api.service.ITermService;
+import eu.etaxonomy.cdm.app.common.CdmDestinations;
+import eu.etaxonomy.cdm.database.DbSchemaValidation;
+import eu.etaxonomy.cdm.database.ICdmDataSource;
+import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
+import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
+import eu.etaxonomy.cdm.io.common.mapping.IInputTransformer;
+import eu.etaxonomy.cdm.io.common.mapping.UndefinedTransformerMethodException;
+import eu.etaxonomy.cdm.io.cyprus.CyprusImportConfigurator;
+import eu.etaxonomy.cdm.io.cyprus.CyprusTransformer;
+import eu.etaxonomy.cdm.model.agent.Person;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.FeatureNode;
+import eu.etaxonomy.cdm.model.description.FeatureTree;
+import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
+
+/**
+ * @author a.mueller
+ * @created 16.12.2010
+ */
+public class CyprusActivator {
+ private static final Logger logger = Logger.getLogger(CyprusActivator.class);
+
+ //database validation status (create, update, validate ...)
+ static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;
+// static final URI source = cyprus_distribution();
+ static final URI source = cyprus_local();
+
+
+ static final ICdmDataSource cdmDestination = CdmDestinations.localH2();
+// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_local_postgres_CdmTest();
+// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_test_local_mysql();
+// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_cyprus_dev();
+// static final ICdmDataSource cdmDestination = CdmDestinations.cdm_cyprus_production();
+
+
+ //feature tree uuid
+ public static final UUID featureTreeUuid = UUID.fromString("14d1e912-5ec2-4d10-878b-828788b70a87");
+
+ //classification
+ static final UUID classificationUuid = UUID.fromString("0c2b5d25-7b15-4401-8b51-dd4be0ee5cab");
+
+ //check - import
+ static final CHECK check = CHECK.IMPORT_WITHOUT_CHECK;
+
+ //taxa
+ static final boolean doTaxa = true;
+ static final boolean doDeduplicate = false;
+ static final boolean doDistribution = false;
+
+
+ private void doImport(ICdmDataSource cdmDestination){
+
+ //make Source
+ CyprusImportConfigurator config= CyprusImportConfigurator.NewInstance(source, cdmDestination);
+ config.setClassificationUuid(classificationUuid);
+ config.setCheck(check);
+ config.setDoDistribution(doDistribution);
+ config.setDoTaxa(doTaxa);
+ config.setDbSchemaValidation(hbm2dll);
+
+ CdmDefaultImport myImport = new CdmDefaultImport();
+
+
+ //...
+ if (true){
+ System.out.println("Start import from ("+ source.toString() + ") ...");
+ config.setSourceReference(getSourceReference(config.getSourceReferenceTitle()));
+ myImport.invoke(config);
+ if (doTaxa){
+ FeatureTree tree = makeFeatureNodes(myImport.getCdmAppController().getTermService());
+ myImport.getCdmAppController().getFeatureTreeService().saveOrUpdate(tree);
+ }
+
+ System.out.println("End import from ("+ source.toString() + ")...");
+ }
+
+
+
+ //deduplicate
+ if (doDeduplicate){
+ ICdmApplicationConfiguration app = myImport.getCdmAppController();
+ int count = app.getAgentService().deduplicate(Person.class, null, null);
+ logger.warn("Deduplicated " + count + " persons.");
+// count = app.getAgentService().deduplicate(Team.class, null, null);
+// logger.warn("Deduplicated " + count + " teams.");
+ count = app.getReferenceService().deduplicate(Reference.class, null, null);
+ logger.warn("Deduplicated " + count + " references.");
+ }
+
+ }
+
+ private Reference getSourceReference(String string) {
+ Reference result = ReferenceFactory.newGeneric();
+ result.setTitleCache(string, true);
+ return result;
+ }
+
+ private FeatureTree makeFeatureNodes(ITermService service){
+ CyprusTransformer transformer = new CyprusTransformer();
+
+ FeatureTree result = FeatureTree.NewInstance(featureTreeUuid);
+ result.setTitleCache("Cyprus Feature Tree", true);
+ FeatureNode root = result.getRoot();
+ FeatureNode newNode;
+
+ newNode = FeatureNode.NewInstance(Feature.STATUS());
+ root.addChild(newNode);
+
+ newNode = FeatureNode.NewInstance(Feature.DISTRIBUTION());
+ root.addChild(newNode);
+
+ newNode = FeatureNode.NewInstance(Feature.SYSTEMATICS());
+ root.addChild(newNode);
+
+ //user defined features
+ String [] featureList = new String[]{"Red Book", "Endemism"};
+ addFeataureNodesByStringList(featureList, root, transformer, service);
+
+ return result;
+ }
+
+
+ //Cyprus
+ public static URI cyprus_local() {
+ URI sourceUrl;
+ try {
+ sourceUrl = new URI("file:/C:/localCopy/Data/zypern/Zypern.xls");
+ return sourceUrl;
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+ //Cyprus distriution
+ public static URI cyprus_distribution() {
+ URI sourceUrl;
+ try {
+ sourceUrl = new URI("file:/C:/localCopy/Data/zypern/Zypern_distribution_RH_corr.xls");
+ return sourceUrl;
+ } catch (URISyntaxException e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ public void addFeataureNodesByStringList(String[] featureStringList, FeatureNode root, IInputTransformer transformer, ITermService termService){
+ try {
+ for (String featureString : featureStringList){
+ UUID featureUuid;
+ featureUuid = transformer.getFeatureUuid(featureString);
+ Feature feature = (Feature)termService.find(featureUuid);
+ if (feature != null){
+ FeatureNode child = FeatureNode.NewInstance(feature);
+ root.addChild(child);
+ }
+ }
+ } catch (UndefinedTransformerMethodException e) {
+ logger.error("getFeatureUuid is not implemented in transformer. Features could not be added");
+ }
+ }
+
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ CyprusActivator me = new CyprusActivator();
+ me.doImport(cdmDestination);
+ }
+
+}