String evalIdLayer = line[2];
CompetenceInstance CI = competenceInstanceDAO.get(new Long(ciIdLayer));
+
+ if (CI == null){
+ return false;
+ }
+
Level level = methodEvalManager.getLevel(new Long(levelIdLayer));
+ if (level == null){
+ return false;
+ }
+
User user = entityManager.getUser(new Long(evalIdLayer));
+ if (user == null){
+ return false;
+ }
+
+
+
CI.setLastModified(new Date());
CI.setLevel(level);
CI.setEvaluateur(user);
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
+import com.pentila.evalcomp.domain.User;
import com.pentila.evalcomp.domain.definition.EvaluationDefinition;
+import com.pentila.evalcomp.domain.transit.TCompositeDataMap;
import com.pentila.evalcomp.manager.Beans;
import com.pentila.evalcomp.manager.interfacedef.IDefinitionBase;
+import com.pentila.evalcomp.manager.interfacedef.IEvaluationSubjectInstanceBase;
import com.pentila.evalcomp.service.ws.dto.EvaluationDefinitionDTO;
@Controller
//@RequestMapping("/ed")
-public class EvaluationDefinitionServiceController {
+
+public class EvaluationDefinitionServiceController {
@Autowired
@Qualifier("definitionManager")
IDefinitionBase definitionManager;
+ /* (non-Javadoc)
+ * @see com.pentila.evalcomp.service.ws.Echo#getEvaluationDefinitions()
+ */
+
@RequestMapping(value = "/evaluationdefinitions/")
public ModelAndView getEvaluationDefinitions() {
Set<EvaluationDefinition> sed = definitionManager.getEvaluationDefinitions();
for (EvaluationDefinition ed : sed){
- EvaluationDefinitionDTO destObject = mapper.map(ed, EvaluationDefinitionDTO.class);
+ EvaluationDefinitionDTO destObject = mapper.map(ed, EvaluationDefinitionDTO.class, "pojo");
sedDTO.add(destObject);
}
}
- @RequestMapping(method=RequestMethod.GET, value = "/getListCampagns/")
+ /* (non-Javadoc)
+ * @see com.pentila.evalcomp.service.ws.Echo#getEvaluationDefinitions(java.lang.String)
+ */
+
+ @RequestMapping(method=RequestMethod.GET, value = "/getEvaluationList/")
public ModelAndView getEvaluationDefinitions(@RequestParam("id_user") String login) {
Mapper mapper = (Mapper)Beans.getApplicationContext().getBean("dozerMapper");
Set<EvaluationDefinitionDTO> sedDTO = new HashSet<EvaluationDefinitionDTO>();
- Set<EvaluationDefinition> sed = definitionManager.getOwnedEvaluationDefinitions(login);
+
+ // Cherche les campagnes dans les quelles le user 'login' est participant.
+ Set<EvaluationDefinition> sed = definitionManager.getEvaluationDefinitions(login);
for (EvaluationDefinition ed : sed){
- EvaluationDefinitionDTO destObject = mapper.map(ed, EvaluationDefinitionDTO.class);
+
+ // Map les objets sans leurs objects associƩs
+ EvaluationDefinitionDTO destObject = mapper.map(ed, EvaluationDefinitionDTO.class, "pojo");
sedDTO.add(destObject);
}
- ModelAndView mav = new ModelAndView("wsXmlView", BindingResult.MODEL_KEY_PREFIX + "getListCampagns", sedDTO);
+ ModelAndView mav = new ModelAndView("wsXmlView", BindingResult.MODEL_KEY_PREFIX + "getEvaluationList", sedDTO);
return mav;
}
+
+
+ /* (non-Javadoc)
+ * @see com.pentila.evalcomp.service.ws.Echo#getEvaluationDefinition(java.lang.Long)
+ */
+
+ @RequestMapping(method=RequestMethod.GET, value="/getEvaluationDefinition/")
+ public ModelAndView getEvaluationDefinition(@RequestParam("id") Long id){
+
+ Mapper mapper = (Mapper)Beans.getApplicationContext().getBean("dozerMapper");
+
+ EvaluationDefinition ed = definitionManager.getEvaluationDefinition(id);
+
+ // Utilise le mapping dozer 'associate' pour charger les objets associƩs.
+ EvaluationDefinitionDTO destObject = mapper.map(ed, EvaluationDefinitionDTO.class, "associate");
+
+ ModelAndView mav = new ModelAndView("wsXmlView", BindingResult.MODEL_KEY_PREFIX + "getEvaluationDefinition", destObject);
+ return mav;
+ }
+
+ @RequestMapping(method=RequestMethod.GET, value="/putEvaluationResult/")
+ public ModelAndView putEvaluationResult(@RequestParam("competenceInstanceId") Long competenceInstanceId, @RequestParam("levelId") Long levelId){
+
+ Boolean result = false;
+
+ try{
+
+ IEvaluationSubjectInstanceBase esiManager = (IEvaluationSubjectInstanceBase)Beans.getApplicationContext().getBean("evaluationSubjectInstanceManager");
+
+ TCompositeDataMap T = new TCompositeDataMap();
+
+
+ User evaluateur = Beans.getEntityManagerBean().getCurrentUser();
+
+
+ String[] line = new String[]{ competenceInstanceId.toString(), levelId.toString(), evaluateur.getId().toString()};
+
+
+ String[][] map = new String[1][];
+ map[0] = line;
+
+ T.setDataMap(map);
+
+
+ result = esiManager.setCompetenceInstances(T);
+
+ }catch (Exception e){
+
+ }
+
+
+
+ ModelAndView mav = new ModelAndView("wsXmlView", BindingResult.MODEL_KEY_PREFIX + "putEvaluationResult", result);
+ return mav;
+ }
}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+@XStreamAlias("competence")
+public class CompetenceDTO {
+
+ Long id;
+
+ String name;
+
+ String description;
+
+ Long idRef;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Long getIdRef() {
+ return idRef;
+ }
+
+ public void setIdRef(Long idRef) {
+ this.idRef = idRef;
+ }
+
+
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import java.util.Date;
+
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+
+@XStreamAlias("competenceinstance")
+public class CompetenceInstanceDTO {
+
+ Long id;
+
+ CompetenceDTO competence;
+
+ UserDTO owner;
+
+ Date lastModified;
+
+ /** The level. */
+ LevelDTO level;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public CompetenceDTO getCompetence() {
+ return competence;
+ }
+
+ public void setCompetence(CompetenceDTO competence) {
+ this.competence = competence;
+ }
+
+ public UserDTO getOwner() {
+ return owner;
+ }
+
+ public void setOwner(UserDTO owner) {
+ this.owner = owner;
+ }
+
+ public Date getLastModified() {
+ return lastModified;
+ }
+
+ public void setLastModified(Date lastModified) {
+ this.lastModified = lastModified;
+ }
+
+ public LevelDTO getLevel() {
+ return level;
+ }
+
+ public void setLevel(LevelDTO level) {
+ this.level = level;
+ }
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import java.util.Set;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+@XStreamAlias("entitydefinition")
+public class EntityDefinitionDTO {
+
+ Long id;
+
+ String name;
+
+ Set<UserDTO> users;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Set<UserDTO> getUsers() {
+ return users;
+ }
+
+ public void setUsers(Set<UserDTO> users) {
+ this.users = users;
+ }
+
+
+}
package com.pentila.evalcomp.service.ws.dto;
import java.util.Date;
+import java.util.Set;
import com.thoughtworks.xstream.annotations.XStreamAlias;
Date notifyDate;
+ int state;
+
+ MethodEvalDTO methodEval;
+
+ Set<EntityDefinitionDTO> entityDefinitions;
+
+ Set<EvaluationInstanceDTO> evaluationInstances;
+
+ PlanDTO plan;
+
public Long getId() {
return id;
}
public void setNotifyDate(Date notifyDate) {
this.notifyDate = notifyDate;
}
+
+ public int getState() {
+ return state;
+ }
+
+ public void setState(int state) {
+ this.state = state;
+ }
+
+ public MethodEvalDTO getMethodEval() {
+ return methodEval;
+ }
+
+ public void setMethodEval(MethodEvalDTO methodEval) {
+ this.methodEval = methodEval;
+ }
+
+ public Set<EntityDefinitionDTO> getEntityDefinitions() {
+ return entityDefinitions;
+ }
+
+ public void setEntityDefinitions(Set<EntityDefinitionDTO> entityDefinitions) {
+ this.entityDefinitions = entityDefinitions;
+ }
+
+ public Set<EvaluationInstanceDTO> getEvaluationInstances() {
+ return evaluationInstances;
+ }
+
+ public void setEvaluationInstances(
+ Set<EvaluationInstanceDTO> evaluationInstances) {
+ this.evaluationInstances = evaluationInstances;
+ }
+
+ public PlanDTO getPlan() {
+ return plan;
+ }
+
+ public void setPlan(PlanDTO plan) {
+ this.plan = plan;
+ }
}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import java.util.Set;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+@XStreamAlias("evaluationinstance")
+public class EvaluationInstanceDTO {
+
+ Long id;
+
+ Set<ScenarioInstanceDTO> scenarioInstances;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Set<ScenarioInstanceDTO> getScenarioInstances() {
+ return scenarioInstances;
+ }
+
+ public void setScenarioInstances(Set<ScenarioInstanceDTO> scenarioInstances) {
+ this.scenarioInstances = scenarioInstances;
+ }
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import java.util.Set;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+@XStreamAlias("evaluationsubjectinstance")
+public class EvaluationSubjectInstanceDTO {
+
+ Long id;
+
+ Set<CompetenceInstanceDTO> competenceInstances;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Set<CompetenceInstanceDTO> getCompetenceInstances() {
+ return competenceInstances;
+ }
+
+ public void setCompetenceInstances(
+ Set<CompetenceInstanceDTO> competenceInstances) {
+ this.competenceInstances = competenceInstances;
+ }
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+
+@XStreamAlias("level")
+public class LevelDTO {
+
+ Long id;
+
+ /** The initial boolean : Is this an initial Level. */
+ boolean initial = false;
+
+ /** The name. */
+ String name;
+
+ /** The threshold. */
+ boolean threshold = false;
+
+ /** The value of the Level. */
+ int value;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public boolean isInitial() {
+ return initial;
+ }
+
+ public void setInitial(boolean initial) {
+ this.initial = initial;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public boolean isThreshold() {
+ return threshold;
+ }
+
+ public void setThreshold(boolean threshold) {
+ this.threshold = threshold;
+ }
+
+ public int getValue() {
+ return value;
+ }
+
+ public void setValue(int value) {
+ this.value = value;
+ }
+
+
+
+
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import java.util.Set;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+@XStreamAlias("methodeval")
+public class MethodEvalDTO {
+
+ Long id;
+
+ String name;
+
+ String description;
+
+ Set<LevelDTO> levels;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public Set<LevelDTO> getLevels() {
+ return levels;
+ }
+
+ public void setLevels(Set<LevelDTO> levels) {
+ this.levels = levels;
+ }
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+@XStreamAlias("plan")
+public class PlanDTO {
+
+ Long id;
+
+ String name;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+@XStreamAlias("scenarioinstance")
+public class ScenarioInstanceDTO {
+
+ Long id;
+
+ EvaluationSubjectInstanceDTO evaluationSubjectInstance;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public EvaluationSubjectInstanceDTO getEvaluationSubjectInstance() {
+ return evaluationSubjectInstance;
+ }
+
+ public void setEvaluationSubjectInstance(
+ EvaluationSubjectInstanceDTO evaluationSubjectInstance) {
+ this.evaluationSubjectInstance = evaluationSubjectInstance;
+ }
+
+
+
+}
--- /dev/null
+package com.pentila.evalcomp.service.ws.dto;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+
+
+@XStreamAlias("user")
+public class UserDTO {
+
+ Long id;
+
+ String uid;
+
+ String lastname;
+
+ String firstname;
+
+ String email;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getUid() {
+ return uid;
+ }
+
+ public void setUid(String uid) {
+ this.uid = uid;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getEmail() {
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+}
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://dozer.sourceforge.net
http://dozer.sourceforge.net/schema/beanmapping.xsd">
- <mapping>
+
+ <mapping map-id="pojo" wildcard="false">
<class-a>com.pentila.evalcomp.domain.definition.EvaluationDefinition</class-a>
<class-b>com.pentila.evalcomp.service.ws.dto.EvaluationDefinitionDTO</class-b>
<a>notifyDate</a>
<b>notifyDate</b>
</field>
+
+ <field>
+ <a>state</a>
+ <b>state</b>
+ </field>
+ </mapping>
+
+ <mapping map-id="associate">
+ <class-a>com.pentila.evalcomp.domain.definition.EvaluationDefinition</class-a>
+ <class-b>com.pentila.evalcomp.service.ws.dto.EvaluationDefinitionDTO</class-b>
</mapping>
+
+
+
</mappings>
\ No newline at end of file
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml;
/WEB-INF/applicationContext-cache.xml;
- /WEB-INF/applicationContext-hibernate.xml;
+ /WEB-INF/applicationContext-hibernate-jta.xml;
/WEB-INF/applicationContext-dao.xml;
/WEB-INF/applicationContext-ldap.xml;
/WEB-INF/applicationContext-repository.xml;
- /WEB-INF/applicationContext-security-ldap.xml;
+ /WEB-INF/applicationContext-security-multi.xml;
/WEB-INF/applicationContext-manager.xml;
/WEB-INF/applicationContext-service.xml;
/WEB-INF/applicationContext-scheduler.xml;
</filter-class>
</filter>
+ <filter>
+ <filter-name>openInViewSessionFilter</filter-name>
+ <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
+ </filter>
+
<filter-mapping>
<filter-name>springSecurityFilterChain
</filter-name>
<filter-name>Spring character encoding filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
+
+ <filter-mapping>
+ <filter-name>openInViewSessionFilter</filter-name>
+ <url-pattern>/webservices/*</url-pattern>
+ </filter-mapping>
+
+<!--
+<filter>
+ <filter-name>proxyTicketReceptor</filter-name>
+ <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+ <init-param>
+ <param-name>targetBeanName</param-name>
+ <param-value>proxyTicketReceptor</param-value>
+ </init-param>
+ </filter>
+
+<filter-mapping>
+ <filter-name>proxyTicketReceptor</filter-name>
+ <url-pattern>/receptor</url-pattern>
+ </filter-mapping>
-
-
+-->
<!--
- Loads the root application context of this web app at startup. - The
application context is then available via -
</listener-class>
</listener>
+<!--
+ ======================================================================
+ -->
+ <!--
+ WS servlet ===> WebService
+ -->
+ <!--
+ ======================================================================
+ -->
+
+<servlet>
+ <servlet-name>webService</servlet-name>
+ <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
+
+ <load-on-startup>1</load-on-startup>
+</servlet>
+
<!--
======================================================================
<load-on-startup>1</load-on-startup>
</servlet>
- <!--
- <servlet>
- <servlet-name>CryptServletName</servlet-name>
- <servlet-class>com.pentila.evalcomp.repository.CryptServlet</servlet-class>
- </servlet>
-
- <servlet-mapping>
- <servlet-name>CryptServletName</servlet-name>
- <url-pattern>/CryptServlet</url-pattern>
- </servlet-mapping>
--->
<servlet-mapping>
<servlet-name>UploadServlet</servlet-name>
<url-pattern>/uploadWSFile/*</url-pattern>
<url-pattern>/hibernate4gwt/*</url-pattern>
</servlet-mapping>
+
+<servlet-mapping>
+ <servlet-name>webService</servlet-name>
+ <url-pattern>/webservices/*</url-pattern>
+</servlet-mapping>
+
+<!-- <servlet>
+ <servlet-name>casproxy</servlet-name>
+ <servlet-class>edu.yale.its.tp.cas.proxy.ProxyTicketReceptor</servlet-class>
+ <load-on-startup>2</load-on-startup>
+</servlet>
+<servlet-mapping>
+ <servlet-name>casproxy</servlet-name>
+ <url-pattern>/receptor/*</url-pattern>
+</servlet-mapping> -->
+
</web-app>