Changeset 4357 for openmrs-modules/logicws
- Timestamp:
- 05/24/08 09:33:13 (3 months ago)
- Files:
-
- openmrs-modules/logicws/.classpath (modified) (1 diff)
- openmrs-modules/logicws/lib-common/openmrs-api-1.3.0.00.4211.jar (deleted)
- openmrs-modules/logicws/lib-common/openmrs-api-1.3.0.00.4356.jar (added)
- openmrs-modules/logicws/lib-common/tests-openmrs-api-1.3.0.00.4211.jar (deleted)
- openmrs-modules/logicws/lib-common/tests-openmrs-api-1.3.0.00.4356.jar (added)
- openmrs-modules/logicws/lib-common/web-openmrs-api-1.3.0.00.4211.jar (deleted)
- openmrs-modules/logicws/lib-common/web-openmrs-api-1.3.0.00.4356.jar (added)
- openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/DataResource.java (modified) (1 diff)
- openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/FilterResource.java (modified) (1 diff)
- openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/TokenResource.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
openmrs-modules/logicws/.classpath
r4341 r4357 32 32 <classpathentry kind="lib" path="lib-common/hapi-0.5.jar"/> 33 33 <classpathentry kind="lib" path="lib-common/simple-xml-1.6.1-mod.jar"/> 34 <classpathentry combineaccessrules="false" kind="src" path="/openmrs-trunk"/> 34 <classpathentry kind="lib" path="lib-common/openmrs-api-1.3.0.00.4356.jar"/> 35 <classpathentry kind="lib" path="lib-common/tests-openmrs-api-1.3.0.00.4356.jar"/> 36 <classpathentry kind="lib" path="lib-common/web-openmrs-api-1.3.0.00.4356.jar"/> 35 37 <classpathentry kind="output" path="build"/> 36 38 </classpath> openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/DataResource.java
r2190 r4357 11 11 import javax.servlet.http.HttpServletResponse; 12 12 13 import org.openmrs.Cohort; 13 14 import org.openmrs.logic.LogicService; 14 15 import org.openmrs.logic.result.Result; 15 16 import org.openmrs.logic.LogicException; 16 import org.openmrs.reporting.PatientSet;17 17 import org.openmrs.api.context.Context; 18 18 19 19 public class DataResource implements RestResource { 20 20 21 public void handleRequest(Operation operation, HttpServletRequest request,22 HttpServletResponse response) throws ServletException, IOException {23 PrintWriter out = response.getWriter();21 public void handleRequest(Operation operation, HttpServletRequest request, 22 HttpServletResponse response) throws ServletException, IOException { 23 PrintWriter out = response.getWriter(); 24 24 25 switch (operation) {26 case GET:25 switch (operation) { 26 case GET: 27 27 28 Integer filter = request.getParameter("filter") == null ? null29 : Integer.parseInt(request.getParameter("filter"));30 String filterType = request.getParameter("filterType");31 String[] tokens = request.getParameterValues("token");28 Integer filter = request.getParameter("filter") == null ? null 29 : Integer.parseInt(request.getParameter("filter")); 30 String filterType = request.getParameter("filterType"); 31 String[] tokens = request.getParameterValues("token"); 32 32 33 // Check for lack of parameters34 if (filter == null35 || filterType == null36 || tokens == null37 || (!filterType.equals("static") && !filterType38 .equals("dynamic"))) {39 out.print("<dataset />");40 break;41 }33 // Check for lack of parameters 34 if (filter == null 35 || filterType == null 36 || tokens == null 37 || (!filterType.equals("static") && !filterType 38 .equals("dynamic"))) { 39 out.print("<dataset />"); 40 break; 41 } 42 42 43 out.print("<dataset>");43 out.print("<dataset>"); 44 44 45 // List columns46 out.print("<columns>");47 for (String t : tokens)48 out.print("<column token=\"" + t + "\" />");49 out.print("</columns>");45 // List columns 46 out.print("<columns>"); 47 for (String t : tokens) 48 out.print("<column token=\"" + t + "\" />"); 49 out.print("</columns>"); 50 50 51 // List rows52 out.print("<rows>");53 PatientSet patients;54 LogicService ls = Context.getLogicService();51 // List rows 52 out.print("<rows>"); 53 Cohort patients; 54 LogicService ls = Context.getLogicService(); 55 55 56 try { 57 if (filterType.equals("static")) 58 patients = Context.getCohortService().getCohort(filter) 59 .toPatientSet(); 60 else { 61 patients = Context.getReportService().getPatientFilterById( 62 filter).filter( 63 Context.getPatientSetService().getAllPatients()); 64 } 56 try { 65 57 66 List<Map<Integer, Result>> resultsForTokens = new ArrayList<Map<Integer, Result>>();67 try {68 for (String t : tokens) {69 resultsForTokens.add(ls.eval(patients, t));70 }71 } catch (LogicException e) {72 throw new ServletException(e);73 }74 for (Integer patient : patients.getPatientIds()) {75 out.print("<row>");76 for (Map<Integer, Result> map : resultsForTokens) {77 Result res = map.get(patient);78 out.print("<value>" + res + "</value>");79 }80 out.print("</row>");81 }82 58 83 out.print("</rows>"); 84 out.print("</dataset>"); 85 break; 86 } catch (org.openmrs.api.APIAuthenticationException e) { 87 out.print("<error>" + e.toString() 88 + "</error></rows></dataset>"); 89 break; 90 } 91 case POST: 92 case PUT: 93 case DELETE: 94 response.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED); 95 return; 96 } 97 } 59 if (filterType.equals("static")) { 60 patients = Context.getCohortService().getCohort(filter); 61 } else { 62 patients = Context.getReportObjectService().getPatientFilterById(filter).filter(Context.getPatientSetService().getAllPatients(), null); 63 } 64 65 List<Map<Integer, Result>> resultsForTokens = new ArrayList<Map<Integer, Result>>(); 66 try { 67 for (String t : tokens) { 68 resultsForTokens.add(ls.eval(patients, t)); 69 } 70 } catch (LogicException e) { 71 throw new ServletException(e); 72 } 73 for (Integer patient : patients.getPatientIds()) { 74 out.print("<row>"); 75 for (Map<Integer, Result> map : resultsForTokens) { 76 Result res = map.get(patient); 77 out.print("<value>" + res + "</value>"); 78 } 79 out.print("</row>"); 80 } 81 82 out.print("</rows>"); 83 out.print("</dataset>"); 84 break; 85 } catch (org.openmrs.api.APIAuthenticationException e) { 86 out.print("<error>" + e.toString() 87 + "</error></rows></dataset>"); 88 break; 89 } 90 case POST: 91 case PUT: 92 case DELETE: 93 response.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED); 94 return; 95 } 96 } 98 97 } openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/FilterResource.java
r2172 r4357 27 27 + c.getCohortId() + "\" type=\"static\" />"); 28 28 } 29 for (PatientFilter pf : Context.getReport Service()29 for (PatientFilter pf : Context.getReportObjectService() 30 30 .getAllPatientFilters()) { 31 31 out.print("<filter name=\"" + pf.getName() + "\" id=\"" openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/TokenResource.java
r2229 r4357 57 57 58 58 private String getDatatype(LogicService ls, String token) { 59 Datatype dt = ls.getD atatype(token);59 Datatype dt = ls.getDefaultDatatype(token); 60 60 if (dt == null) 61 61 return "NULL";