Downloads Documentation Community Contribute Demo






Show Sidebar
Login | Register

Changeset 4907

Show
Ignore:
Timestamp:
07/11/08 13:48:21 (4 months ago)
Author:
catullus
Message:

data_sync_bidrectional: hacky fix to data export for constructs

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openmrs/branches/data_synchronization_bidirectional/metadata/api/log4j/log4j.xml

    r4295 r4907  
    171171        </logger> 
    172172         
     173        <logger name="org.openmrs.reporting.export.DataExportUtil"> 
     174                <level value="DEBUG" /> 
     175        </logger> 
     176         
    173177        <root> 
    174178                <level value="WARN" /> 
  • openmrs/branches/data_synchronization_bidirectional/src/api/org/openmrs/reporting/export/ConceptColumn.java

    r4121 r4907  
    1515 
    1616import java.io.Serializable; 
    17  
     17import java.util.List; 
     18 
     19import org.openmrs.Concept; 
    1820import org.openmrs.api.APIException; 
     21import org.openmrs.api.context.Context; 
    1922 
    2023public class ConceptColumn implements ExportColumn, Serializable { 
     
    4548        } 
    4649         
    47         public String toTemplateString()
     50        private String toSingleTemplateString(int conceptId)
    4851                String s = ""; 
    4952                if (extras == null) 
     
    6366                         
    6467                        if (DataExportReportObject.MODIFIER_LAST_NUM.equals(modifier)) 
    65                                 s += "#set($obsValues = $fn.getLastNObsWithValues(" + num + ", '" + getConceptIdOrName() + "', $arr))"; 
     68                                s += "#set($obsValues = $fn.getLastNObsWithValues(" + num + ", '" + conceptId + "', $arr))"; 
    6669                        else if (DataExportReportObject.MODIFIER_FIRST_NUM.equals(modifier)) 
    67                                 s += "#set($obsValues = $fn.getFirstNObsWithValues(" + num + ", '" + getConceptIdOrName() + "', $arr))"; 
     70                                s += "#set($obsValues = $fn.getFirstNObsWithValues(" + num + ", '" + conceptId + "', $arr))"; 
    6871                        s += "#foreach($vals in $obsValues)"; 
    6972                        s += "#if($velocityCount > 1)"; 
     
    104107                                s += "])"; 
    105108                                         
    106                                 function += "WithValues('" + getConceptIdOrName() + "', $arr)"; 
     109                                function += "WithValues('" + conceptId + "', $arr)"; 
    107110                                 
    108111                                s += "#set($obsRow =" + function + ")";  
     
    118121                return s; 
    119122        } 
     123         
     124        public String toTemplateString() { 
     125                Concept concept = Context.getConceptService().getConcept(conceptId); 
     126                String toReturn; 
     127                 
     128                if(!concept.isSet()){ 
     129                        toReturn = toSingleTemplateString(concept.getConceptId()); 
     130                }else{ 
     131                        List<Concept> setMembers = Context.getConceptService().getConceptsInSet(concept); 
     132                        toReturn = ""; 
     133                        boolean firstMember = true; 
     134                        for(Concept setMember : setMembers){ 
     135                                if(firstMember){ 
     136                                        toReturn+=toSingleTemplateString(setMember.getConceptId()); 
     137                                        firstMember=false; 
     138                                }else{ 
     139                                        toReturn+="$!{fn.getSeparator()}"; 
     140                                        toReturn+=toSingleTemplateString(setMember.getConceptId()); 
     141                                } 
     142                        } 
     143                } 
     144                 
     145                return toReturn; 
     146                 
     147        } 
    120148 
    121149        public String getColumnType() { 
     
    131159        } 
    132160         
    133         public String getTemplateColumnName()
    134                 String s = columnName
    135                 s += getExtrasTemplateColumnNames(false); 
     161        private String getTemplateSingleConceptColumnName(String conceptName)
     162                String s = "\"" + conceptName + "\""
     163                s += getExtrasTemplateColumnNames(conceptName, false); 
    136164                 
    137165                if (DataExportReportObject.MODIFIER_LAST_NUM.equals(modifier) ||  
     
    143171                                s += "#foreach($o in [1.." + (modifierNum - 1) +"]) "; 
    144172                        s += "$!{fn.getSeparator()}"; 
    145                         s += columnName + "_($velocityCount)"; 
    146                         s += getExtrasTemplateColumnNames(true); 
     173                        s += "\""; 
     174                        s += conceptName + "_($velocityCount)"; 
     175                        s += "\""; 
     176                        s += getExtrasTemplateColumnNames(conceptName, true); 
    147177                        s += "#end\n"; 
    148178                } 
     
    151181        } 
    152182         
    153         private String getExtrasTemplateColumnNames(boolean appendCount) { 
     183        public String getTemplateColumnName() { 
     184                Concept concept = Context.getConceptService().getConcept(conceptId); 
     185                String toReturn; 
     186                if(!concept.isSet()){ 
     187                        toReturn = getTemplateSingleConceptColumnName(concept.getName().getName()); 
     188                }else{ 
     189                        List<Concept> setMembers = Context.getConceptService().getConceptsInSet(concept); 
     190                        toReturn = ""; 
     191                        boolean firstMember = true; 
     192                        for(Concept setMember : setMembers){ 
     193                                if(firstMember){ 
     194                                        toReturn+=getTemplateSingleConceptColumnName(setMember.getName().getName()); 
     195                                        firstMember=false; 
     196                                }else{ 
     197                                        toReturn+="$!{fn.getSeparator()}"; 
     198                                        toReturn+=getTemplateSingleConceptColumnName(setMember.getName().getName()); 
     199                                } 
     200                        } 
     201                } 
     202                 
     203                return toReturn; 
     204        } 
     205         
     206        private String getExtrasTemplateColumnNames(String conceptName, boolean appendCount) { 
    154207                String s = ""; 
    155208                if (extras != null) { 
    156209                        for (String ext : extras) { 
    157210                                s += "$!{fn.getSeparator()}"; 
    158                                 s += columnName + "_" + ext; 
     211                                s += "\""; 
     212                                s += conceptName + "_" + ext; 
     213                                s += "\""; 
    159214                                if (appendCount) 
    160215                                        s += "_($velocityCount)"; 
  • openmrs/branches/data_synchronization_bidirectional/src/api/org/openmrs/reporting/export/DataExportReportObject.java

    r4295 r4907  
    2323import org.apache.commons.logging.LogFactory; 
    2424import org.openmrs.Cohort; 
     25import org.openmrs.Concept; 
    2526import org.openmrs.Location; 
    2627import org.openmrs.api.PatientSetService; 
  • openmrs/branches/data_synchronization_bidirectional/src/api/org/openmrs/reporting/export/DataExportUtil.java

    r4295 r4907  
    124124                 
    125125                if (log.isDebugEnabled()) 
    126                         log.debug("Template: " + template.substring(0, template.length() < 3500 ? template.length() : 3500) + "..."); 
     126                        log.debug("Template: " + template); 
    127127                 
    128128                try {