--- /dev/null
+/*****************************************************************************
+ * Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,
+ * (2 décembre 2008)
+ *
+ * Ce logiciel est un programme informatique servant à l'évaluation des
+ * compétences.
+ *
+ * Ce logiciel est régi par la licence CeCILL soumise au droit français et
+ * respectant les principes de diffusion des logiciels libres. Vous pouvez
+ * utiliser, modifier et/ou redistribuer ce programme sous les conditions
+ * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
+ * sur le site "http://www.cecill.info".
+ *
+ * En contrepartie de l'accessibilité au code source et des droits de copie,
+ * de modification et de redistribution accordés par cette licence, il n'est
+ * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
+ * seule une responsabilité restreinte pèse sur l'auteur du programme, le
+ * titulaire des droits patrimoniaux et les concédants successifs.
+ *
+ * A cet égard l'attention de l'utilisateur est attirée sur les risques
+ * associés au chargement, à l'utilisation, à la modification et/ou au
+ * développement et à la reproduction du logiciel par l'utilisateur étant
+ * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+ * manipuler et qui le réserve donc à des développeurs et des professionnels
+ * avertis possédant des connaissances informatiques approfondies. Les
+ * utilisateurs sont donc invités à charger et tester l'adéquation du
+ * logiciel à leurs besoins dans des conditions permettant d'assurer la
+ * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
+ * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
+ *
+ * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+ * pris connaissance de la licence CeCILL, et que vous en avez accepté les
+ * termes.
+ *******************************************************************************/
+package com.pentila.evalcomp.manager.interfacedef;
+
+import java.util.Map;
+import java.util.Set;
+
+import org.springframework.transaction.annotation.Isolation;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.pentila.evalcomp.domain.definition.Property;
+import com.pentila.evalcomp.domain.transit.Process;
+import com.pentila.evalcomp.domain.transit.TransitProcessDefinition;
+import com.pentila.evalcomp.workflow.BonitaProcessLaunch;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Interface IWorkflow.
+ */
+@Transactional(readOnly = true, propagation = Propagation.REQUIRED, isolation = Isolation.READ_UNCOMMITTED)
+public interface IWorkflowBase {
+
+ /**
+ * Gets the process definition.
+ *
+ * @param UUID
+ * the uUID
+ *
+ * @return the process definition
+ */
+ public TransitProcessDefinition getProcessDefinition(String UUID);
+
+ /**
+ * Gets the process definitions.
+ *
+ * @param filterTypes
+ * the filter types
+ *
+ * @return the process definitions
+ */
+ public Set<TransitProcessDefinition> getProcessDefinitions(
+ Set<String> filterTypes);
+
+ /**
+ * Gets the process definition variable by uuid.
+ *
+ * @param defid
+ * the defid
+ * @param variableName
+ * the variable name
+ *
+ * @return the process definition variable by uuid
+ */
+ public String getProcessDefinitionVariableByUUID(String defid,
+ String variableName);
+
+ /**
+ * Gets the processes.
+ *
+ * @param login
+ * the login
+ *
+ * @return the processes
+ */
+ public Set<Process> getProcesses(String login);
+
+ /**
+ * Gets the role names.
+ *
+ * @param defId
+ * the def id
+ *
+ * @return the role names
+ */
+ public Set<String> getRoleNames(String defId);
+
+ /**
+ * Gets the workflow associed lunched scenario instance ids.
+ *
+ * @param login
+ * the login of the user
+ *
+ * @return the scenario instance ids
+ */
+ public Set<Long> getUserScenarioInstanceIds(String login);
+
+ /**
+ * Instanciate.
+ *
+ * @param login
+ * the login
+ * @param processId
+ * the process id
+ * @param parameters
+ * the parameters
+ *
+ * @return the string
+ */
+ @Transactional(readOnly = false)
+ public String instanciate(String login, String processId, Map parameters);
+
+ /**
+ * Instanciate processes.
+ *
+ * @param sbpl the sbpl
+ * @return the sets the
+ */
+ public Set<BonitaProcessLaunch> instanciateProcesses(
+ Set<BonitaProcessLaunch> sbpl);
+
+ /**
+ * Refresh assignation.
+ *
+ * @param processInstanceId
+ * the process instance id
+ */
+ @Transactional(readOnly = false)
+ public void refreshAssignation(String processInstanceId);
+
+ /**
+ * Removes the process.
+ *
+ * @param processInstanceId
+ * the process instance id
+ */
+ @Transactional(readOnly = false)
+ public void removeProcess(String processInstanceId);
+
+ /**
+ * Run process activity.
+ *
+ * @param login
+ * the login
+ * @param processuuid
+ * the processuuid
+ * @param selectedActivityId
+ * the selected activity id
+ * @param transitionId
+ * the transition id
+ */
+ @Transactional(readOnly = false)
+ public void runProcessActivity(String login, String processuuid,
+ String selectedActivityId, String transitionId);
+
+ /**
+ * Sets the properties.
+ *
+ * @param processuuid the processuuid
+ * @param sp the sp
+ */
+ public void setProperties(String processuuid, Set<Property> sp);
+
+ /*
+ *
+ *
+ *
+ * PART IS JUST HERE FOR BACKWARD COMPATIBILITY
+ */
+
+ /**
+ * Gets the users definition for role.
+ *
+ * @param SIID
+ * the sIID
+ * @param role
+ * the role
+ *
+ * @return the users definition for role
+ */
+ @Deprecated
+ public Set<String> getUsersDefinitionForRole(String SIID, String role);
+
+ /**
+ * Gets the users for role.
+ *
+ * @param SIID
+ * the sIID
+ * @param role
+ * the role
+ *
+ * @return the users for role
+ */
+ @Deprecated
+ public Set<String> getUsersForRole(String SIID, String role);
+
+ /**
+ * Gets the candidates.
+ *
+ * @param processuuid the processuuid
+ * @return the candidates
+ */
+ public Map<String, Map<String, Object>> getCandidates(String processuuid);
+
+ /**
+ * Test coherence.
+ *
+ * @param piuuid the piuuid
+ * @param uids the uids
+ * @param actId the act id
+ * @return true, if successful
+ */
+ public boolean testCoherence(String piuuid, Set<String> uids, String actId);
+
+ /**
+ * Gets the process.
+ *
+ * @param login the login
+ * @param processuuid the processuuid
+ * @return the process
+ */
+ public Process getProcess(String login, String processuuid);
+
+}