X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib-apps.git/blobdiff_plain/498afc80217589b2bdcc9137b572a490dfbe2d06..553a462bcafddcc2f7263115e599e76a562dc24c:/XperCdmIntegration/src/test/java/eu/etaxonomy/cdm/io/xper/TestAdapterCdmXper.java diff --git a/XperCdmIntegration/src/test/java/eu/etaxonomy/cdm/io/xper/TestAdapterCdmXper.java b/XperCdmIntegration/src/test/java/eu/etaxonomy/cdm/io/xper/TestAdapterCdmXper.java index 5739b1af..4470cae3 100644 --- a/XperCdmIntegration/src/test/java/eu/etaxonomy/cdm/io/xper/TestAdapterCdmXper.java +++ b/XperCdmIntegration/src/test/java/eu/etaxonomy/cdm/io/xper/TestAdapterCdmXper.java @@ -1,43 +1,50 @@ package eu.etaxonomy.cdm.io.xper; import java.io.File; +import java.util.List; +import java.util.UUID; + +import org.apache.log4j.Logger; import eu.etaxonomy.cdm.api.application.CdmApplicationController; import eu.etaxonomy.cdm.app.common.CdmDestinations; import eu.etaxonomy.cdm.database.DbSchemaValidation; import eu.etaxonomy.cdm.database.ICdmDataSource; -import eu.etaxonomy.cdm.io.xper.AdaptaterCdmXper; -import fr_jussieu_snv_lis.Xper; -import fr_jussieu_snv_lis.edition.XPDisplay; +import eu.etaxonomy.cdm.io.api.application.CdmIoApplicationController; +import eu.etaxonomy.cdm.model.description.WorkingSet; +import fr_jussieu_snv_lis.XPApp; import fr_jussieu_snv_lis.utils.Utils; public class TestAdapterCdmXper { + private static final Logger logger = Logger.getLogger(TestAdapterCdmXper.class); - AdaptaterCdmXper adapterCdmXper; + CdmXperAdapter adapterCdmXper; /** * */ - private void startApplications() { + private boolean startApplications() { + boolean result = false; DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE; ICdmDataSource datasource = CdmDestinations.cdm_test_local_xper(); System.out.println("cdm start"); - CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); + CdmApplicationController appCtr = CdmIoApplicationController.NewInstance(datasource, dbSchemaValidation); System.out.println("cdm started :::"); - adapterCdmXper = new AdaptaterCdmXper(appCtr); - - Thread t = new Thread() { - public void run() { - new Xper(adapterCdmXper); - } - }; - System.out.println("xper2 start"); - t.start(); - while(!Utils.xperReady){ - //TODO wait + List workingSets = appCtr.getWorkingSetService().list(null, 1, 0, null, null); + if (workingSets.isEmpty()){ + logger.warn("There is no working set"); + return false; + }else{ + UUID uuidWorkingSet = workingSets.iterator().next().getUuid(); + + adapterCdmXper = (CdmXperAdapter)appCtr.getBean("cdmXperAdapter"); +// adapterCdmXper = new CdmXperAdapter(appCtr, uuidWorkingSet); + result = adapterCdmXper.startXper(uuidWorkingSet); } - System.out.println("xper2 started :::"); + + return result; + } public void xperloadDataFromCdm(){ @@ -47,22 +54,22 @@ public class TestAdapterCdmXper { // create a new empty base and load data from CDM - if(Utils.cdmAdapter != null){ + if(XPApp.cdmAdapter != null){ // create a new base - Xper.getMainframe().newBase("baseTest"); + XPApp.getMainframe().newBase("baseTest"); // specify that the current base is not new (needed to be able to add images) - Utils.isNewBase = false; + XPApp.isNewBase = false; // delete the variable create by default and update the frame - XPDisplay.getControler().getBase().deleteVariable(XPDisplay.getControler().getBase().getVariableAt(0)); - XPDisplay.displayNbVariable(); - XPDisplay.getControler().displayJifVarTree(); + XPApp.getCurrentBase().deleteVariable(XPApp.getCurrentBase().getVariableAt(0)); + XPApp.getMainframe().displayNbVariable(); + XPApp.getMainframe().getControler().displayJifVarTree(); - if (Utils.currentBase != null) { + if (XPApp.getCurrentBase() != null) { // adaptaterCdmXper.createWorkingSet(); adapterCdmXper.load(); - XPDisplay.displayNbVariable(); - XPDisplay.getControler().displayJifVarTree(); + XPApp.getMainframe().displayNbVariable(); + XPApp.getMainframe().getControler().displayJifVarTree(); } } // undisplay a loading gif @@ -84,13 +91,39 @@ public class TestAdapterCdmXper { private void generateThumbnails() { System.out.println("start generate thumbnails"); // generate all thumbnails (a loading gif is automatically displayed - Utils.generateThumbnailsFromURLImage(XPDisplay.getControler().getBase().getAllResources()); + XPApp.generateThumbnailsFromURLImage(XPApp.getCurrentBase().getAllResources()); System.out.println("stop generate thumbnails"); } private void startPartialCdm() { - // TODO Auto-generated method stub + System.out.println("start load data"); + // display a loading gif +// Utils.displayLoadingGif(true); + + + // create a new empty base and load data from CDM + if(XPApp.cdmAdapter != null){ + // create a new base +// XPApp.getMainframe().newBase("baseTest"); + // specify that the current base is not new (needed to be able to add images), not really needed + XPApp.isNewBase = false; + + XPApp.getMainframe().displayNbVariable(); + XPApp.getMainframe().getControler().displayJifVarTree(); + +// if (XPApp.getCurrentBase() != null) { +//// adaptaterCdmXper.createWorkingSet(); +// adapterCdmXper.load(); +// +// XPApp.getMainframe().displayNbVariable(); +// XPApp.getMainframe().getControler().displayJifVarTree(); +// } + } + // undisplay a loading gif + Utils.displayLoadingGif(false); + System.out.println("data loaded :::"); + } @@ -98,22 +131,36 @@ public class TestAdapterCdmXper { * @param args */ public static void main(String[] args) { - System.out.println("start test"); + System.out.println("start test adapter"); //start CDM and Xper TestAdapterCdmXper testAdapter = new TestAdapterCdmXper(); - testAdapter.startApplications(); - testAdapter.createThumbnailDirectory(); - if (args.length >= 1 && "-p".equals(args[0]) ){ - testAdapter.startPartialCdm(); - }else{ - // load the data from CDM - testAdapter.xperloadDataFromCdm(); - // use the current directory as working directory for Xper2 - XPDisplay.getControler().getBase().setPathName(System.getProperty("user.dir") + Utils.sep); - - testAdapter.generateThumbnails(); + boolean success = testAdapter.startApplications(); + while(!XPApp.xperReady){ + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } } + System.out.println("xper2 started :::"); + if (success){ + testAdapter.createThumbnailDirectory(); + if (args.length >= 1 && "-p".equals(args[0]) ){ + testAdapter.startPartialCdm(); + }else{ + // load the data from CDM + testAdapter.xperloadDataFromCdm(); + // use the current directory as working directory for Xper2 + XPApp.getCurrentBase().setPathName(System.getProperty("user.dir") + Utils.sep); + + testAdapter.generateThumbnails(); + } + }else{ + System.out.println("end test adapter with errors"); + System.exit(-1); + } + System.out.println("end test adapter"); }