Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 5221

Show
Ignore:
Timestamp:
08/10/08 18:41:53 (5 months ago)
Author:
kevjay
Message:

birdoda: the modifier page has been enhanced to allow the user to add an aggregate and value to the desired token (ex. FIRST 5 {CD4 Count}). Both the aggregate name and value are now available as a drop down for each token and dynamically built when accessing the modifier page. Additional helper class added as well as modifications of other classes to support the addition of aggregates in the logic service query.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs-contrib/birt_oda_plugin/org.eclipse.datatools.connectivity.oda.openmrs/src/org/eclipse/datatools/connectivity/oda/openmrs/impl/QueryBuilder.java

    r5140 r5221  
    9595            // there will always be an aggregate, so add it to the front of the 
    9696            // token query 
    97             query += "|" + token.getAggregate() + " "
     97            query += "|" + token.getAggregate() + " " + token.getAggregateValue() + " "
    9898 
    9999            // add modifiers if there are any 
     
    169169        for (int i = 0; i < tokens.length; i++) { 
    170170            // extract the aggregate 
    171             String aggregate = tokens[i].substring(0, tokens[i].indexOf("{")); 
     171            String aggregate = tokens[i].substring(0, tokens[i].indexOf("{") - 1); 
    172172            // String aggregate = "LAST 5"; 
    173173 
     
    179179 
    180180            Token token = tokenMap.get(tokenName); 
    181  
    182             token.setAggregate(aggregate); 
     181             
     182            token.setAggregate(Utils.getAggregateNameForTokenFromTokenProperty(tokenName, select)); 
     183            token.setAggregateValue(Utils.getAggregateValueForTokenFromTokenProperty(tokenName, select)); 
    183184 
    184185            // set the modifier data here: 
     
    224225        String[] tokenName = tokens.split("\\|"); 
    225226 
     227        log.info(tokens); 
     228         
    226229        ArrayList<String> tokenNames = new ArrayList<String>(); 
    227230 
  • openmrs-contrib/birt_oda_plugin/org.eclipse.datatools.connectivity.oda.openmrs/src/org/eclipse/datatools/connectivity/oda/openmrs/impl/ResultSetMetaData.java

    r5140 r5221  
    108108 
    109109        else if (dataStyle.equals(FLAT)) { 
    110             int max = 5; 
     110            //int max = 5; 
    111111 
    112112            // explode columns 
    113             for (int i = 0; i < tokens.size(); i++) { 
     113            for (int i = 0; i < tokens.size(); i++)  
     114            {    
     115                int max = Integer.parseInt(tokens.get(i).getAggregateValue()); 
     116                 
    114117                for (int j = 1; j < max + 1; j++) { 
    115118                    String name = tokens.get(i).getName(); 
  • openmrs-contrib/birt_oda_plugin/org.eclipse.datatools.connectivity.oda.openmrs/src/org/eclipse/datatools/connectivity/oda/openmrs/impl/Token.java

    r5140 r5221  
    3535    private String modifiers = null; 
    3636 
    37     private String aggregate = "5"; 
     37    private String aggregate = null; 
     38     
     39    private String aggregateValue = null; 
    3840 
    3941    private boolean modified = false; 
     
    278280        this.aggregate = aggregate; 
    279281    } 
     282 
     283    public String getAggregateValue() { 
     284        return aggregateValue; 
     285    } 
     286 
     287    public void setAggregateValue(String aggregateValue) { 
     288        this.aggregateValue = aggregateValue; 
     289    } 
    280290} 
  • openmrs-contrib/birt_oda_plugin/org.eclipse.datatools.connectivity.oda.openmrs/test/org/eclipse/datatools/connectivity/oda/openmrs/test/QueryBuilderTest.java

    r5140 r5221  
    4646    @Test 
    4747    public void shouldGetFilter() { 
    48         String query = "SELECT {X-RAY, ABDOMEN}:OBSERVATIONDATE|{HAZARDOUS DRINKING}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE|{TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
     48        String query = "SELECT LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {HAZARDOUS DRINKING}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE|LAST 1 {TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
    4949        String filter = QueryBuilder.getFilter(query); 
    5050        assertEquals("3:org.openmrs.cohort.StaticCohortDefinition", filter); 
     
    5353    @Test 
    5454    public void shouldGetQueryFromTokensFilterDataStyle() { 
    55         String query = "SELECT {X-RAY, ABDOMEN}:OBSERVATIONDATE|{HAZARDOUS DRINKING}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE|{TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
     55        String query = "SELECT LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {HAZARDOUS DRINKING}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE|LAST 1 {TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
    5656        List<Token> tokens = QueryBuilder.getTokens(query, tokenMap); 
    5757 
    5858        assertEquals( 
    59                 "SELECT {X-RAY, ABDOMEN}:OBSERVATIONDATE| {HAZARDOUS DRINKING}:OBSERVATIONDATE| {PATIENT CONTACT METHOD}:OBSERVATIONDATE| {TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked", 
     59                "SELECT LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {HAZARDOUS DRINKING}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE|LAST 1 {TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked", 
    6060                QueryBuilder.getQuery(tokens, 
    6161                        "3:org.openmrs.cohort.StaticCohortDefinition", 
     
    6565    @Test 
    6666    public void shouldGetTokens() { 
    67         String query = "SELECT {X-RAY, ABDOMEN}:OBSERVATIONDATE|{HAZARDOUS DRINKING}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE|{TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
     67        String query = "SELECT LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {HAZARDOUS DRINKING}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE|LAST 1 {TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
    6868        List<Token> tokens = QueryBuilder.getTokens(query, tokenMap); 
    6969 
     
    7676    @Test 
    7777    public void shouldGetQueryFromTokensFilterDataStyle2() { 
    78         String query = "SELECT {X-RAY, ABDOMEN}:OBSERVATIONDATE|{TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
    79         String tokens = "{X-RAY, ABDOMEN}:OBSERVATIONDATE|{TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE"; 
     78        String query = "SELECT LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
     79        String tokens = "LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE"; 
    8080        assertEquals(query, QueryBuilder.getQuery(tokens, 
    8181                "3:org.openmrs.cohort.StaticCohortDefinition", "stacked")); 
     
    8585    public void shouldGetTokenNamesFromStorage() { 
    8686        List<String> tokens = QueryBuilder 
    87                 .getTokenNamesFromStorage("{X-RAY, ABDOMEN}:OBSERVATIONDATE|{TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE"); 
     87                .getTokenNamesFromStorage("LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE"); 
    8888        assertEquals("X-RAY, ABDOMEN", tokens.get(0)); 
    8989        assertEquals("TAKEN MORE THAN 95 PERCENT OF PRESCRIBED ARVS", tokens 
     
    9494    @Test 
    9595    public void shouldGetDataStyle() { 
    96         String query = "SELECT {X-RAY, ABDOMEN}:OBSERVATIONDATE|{HAZARDOUS DRINKING}:OBSERVATIONDATE|{PATIENT CONTACT METHOD}:OBSERVATIONDATE|{TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
     96        String query = "SELECT LAST 1 {X-RAY, ABDOMEN}:OBSERVATIONDATE|LAST 1 {HAZARDOUS DRINKING}:OBSERVATIONDATE|LAST 1 {PATIENT CONTACT METHOD}:OBSERVATIONDATE|LAST 1 {TACHYPNEA}:OBSERVATIONDATE FROM 3:org.openmrs.cohort.StaticCohortDefinition&datastyle=stacked"; 
    9797        assertEquals("stacked", QueryBuilder.getDataStyle(query)); 
    9898    }