Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register
Show
Ignore:
Timestamp:
08/10/08 18:37:29 (5 months ago)
Author:
kevjay
Message:

logicws: Added initial support for logic service queries with aggregates in the request for all three data styles.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-modules/logicws/web/src/org/openmrs/module/logicws/web/URLdataQuery.java

    r5144 r5220  
    4141 
    4242    private Map<String, String[]> tokenSplitters; 
     43     
     44    private Map<String, String> tokenAggregateNames; 
     45     
     46    private Map<String, String> tokenAggregateValues; 
     47     
     48    //private Map<> 
    4349 
    4450    /** 
     
    6167 
    6268            tokenSplitters = new HashMap<String, String[]>(); 
     69             
     70            tokenAggregateNames = new HashMap<String, String>(); 
     71             
     72            tokenAggregateValues = new HashMap<String, String>(); 
    6373 
    6474            if (query != null) { 
     
    7383                    tokensWithModifiers = select.split("\\|"); 
    7484 
    75                     // remove the split indicators 
     85                    // remove the split indicators, aggregates, and aggregate values 
    7686                    for (int i = 0; i < tokensWithModifiers.length; i++) { 
     87                         
     88                        //get the aggregate name 
     89                        tokenAggregateNames.put(tokensWithModifiers[i].substring(tokensWithModifiers[i].indexOf("{") + 1, tokensWithModifiers[i].indexOf("}")), tokensWithModifiers[i].split(" ")[0]); 
     90                                                 
     91                        //get the aggregate value 
     92                        tokenAggregateValues.put(tokensWithModifiers[i].substring(tokensWithModifiers[i].indexOf("{") + 1, tokensWithModifiers[i].indexOf("}")), tokensWithModifiers[i].split(" ")[1]); 
     93                         
    7794                        if (tokensWithModifiers[i].contains(":")) { 
    7895                            // populate token splitters 
     
    89106 
    90107                            tokensWithModifiers[i] = tokensWithModifiers[i] 
    91                                     .substring(0, tokensWithModifiers[i] 
     108                                    .substring(tokensWithModifiers[i].indexOf("{"), tokensWithModifiers[i] 
    92109                                            .indexOf(":")); 
    93110 
     
    123140        return tokenSplitters.get(token); 
    124141    } 
     142     
     143    public String getTokenAggregateName(String token) { 
     144        return tokenAggregateNames.get(token); 
     145    } 
     146     
     147    public String getTokenAggregateValue(String token) { 
     148        return tokenAggregateValues.get(token); 
     149    } 
     150     
    125151 
    126152    /**