Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 4357

Show
Ignore:
Timestamp:
05/24/08 14:33:13 (6 months ago)
Author:
jmiranda
Message:

logicws: Added latest API jars from logic api refactoring branch. Fixed build errors associated with reporting and api refactoring.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/logicws/.classpath

    r4341 r4357  
    3232        <classpathentry kind="lib" path="lib-common/hapi-0.5.jar"/> 
    3333        <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"/> 
    3537        <classpathentry kind="output" path="build"/> 
    3638</classpath> 
  • openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/DataResource.java

    r2190 r4357  
    1111import javax.servlet.http.HttpServletResponse; 
    1212 
     13import org.openmrs.Cohort; 
    1314import org.openmrs.logic.LogicService; 
    1415import org.openmrs.logic.result.Result; 
    1516import org.openmrs.logic.LogicException; 
    16 import org.openmrs.reporting.PatientSet; 
    1717import org.openmrs.api.context.Context; 
    1818 
    1919public class DataResource implements RestResource { 
    2020 
    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(); 
    2424 
    25         switch (operation) { 
    26         case GET: 
     25               switch (operation) { 
     26               case GET: 
    2727 
    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"); 
     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"); 
    3232 
    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            
     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                       
    4242 
    43             out.print("<dataset>"); 
     43                       out.print("<dataset>"); 
    4444 
    45             // List columns 
    46             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>"); 
    5050 
    51             // List rows 
    52             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(); 
    5555 
    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 { 
    6557 
    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                 } 
    8258 
    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        } 
    9897} 
  • openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/FilterResource.java

    r2172 r4357  
    2727                        + c.getCohortId() + "\" type=\"static\" />"); 
    2828            } 
    29             for (PatientFilter pf : Context.getReportService() 
     29            for (PatientFilter pf : Context.getReportObjectService() 
    3030                    .getAllPatientFilters()) { 
    3131                out.print("<filter name=\"" + pf.getName() + "\" id=\"" 
  • openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/TokenResource.java

    r2229 r4357  
    5757 
    5858    private String getDatatype(LogicService ls, String token) { 
    59         Datatype dt = ls.getDatatype(token); 
     59        Datatype dt = ls.getDefaultDatatype(token); 
    6060        if (dt == null) 
    6161            return "NULL";