--- /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.workflow.hooks;
+
+import java.util.Date;
+
+import java.util.Set;
+
+import org.ow2.bonita.definition.TxHook;
+import org.ow2.bonita.facade.APIAccessor;
+
+import org.ow2.bonita.facade.runtime.ActivityInstance;
+
+import com.pentila.evalcomp.domain.Event;
+import com.pentila.evalcomp.domain.User;
+import com.pentila.evalcomp.domain.instance.ScenarioInstance;
+import com.pentila.evalcomp.manager.Beans;
+import com.pentila.evalcomp.utilities.MessagesI18n;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class Prevenir.
+ */
+public class Prevenir implements TxHook {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.ow2.bonita.definition.TxHook#execute(org.ow2.bonita.facade.APIAccessor
+ * , org.ow2.bonita.facade.runtime.ActivityInstance)
+ */
+ public void execute(APIAccessor arg0, ActivityInstance arg1)
+ throws Exception {
+ arg0.getRuntimeAPI().setProcessInstanceVariable(
+ arg1.getProcessInstanceUUID(), "VARIABLE_isFirstTime", "no");
+
+ String SIID = (String) arg0.getQueryRuntimeAPI()
+ .getProcessInstanceVariable(arg1.getProcessInstanceUUID(),
+ "SIID");
+
+
+
+ try{
+ String evalSubName = "";
+ ScenarioInstance si = Beans.getInstanceManagerBean().getScenarioInstance(new Long(SIID));
+ try {
+ evalSubName = si
+ .getEvaluationSubjectInstance().getName();
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+
+
+ Set<String> evaluateursUids = Beans.getInstanceManagerBean().getUsersForRole(SIID, "Evaluateurs");
+
+ User candidat = Beans.getEntityManagerBean().getCurrentUser();
+
+ Set<User> evaluateurs = Beans.getEntityManagerBean().getUsersByUids(evaluateursUids);
+
+ String namesEval = "";
+ for (User evalUser : evaluateurs){
+ namesEval += evalUser.getLastname() + " " + evalUser.getFirstname() + " ";
+ }
+
+ String message = MessagesI18n.getString("sended_folder");
+
+
+ message = message.replace("{0}", evalSubName);
+
+ message = message.replace("{1}", namesEval);
+
+ String message1 = MessagesI18n.getString("sended_ask");
+
+
+
+ Event event = new Event();
+
+
+ event.setCreationDate(new Date());
+ event.setIssuer(candidat);
+ event.setRecipient(candidat);
+ event.setType(Event.TYPE_INFO);
+ event.setStartDate(new Date());
+ event.setScenarioInstanceAbstract(si);
+ event.setDescription(message + " " + message1);
+
+ Beans.getMessageManager().addEvent(event);
+
+ }catch (Exception e){
+ e.printStackTrace();
+ }
+
+ Beans.getInstanceManagerBean().setAcquitment(SIID, "DEADLINE_associer");
+
+ }
+
+}