cdmlib classes that were programmed against CdmApplicationController now accept ICdmA...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / io / ImportManager.java
index d73ab1ae25098fa993330b37cbba0db82817336c..35b4e07313fd3fb2145fa02f724ccb4eb68143e3 100644 (file)
@@ -1,12 +1,12 @@
 // $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;
 
@@ -17,7 +17,7 @@ import org.eclipse.core.runtime.Status;
 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;
@@ -32,8 +32,10 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 
 /**
- * <p>ImportHandler class.</p>
- *
+ * <p>
+ * ImportHandler class.
+ * </p>
+ * 
  * @author n.hoffmann
  * @created Sep 11, 2009
  * @version 1.0
@@ -41,141 +43,199 @@ import eu.etaxonomy.taxeditor.store.StoreUtil;
 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);
+       }
+
 }