use longRunningTasksService for setSecundumReference
authorKatja Luther <k.luther@bgbm.org>
Mon, 7 May 2018 09:32:59 +0000 (11:32 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 7 May 2018 09:38:17 +0000 (11:38 +0200)
eu.etaxonomy.taxeditor.cdmlib/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteConfiguration.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationRemoteController.java
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationState.java
eu.etaxonomy.taxeditor.cdmlib/src/main/resources/eu/etaxonomy/cdm/httpInvokerServiceClients.xml
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/SetSecundumForSubtreeOperation.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/UpdateSubtreeOperation.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/wizard/DatabaseRepairWizard.java

index 9f4f6986e6d8f99eda045d3895415428c957033f..4d2302375d42491e8148a62691558e879b5d5562 100644 (file)
@@ -18,6 +18,7 @@ Export-Package: com.google.api,
  eu.etaxonomy.cdm.api.cache,
  eu.etaxonomy.cdm.api.conversation,
  eu.etaxonomy.cdm.api.facade,
+ eu.etaxonomy.cdm.api.longrunningService,
  eu.etaxonomy.cdm.api.service,
  eu.etaxonomy.cdm.api.service.config,
  eu.etaxonomy.cdm.api.service.description,
index 07dbbf1eaf10cfdfa81adb0e0d21ff640b85900d..e21879cb19b093a46526dd03cc917f19cfa4199d 100644 (file)
@@ -37,6 +37,7 @@ import org.springframework.transaction.TransactionStatus;
 \r
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
 import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock;\r
+import eu.etaxonomy.cdm.api.longrunningService.ILongRunningTasksService;\r
 import eu.etaxonomy.cdm.api.service.IAgentService;\r
 import eu.etaxonomy.cdm.api.service.IAnnotationService;\r
 import eu.etaxonomy.cdm.api.service.IClassificationService;\r
@@ -423,7 +424,7 @@ public class CdmApplicationRemoteConfiguration implements ICdmRepository, Applic
     @Override\r
     public IRegistrationService getRegistrationService() {\r
         return (IRegistrationService) getService(IRegistrationService.class, "/remoting/registration.service", new CdmServiceRequestExecutor());\r
-    \r
+\r
     }\r
 \r
     @Override\r
@@ -497,6 +498,10 @@ public class CdmApplicationRemoteConfiguration implements ICdmRepository, Applic
         return (IIOService) getService(IIOService.class, "/remoting/io.service", new CdmServiceRequestExecutor());\r
     }\r
 \r
+    public ILongRunningTasksService getLongRunningTasksService() {\r
+        return (ILongRunningTasksService) getService(ILongRunningTasksService.class, "/remoting/longrunningtasks.service", new CdmServiceRequestExecutor());\r
+    }\r
+\r
     public ITestService getTestService() {\r
         return (ITestService) getService(ITestService.class, "/remoting/test.service", new CdmServiceRequestExecutor());\r
     }\r
index 9d6bd88ef9e6709863a0dfe16a767e3f4a55a154..56aa1d483460a2c055050e8f8c7998b965033ada 100644 (file)
@@ -19,6 +19,7 @@ import org.springframework.context.ApplicationListener;
 import org.springframework.core.io.ClassPathResource;
 import org.springframework.core.io.Resource;
 
+import eu.etaxonomy.cdm.api.longrunningService.ILongRunningTasksService;
 import eu.etaxonomy.cdm.api.service.ITestService;
 import eu.etaxonomy.cdm.cache.CdmRemoteCacheManager;
 import eu.etaxonomy.cdm.common.monitor.IProgressMonitor;
@@ -181,6 +182,10 @@ public class CdmApplicationRemoteController  extends CdmApplicationController {
         return ((CdmApplicationRemoteConfiguration)configuration).getIOService();
     }
 
+    public ILongRunningTasksService getLongRunningTasksService(){
+        return ((CdmApplicationRemoteConfiguration)configuration).getLongRunningTasksService();
+    }
+
     public ITestService getTestService(){
         return ((CdmApplicationRemoteConfiguration)configuration).getTestService();
     }
index 796727a2c1b049f3d44da581d006ac5cf19d1262..c3e670ad39d924aebdfd75a46d161eebbdaf927e 100644 (file)
@@ -30,6 +30,7 @@ import org.osgi.framework.Constants;
 import org.springframework.security.core.context.SecurityContext;
 
 import eu.etaxonomy.cdm.api.cache.CdmServiceCacher;
+import eu.etaxonomy.cdm.api.longrunningService.ILongRunningTasksService;
 import eu.etaxonomy.cdm.api.service.ICommonService;
 import eu.etaxonomy.cdm.api.service.IService;
 import eu.etaxonomy.cdm.api.service.ITestService;
@@ -206,6 +207,14 @@ public class CdmApplicationState {
 
     }
 
+    public static ILongRunningTasksService getLongRunningTasksService() {
+        ICdmRepository configuration = getCurrentAppConfig();
+
+        return ((CdmApplicationRemoteController)configuration).getLongRunningTasksService();
+
+    }
+
+
 
     public static ITestService getTestService() {
         ICdmRepository configuration = getCurrentAppConfig();
index 1451f372184243e1413cf848d4e15672249d473d..21891b06d2358f611da7fb086f5e94a8e73ef1f7 100644 (file)
       </bean>\r
     </property>\r
   </bean>\r
+  \r
+   <bean id="longRunningTasksService" lazy-init="true"\r
+    class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">\r
+    <property name="serviceUrl">\r
+      <value>http://${remoteServer}:${remotePort}/${remoteContext}/remoting/longrunningtasks.service\r
+      </value>\r
+    </property>\r
+    <property name="serviceInterface">\r
+      <value>eu.etaxonomy.cdm.api.longrunningService.ILongRunningTasksService\r
+      </value>\r
+    </property>\r
+    <property name="httpInvokerRequestExecutor">\r
+      <bean class="eu.etaxonomy.taxeditor.service.CdmAuthenticatedHttpInvokerRequestExecutor">\r
+        <property name="readTimeout" value="0" />\r
+      </bean>\r
+    </property>\r
+  </bean>\r
 \r
   <bean id="testService" lazy-init="true"\r
     class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">\r
index ace8d0bc868d44395a8059d25b82c26d91d3f46a..8119916b396357a6034f3df830267129d357644a 100755 (executable)
@@ -25,10 +25,7 @@ import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.workbench.modeling.EModelService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.progress.IProgressConstants;
 
-import eu.etaxonomy.cdm.api.application.CdmApplicationException;
-import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator;
@@ -63,15 +60,15 @@ public class SetSecundumForSubtreeOperation extends UpdateSubtreeOperation imple
      */
     @Override
     protected UpdateResult doUpdateExecute(IProgressMonitor monitor, IAdaptable info) throws Exception {
-//        runMoniteredOperation();
-
-        Job job = createJob(monitor);
-        // configure the job
-        job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
-        job.setUser(true);
-        // schedule job
-        job.schedule();
-
+       runMoniteredOperation();
+       updateNameEditors();
+//        Job job = createJob(monitor);
+//        // configure the job
+//        job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
+//        job.setUser(true);
+//        // schedule job
+//        job.schedule();
+//
         return updateResult;
 
 
@@ -102,10 +99,10 @@ public class SetSecundumForSubtreeOperation extends UpdateSubtreeOperation imple
 
     public void runMoniteredOperation() {
         ITaxonNodeService nodeService;
-        try {
-            nodeService = CdmApplicationState.getService(ITaxonNodeService.class);
+//        try {
+//            nodeService = CdmApplicationState.getService(ITaxonNodeService.class);
 
-            final UUID uuid = nodeService.monitSetSecundum((SecundumForSubtreeConfigurator)config);
+            final UUID uuid = longRunningTaskService.monitLongRunningTask((SecundumForSubtreeConfigurator)config);
             Display.getDefault().asyncExec(new Runnable() {
             @Override
             public void run() {
@@ -117,10 +114,10 @@ public class SetSecundumForSubtreeOperation extends UpdateSubtreeOperation imple
                         null);
             }
         });
-        } catch (CdmApplicationException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
+//        } catch (CdmApplicationException e) {
+//            // TODO Auto-generated catch block
+//            e.printStackTrace();
+//        }
 
     }
 
index 397c0a9b0c350762da6080faccba554ca7705a69..69e2420568da7060995c3c81df40d3c0c464ecad 100644 (file)
@@ -11,7 +11,9 @@ import org.eclipse.e4.ui.workbench.modeling.EModelService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.swt.widgets.Display;
 
+import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
+import eu.etaxonomy.cdm.api.longrunningService.ILongRunningTasksService;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.config.ForSubtreeConfiguratorBase;
@@ -33,6 +35,8 @@ public abstract class UpdateSubtreeOperation extends RemotingCdmUpdateOperation
 
         TaxonNode subtreeNode;
         ITaxonNodeService taxonNodeService;
+        ILongRunningTasksService longRunningTaskService;
+
         protected EModelService modelService = null;
 
         public UpdateSubtreeOperation(Object source,
@@ -49,8 +53,8 @@ public abstract class UpdateSubtreeOperation extends RemotingCdmUpdateOperation
                this.config = config;
                this.updateResult = new UpdateResult();
                this.modelService = modelService;
-               taxonNodeService = CdmStore.getService(ITaxonNodeService.class);
-               subtreeNode = taxonNodeService.load(config.getSubtreeUuid());
+               longRunningTaskService = CdmApplicationState.getLongRunningTasksService();
+               subtreeNode = CdmStore.getService(ITaxonNodeService.class).load(config.getSubtreeUuid());
            }
          public void updateNameEditors(){
              List<TaxonNode> nodesToUpdate = new ArrayList();
index dc6abd109f2d9fdb6bc8824df5bfc88088c298b0..eed5602aa1a152f6e105e2b4a76a821ae0cb4044 100644 (file)
@@ -12,10 +12,9 @@ import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.wizard.Wizard;
 
 import eu.etaxonomy.cdm.config.ICdmSource;
-import eu.etaxonomy.cdm.io.operation.config.CacheUpdaterConfigurator;
 import eu.etaxonomy.cdm.io.common.IImportConfigurator.CHECK;
+import eu.etaxonomy.cdm.io.operation.config.CacheUpdaterConfigurator;
 import eu.etaxonomy.cdm.io.operation.config.SortIndexUpdaterConfigurator;
-import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
 import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
@@ -56,7 +55,7 @@ public class DatabaseRepairWizard extends Wizard {
                 config = SortIndexUpdaterConfigurator.NewInstance(null);
                 config.setDoFeatureNode(false);
                 config.setDoPolytomousKeyNode(false);
-                
+
 
              }
             if (config.isDoFeatureNode() || config.isDoPolytomousKeyNode() || config.isDoTaxonNode()){