]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
DRYD-437: Added support for synchronizing 'deprecated' terms.
authorRichard Millet <remillet@gmail.com>
Thu, 25 Jul 2019 22:15:11 +0000 (15:15 -0700)
committerRichard Millet <remillet@gmail.com>
Fri, 26 Jul 2019 18:06:23 +0000 (11:06 -0700)
services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java

index 3963b8ce4d49abe6734bfe346facfed3e83ad998..688d0706c9eacb61e287e4af319203ad2bfc2f66 100644 (file)
@@ -638,7 +638,8 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
      * state.  This might involve making multiple transitions.
      * 
      * WIKI:
-     *     See table at https://wiki.collectionspace.org/pages/viewpage.action?pageId=162496564
+     *     See table at https://collectionspace.atlassian.net/wiki/spaces/SDR/pages/665886940/Workflow+transitions+to+map+SAS+item+states+to+Local+item+states
+     *     (was https://wiki.collectionspace.org/pages/viewpage.action?pageId=162496564)
      * 
      */
     private List<String> getTransitionList(String sasWorkflowState, String localItemWorkflowState) throws DocumentException {
@@ -655,6 +656,11 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
             // Do nothing.  We're good with this state
         } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_PROJECT) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED)) {
             result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_PROJECT) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_PROJECT) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
         //
         // The second set of conditions maps a replication-server "deleted" state to a local client state of "deleted"
         //
@@ -667,6 +673,11 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
             result.add(WorkflowClient.WORKFLOWTRANSITION_DELETE);
         } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED)) {
             // Do nothing.  We're good with this state
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_DELETE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
         //
         // The third set of conditions maps a replication-server "replicated" state to a local state of "replicated"
         //
@@ -679,6 +690,30 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
             // Do nothing.  We're good with this state
         } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED)) {
             result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
+        //
+        // The fourth set of conditions maps a replicatation-server "deprecated" state to a local state of "replicated_deprecated"
+        //
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DEPRECATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_PROJECT)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_REPLICATE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_DEPRECATE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DEPRECATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_REPLICATE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_DEPRECATE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DEPRECATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_DEPRECATE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DEPRECATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_DEPRECATE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DEPRECATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED)) {
+            // Do nothing.
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_DEPRECATED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDELETE);
         //
         // The last set of conditions maps a replication-server "replicated_deleted" state to a local client state of "deleted"
         //
@@ -690,7 +725,12 @@ public abstract class AuthorityItemDocumentModelHandler<AICommon>
         } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED)) {
             result.add(WorkflowClient.WORKFLOWTRANSITION_DELETE);
         } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED)) {
-            // Do nothing.  We're good with this state            
+            // Do nothing.  We're good with this state
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
+            result.add(WorkflowClient.WORKFLOWTRANSITION_DELETE);
+        } else if (sasWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DELETED) && localItemWorkflowState.equals(WorkflowClient.WORKFLOWSTATE_REPLICATED_DEPRECATED_DELETED)) {
+            result.add(WorkflowClient.WORKFLOWTRANSITION_UNDEPRECATE);
         } else {
             //
             // If we get here, we've encountered a SAS workflow state that we don't recognize.