refactoring CdmApplicationConfiguration/Controller to allow for remoting
authorCherian Mathew <c.mathew@bgbm.org>
Wed, 12 Feb 2014 13:02:25 +0000 (13:02 +0000)
committerCherian Mathew <c.mathew@bgbm.org>
Wed, 12 Feb 2014 13:02:25 +0000 (13:02 +0000)
CdmStoreConnector : added application configuration call for remoting (currently commented)

eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/DeleteHandler.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/DerivedUnitEditorInput.java
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/dataimport/transientServices/TransientCdmRepository.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/key/polytomous/operation/DeleteNodeOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteSynonymOperation.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/DeleteTaxonOperation.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

index 4d8bc1cc8f81f90d87c7f1dd69e22a1ae8fdf9f5..1105555db60adf237d0afa48ff895f51b6ef14d1 100644 (file)
@@ -20,7 +20,6 @@ import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.eclipse.ui.texteditor.IDocumentProvider;
 
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;
 import eu.etaxonomy.cdm.api.service.IGroupService;
 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.api.service.IReferenceService;
@@ -30,6 +29,7 @@ import eu.etaxonomy.cdm.model.common.Group;
 import eu.etaxonomy.cdm.model.common.User;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 import eu.etaxonomy.cdm.strategy.cache.common.IIdentifiableEntityCacheStrategy;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.IEntityPersistenceService;
 import eu.etaxonomy.taxeditor.annotatedlineeditor.LineAnnotation;
@@ -77,8 +77,8 @@ public class DeleteHandler extends AbstractHandler {
                                        LineAnnotation annotation = (LineAnnotation) model.getAnnotation(object);
                                                        
                                        try {
-                                               CdmApplicationController controller;
-                                               controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration();
+                                               ICdmApplicationConfiguration controller;
+                                               controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
                                                //persistenceService.delete(object);
                                                if (object instanceof SpecimenOrObservationBase){
                                                        
index 0fc3a93cb2a289b4129497d9b3ddf6141de8165d..9f227a4f6881b4a59f6af182042d6a84b9c2792e 100644 (file)
@@ -21,6 +21,7 @@ import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IPersistableElement;
 
+import eu.etaxonomy.cdm.api.application.ICdmApplicationDefaultConfiguration;
 import eu.etaxonomy.cdm.ext.biocase.BioCaseQuery;
 import eu.etaxonomy.cdm.ext.biocase.BioCaseQueryServiceWrapper;
 import eu.etaxonomy.cdm.io.common.CdmDefaultImport;
@@ -106,7 +107,8 @@ public class DerivedUnitEditorInput implements IEditorInput {
         try {
             InputStream resultStream = new BioCaseQueryServiceWrapper().query(query);
             Abcd206ImportConfigurator configurator = Abcd206ImportConfigurator.NewInstance(resultStream, null, false);
-            TransientCdmRepository repo = new TransientCdmRepository(CdmStore.getCurrentApplicationConfiguration());
+            TransientCdmRepository repo = 
+                       new TransientCdmRepository((ICdmApplicationDefaultConfiguration)CdmStore.getCurrentApplicationConfiguration());
             configurator.setCdmAppController(repo);
 
             CdmDefaultImport<Abcd206ImportConfigurator> importer = new CdmDefaultImport<Abcd206ImportConfigurator>();
index 48db0a3c9b12978f4242333001db14cedfc86039..36cc5234578d40859de73acbbcb8b04c6a8ea99c 100644 (file)
@@ -17,6 +17,7 @@ import org.springframework.transaction.PlatformTransactionManager;
 import org.springframework.transaction.TransactionStatus;
 
 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationDefaultConfiguration;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IAgentService;
 import eu.etaxonomy.cdm.api.service.IClassificationService;
@@ -52,9 +53,9 @@ import eu.etaxonomy.cdm.persistence.hibernate.permission.ICdmPermissionEvaluator
  * @date 26.09.2013
  *
  */
-public class TransientCdmRepository implements ICdmApplicationConfiguration {
+public class TransientCdmRepository implements ICdmApplicationDefaultConfiguration {
 
-    private ICdmApplicationConfiguration defaultApplicationConfiguration;
+    private ICdmApplicationDefaultConfiguration defaultApplicationConfiguration;
     private TransientOccurenceService occurenceService;
 
     public List<SpecimenOrObservationBase> getUnits(){
@@ -64,7 +65,7 @@ public class TransientCdmRepository implements ICdmApplicationConfiguration {
     /**
      * @param defaultApplicationConfiguration
      */
-    public TransientCdmRepository(ICdmApplicationConfiguration defaultApplicationConfiguration) {
+    public TransientCdmRepository(ICdmApplicationDefaultConfiguration defaultApplicationConfiguration) {
         this.defaultApplicationConfiguration = defaultApplicationConfiguration;
     }
 
index 02097b6f25ee1bc53d71548259f45b7ea9d3bfe6..0845dee945e6fdeaa29ff2007ad05f9ad75bd9bc 100644 (file)
@@ -11,7 +11,7 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.ui.handlers.HandlerUtil;
 
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
 import eu.etaxonomy.cdm.api.service.ITaxonService;
 import eu.etaxonomy.cdm.model.description.PolytomousKeyNode;
@@ -47,9 +47,9 @@ public class DeleteNodeOperation extends AbstractPostTaxonOperation {
                        throws ExecutionException {
                
                //parent.removeChild(node);
-               CdmApplicationController controller;
+               ICdmApplicationConfiguration controller;
                
-               controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration();
+               controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
                
                IPolytomousKeyNodeService service = controller.getPolytomousKeyNodeService();
                if (node.getChildren().size()>0){
index cba17dc0758906191e20b0e8e7736a81bbb05e66..8b5a61b59438153b66c920a1acb7f073d0bf2d21 100644 (file)
@@ -17,7 +17,7 @@ import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 import eu.etaxonomy.cdm.api.service.ITaxonService;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType;
@@ -67,9 +67,9 @@ public class DeleteSynonymOperation extends AbstractPostTaxonOperation {
 
                                // Remove synonym from taxon
 
-                               CdmApplicationController controller;
+                               ICdmApplicationConfiguration controller;
 
-                               controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration();
+                               controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();
 
                                ITaxonService service = controller.getTaxonService();
                                if (synonym.getId() == 0){
index 49f714668504e8c48eadc17c513410b377069871..b7b3b75e2ab893a735828cc783721ff767036d21 100644 (file)
@@ -10,7 +10,7 @@ import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;\r
 import org.eclipse.ui.IWorkbenchPage;\r
 \r
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;\r
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;\r
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;\r
 import eu.etaxonomy.cdm.api.service.ITaxonService;\r
 import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;\r
@@ -61,9 +61,9 @@ public class DeleteTaxonOperation extends DeleteTaxonBaseOperation{
                                bind();\r
 \r
 \r
-                               CdmApplicationController controller;\r
+                               ICdmApplicationConfiguration controller;\r
 \r
-                               controller = (CdmApplicationController) CdmStore.getCurrentApplicationConfiguration();\r
+                               controller = (ICdmApplicationConfiguration) CdmStore.getCurrentApplicationConfiguration();\r
 \r
                                ITaxonService service = controller.getTaxonService();\r
                                try {\r
index 97919a11238cea547e679addb9c63011280adaf2..42f14e5ce1ea0473dbf9b4473d30ce5edec6ed7c 100644 (file)
@@ -24,7 +24,6 @@ import org.springframework.security.authentication.ProviderManager;
 import org.springframework.security.core.context.SecurityContext;
 import org.springframework.security.core.context.SecurityContextHolder;
 
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;
 import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.service.IService;
@@ -186,12 +185,12 @@ public class CdmStore {
                cdmDatasource = null;
        }
 
-       static void setInstance(CdmApplicationController applicationController,
+       static void setInstance(ICdmApplicationConfiguration applicationController,
                        ICdmDataSource dataSource) {
                instance = new CdmStore(applicationController, dataSource);
        }
 
-       private CdmStore(CdmApplicationController applicationController,
+       private CdmStore(ICdmApplicationConfiguration applicationController,
                        ICdmDataSource dataSource) {
                this.applicationConfiguration = applicationController;
                this.cdmDatasource = dataSource;
@@ -218,7 +217,7 @@ public class CdmStore {
         * </p>
         * 
         * @return a
-        *         {@link eu.etaxonomy.cdm.api.application.CdmApplicationController}
+        *         {@link eu.etaxonomy.cdm.remote.api.application.CdmApplicationController}
         *         object.
         */
        public static ICdmApplicationConfiguration getCurrentApplicationConfiguration() {
@@ -337,6 +336,7 @@ public class CdmStore {
        public static boolean currentAuthentiationHasPermission(CdmBase targetDomainObject, EnumSet<CRUD> permission){
                //TODO use getCurrentApplicationConfiguration().currentAuthentiationHasPermission(CdmBase targetDomainObject, Operation permission) instead
                SecurityContext context = SecurityContextHolder.getContext();
+               PermissionEvaluator pe = getPermissionEvaluator();
                return getPermissionEvaluator().hasPermission(context.getAuthentication(), targetDomainObject, permission);
        }
 
index 6eabada4751c750a5f1441ae08a80c1829ed9291..a1a67688d5f9af0409ff57be917fb7f3ec51d1e4 100644 (file)
@@ -20,12 +20,14 @@ import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.swt.widgets.Display;
 import org.springframework.core.io.Resource;
 
-import eu.etaxonomy.cdm.api.application.CdmApplicationController;
+import eu.etaxonomy.cdm.api.application.CdmApplicationDefaultController;
+import eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration;
 import eu.etaxonomy.cdm.database.DatabaseTypeEnum;
 import eu.etaxonomy.cdm.database.DbSchemaValidation;
 import eu.etaxonomy.cdm.database.ICdmDataSource;
 import eu.etaxonomy.cdm.model.metadata.CdmMetaData;
 import eu.etaxonomy.cdm.model.metadata.CdmMetaData.MetaDataPropertyName;
+import eu.etaxonomy.cdm.remote.api.application.CdmApplicationRemoteController;
 import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter;
 import eu.etaxonomy.taxeditor.ui.dialog.LoginDialog;
 import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
@@ -83,16 +85,21 @@ class CdmStoreConnector extends Job {
                        CdmStore.close(monitor);
                }
 
-               CdmApplicationController applicationController = null;
+               ICdmApplicationConfiguration applicationController = null;
 
                if (!monitor.isCanceled()) {
                        CdmProgressMonitorAdapter subprogressMonitor = CdmProgressMonitorAdapter
                                        .CreateSubMonitor(monitor, 7);
                        // This is where we instantiate the application controller
                        try {
-                               applicationController = CdmApplicationController.NewInstance(
-                                               applicationContextBean, dataSource, dbSchemaValidation,
-                                               false, subprogressMonitor);
+                               //FIXME:Remoting change this to toggle remoting
+                               applicationController = 
+                                               CdmApplicationDefaultController.NewInstance(applicationContextBean, 
+                                                               dataSource, 
+                                                               dbSchemaValidation,
+                                                               false, 
+                                                               subprogressMonitor);
+                               //applicationController = CdmApplicationRemoteController.NewInstance();
                        } catch (Exception e) {
                                if(! causeIsCancelationExceptionRecursive(e)){
                                        return new Status(IStatus.ERROR, "Could not connect to CDM Store", "An error occurred while trying to connect to datasource: " + dataSource.getName(), e);