From 6c41d0ed21b21df2a746b7680d140bb72b668aaa Mon Sep 17 00:00:00 2001 From: Richard Millet Date: Thu, 25 Jul 2019 15:15:11 -0700 Subject: [PATCH] DRYD-437: Added support for synchronizing 'deprecated' terms. --- .../AuthorityItemDocumentModelHandler.java | 44 ++++++++++++++++++- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java b/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java index 3963b8ce4..688d0706c 100644 --- a/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java +++ b/services/authority/service/src/main/java/org/collectionspace/services/common/vocabulary/nuxeo/AuthorityItemDocumentModelHandler.java @@ -638,7 +638,8 @@ public abstract class AuthorityItemDocumentModelHandler * 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 getTransitionList(String sasWorkflowState, String localItemWorkflowState) throws DocumentException { @@ -655,6 +656,11 @@ public abstract class AuthorityItemDocumentModelHandler // 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 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 // 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 } 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. -- 2.47.3