--- /dev/null
+/*****************************************************************************\r
+ * Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,\r
+ * (2 décembre 2008)\r
+ * \r
+ * Ce logiciel est un programme informatique servant à l'évaluation des\r
+ * compétences.\r
+ * \r
+ * Ce logiciel est régi par la licence CeCILL soumise au droit français et\r
+ * respectant les principes de diffusion des logiciels libres. Vous pouvez\r
+ * utiliser, modifier et/ou redistribuer ce programme sous les conditions\r
+ * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA\r
+ * sur le site "http://www.cecill.info".\r
+ * \r
+ * En contrepartie de l'accessibilité au code source et des droits de copie,\r
+ * de modification et de redistribution accordés par cette licence, il n'est\r
+ * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,\r
+ * seule une responsabilité restreinte pèse sur l'auteur du programme, le\r
+ * titulaire des droits patrimoniaux et les concédants successifs.\r
+ * \r
+ * A cet égard l'attention de l'utilisateur est attirée sur les risques\r
+ * associés au chargement, à l'utilisation, à la modification et/ou au\r
+ * développement et à la reproduction du logiciel par l'utilisateur étant\r
+ * donné sa spécificité de logiciel libre, qui peut le rendre complexe à\r
+ * manipuler et qui le réserve donc à des développeurs et des professionnels\r
+ * avertis possédant des connaissances informatiques approfondies. Les\r
+ * utilisateurs sont donc invités à charger et tester l'adéquation du\r
+ * logiciel à leurs besoins dans des conditions permettant d'assurer la\r
+ * sécurité de leurs systèmes et ou de leurs données et, plus généralement,\r
+ * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.\r
+ * \r
+ * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez\r
+ * pris connaissance de la licence CeCILL, et que vous en avez accepté les\r
+ * termes.\r
+ *******************************************************************************/\r
+package com.pentila.evalcomp.service;\r
+\r
+import java.io.ByteArrayInputStream;\r
+import java.io.UnsupportedEncodingException;\r
+import java.text.SimpleDateFormat;\r
+import java.util.Date;\r
+import java.util.Map;\r
+import java.util.Map.Entry;\r
+import java.util.Set;\r
+\r
+import com.pentila.evalcomp.domain.Entity;\r
+import com.pentila.evalcomp.domain.User;\r
+import com.pentila.evalcomp.domain.certification.MethodCertInstance;\r
+import com.pentila.evalcomp.domain.certification.ScenarioDefCert;\r
+import com.pentila.evalcomp.domain.definition.EvaluationObject;\r
+import com.pentila.evalcomp.domain.definition.MethodEval;\r
+import com.pentila.evalcomp.domain.definition.MethodValidation;\r
+import com.pentila.evalcomp.domain.definition.MethodValidationInstance;\r
+import com.pentila.evalcomp.domain.definition.ScenarioDefinitionValidation;\r
+import com.pentila.evalcomp.domain.plan.Plan;\r
+import com.pentila.evalcomp.domain.plan.PlanComponent;\r
+import com.pentila.evalcomp.domain.plan.PlanRef;\r
+import com.pentila.evalcomp.domain.plan.ScenarioDefinitionPlan;\r
+import com.pentila.evalcomp.domain.transit.TCompositeDataMap;\r
+import com.pentila.evalcomp.domain.transit.TCompositeStat;\r
+import com.pentila.evalcomp.manager.interfacedef.IEntityBase;\r
+import com.pentila.evalcomp.manager.interfacedef.IPlanBase;\r
+import com.pentila.evalcomp.manager.interfacedef.IRessourceBase;\r
+import com.pentila.evalcomp.manager.interfacedef.IStatisticBase;\r
+import com.pentila.evalcomp.service.interfacedef.IPlan;\r
+import com.pentila.evalcomp.utilities.MessagesI18n;\r
+\r
+// TODO: Auto-generated Javadoc\r
+/**\r
+ * The Class PlanService.\r
+ */\r
+public class PlanService implements IPlan {\r
+\r
+ /** The proxy manager. */\r
+ IPlanBase proxyManager;\r
+\r
+ /** The proxy statistic. */\r
+ IStatisticBase proxyStatistic;\r
+\r
+ /** The proxy ressource. */\r
+ IRessourceBase proxyRessource;\r
+\r
+ /** The proxy entity. */\r
+ IEntityBase proxyEntity;\r
+\r
+\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#addEntitiesToPlanComponent\r
+ * (java.lang.Long, java.util.Set, java.lang.String)\r
+ */\r
+ public Set<Entity> addEntitiesToPlanComponent(Long planComponentId,\r
+ Set<Entity> entities, String role) {\r
+\r
+ return proxyManager.addEntitiesToPlanComponent(planComponentId,\r
+ entities, role);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#addMethodEvalsToPlan(\r
+ * java.lang.Long, java.util.Set)\r
+ */\r
+ public Set<MethodEval> addMethodEvalsToPlan(Long planId, Set<MethodEval> sme) {\r
+\r
+ return proxyManager.addMethodEvalsToPlan(planId, sme);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#addPlan(com.pentila.evalcomp\r
+ * .domain.plan.Plan)\r
+ */\r
+ public Plan addPlan(Plan plan) {\r
+\r
+ return proxyManager.addPlan(plan);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#addPlanRefToPlan(java\r
+ * .lang.Long, com.pentila.evalcomp.domain.plan.PlanRef)\r
+ */\r
+ public PlanRef addPlanRefToPlan(Long planId, PlanRef pr) {\r
+\r
+ return proxyManager.addPlanRefToPlan(planId, pr);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @seecom.pentila.evalcomp.service.interfacedef.IPlan#\r
+ * addScenarioDefinitionPlansToPlan(java.lang.Long, java.util.Set)\r
+ */\r
+ public Set<ScenarioDefinitionPlan> addScenarioDefinitionPlansToPlan(\r
+ Long planId, Set<ScenarioDefinitionPlan> ssdp) {\r
+\r
+ return proxyManager.addScenarioDefinitionPlansToPlan(planId, ssdp);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#deletePlans(java.util\r
+ * .Set)\r
+ */\r
+ public Set<Long> deletePlans(Set<Long> planIds) {\r
+\r
+ return proxyManager.deletePlans(planIds);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#editEntityEOTable(java\r
+ * .lang.Long, java.lang.String, java.util.Map)\r
+ */\r
+ public PlanComponent editEntityEOTable(Long planComponentId, String role,\r
+ Map<Long, Map<Long, Boolean>> table) {\r
+\r
+ // First edit infos\r
+ proxyManager.editEntityEOTable(planComponentId, role, table);\r
+\r
+ // then return the result of editing (Transaction commit consideration)\r
+ return proxyManager.getPlanComponent(planComponentId);\r
+\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#editPlan(com.pentila.\r
+ * evalcomp.domain.plan.Plan)\r
+ */\r
+ public Plan editPlan(Plan plan) {\r
+\r
+ return proxyManager.editPlan(plan);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#editPlanRef(com.pentila\r
+ * .evalcomp.domain.plan.PlanRef)\r
+ */\r
+ public PlanRef editPlanRef(PlanRef planref) {\r
+\r
+ return proxyManager.editPlanRef(planref);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see com.pentila.evalcomp.service.interfacedef.IPlan#getAllPlans()\r
+ */\r
+ public Set<Plan> getAllPlans() {\r
+\r
+ return proxyManager.getAllPlans();\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#getPlan(java.lang.Long)\r
+ */\r
+ public Plan getPlan(Long planId) {\r
+\r
+ return proxyManager.getPlan(planId);\r
+ }\r
+\r
+ /**\r
+ * Gets the proxy manager.\r
+ * \r
+ * @return the proxy manager\r
+ */\r
+ public IPlanBase getProxyManager() {\r
+ return proxyManager;\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#getUserPlans(java.lang\r
+ * .String, java.lang.String)\r
+ */\r
+ public Set<Plan> getUserPlans(String login, String role) {\r
+\r
+ return proxyManager.getUserPlans(login, role);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @seecom.pentila.evalcomp.service.interfacedef.IPlan#\r
+ * removeEntitiesFromPlanComponent(java.lang.Long, java.util.Set,\r
+ * java.lang.String)\r
+ */\r
+ public Set<Long> removeEntitiesFromPlanComponent(Long planComponentId,\r
+ Set<Entity> entities, String role) {\r
+\r
+ return proxyManager.removeEntitiesFromPlanComponent(planComponentId,\r
+ entities, role);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#removeEOFromEntity(java\r
+ * .lang.Long, com.pentila.evalcomp.domain.Entity,\r
+ * com.pentila.evalcomp.domain.definition.EvaluationObject,\r
+ * java.lang.String)\r
+ */\r
+ public Entity removeEOFromEntity(Long planComponentId, Entity entity,\r
+ EvaluationObject eo, String role) {\r
+ return proxyManager.removeEOFromEntity(planComponentId, entity, eo,\r
+ role);\r
+\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#removeMethodEvalsFromPlan\r
+ * (java.lang.Long, java.util.Set)\r
+ */\r
+ public Set<Long> removeMethodEvalsFromPlan(Long planId, Set<MethodEval> sme) {\r
+\r
+ return proxyManager.removeMethodEvalsFromPlan(planId, sme);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#removePlanRef(java.lang\r
+ * .Long)\r
+ */\r
+ public Long removePlanRef(Long planRefId) {\r
+\r
+ return proxyManager.removePlanRef(planRefId);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#removeScenarioDefinitionPlans\r
+ * (java.util.Set)\r
+ */\r
+ public Set<Long> removeScenarioDefinitionPlans(\r
+ Set<ScenarioDefinitionPlan> sspd) {\r
+\r
+ return proxyManager.removeScenarioDefinitionPlans(sspd);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#setEOToEntity(java.lang\r
+ * .Long, com.pentila.evalcomp.domain.Entity,\r
+ * com.pentila.evalcomp.domain.definition.EvaluationObject,\r
+ * java.lang.String)\r
+ */\r
+ public Entity setEOToEntity(Long planComponentId, Entity entity,\r
+ EvaluationObject eo, String role) {\r
+\r
+ return proxyManager.setEOToEntity(planComponentId, entity, eo, role);\r
+ }\r
+\r
+ /**\r
+ * Sets the proxy manager.\r
+ * \r
+ * @param proxyManager\r
+ * the new proxy manager\r
+ */\r
+ public void setProxyManager(IPlanBase proxyManager) {\r
+ this.proxyManager = proxyManager;\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @seecom.pentila.evalcomp.service.interfacedef.IPlan#\r
+ * addMethodValidationToPlanComponent(java.lang.Long, java.lang.Long)\r
+ */\r
+ public MethodValidationInstance addMethodValidationToPlanComponent(\r
+ Long planComponentId, Long mvid) {\r
+ return proxyManager.addMethodValidationToPlanComponent(planComponentId,\r
+ mvid);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @seecom.pentila.evalcomp.service.interfacedef.IPlan#\r
+ * addScenarioValidationToPlanComponent(java.lang.Long,\r
+ * com.pentila.evalcomp.domain.definition.ScenarioDefinitionValidation)\r
+ */\r
+ public ScenarioDefinitionValidation addScenarioValidationToPlanComponent(\r
+ Long planComponentId, ScenarioDefinitionValidation sdv) {\r
+\r
+ return proxyManager.addScenarioValidationToPlanComponent(\r
+ planComponentId, sdv);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#editMethodValidationPlan\r
+ * (com.pentila.evalcomp.domain.definition.MethodValidationInstance)\r
+ */\r
+ public MethodValidationInstance editMethodValidationPlan(\r
+ MethodValidationInstance mvi) {\r
+\r
+ return proxyManager.editMethodValidationPlan(mvi);\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @seecom.pentila.evalcomp.service.interfacedef.IPlan#\r
+ * removeMethodValidationFromPlanComponent(java.lang.Long, java.lang.Long)\r
+ */\r
+ public void removeMethodValidationFromPlanComponent(Long planComponentId,\r
+ Long mvid) {\r
+ proxyManager.removeMethodValidationFromPlanComponent(planComponentId,\r
+ mvid);\r
+\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @seecom.pentila.evalcomp.service.interfacedef.IPlan#\r
+ * removeScenarioValidationFromPlanComponent(java.lang.Long, java.lang.Long)\r
+ */\r
+ public void removeScenarioValidationFromPlanComponent(Long planComponentId,\r
+ Long svid) {\r
+ proxyManager.removeScenarioValidationFromPlanComponent(planComponentId,\r
+ svid);\r
+\r
+ }\r
+\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
+ * @see\r
+ * com.pentila.evalcomp.service.interfacedef.IPlan#getMethodValidations()\r
+ */\r
+ public Set<MethodValidation> getMethodValidations() {\r
+ return proxyManager.getMethodValidations();\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see com.pentila.evalcomp.service.interfacedef.IPlan#getPlanAssoEvalTable(java.lang.Long)\r
+ */\r
+ public TCompositeDataMap getPlanAssoEvalTable(Long planRefId) {\r
+ return proxyManager.getPlanAssoEvalTable(planRefId);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see com.pentila.evalcomp.service.interfacedef.IPlan#getPlanStatistics(java.lang.Long, java.util.Set)\r
+ */\r
+ public TCompositeStat getPlanStatistics(Long idPlan, Set<Long> idEDs, Boolean save) {\r
+\r
+\r
+ TCompositeStat tcs = new TCompositeStat();\r
+\r
+ Map<Integer, Integer> mOne = proxyStatistic.getStatOne(idEDs);\r
+ Map<Integer, Integer> mTwo = proxyStatistic.getStatTwo(idEDs);\r
+ Map<Integer, Integer> mThree = proxyStatistic.getStatThree(idEDs);\r
+ Map<Integer, Integer> mFour = proxyStatistic.getStatFour(idEDs);\r
+\r
+ tcs.getMap().put("stat_Eval_Cand", mOne);\r
+ tcs.getMap().put("stat_Eval_Doss", mTwo);\r
+ tcs.getMap().put("stat_Eval_Comp", mThree);\r
+ tcs.getMap().put("stat_Cand_Doss", mFour);\r
+\r
+ if (save){\r
+\r
+ User u = proxyEntity.getCurrentUser();\r
+ String defaultPluginName = proxyRessource.getDefaultPluginName();\r
+\r
+ String login = u.getUid();\r
+\r
+ Plan plan = proxyManager.getPlan(idPlan);\r
+ SimpleDateFormat f = new SimpleDateFormat("ddMMyyyy-HHmmss");\r
+\r
+ Date d = new Date();\r
+\r
+ String folderName = f.format(d);\r
+ String path = "/" + login + "/" + MessagesI18n.getString("Statistiques") + "/" + plan.getName() + "/" + folderName + "/";\r
+\r
+ ByteArrayInputStream fileItem;\r
+\r
+ String csv = "";\r
+ String ee = "";\r
+ csv = MessagesI18n.getString("stat_Eval_Cand_title_csv")+"\n";\r
+\r
+ ee += csv;\r
+ for (Entry<Integer, Integer> i : mOne.entrySet()){\r
+\r
+ csv += String.format("%d,%d\n", i.getValue(), i.getKey());\r
+ ee = ee + String.format("%d evaluateurs evaluent %d candidats\n", i.getValue(), i.getKey());\r
+ }\r
+\r
+ try {\r
+ fileItem = new ByteArrayInputStream(csv.getBytes("UTF-8"));\r
+ proxyRessource.addRessourceItem(login, "evaluateurs-candidats.csv", fileItem, path, defaultPluginName);\r
+ } catch (UnsupportedEncodingException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ csv = MessagesI18n.getString("stat_Eval_Doss_title_csv")+"\n";\r
+ ee += csv;\r
+ for (Entry<Integer, Integer> i : mTwo.entrySet()){\r
+\r
+ csv += String.format("%d,%d\n", i.getValue(), i.getKey());\r
+ ee = ee + String.format("%d evaluateurs evaluent %d dossiers\n", i.getValue(), i.getKey());\r
+ }\r
+ try {\r
+ fileItem = new ByteArrayInputStream(csv.getBytes("UTF-8"));\r
+ proxyRessource.addRessourceItem(login, "evaluateurs-dossiers.csv", fileItem, path, defaultPluginName);\r
+ } catch (UnsupportedEncodingException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ csv = MessagesI18n.getString("stat_Eval_Comp_title_csv")+"\n";\r
+ ee += csv;\r
+ for (Entry<Integer, Integer> i : mThree.entrySet()){\r
+\r
+ csv += String.format("%d,%d\n", i.getValue(), i.getKey());\r
+ ee = ee + String.format("%d evaluateurs evaluent %d competences\n", i.getValue(), i.getKey());\r
+ }\r
+ try {\r
+ fileItem = new ByteArrayInputStream(csv.getBytes("UTF-8"));\r
+ proxyRessource.addRessourceItem(login, "evaluateurs-competences.csv", fileItem, path, defaultPluginName);\r
+ } catch (UnsupportedEncodingException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ csv = MessagesI18n.getString("stat_Cand_Doss_title_csv")+ "\n";\r
+ ee += csv;\r
+ for (Entry<Integer, Integer> i : mFour.entrySet()){\r
+\r
+ csv += String.format("%d,%d\n", i.getValue(), i.getKey());\r
+ ee =ee + String.format("%d candidats ont crée %d dossiers différents\n", i.getValue(), i.getKey());\r
+ }\r
+ try {\r
+ fileItem = new ByteArrayInputStream(csv.getBytes("UTF-8"));\r
+ proxyRessource.addRessourceItem(login, "candidats-dossiers.csv", fileItem, path, defaultPluginName);\r
+ } catch (UnsupportedEncodingException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ try {\r
+ fileItem = new ByteArrayInputStream(ee.getBytes("UTF-8"));\r
+ proxyRessource.addRessourceItem(login, "synthese.txt", fileItem, path, defaultPluginName);\r
+ } catch (UnsupportedEncodingException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+\r
+ tcs.setPath(path);\r
+ }\r
+ return tcs;\r
+ }\r
+\r
+ /**\r
+ * Gets the proxy statistic.\r
+ *\r
+ * @return the proxy statistic\r
+ */\r
+ public IStatisticBase getProxyStatistic() {\r
+ return proxyStatistic;\r
+ }\r
+\r
+ /**\r
+ * Sets the proxy statistic.\r
+ *\r
+ * @param proxyStatistic the new proxy statistic\r
+ */\r
+ public void setProxyStatistic(IStatisticBase proxyStatistic) {\r
+ this.proxyStatistic = proxyStatistic;\r
+ }\r
+\r
+ /**\r
+ * Gets the proxy ressource.\r
+ *\r
+ * @return the proxy ressource\r
+ */\r
+ public IRessourceBase getProxyRessource() {\r
+ return proxyRessource;\r
+ }\r
+\r
+ /**\r
+ * Sets the proxy ressource.\r
+ *\r
+ * @param proxyRessource the new proxy ressource\r
+ */\r
+ public void setProxyRessource(IRessourceBase proxyRessource) {\r
+ this.proxyRessource = proxyRessource;\r
+ }\r
+\r
+ /**\r
+ * Gets the proxy entity.\r
+ *\r
+ * @return the proxy entity\r
+ */\r
+ public IEntityBase getProxyEntity() {\r
+ return proxyEntity;\r
+ }\r
+\r
+ /**\r
+ * Sets the proxy entity.\r
+ *\r
+ * @param proxyEntity the new proxy entity\r
+ */\r
+ public void setProxyEntity(IEntityBase proxyEntity) {\r
+ this.proxyEntity = proxyEntity;\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see com.pentila.evalcomp.service.interfacedef.IPlan#addScenarioCertToPlanComponent(java.lang.Long, com.pentila.evalcomp.domain.certification.ScenarioDefCert)\r
+ */\r
+ public ScenarioDefCert addScenarioCertToPlanComponent(Long planComponentId,\r
+ ScenarioDefCert sdc) {\r
+ return proxyManager.addScenarioCertToPlanComponent(\r
+ planComponentId, sdc);\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see com.pentila.evalcomp.service.interfacedef.IPlan#editMethodCertPlan(com.pentila.evalcomp.domain.certification.MethodCertInstance)\r
+ */\r
+ public void editMethodCertPlan(MethodCertInstance mci) {\r
+ proxyManager.editMethodCertPlan(mci);\r
+\r
+ }\r
+\r
+ /* (non-Javadoc)\r
+ * @see com.pentila.evalcomp.service.interfacedef.IPlan#addMethodCertToPlanComponent(java.lang.Long, java.lang.Long)\r
+ */\r
+ public MethodCertInstance addMethodCertToPlanComponent(Long planRefId,\r
+ Long methodCertId) {\r
+\r
+ return proxyManager.addMethodCertToPlanComponent(planRefId, methodCertId);\r
+ }\r
+}\r