--- /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.domain.instance;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import com.pentila.evalcomp.domain.Event;
+import com.pentila.evalcomp.domain.User;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class ScenarioInstance.
+ */
+public class ScenarioInstance extends ScenarioInstanceAbstract {
+
+ /** The acquitments. */
+ Set<Acquitment> acquitments = new HashSet<Acquitment>();
+
+ /** The delay. */
+ Integer delay = 0;
+
+ /** The evaluation instance. */
+ EvaluationInstance evaluationInstance;
+
+ /** The evaluation subject instance. */
+ EvaluationSubjectInstance evaluationSubjectInstance;
+
+ /** The events. */
+ Set<Event> events = new HashSet<Event>();
+
+ /**
+ * Gets the acquitments.
+ *
+ * @return the acquitments
+ */
+ public Set<Acquitment> getAcquitments() {
+ return acquitments;
+ }
+
+ /**
+ * Gets the creation date.
+ *
+ * @return the creation date
+ */
+
+ /**
+ * Gets the delay.
+ *
+ * @return the delay
+ */
+ public Integer getDelay() {
+ return delay;
+ }
+
+ /**
+ * Gets the evaluation instance.
+ *
+ * @return the evaluation instance
+ */
+ public EvaluationInstance getEvaluationInstance() {
+ return evaluationInstance;
+ }
+
+ /**
+ * Gets the evaluation subject instance.
+ *
+ * @return the evaluation subject instance
+ */
+ public EvaluationSubjectInstance getEvaluationSubjectInstance() {
+ return evaluationSubjectInstance;
+ }
+
+ /**
+ * Gets the events.
+ *
+ * @return the events
+ */
+ public Set<Event> getEvents() {
+ return events;
+ }
+
+ /**
+ * Gets the id.
+ *
+ * @return the id
+ */
+
+ /**
+ * Gets the process instance id.
+ *
+ * @return the process instance id
+ */
+
+ /**
+ * Gets the related users.
+ *
+ * @return the related users
+ */
+ public Set<String> getRelatedUsersUid() {
+
+ return this.getUserForRole(this.getScenarioDefinition().getInitRole(),
+ false);
+
+ }
+
+ /**
+ * Gets the scenario definition.
+ *
+ * @param role
+ * the role
+ *
+ * @return the scenario definition
+ */
+
+ /**
+ * Gets the user definition for role.
+ *
+ * @param role
+ * the role
+ *
+ * @return the user definition for role
+ */
+ public Set<String> getUsersDefinitionForRole(String role) {
+ Set<String> userids = evaluationInstance.getEvaluationDefinition()
+ .getUsersUIDByRole(role);
+
+ return userids;
+ }
+
+ /**
+ * Sets the acquitments.
+ *
+ * @param acquitments
+ * the new acquitments
+ */
+ public void setAcquitments(Set<Acquitment> acquitments) {
+ this.acquitments = acquitments;
+ }
+
+ /**
+ * Sets the creation date.
+ *
+ * @param delay
+ * the delay
+ */
+
+ /**
+ * Sets the delay.
+ *
+ * @param delay
+ * the new delay
+ */
+ public void setDelay(Integer delay) {
+ this.delay = delay;
+ }
+
+ /**
+ * Sets the evaluation instance.
+ *
+ * @param evaluationInstance
+ * the new evaluation instance
+ */
+ public void setEvaluationInstance(EvaluationInstance evaluationInstance) {
+ this.evaluationInstance = evaluationInstance;
+ }
+
+ /**
+ * Sets the evaluation subject instance.
+ *
+ * @param evaluationSubjectInstance
+ * the new evaluation subject instance
+ */
+ public void setEvaluationSubjectInstance(
+ EvaluationSubjectInstance evaluationSubjectInstance) {
+ this.evaluationSubjectInstance = evaluationSubjectInstance;
+ }
+
+ /**
+ * Sets the events.
+ *
+ * @param events
+ * the new events
+ */
+ public void setEvents(Set<Event> events) {
+ this.events = events;
+ }
+
+ /**
+ * Gets the users definition for role and es.
+ *
+ * @param role
+ * the role
+ *
+ * @return the users definition for role and es
+ */
+ public Set<String> getUsersDefinitionForRoleAndES(String role) {
+
+ Set<String> userids = new HashSet<String>();
+
+ Set<User> su = evaluationSubjectInstance.getUsersDefinitionByRole(role);
+ for (User u : su) {
+ userids.add(u.getUid());
+ }
+
+ return userids;
+ }
+}