/**\r
* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
+* European Distributed Institute of Taxonomy\r
* http://www.e-taxonomy.eu\r
-* \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
import org.apache.log4j.Logger;\r
\r
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;\r
import eu.etaxonomy.cdm.app.common.CdmDestinations;\r
import eu.etaxonomy.cdm.app.images.ImageImportConfigurator;\r
import eu.etaxonomy.cdm.app.tcs.TcsSources;\r
import eu.etaxonomy.cdm.io.common.IImportConfigurator;\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.ImportResult;\r
import eu.etaxonomy.cdm.io.tcsrdf.TcsRdfImportConfigurator;\r
import eu.etaxonomy.cdm.model.description.Feature;\r
import eu.etaxonomy.cdm.model.description.FeatureNode;\r
*/\r
public class PalmaeActivator {\r
private static final Logger logger = Logger.getLogger(PalmaeActivator.class);\r
- \r
+\r
//database validation status (create, update, validate ...)\r
static DbSchemaValidation hbm2dll = DbSchemaValidation.CREATE;\r
static final String tcsSource = TcsSources.arecaceae_local();\r
static final ICdmDataSource cdmDestination = CdmDestinations.localH2Palmae();\r
- \r
+\r
// set the webserver path to the images\r
private static final String imageUrlString = "http://wp5.e-taxonomy.eu/media/palmae/photos/";\r
// set the webserver path to the protologues\r
public static final String protologueUrlString = "http://wp5.e-taxonomy.eu/media/palmae/protologe/";\r
\r
public static final UUID featureTreeUuid = UUID.fromString("72ccce05-7cc8-4dab-8e47-bf3f5fd848a0");\r
- \r
+\r
static final UUID treeUuid = UUID.fromString("1adb71d4-cce6-45e1-b578-e668778d9ec6");\r
static final UUID secUuid = UUID.fromString("5f32b8af-0c97-48ac-8d33-6099ed68c625");\r
static final String sourceSecId = "palm_pub_ed_999999";\r
static final boolean pubishReferencesInBibliography = false;\r
- \r
+\r
//should the other imports run as well?\r
static final boolean includeTaxonX = true;\r
static final boolean includeImages = true;\r
static final boolean includeMediaProtologue = true;\r
static final boolean updateFeatureTree = true;\r
static final boolean updateNameUsage = true;\r
- \r
+\r
//check - import\r
static final CHECK check = CHECK.CHECK_AND_IMPORT;\r
- \r
+\r
static boolean useClassification = true;\r
- \r
+\r
//authors\r
static final boolean doAuthors = true;\r
//references\r
//names\r
static final boolean doTaxonNames = true;\r
static final boolean doRelNames = true;\r
- \r
+\r
//taxa\r
static final boolean doTaxa = true;\r
static final boolean doRelTaxa = true;\r
static final boolean doFacts = true;\r
\r
- \r
- private boolean doImport(ICdmDataSource destination){\r
- boolean success = true;\r
+\r
+ private ImportResult doImport(ICdmDataSource destination){\r
+ ImportResult success;\r
System.out.println("Start import from Tcs("+ tcsSource.toString() + ") ...");\r
- \r
+\r
//make Source\r
URI source;\r
try {\r
source = new URI(tcsSource);\r
- \r
+\r
TcsRdfImportConfigurator tcsImportConfigurator = TcsRdfImportConfigurator.NewInstance(source, destination);\r
- \r
+\r
tcsImportConfigurator.setClassificationUuid(treeUuid);\r
tcsImportConfigurator.setSecUuid(secUuid);\r
tcsImportConfigurator.setSourceSecId(sourceSecId);\r
- \r
- tcsImportConfigurator.setDoAuthors(doAuthors);\r
+\r
tcsImportConfigurator.setDoReferences(doReferences);\r
tcsImportConfigurator.setDoTaxonNames(doTaxonNames);\r
tcsImportConfigurator.setDoRelNames(doRelNames);\r
- \r
+\r
tcsImportConfigurator.setDoTaxa(doTaxa);\r
tcsImportConfigurator.setDoRelTaxa(doRelTaxa);\r
tcsImportConfigurator.setDoFacts(doFacts);\r
tcsImportConfigurator.setUseClassification(useClassification);\r
tcsImportConfigurator.setPublishReferences(pubishReferencesInBibliography);\r
- \r
+\r
tcsImportConfigurator.setCheck(check);\r
tcsImportConfigurator.setDbSchemaValidation(hbm2dll);\r
- \r
+\r
// invoke import\r
CdmDefaultImport<TcsRdfImportConfigurator> tcsImport = new CdmDefaultImport<TcsRdfImportConfigurator>();\r
- success &= tcsImport.invoke(tcsImportConfigurator);\r
- \r
+ success = tcsImport.invoke(tcsImportConfigurator);\r
+\r
//make feature tree\r
logger.info("Make feature tree");\r
- CdmApplicationController app = tcsImport.getCdmAppController();\r
- \r
+ ICdmApplicationConfiguration app = tcsImport.getCdmAppController();\r
+\r
FeatureTree tree = getFeatureTree();\r
app.getFeatureTreeService().saveOrUpdate(tree);\r
System.out.println("End import from TCS ("+ source.toString() + ")...");\r
- \r
+\r
return success;\r
} catch (URISyntaxException e) {\r
e.printStackTrace();\r
- return false;\r
+ success = new ImportResult();\r
+ success.setSuccess(false);\r
+ success.addReport(e.getMessage().getBytes());\r
+ return success;\r
}\r
- \r
+\r
}\r
- \r
- \r
+\r
+\r
private FeatureTree getFeatureTree(){\r
- \r
+\r
FeatureTree result = FeatureTree.NewInstance(featureTreeUuid);\r
FeatureNode root = result.getRoot();\r
- \r
+\r
FeatureNode newNode;\r
newNode = FeatureNode.NewInstance(Feature.INTRODUCTION());\r
root.addChild(newNode);\r
root.addChild(newNode);\r
\r
return result;\r
- \r
+\r
\r
}\r
\r
* @param args\r
*/\r
public static void main(String[] args) {\r
- boolean success = true;\r
- \r
+ ImportResult success;\r
+\r
logger.debug("start");\r
ICdmDataSource destination = CdmDestinations.chooseDestination(args) != null ? CdmDestinations.chooseDestination(args) : cdmDestination;\r
- \r
+\r
PalmaeActivator me = new PalmaeActivator();\r
me.doImport(destination);\r
- \r
+\r
if (includeImages){\r
System.out.println("Start importing images ...");\r
CdmDefaultImport<IImportConfigurator> imageImporter = new CdmDefaultImport<IImportConfigurator>();\r
ImageImportConfigurator imageConfigurator = ImageImportConfigurator.NewInstance(\r
folderUri, destination, imageUrlString, PalmaeImageImport.class);\r
imageConfigurator.setSecUuid(secUuid);\r
- success &= imageImporter.invoke(imageConfigurator);\r
+ success = imageImporter.invoke(imageConfigurator);\r
System.out.println("End importing images ...");\r
} catch (URISyntaxException e) {\r
e.printStackTrace();\r
ImageImportConfigurator imageConfigurator = ImageImportConfigurator.NewInstance(\r
fileUri, destination, protologueUrlString, PalmaeProtologueImport.class);\r
imageConfigurator.setSecUuid(secUuid);\r
- \r
+\r
CdmDefaultImport<IImportConfigurator> imageImporter = new CdmDefaultImport<IImportConfigurator>();\r
imageImporter.invoke(imageConfigurator);\r
System.out.println("End importing protologues ...");\r
} catch (URISyntaxException e) {\r
e.printStackTrace();\r
}\r
- \r
+\r
}\r
if (includeMediaProtologue){\r
System.out.println("Start importing protologues from \\\\media...");\r
String protologueSource = PalmaeProtologueImportActivator.protologueSource;\r
String urlString = protologueUrlString;\r
- \r
+\r
File source = new File (protologueSource);\r
PalmaeProtologueImportConfigurator protologConfig = PalmaeProtologueImportConfigurator.NewInstance(source, destination, urlString);\r
CdmDefaultImport<IImportConfigurator> cdmImport = new CdmDefaultImport<IImportConfigurator>();\r
- \r
+\r
//protologConfig.setDoFacts(doDescriptions);\r
protologConfig.setCheck(check);\r
protologConfig.setDbSchemaValidation(DbSchemaValidation.UPDATE);\r
\r
- success &= cdmImport.invoke(protologConfig);\r
+ success = cdmImport.invoke(protologConfig);\r
\r
System.out.println("End importing protologues ...");\r
}\r
- \r
+\r
if (includeTaxonX){\r
System.out.println("Start importing taxonX ...");\r
PalmaeTaxonXImportActivator taxonXimporter = new PalmaeTaxonXImportActivator();\r
PalmaeTaxonXImportActivator.cdmDestination = destination;\r
- success &= taxonXimporter.runImport();\r
+ success = taxonXimporter.runImport();\r
System.out.println("End importing taxonX ...");\r
}\r
- \r
+\r
PalmaePostImportUpdater updater = new PalmaePostImportUpdater();\r
if (updateFeatureTree){\r
updater.updateMissingFeatures(destination);\r
updater.updateNameUsage(destination);\r
}\r
\r
- \r
+\r
String strSuccess = "";\r
- if (success == false){\r
+ if (success.isSuccess() == false){\r
strSuccess = "not ";\r
}\r
System.out.println("Import " + strSuccess + "successful");\r
- \r
+\r
}\r
- \r
+\r
}\r