// $Id$
/**
-* 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.
-*/
+ * 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.taxeditor.io;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.swt.widgets.Display;
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
import eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator;
import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
import eu.etaxonomy.cdm.io.common.IImportConfigurator;
import eu.etaxonomy.taxeditor.store.StoreUtil;
/**
- * <p>ImportHandler class.</p>
- *
+ * <p>
+ * ImportHandler class.
+ * </p>
+ *
* @author n.hoffmann
* @created Sep 11, 2009
* @version 1.0
public class ImportManager extends AbstractIOManager<IImportConfigurator> {
/**
- * @param applicationController
+ * @param applicationConfiguration
*/
- private ImportManager(
- CdmApplicationController applicationController) {
- super(applicationController);
+ private ImportManager(ICdmApplicationConfiguration applicationConfiguration) {
+ super(applicationConfiguration);
}
-
+
/**
- * <p>NewInstance</p>
- *
- * @param applicationController a {@link eu.etaxonomy.cdm.api.application.CdmApplicationController} object.
+ * <p>
+ * NewInstance
+ * </p>
+ *
+ * @param applicationConfiguration
+ * a
+ * {@link eu.etaxonomy.cdm.api.application.CdmApplicationController}
+ * object.
* @return a {@link eu.etaxonomy.taxeditor.io.ImportManager} object.
*/
- public static ImportManager NewInstance(CdmApplicationController applicationController){
- return new ImportManager(applicationController);
+ public static ImportManager NewInstance(
+ ICdmApplicationConfiguration applicationConfiguration) {
+ return new ImportManager(applicationConfiguration);
}
-
+
/**
* Use when importing data into the current application context
- *
- * @param configurator a {@link eu.etaxonomy.cdm.io.common.IImportConfigurator} object.
+ *
+ * @param configurator
+ * a {@link eu.etaxonomy.cdm.io.common.IImportConfigurator}
+ * object.
* @return a {@link org.eclipse.core.runtime.jobs.Job} object.
*/
- protected Job createIOJob(final IImportConfigurator configurator){
+ @Override
+ protected Job createIOJob(final IImportConfigurator configurator) {
Assert.isNotNull(configurator, "Configuration may not be null");
-
+
final Display display = Display.getDefault();
-
- Job job = new Job("Import: " + configurator.getClass().getSimpleName()){
-
+
+ Job job = new Job("Import: " + configurator.getClass().getSimpleName()) {
+
@Override
protected IStatus run(IProgressMonitor monitor) {
monitor.beginTask("Importing data", 100);
- configurator.setProgressMonitor(CdmProgressMonitorAdapter.CreateSubMonitor(monitor, 70));
-
+ configurator.setProgressMonitor(CdmProgressMonitorAdapter
+ .CreateSubMonitor(monitor, 70));
+
monitor.worked(10);
-
+
CdmDefaultImport<IImportConfigurator> importer = new CdmDefaultImport<IImportConfigurator>();
- importer.setCdmAppController(applicationController);
- monitor.worked(10);
-
- try{
+ importer.setCdmAppController(applicationConfiguration);
+ monitor.worked(10);
+
+ try {
importer.invoke(configurator);
monitor.worked(60);
- }catch(RuntimeException e){
- StoreUtil.errorDialog("Error importing data", this, "An error occured while" +
- "importing from source '" + configurator.getSourceNameString() + "'.\n" +
- "Please check error log for details.", e);
+ } catch (RuntimeException e) {
+ StoreUtil.errorDialog(
+ "Error importing data",
+ this,
+ "An error occured while"
+ + "importing from source '"
+ + configurator.getSourceNameString()
+ + "'.\n"
+ + "Please check error log for details.", e);
}
-
+
monitor.worked(10);
monitor.done();
-
+
display.asyncExec(new Runnable() {
-
+
@Override
public void run() {
CdmStore.getContextManager().notifyContextRefresh();
}
});
-
+
return Status.OK_STATUS;
}
};
-
+
return job;
-
+
}
- private IImportConfigurator getConfigurator(TYPE type){
+ private IImportConfigurator getConfigurator(TYPE type) {
Assert.isNotNull(type, "Type should not be null");
-
- switch(type){
- case BerlinModel:
- return BerlinModelImportConfigurator.NewInstance(null, null);
- case Jaxb:
- return JaxbImportConfigurator.NewInstance(null, null);
- case Tcs:
- return TcsXmlImportConfigurator.NewInstance(null, null);
- case Endnote:
- return EndnoteImportConfigurator.NewInstance(null, null);
- case Excel_Taxa:
- return NormalExplicitImportConfigurator.NewInstance(null, null, null);
- case Abcd:
- return Abcd206ImportConfigurator.NewInstance(null, null);
- case Sdd:
- return SDDImportConfigurator.NewInstance(null, null);
- default:
- StoreUtil.notImplementedMessage(this);
- throw new IllegalArgumentException("Import not supported yet");
+
+ switch (type) {
+ case BerlinModel:
+ return BerlinModelImportConfigurator.NewInstance(null, null);
+ case Jaxb:
+ return JaxbImportConfigurator.NewInstance(null, null);
+ case Tcs:
+ return TcsXmlImportConfigurator.NewInstance(null, null);
+ case Endnote:
+ return EndnoteImportConfigurator.NewInstance(null, null);
+ case Excel_Taxa:
+ return NormalExplicitImportConfigurator.NewInstance(null, null,
+ null);
+ case Abcd:
+ return Abcd206ImportConfigurator.NewInstance(null, null);
+ case Sdd:
+ return SDDImportConfigurator.NewInstance(null, null);
+ default:
+ StoreUtil.notImplementedMessage(this);
+ throw new IllegalArgumentException("Import not supported yet");
}
}
-
+
/**
- * <p>BerlinModelConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator} object.
+ * <p>
+ * BerlinModelConfigurator
+ * </p>
+ *
+ * @return a
+ * {@link eu.etaxonomy.cdm.io.berlinModel.in.BerlinModelImportConfigurator}
+ * object.
*/
- public final BerlinModelImportConfigurator BerlinModelConfigurator() { return (BerlinModelImportConfigurator) getConfigurator(TYPE.BerlinModel); }
+ public final BerlinModelImportConfigurator BerlinModelConfigurator() {
+ return (BerlinModelImportConfigurator) getConfigurator(TYPE.BerlinModel);
+ }
+
/**
- * <p>JaxbConfigurator</p>
- *
+ * <p>
+ * JaxbConfigurator
+ * </p>
+ *
* @return a {@link eu.etaxonomy.cdm.io.jaxb.JaxbImportConfigurator} object.
*/
- public final JaxbImportConfigurator JaxbConfigurator() { return (JaxbImportConfigurator) getConfigurator(TYPE.Jaxb); }
+ public final JaxbImportConfigurator JaxbConfigurator() {
+ return (JaxbImportConfigurator) getConfigurator(TYPE.Jaxb);
+ }
+
/**
- * <p>TcsConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator} object.
+ * <p>
+ * TcsConfigurator
+ * </p>
+ *
+ * @return a {@link eu.etaxonomy.cdm.io.tcsxml.in.TcsXmlImportConfigurator}
+ * object.
*/
- public final TcsXmlImportConfigurator TcsConfigurator() { return (TcsXmlImportConfigurator) getConfigurator(TYPE.Tcs); }
+ public final TcsXmlImportConfigurator TcsConfigurator() {
+ return (TcsXmlImportConfigurator) getConfigurator(TYPE.Tcs);
+ }
+
/**
- * <p>EndnoteConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.io.reference.endnote.in.EndnoteImportConfigurator} object.
+ * <p>
+ * EndnoteConfigurator
+ * </p>
+ *
+ * @return a
+ * {@link eu.etaxonomy.cdm.io.reference.endnote.in.EndnoteImportConfigurator}
+ * object.
*/
- public final EndnoteImportConfigurator EndnoteConfigurator() { return (EndnoteImportConfigurator) getConfigurator(TYPE.Endnote); }
+ public final EndnoteImportConfigurator EndnoteConfigurator() {
+ return (EndnoteImportConfigurator) getConfigurator(TYPE.Endnote);
+ }
+
/**
- * <p>NormalExplicitConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.io.excel.taxa.NormalExplicitImportConfigurator} object.
+ * <p>
+ * NormalExplicitConfigurator
+ * </p>
+ *
+ * @return a
+ * {@link eu.etaxonomy.cdm.io.excel.taxa.NormalExplicitImportConfigurator}
+ * object.
*/
- public final NormalExplicitImportConfigurator NormalExplicitConfigurator() { return (NormalExplicitImportConfigurator) getConfigurator(TYPE.Excel_Taxa); }
+ public final NormalExplicitImportConfigurator NormalExplicitConfigurator() {
+ return (NormalExplicitImportConfigurator) getConfigurator(TYPE.Excel_Taxa);
+ }
+
/**
- * <p>SddConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator} object.
+ * <p>
+ * SddConfigurator
+ * </p>
+ *
+ * @return a {@link eu.etaxonomy.cdm.io.sdd.in.SDDImportConfigurator}
+ * object.
*/
- public final SDDImportConfigurator SddConfigurator() { return (SDDImportConfigurator) getConfigurator(TYPE.Sdd); }
+ public final SDDImportConfigurator SddConfigurator() {
+ return (SDDImportConfigurator) getConfigurator(TYPE.Sdd);
+ }
+
/**
- * <p>AbcdConfigurator</p>
- *
- * @return a {@link eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator} object.
+ * <p>
+ * AbcdConfigurator
+ * </p>
+ *
+ * @return a
+ * {@link eu.etaxonomy.cdm.io.specimen.abcd206.in.Abcd206ImportConfigurator}
+ * object.
*/
- public final Abcd206ImportConfigurator AbcdConfigurator() { return (Abcd206ImportConfigurator) getConfigurator(TYPE.Abcd); }
-
-
+ public final Abcd206ImportConfigurator AbcdConfigurator() {
+ return (Abcd206ImportConfigurator) getConfigurator(TYPE.Abcd);
+ }
+
}
private static CdmStore instance;
- private final CdmApplicationController applicationController;
+ private final ICdmApplicationConfiguration applicationConfiguration;
private static LoginManager loginManager = new LoginManager();
getContextManager().notifyContextAboutToStop(monitor);
if ((monitor == null || (!monitor.isCanceled()) && isActive())) {
getContextManager().notifyContextStop(monitor);
- if (instance.getApplicationController() != null) {
- instance.getApplicationController().close();
- }
instance.close();
}
}
private CdmStore(CdmApplicationController applicationController,
ICdmDataSource dataSource) {
- this.applicationController = applicationController;
+ this.applicationConfiguration = applicationController;
this.cdmDatasource = dataSource;
isConnected = true;
}
*
* @return
*/
- private CdmApplicationController getApplicationController() {
+ private ICdmApplicationConfiguration getApplicationConfiguration() {
try {
- return applicationController;
+ return applicationConfiguration;
} catch (Exception e) {
StoreUtil.error(CdmStore.class, e);
}
* {@link eu.etaxonomy.cdm.api.application.CdmApplicationController}
* object.
*/
- public static CdmApplicationController getCurrentApplicationController() {
+ public static ICdmApplicationConfiguration getCurrentApplicationConfiguration() {
if (getDefault() != null) {
- return getDefault().getApplicationController();
+ return getDefault().getApplicationConfiguration();
}
return null;
}
* object.
*/
public static ConversationHolder createConversation() {
- ConversationHolder conversation = getCurrentApplicationController()
+ ConversationHolder conversation = getCurrentApplicationConfiguration()
.NewConversation();
conversation.startTransaction();
* @return
*/
public static <T extends IService> T getService(Class<T> serviceClass) {
- ICdmApplicationConfiguration configuration = getCurrentApplicationController();
+ ICdmApplicationConfiguration configuration = getCurrentApplicationConfiguration();
Method[] methods = ICdmApplicationConfiguration.class
.getDeclaredMethods();
* object.
*/
public static ProviderManager getAuthenticationManager() {
- return getCurrentApplicationController().getAuthenticationManager();
+ return getCurrentApplicationConfiguration().getAuthenticationManager();
}
/**
* @return a {@link eu.etaxonomy.cdm.ext.geo.IEditGeoService} object.
*/
public static IEditGeoService getGeoService() {
- return (IEditGeoService) getCurrentApplicationController().getBean(
+ return (IEditGeoService) getCurrentApplicationConfiguration().getBean(
"editGeoService");
}
* @return a {@link eu.etaxonomy.taxeditor.io.ImportManager} object.
*/
public static ImportManager getImportManager() {
- return ImportManager.NewInstance(getCurrentApplicationController());
+ return ImportManager.NewInstance(getCurrentApplicationConfiguration());
}
/**
* @return a {@link eu.etaxonomy.taxeditor.io.ExportManager} object.
*/
public static ExportManager getExportManager() {
- return ExportManager.NewInstance(getCurrentApplicationController());
+ return ExportManager.NewInstance(getCurrentApplicationConfiguration());
}
/**