refactoring cdm data source to cdm source
authorCherian Mathew <c.mathew@bgbm.org>
Tue, 6 May 2014 14:53:28 +0000 (14:53 +0000)
committerCherian Mathew <c.mathew@bgbm.org>
Tue, 6 May 2014 14:53:28 +0000 (14:53 +0000)
plugin.xml : added clone menu item / command

eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/wizard/ExportToFileDestinationWizardPage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStore.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/CdmStoreConnector.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/ContextManager.java

index c79f7ffac9c4bc940a4a56bdd912044f6ce4bb0f..8fc3a1e6ea4bfd888d448e5e74815a46f04c2e8a 100644 (file)
                label="Edit"
                style="push">
          </command>
+         <command
+               commandId="eu.etaxonomy.taxeditor.store.datasource.clone"
+               label="Clone"
+               style="push">
+         </command>
          <separator
                name="eu.etaxonomy.taxeditor.store.datasource.separator"
                visible="true">
             id="eu.etaxonomy.taxeditor.store.datasource.edit"
             name="Edit Datasource">
       </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CloneDataSourceHandler"
+            id="eu.etaxonomy.taxeditor.store.datasource.clone"
+            name="Clone Datasource">
+      </command>
       <command
             defaultHandler="eu.etaxonomy.taxeditor.view.datasource.handler.CreateDataSourceHandler"
             id="eu.etaxonomy.taxeditor.store.datasource.create"
index 4628b2c144508bb802836d284ab9732585783de7..5fed8fbafab4d931f03460e22119f0342acb4843 100644 (file)
@@ -25,6 +25,7 @@ import org.eclipse.swt.widgets.DirectoryDialog;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 
+import eu.etaxonomy.cdm.remote.CdmRemoteSourceException;
 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
 
 /**
@@ -216,7 +217,11 @@ public class ExportToFileDestinationWizardPage extends WizardPage {
                buffer.append("-");
 
                buffer.append(type + "_export-");
-               buffer.append(CdmDataSourceRepository.getCurrentDataSource());
+               try {
+                       buffer.append(CdmDataSourceRepository.getCurrentCdmSource());
+               } catch (CdmRemoteSourceException e) {
+                       buffer.append("Unknown");
+               }
 
                buffer.append(".");
                buffer.append(extension);
index d849c488c97928f65c4b89f0d140a92e1a9ffad6..7d18e0d3aba1178eb47165eeb0fbc4639d7f09cb 100644 (file)
@@ -39,6 +39,7 @@ import eu.etaxonomy.cdm.model.common.Language;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator;
 import eu.etaxonomy.cdm.persistence.hibernate.permission.Role;
+import eu.etaxonomy.cdm.remote.CdmRemoteSourceException;
 import eu.etaxonomy.taxeditor.datasource.CdmDataSourceRepository;
 import eu.etaxonomy.taxeditor.io.ExportManager;
 import eu.etaxonomy.taxeditor.io.ImportManager;
@@ -119,10 +120,15 @@ public class CdmStore {
         */
        public static void connect() {
 
-               ICdmDataSource datasource = CdmDataSourceRepository
-                               .getCurrentDataSource();
+               ICdmSource cdmSource;
+               try {
+                       cdmSource = CdmDataSourceRepository.getCurrentCdmSource();
+                       connect(cdmSource);
+               } catch (CdmRemoteSourceException e) {
+                       StoreUtil.errorDialog("Connection to CDM Source Failed", CdmStore.class, "Could not connect to target CDM Source", e);
+               }
 
-               connect(datasource);
+               
        }
 
        /**
@@ -514,12 +520,12 @@ public class CdmStore {
         * @return a {@link eu.etaxonomy.cdm.database.ICdmDataSource} object.
         * @deprecated currently retained for backward compatibility - use {@link getActiveCdmSource()} instead
         */
-       public static ICdmDataSource getDataSource() {
-               if (isActive()) {
-                       return (ICdmDataSource)instance.getCdmSource();
-               }
-               return null;
-       }
+//     public static ICdmDataSource getDataSource() {
+//             if (isActive()) {
+//                     return (ICdmDataSource)instance.getCdmSource();
+//             }
+//             return null;
+//     }
 
        /**
         * @return
index 7fe9a0d279b3ff0e27da18534e14e83668093510..52ce1b559fc3e856c83ce17f5d9f7cb61c4b61c8 100644 (file)
@@ -156,8 +156,7 @@ class CdmStoreConnector extends Job {
                                        false, 
                                        subprogressMonitor);
                } else if(cdmSource instanceof ICdmRemoteSource) {
-                       return CdmApplicationRemoteController.NewInstance(applicationContextBean, 
-                                                       (ICdmRemoteSource)cdmSource,                                    
+                       return CdmApplicationRemoteController.NewInstance((ICdmRemoteSource)cdmSource,                                  
                                                        false, 
                                                        subprogressMonitor,
                                                        null);
index f8ca0ab6fe24a3d398490645311ae36addcdf530..57cab784d77392bfb4a9e8700a791d309595179c 100644 (file)
@@ -218,10 +218,10 @@ public class ContextManager implements IWorkbenchListener{
        
        private void createMemento(){
                
-               if (CdmStore.getDataSource() != null) {
+               if (CdmStore.getActiveCdmSource() != null) {
                        
                        try {
-                               String name = CdmStore.getDataSource().getName();
+                               String name = CdmStore.getActiveCdmSource().getName();
                                name = name.trim();
                                name = name.replace(" ", "_");
                                memento = XMLMemento.createWriteRoot(name);
@@ -247,7 +247,7 @@ public class ContextManager implements IWorkbenchListener{
         * @return a {@link java.io.File} object.
         */
        protected File getStateFileForCurrentDatabase() {
-               if(CdmStore.getDataSource() == null){
+               if(CdmStore.getActiveCdmSource() == null){
                        return null;
                }
                
@@ -255,7 +255,7 @@ public class ContextManager implements IWorkbenchListener{
                if (path == null) {
                        return null;
                }
-               path = path.append("editor_state_" + CdmStore.getDataSource().getName() + ".xml");
+               path = path.append("editor_state_" + CdmStore.getActiveCdmSource().getName() + ".xml");
                return path.toFile();
        }