* 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 {
// 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"
//
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"
//
// 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"
//
} 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.