diff options
author | donald.g.dunne | 2014-02-24 22:42:21 +0000 |
---|---|---|
committer | Ryan D. Brooks | 2014-02-24 22:42:21 +0000 |
commit | 46e5c89158e071450f71056c126dda029ccb5b97 (patch) | |
tree | af1d0236c8ac63d2207848f2367ca7d4f01d612f /plugins/org.eclipse.osee.ats.api | |
parent | 5e661d684c728d2568df37e4e97fd8a627337d4d (diff) | |
download | org.eclipse.osee-46e5c89158e071450f71056c126dda029ccb5b97.tar.gz org.eclipse.osee-46e5c89158e071450f71056c126dda029ccb5b97.tar.xz org.eclipse.osee-46e5c89158e071450f71056c126dda029ccb5b97.zip |
feature[ats_4SCN5]: Convert TransitionManager to inject services
Change-Id: I7ac65a42d204b994a8d72eb8087d1d4d6177cb4e
Diffstat (limited to 'plugins/org.eclipse.osee.ats.api')
-rw-r--r-- | plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workflow/transition/IAtsTransitionManager.java | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workflow/transition/IAtsTransitionManager.java b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workflow/transition/IAtsTransitionManager.java new file mode 100644 index 00000000000..f4027e0bf37 --- /dev/null +++ b/plugins/org.eclipse.osee.ats.api/src/org/eclipse/osee/ats/api/workflow/transition/IAtsTransitionManager.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2013 Boeing. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Boeing - initial API and implementation + *******************************************************************************/ +package org.eclipse.osee.ats.api.workflow.transition; + +import java.util.Date; +import java.util.List; +import org.eclipse.osee.ats.api.IAtsWorkItem; +import org.eclipse.osee.ats.api.user.IAtsUser; +import org.eclipse.osee.ats.api.workdef.IAtsStateDefinition; +import org.eclipse.osee.framework.jdk.core.type.OseeCoreException; + +/** + * @author Donald G. Dunne + */ +public interface IAtsTransitionManager { + + public abstract TransitionResults handleAll(); + + /** + * Validate AbstractWorkflowArtifact for transition including checking widget validation, rules, assignment, etc. + * + * @return Result.isFalse if failure + */ + public abstract void handleTransitionValidation(TransitionResults results); + + public abstract void isTransitionValidForExtensions(TransitionResults results, IAtsWorkItem workItem, IAtsStateDefinition fromStateDef, IAtsStateDefinition toStateDef); + + /** + * Request extra information if transition requires hours spent prompt, cancellation reason, etc. + * + * @return Result.isFalse if failure or Result.isCancelled if canceled + */ + public abstract void handleTransitionUi(TransitionResults results); + + /** + * Process transition and persist changes to given skynet transaction + * + * @return Result.isFalse if failure + */ + public abstract void handleTransition(TransitionResults results); + + /** + * Allow transition date to be used in log to be overridden for importing Actions from other systems and other + * programatic transitions. + */ + public abstract IAtsUser getTransitionAsUser() throws OseeCoreException; + + /** + * Allow transition date to be used in log to be overridden for importing Actions from other systems and other + * programatic transitions. + */ + public abstract Date getTransitionOnDate(); + + public abstract void setTransitionOnDate(Date transitionOnDate); + + /** + * Get transition to assignees. Verify that UnAssigned is not selected with another assignee. Ensure an assignee is + * entered, else use current user or UnAssigneed if current user is SystemUser. + */ + public abstract List<? extends IAtsUser> getToAssignees(IAtsWorkItem workItem, IAtsStateDefinition toState) throws OseeCoreException; + + public abstract TransitionResults handleAllAndPersist(); + +}
\ No newline at end of file |