4 package com.edf.gde.services;
6 import com.edf.gde.ejb.PermissionsManagerEJB;
7 import com.edf.gde.ejb.StudyEJB;
8 import com.edf.gde.ejb.UserEJB;
9 import com.edf.gde.tools.Credentials;
10 import com.edf.gde.transferables.CommandTO;
11 import com.edf.gde.transferables.StudyTO;
12 import com.edf.gde.transferables.responses.CommandResultTO;
13 import java.util.logging.Logger;
15 import javax.servlet.http.HttpServletRequest;
16 import javax.servlet.http.HttpServletResponse;
22 public class StudyService extends BaseService {
24 public static final String ServiceName = "StudyService";
25 public static final int CREATESTUDY = 1;
26 public static final int SETSTUDYSTATE = 2;
27 public static final int READSTUDY = 3;
28 public static final int DELETESTUDY = 4;
30 private StudyEJB studyEjb;
32 private UserEJB userEjb;
34 private PermissionsManagerEJB pm;
37 public void processRequest(HttpServletRequest request, HttpServletResponse response) {
38 Logger logger = Logger.getLogger(ServiceName);
39 CommandTO commandTO = getCommand(request);
40 CommandResultTO resultTO = new CommandResultTO();
41 Credentials credentials = getCredentials(request);
42 userEjb.checkPassword(credentials.getLogin(), credentials.getPassword());
43 pm.checkPermission(credentials.getLogin(), ServiceName, commandTO.getMethod());
45 switch (commandTO.getMethod()) {
47 StudyTO studyTO = fromJson(commandTO.getData(), StudyTO.class);
48 StudyTO newStudyTO = studyEjb.createStudy(userEjb.findUser(credentials.getLogin()).getId(),studyTO);
49 resultTO.setData(toJson(newStudyTO));
53 long studyId = commandTO.getLong("studyId");
54 int lock = commandTO.getInt("lock");
55 boolean status = (lock == 1);
56 studyEjb.setStudyState(userEjb.findUser(credentials.getLogin()).getId(),studyId, status);
60 long studyId = commandTO.getLong("studyId");
61 StudyTO studyTO = studyEjb.findById(studyId);
62 resultTO.setData(toJson(studyTO));
66 long studyId = commandTO.getLong("studyId");
67 studyEjb.deleteStudy(studyId);
71 } catch (Exception ex) {
72 // Return error on any error...
73 resultTO.setCode(CommandResultTO.ERROR);
74 resultTO.setMsg(ex.getMessage());
77 send(resultTO, response);