dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #43449
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 22031: removed remains of caseagg
------------------------------------------------------------
revno: 22031
committer: Morten Olav Hansen <morten@xxxxxxxxx>
branch nick: dhis2
timestamp: Wed 2016-02-24 11:25:21 +0700
message:
removed remains of caseagg
removed:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQueries.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQuery.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregateSchedule.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionStore.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AggregationQueryController.java
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonCaseAggregation.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/caseAggregationForm.vm
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/addCaseAggregationForm.js
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/caseaggregation.js
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/updateCaseAggregationForm.js
modified:
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/startup/TableAlteror.java
dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/struts.xml
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== removed directory 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation'
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQueries.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQueries.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQueries.java 1970-01-01 00:00:00 +0000
@@ -1,36 +0,0 @@
-package org.hisp.dhis.caseaggregation;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.HashSet;
-
-public class AggregationQueries
- extends HashSet<AggregationQuery>
-{
-}
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQuery.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQuery.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/AggregationQuery.java 1970-01-01 00:00:00 +0000
@@ -1,139 +0,0 @@
-package org.hisp.dhis.caseaggregation;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-public class AggregationQuery
-{
- private String id;
-
- private String name;
-
- private String dataSet;
-
- private String dataElement;
-
- private String categoryOptionCombo;
-
- private String dataElementForGroupBy;
-
- private String operator;
-
- private String expression;
-
- @JsonProperty
- public String getId()
- {
- return id;
- }
-
- @JsonProperty
- public void setId( String id )
- {
- this.id = id;
- }
-
- @JsonProperty
- public String getName()
- {
- return name;
- }
-
- public void setName( String name )
- {
- this.name = name;
- }
-
- @JsonProperty
- public String getDataSet()
- {
- return dataSet;
- }
-
- public void setDataSet( String dataSet )
- {
- this.dataSet = dataSet;
- }
-
- @JsonProperty
- public String getDataElement()
- {
- return dataElement;
- }
-
- public void setDataElement( String dataElement )
- {
- this.dataElement = dataElement;
- }
-
- @JsonProperty
- public String getCategoryOptionCombo()
- {
- return categoryOptionCombo;
- }
-
- public void setCategoryOptionCombo( String categoryOptionCombo )
- {
- this.categoryOptionCombo = categoryOptionCombo;
- }
-
- @JsonProperty
- public String getDataElementForGroupBy()
- {
- return dataElementForGroupBy;
- }
-
- public void setDataElementForGroupBy( String dataElementForGroupBy )
- {
- this.dataElementForGroupBy = dataElementForGroupBy;
- }
-
- @JsonProperty
- public String getOperator()
- {
- return operator;
- }
-
- public void setOperator( String operator )
- {
- this.operator = operator;
- }
-
- @JsonProperty
- public String getExpression()
- {
- return expression;
- }
-
- public void setExpression( String expression )
- {
- this.expression = expression;
- }
-}
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregateSchedule.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregateSchedule.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregateSchedule.java 1970-01-01 00:00:00 +0000
@@ -1,82 +0,0 @@
-package org.hisp.dhis.caseaggregation;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * @author Chau Thu Tran
- */
-public class CaseAggregateSchedule
-{
- private Integer caseAggregateId;
-
- private String caseAggregateName;
-
- private String periodTypeName;
-
- public CaseAggregateSchedule()
- {
- }
-
- public CaseAggregateSchedule( Integer caseAggregateId, String caseAggregateName, String periodTypeName )
- {
- this.caseAggregateId = caseAggregateId;
- this.caseAggregateName = caseAggregateName;
- this.periodTypeName = periodTypeName;
- }
-
- public Integer getCaseAggregateId()
- {
- return caseAggregateId;
- }
-
- public void setCaseAggregateId( Integer caseAggregateId )
- {
- this.caseAggregateId = caseAggregateId;
- }
-
- public String getCaseAggregateName()
- {
- return caseAggregateName;
- }
-
- public void setCaseAggregateName( String caseAggregateName )
- {
- this.caseAggregateName = caseAggregateName;
- }
-
- public String getPeriodTypeName()
- {
- return periodTypeName;
- }
-
- public void setPeriodTypeName( String periodTypeName )
- {
- this.periodTypeName = periodTypeName;
- }
-}
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java 1970-01-01 00:00:00 +0000
@@ -1,318 +0,0 @@
-package org.hisp.dhis.caseaggregation;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import org.hisp.dhis.common.BaseNameableObject;
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-
-/**
- * @author Chau Thu Tran
- *
- * @version CaseAggregationCondition.java Nov 17, 2010 10:47:12 AM
- */
-public class CaseAggregationCondition
- extends BaseNameableObject
-{
- public static final String SEPARATOR_ID = "\\.";
-
- public static final String SEPARATOR_OBJECT = ":";
-
- public static final String AGGRERATION_COUNT = "COUNT";
-
- public static final String AGGRERATION_SUM = "times";
-
- public static final String AGGRERATION_SUM_VALUE = "sum";
-
- public static final String AGGRERATION_AVG_VALUE = "avg";
-
- public static final String AGGRERATION_AVG_MIN = "min";
-
- public static final String AGGRERATION_AVG_MAX = "max";
-
- public static final String OPERATOR_AND = "AND";
-
- public static final String OPERATOR_OR = "OR";
-
- public static String OBJECT_PROGRAM_STAGE_DATAELEMENT = "DE";
-
- public static String OBJECT_TRACKED_ENTITY_ATTRIBUTE = "CA";
-
- public static String OBJECT_PROGRAM_PROPERTY = "PP";
-
- public static String OBJECT_PROGRAM = "PG";
-
- public static String OBJECT_PROGRAM_STAGE = "PS";
-
- public static String OBJECT_PROGRAM_STAGE_PROPERTY = "PSP";
-
- public static String OBJECT_TRACKED_ENTITY_PROGRAM_STAGE_PROPERTY = "PC";
-
- public static String OBJECT_ORGUNIT_COMPLETE_PROGRAM_STAGE = "PSIC";
-
- public static String FORMULA_AGE = "age";
-
- public static String FORMULA_VISIT = "visit";
-
- public static String OBJECT_PROGRAM_PROPERTY_INCIDENT_DATE = "incidentDate";
-
- public static String OBJECT_PROGRAM_PROPERTY_ENROLLEMENT_DATE = "enrollmentDate";
-
- public static String OBJECT_PROGRAM_PROPERTY_REPORT_DATE = "executionDate";
-
- public static String MINUS_OPERATOR = "DATEDIFF";
-
- public static String MINUS_DATAELEMENT_OPERATOR_TYPE_ONE = "DEDATEDIFF_TYPE_ONE";
-
- public static String MINUS_DATAELEMENT_OPERATOR_TYPE_TWO = "DEDATEDIFF_TYPE_TWO";
-
- public static String MINUS_2DATAELEMENT_OPERATOR = "DE2DATEDIFF";
-
- public static String MINUS_2ATTRIBUTE_OPERATOR = "ATTR2DATEDIFF";
-
- public static String MINUS_ATTRIBUTE_OPERATOR_TYPE_ONE = "ATTRDATEDIFF_TYPE_ONE";
-
- public static String MINUS_ATTRIBUTE_OPERATOR_TYPE_TWO = "ATTRDATEDIFF_TYPE_TWO";
-
- public static String CURRENT_DATE = "current_date";
-
- public static String AUTO_STORED_BY = "aggregated_from_tracker";
-
- public static final String PARAM_PERIOD_START_DATE = "PERIOD_START_DATE";
- public static final String PARAM_PERIOD_END_DATE = "PARAM_PERIOD_END_DATE";
- public static final String PARAM_PERIOD_ID = "PERIOD_ID";
- public static final String PARAM_PERIOD_ISO_DATE = "PERIOD_ISO_DATE";
-
- public static final String regExp = "\\[(" + OBJECT_ORGUNIT_COMPLETE_PROGRAM_STAGE + "|" + OBJECT_PROGRAM + "|"
- + OBJECT_PROGRAM_STAGE_PROPERTY + "|" + OBJECT_PROGRAM_STAGE + "|"
- + OBJECT_TRACKED_ENTITY_PROGRAM_STAGE_PROPERTY + "|" + OBJECT_PROGRAM_STAGE_DATAELEMENT + "|"
- + OBJECT_TRACKED_ENTITY_ATTRIBUTE + "|" + OBJECT_PROGRAM_PROPERTY + ")" + SEPARATOR_OBJECT
- + "([a-zA-Z0-9@#\\- ]+[" + SEPARATOR_ID + "[a-zA-Z0-9]*]*)" + "\\]";
-
- // Date dataElement - currentDate/incidentDate/executionDate/enrollmentDate
- public static final String minusDataelementRegExp1 = MINUS_OPERATOR + "{1}\\s*\\(\\s*\\["
- + OBJECT_PROGRAM_STAGE_DATAELEMENT + SEPARATOR_OBJECT + "([0-9]+)+" + SEPARATOR_ID + "([0-9]+)+" + SEPARATOR_ID
- + "([0-9]+)+\\]\\s*(,)\\s*" + "(" + CURRENT_DATE + "|" + OBJECT_PROGRAM_PROPERTY_INCIDENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_ENROLLEMENT_DATE + "|" + OBJECT_PROGRAM_PROPERTY_REPORT_DATE
- + ")\\s*\\)\\s*(>=|<=|!=|>|<|=){1}\\s*([0-9]+){1}";
-
- // currentDate/incidentDate/executionDate/enrollmentDate - Date dataElement
- public static final String minusDataelementRegExp2 = MINUS_OPERATOR + "{1}\\s*\\(\\s*(" + CURRENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_INCIDENT_DATE + "|" + OBJECT_PROGRAM_PROPERTY_ENROLLEMENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_REPORT_DATE + ")\\s*(,)\\s*\\[" + OBJECT_PROGRAM_STAGE_DATAELEMENT + SEPARATOR_OBJECT
- + "([0-9]+)+" + SEPARATOR_ID + "([0-9]+)+" + SEPARATOR_ID
- + "([0-9]+)+\\]\\s*\\)\\s*(>=|<=|!=|>|<|=){1}\\s*([0-9]+){1}";
-
- // Date dataElement - Date dataElement
- public static final String minus2DataelementRegExp = MINUS_OPERATOR + "{1}\\s*\\(\\s*(\\["
- + OBJECT_PROGRAM_STAGE_DATAELEMENT + SEPARATOR_OBJECT + "([0-9]+" + SEPARATOR_ID + "[0-9]+" + SEPARATOR_ID
- + "[0-9]+)+\\])\\s*(,)\\s*(\\[" + OBJECT_PROGRAM_STAGE_DATAELEMENT + SEPARATOR_OBJECT + "([0-9]+"
- + SEPARATOR_ID + "[0-9]+" + SEPARATOR_ID + "[0-9]+)+\\])\\s*\\)\\s*(>=|<=|!=|>|<|=){1}\\s*([0-9]+)";
-
- // currentDate/ incidentDate/executionDate/enrollmentDate - Date attribute
- public static final String minusAttributeRegExp1 = MINUS_OPERATOR + "{1}\\s*\\(\\s*(" + CURRENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_INCIDENT_DATE + "|" + OBJECT_PROGRAM_PROPERTY_ENROLLEMENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_REPORT_DATE + ")\\s*(,)\\s*\\[" + OBJECT_TRACKED_ENTITY_ATTRIBUTE + SEPARATOR_OBJECT
- + "([0-9]+)+\\]\\s*\\)\\s(>=|<=|!=|>|<|=){1}\\s*([0-9]+){1}";
-
- // Date attribute - currentDate/ incidentDate/executionDate/enrollmentDate
- public static final String minusAttributeRegExp2 = MINUS_OPERATOR + "{1}\\s*\\(\\s*\\["
- + OBJECT_TRACKED_ENTITY_ATTRIBUTE + SEPARATOR_OBJECT + "([0-9]+)+\\]\\s*(,)\\s*(" + CURRENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_INCIDENT_DATE + "|" + OBJECT_PROGRAM_PROPERTY_ENROLLEMENT_DATE + "|"
- + OBJECT_PROGRAM_PROPERTY_REPORT_DATE + ")\\s*\\)\\s*(>=|<=|!=|>|<|=){1}\\s*([0-9]+){1}";
-
- // Date attribute - Date attribute
- public static final String minus2AttributeRegExp = MINUS_OPERATOR + "{1}\\s*\\(\\s*(\\["
- + OBJECT_TRACKED_ENTITY_ATTRIBUTE + SEPARATOR_OBJECT + "([0-9]+)+\\])\\s*(,)\\s*(\\["
- + OBJECT_TRACKED_ENTITY_ATTRIBUTE + SEPARATOR_OBJECT + "([0-9]+)+\\])\\s*\\)\\s*(>=|<=|!=|>|<|=){1}\\s*([0-9]+)";
-
- // -------------------------------------------------------------------------
- // Fields
- // -------------------------------------------------------------------------
-
- private String operator;
-
- private String aggregationExpression;
-
- private DataElement aggregationDataElement;
-
- private DataElementCategoryOptionCombo optionCombo;
-
- private DataElement deSum;
-
- // -------------------------------------------------------------------------
- // Constructors
- // -------------------------------------------------------------------------
-
- public CaseAggregationCondition()
- {
-
- }
-
- public CaseAggregationCondition( String name, String operator, String aggregationExpression,
- DataElement aggregationDataElement, DataElementCategoryOptionCombo optionCombo )
- {
- this.name = name;
- this.operator = operator;
- this.aggregationExpression = aggregationExpression;
- this.aggregationDataElement = aggregationDataElement;
- this.optionCombo = optionCombo;
- }
-
- public CaseAggregationCondition( String name, String operator, String aggregationExpression,
- DataElement aggregationDataElement, DataElementCategoryOptionCombo optionCombo, DataElement deSum )
- {
- this.name = name;
- this.operator = operator;
- this.aggregationExpression = aggregationExpression;
- this.aggregationDataElement = aggregationDataElement;
- this.optionCombo = optionCombo;
- this.deSum = deSum;
- }
-
- // -------------------------------------------------------------------------
- // Logical
- // -------------------------------------------------------------------------
-
- @Override
- public int hashCode()
- {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((aggregationExpression == null) ? 0 : aggregationExpression.hashCode());
- result = prime * result + ((operator == null) ? 0 : operator.hashCode());
- return result;
- }
-
- @Override
- public boolean equals( Object object )
- {
- if ( this == object )
- {
- return true;
- }
-
- if ( object == null )
- {
- return false;
- }
-
- if ( !getClass().isAssignableFrom( object.getClass() ) )
- {
- return false;
- }
-
- final CaseAggregationCondition other = (CaseAggregationCondition) object;
-
- if ( aggregationExpression == null )
- {
- if ( other.aggregationExpression != null )
- {
- return false;
- }
- }
- else if ( !aggregationExpression.equals( other.aggregationExpression ) )
- {
- return false;
- }
-
- if ( operator == null )
- {
- if ( other.operator != null )
- {
- return false;
- }
- }
- else if ( !operator.equals( other.operator ) )
- {
- return false;
- }
-
- return true;
- }
-
- // -------------------------------------------------------------------------
- // Getters && Setters
- // -------------------------------------------------------------------------
-
- public DataElement getAggregationDataElement()
- {
- return aggregationDataElement;
- }
-
- public DataElementCategoryOptionCombo getOptionCombo()
- {
- return optionCombo;
- }
-
- public void setOptionCombo( DataElementCategoryOptionCombo optionCombo )
- {
- this.optionCombo = optionCombo;
- }
-
- public void setAggregationDataElement( DataElement aggregationDataElement )
- {
- this.aggregationDataElement = aggregationDataElement;
- }
-
- public String getOperator()
- {
- return operator;
- }
-
- public void setOperator( String operator )
- {
- this.operator = operator;
- }
-
- public void setId( Integer id )
- {
- this.id = id;
- }
-
- public String getAggregationExpression()
- {
- return aggregationExpression;
- }
-
- public void setAggregationExpression( String aggregationExpression )
- {
- this.aggregationExpression = aggregationExpression;
- }
-
- public DataElement getDeSum()
- {
- return deSum;
- }
-
- public void setDeSum( DataElement deSum )
- {
- this.deSum = deSum;
- }
-}
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionService.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionService.java 1970-01-01 00:00:00 +0000
@@ -1,289 +0,0 @@
-package org.hisp.dhis.caseaggregation;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.Collection;
-import java.util.List;
-
-import org.hisp.dhis.common.Grid;
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-import org.hisp.dhis.datavalue.DataValue;
-import org.hisp.dhis.i18n.I18n;
-import org.hisp.dhis.i18n.I18nFormat;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.period.Period;
-import org.hisp.dhis.program.Program;
-import org.hisp.dhis.scheduling.TaskId;
-import org.hisp.dhis.trackedentity.TrackedEntityInstance;
-import org.hisp.dhis.trackedentity.TrackedEntityAttribute;
-
-/**
- * @author Chau Thu Tran
- *
- * @version CaseAggregationConditionService.java Nov 17, 2010 10:56:29 AM
- */
-public interface CaseAggregationConditionService
-{
- /**
- * Adds an {@link CaseAggregationCondition}
- *
- * @param TrackedEntityAttributeGroup The to CaseAggregationCondition add.
- *
- * @return A generated unique id of the added
- * {@link CaseAggregationCondition}.
- */
- int addCaseAggregationCondition( CaseAggregationCondition caseAggregationCondition );
-
- /**
- * Updates a {@link CaseAggregationCondition}.
- *
- * @param TrackedEntityAttributeGroup the CaseAggregationCondition to update.
- */
- void updateCaseAggregationCondition( CaseAggregationCondition caseAggregationCondition );
-
- /**
- * Deletes a {@link CaseAggregationCondition}.
- *
- * @param TrackedEntityAttributeGroup the CaseAggregationCondition to delete.
- */
- void deleteCaseAggregationCondition( CaseAggregationCondition caseAggregationCondition );
-
- /**
- * Returns a {@link CaseAggregationCondition}.
- *
- * @param id the id of the CaseAggregationCondition to return.
- *
- * @return the CaseAggregationCondition with the given id
- */
- CaseAggregationCondition getCaseAggregationCondition( int id );
-
- /**
- * Returns a {@link CaseAggregationCondition} with a given name.
- *
- * @param name the name of the CaseAggregationCondition to return.
- *
- * @return the CaseAggregationCondition with the given name, or null if no
- * match.
- */
- CaseAggregationCondition getCaseAggregationCondition( String name );
-
- /**
- * Returns a {@link CaseAggregationCondition} with a given name.
- *
- * @param id the uid of the CaseAggregationCondition to return.
- *
- * @return the CaseAggregationCondition with the given uid, or null if no
- * match.
- */
- CaseAggregationCondition getCaseAggregationConditionByUid( String id );
-
- /**
- * Returns all {@link CaseAggregationCondition}
- *
- * @return A collection of all CaseAggregationCondition, or an empty
- * collection if there are no CaseAggregationConditions.
- */
- Collection<CaseAggregationCondition> getAllCaseAggregationCondition();
-
- /**
- * Retrieve {@link CaseAggregationCondition} by a {@link DataElement}
- *
- * @param dataElement DataElement
- *
- * @return A collection of CaseAggregationCondition
- */
- Collection<CaseAggregationCondition> getCaseAggregationCondition( DataElement dataElement );
-
- /**
- * Retrieve a {@link CaseAggregationCondition} by a {@link DataElement} and
- * {@link DataElementCategoryOptionCombo}
- *
- * @param dataElement DataElement
- * @param optionCombo DataElementCategoryOptionCombo
- *
- * @return A CaseAggregationCondition
- */
- CaseAggregationCondition getCaseAggregationCondition( DataElement dataElement,
- DataElementCategoryOptionCombo optionCombo );
-
- /**
- * Retrieve a {@link CaseAggregationCondition} by a collection of
- * {@link DataElement}
- *
- * @param dataElements DataElement collection
- * @param key The name of CaseAggregationCondition
- * @param first
- * @param max
- *
- * @return A collection of CaseAggregationCondition
- */
- Collection<CaseAggregationCondition> getCaseAggregationConditions( Collection<DataElement> dataElements, String key, Integer first, Integer max );
-
- /**
- * Retrieve a collection of {@link DataElement} by a
- * {@link CaseAggregationCondition} formula
- *
- * @param aggregationExpression Aggregate Expression
- *
- * @return A collection of DataElement
- */
- Collection<DataElement> getDataElementsInCondition( String aggregationExpression );
-
- /**
- * Retrieve a collection of {@link Program} by a
- * {@link CaseAggregationCondition} formula
- *
- * @param aggregationExpression Aggregate Expression
- *
- * @return A collection of Program
- */
- Collection<Program> getProgramsInCondition( String aggregationExpression );
-
- /**
- * Retrieve a collection of {@link TrackedEntityAttribute} by a
- * {@link CaseAggregationCondition} formula
- *
- * @param aggregationExpression Aggregate Expression
- *
- * @return A collection of TrackedEntityAttribute
- */
- Collection<TrackedEntityAttribute> getTrackedEntityAttributesInCondition( String aggregationExpression );
-
- /**
- * Retrieve the description of a {@link CaseAggregationCondition} expression
- *
- * @param aggregationExpression Aggregate Expression
- *
- * @return The Description of the CaseAggregationCondition
- */
- String getConditionDescription( String aggregationExpression );
-
- /**
- * Aggregate data values from query builder formulas defined based on
- * datasets which have data elements defined in the formulas
- *
- * @param caseAggregateSchedule
- * @param taskStrategy Specify how to get period list based on period type
- * of each dataset. There are four options, include last month, last
- * 3 month, last 6 month and last 12 month
- */
- void aggregate( List<CaseAggregateSchedule> caseAggregateSchedules, String taskStrategy, TaskId taskId );
-
- /**
- * Insert value aggregated from a {@link CaseAggregationCondition}
- *
- * @param caseAggregationConditions {@link CaseAggregationCondition
- * @param orgunitIds The list of {@link OrganisationUnit} ids
- * @param periods {@link Period}
- */
- void insertAggregateValue( Collection<CaseAggregationCondition> caseAggregationConditions, Collection<Integer> orgunitIds, Collection<Period> periods );
-
- /**
- * Retrieve the details of each {@link DataValue} which are generated by a
- * {@link CaseAggregationCondition}
- *
- * @param caseAggregationCondition CaseAggregationCondition
- * @param orgunitIds The list of {@link OrganisationUnit} ids
- * @param period {@link Period}
- * @param format I18nFormat
- * @param i18n I18n
- */
- Grid getAggregateValueDetails( CaseAggregationCondition aggregationCondition, OrganisationUnit orgunit,
- Period period, I18nFormat format, I18n i18n );
-
- /**
- * Convert an expression of {@link CaseAggregationCondition} to standard
- * query
- *
- * @param isInsert True if converting the expression for inserting
- * {@link DataValue}
- * @param caseExpression The expression of CaseAggregationCondition
- * @param operator There are six operators, includes COUNT, TIMES, SUM, AVG,
- * MIN and MAX
- * @param aggregateDeId The aggregate data element which is used for saving
- * a datavalue
- * @param aggregateDeName The name of aggregate data element
- * @param optionComboId The {@link DataElementCategoryOptionCombo} which is
- * used for saving a datavalue
- * @param optionComboName The name ofDataElementCategoryOptionCombo
- * @param deSumId The id of the data element
- * @param orgunitIds The ids of orgunits where data are retrieved to
- * calculate value
- * @param period The period for retrieving data
- *
- * @return SQL
- */
- String parseExpressionToSql( boolean isInsert, String caseExpression, String operator, Integer aggregateDeId,
- String aggregateDeName, Integer optionComboId, String optionComboName, Integer deSumId,
- Collection<Integer> orgunitIds, Period period );
-
- /**
- * Convert an expression of {@link CaseAggregationCondition} to standard
- * query
- *
- * @param caseExpression The expression of CaseAggregationCondition
- * @param operator There are six operators, includes COUNT, TIMES, SUM, AVG,
- * MIN and MAX
- * @param orgunitIds The id of {@link OrganisationUnit}
- * @param period The period for retrieving data
- *
- * @return SQL
- */
- String parseExpressionDetailsToSql( String caseExpression, String operator, Integer orgunitId, Period period );
-
- /**
- * Get list of {@link TrackedEntityInstance} ids from SQL
- *
- * @param sql SQL statement
- *
- * @return List of TrackedEntityInstance ids
- */
- List<Integer> executeSQL( String sql );
-
- /**
- * @param dataElements
- * @return
- */
- int countCaseAggregationCondition( Collection<DataElement> dataElements, String key );
-
- /**
- * Return a data value table aggregated of a query builder formula
- *
- * @param caseAggregationConditions The collection of query builder expressions
- * @param orgunitIds The ids of organisation unit where to aggregate data
- * value
- * @param period The collections of date ranges for aggregate data value
- * @param format
- * @param i18n
- */
- List<Grid> getAggregateValue( Collection<CaseAggregationCondition> caseAggregationConditions, Collection<Integer> orgunitIds,
- Collection<Period> periods, I18nFormat format, I18n i18n );
-
-}
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionStore.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationConditionStore.java 1970-01-01 00:00:00 +0000
@@ -1,201 +0,0 @@
-package org.hisp.dhis.caseaggregation;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.Collection;
-import java.util.List;
-
-import org.hisp.dhis.common.GenericNameableObjectStore;
-import org.hisp.dhis.common.Grid;
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
-import org.hisp.dhis.datavalue.DataValue;
-import org.hisp.dhis.i18n.I18n;
-import org.hisp.dhis.i18n.I18nFormat;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.period.Period;
-import org.hisp.dhis.trackedentity.TrackedEntityInstance;
-
-/**
- * @author Chau Thu Tran
- *
- * @version CaseAggregationConditionStore.java Nov 18, 2010 9:27:59 AM
- */
-public interface CaseAggregationConditionStore
- extends GenericNameableObjectStore<CaseAggregationCondition>
-{
- String ID = CaseAggregationConditionStore.class.getName();
-
- /**
- * Retrieve {@link CaseAggregationCondition} by a {@link DataElement}
- *
- * @param dataElement DataElement
- *
- * @return A collection of CaseAggregationCondition
- */
- Collection<CaseAggregationCondition> get( DataElement dataElement );
-
- CaseAggregationCondition get( DataElement dataElement, DataElementCategoryOptionCombo optionCombo );
-
- /**
- * Retrieve a collection of {@link CaseAggregationCondition} by a collection of {@link DataElement}
- *
- * @param dataElements DataElement collection
- * @param first
- * @param max
- *
- * @return A CaseAggregationCondition
- */
- Collection<CaseAggregationCondition> get( Collection<DataElement> dataElements, String key, Integer first, Integer max );
-
- /**
- * Generate period list based on period Type and taskStrategy option
- *
- * @param periodTypeName The name of period type
- * @param taskStrategy Specify how to get period list based on period type
- * of each dataset. There are four options, include last month, last
- * 3 month, last 6 month and last 12 month
- *
- */
- Collection<Period> getPeriods( String periodTypeName, String taskStrategy );
-
- /**
- * Retrieve the details of each {@link DataValue} which are generated by a
- * {@link CaseAggregationCondition}
- *
- * @param caseAggregationCondition CaseAggregationCondition
- * @param orgunitIds The list of {@link OrganisationUnit} ids
- * @param period {@link Period}
- * @param nonRegistrationProgram Specify if the expression of aggregationCondition has any single event without registration program
- * @param format I18nFormat
- * @param i18n I18n
- */
- Grid getAggregateValueDetails( CaseAggregationCondition aggregationCondition, OrganisationUnit orgunit,
- Period period, boolean nonRegistrationProgram, I18nFormat format, I18n i18n );
-
- /**
- * Insert data values into database directly
- *
- * @param sql SQL filter events
- * @param dataElementId The id of aggregate data element
- * @param optionComboId The id of category option combo
- * @param orgunitIds The id collection of organisation units where to aggregate data
- * value
- * @param period The date range for aggregate data value
- */
- void insertAggregateValue( String sql, int dataElementId, int optionComboId, Collection<Integer> orgunitIds, Period period );
-
- /**
- * Return standard SQL from query builder formula
- *
- * @param isInsert Insert aggregate result into database directly
- * @param caseExpression The query builder expression
- * @param operator There are six operators, includes Number of persons,
- * Number of visits, Sum, Average, Minimum and Maximum of data
- * element values.
- * @param aggregateDeId The id of aggregate data element
- * @param aggregateDeName The name of aggregate data element
- * @param optionComboId The id of category option combo
- * @param optionComboName The name of category option combo
- * @param deSumId The id of aggregate data element which used for aggregate
- * data values for operator Sum, Average, Minimum and Maximum of data
- * element values. This fill is null for other operators.
- * @param orgunitId The id of organisation unit where to aggregate data
- * value
- */
- String parseExpressionToSql( boolean isInsert, String caseExpression, String operator, Integer aggregateDeId,
- String aggregateDeName, Integer optionComboId, String optionComboName, int attributeOptioncomboId, Integer deSumId,
- Collection<Integer> orgunitIds );
-
- /**
- * Return standard SQL from query builder formula
- * @param aggregationCondition {@link CaseAggregationCondition}
- * @param attributeOptionComboId
- *
- */
- String parseExpressionToSql( boolean isInsert, CaseAggregationCondition aggregationCondition, int attributeOptionComboId, Collection<Integer> orgunitIds );
-
- /**
- * Aggregate data values for the dataset by periods with a organisation unit
- * list
- *
- */
- void runAggregate( Collection<Integer> orgunitIds, CaseAggregateSchedule dataSet, Collection<Period> periods, int attributeOptioncomboId );
-
- /**
- * Convert an expression of {@link CaseAggregationCondition} to standard
- * query
- *
- * @param caseExpression The expression of CaseAggregationCondition
- * @param operator There are six operators, includes COUNT, TIMES, SUM, AVG,
- * MIN and MAX
- * @param orgunitIds The id of {@link OrganisationUnit}
- * @param period The period for retrieving data
- * @Param nonRegistrationProgram Specify if the expression of aggregationCondition has any single event without registration program
- *
- * @return SQL
- */
- String parseExpressionDetailsToSql( String caseExpression, String operator, Integer orgunitId, Period period, boolean nonRegistrationProgram );
-
- /**
- * Get list of {@link TrackedEntityInstance} ids from SQL
- *
- * @param sql SQL statement
- *
- * @return List of tracked entity instance ids
- */
- List<Integer> executeSQL( String sql );
-
- /**
- * Get the numbers of {@link CaseAggregationCondition} by {@link DataElement} list
- * @param dataElements
- * @param ket The name of CaseAggregationCondition
- * @return
- */
- int count( Collection<DataElement> dataElements, String key );
-
- public Collection<Integer> getServiceOrgunit();
-
- Grid getAggregateValue( String sql, I18nFormat format, I18n i18n );
-
-
- /**
- * Insert data values into database directly
- *
- * @param sql SQL filter events
- * @param dataElement The aggregate data element
- * @param optionCombo The category option combo
- * @param attributeOptionCombo
- * @param orgunitIds The id collection of organisation units where to aggregate data
- * value
- * @param period The date range for aggregate data value
- */
- void insertAggregateValue( String sql, DataElement dataElement, DataElementCategoryOptionCombo optionCombo,
- DataElementCategoryOptionCombo attributeOptionCombo, Collection<Integer> orgunitIds, Period period );
-}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/startup/TableAlteror.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/startup/TableAlteror.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/trackedentity/startup/TableAlteror.java 2016-02-24 04:25:21 +0000
@@ -28,21 +28,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import static org.hisp.dhis.program.ProgramExpression.OBJECT_PROGRAM_STAGE;
-import static org.hisp.dhis.program.ProgramExpression.OBJECT_PROGRAM_STAGE_DATAELEMENT;
-import static org.hisp.dhis.program.ProgramExpression.SEPARATOR_ID;
-import static org.hisp.dhis.program.ProgramExpression.SEPARATOR_OBJECT;
-
-import java.sql.ResultSet;
-import java.sql.Statement;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
import org.amplecode.quick.StatementHolder;
import org.amplecode.quick.StatementManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
import org.hisp.dhis.common.CodeGenerator;
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.jdbc.StatementBuilder;
@@ -54,6 +43,13 @@
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.annotation.Transactional;
+import java.sql.ResultSet;
+import java.sql.Statement;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.hisp.dhis.program.ProgramExpression.*;
+
/**
* @author Chau Thu Tran
*/
@@ -81,10 +77,10 @@
@Autowired
private ProgramStageService programStageService;
-
+
@Autowired
private DataElementService dataElementService;
-
+
// -------------------------------------------------------------------------
// Action Implementation
// -------------------------------------------------------------------------
@@ -112,8 +108,6 @@
executeSql( "DROP TABLE programattribute" );
executeSql( "ALTER TABLE programstageinstance ALTER executiondate TYPE date" );
- executeSql( "ALTER TABLE caseaggregationcondition RENAME description TO name" );
-
executeSql( "UPDATE programstage_dataelements SET allowProvidedElsewhere=false WHERE allowProvidedElsewhere is null" );
executeSql( "ALTER TABLE programstageinstance DROP COLUMN providedbyanotherfacility" );
@@ -151,13 +145,11 @@
executeSql( "UPDATE program SET onlyEnrollOnce='false' WHERE onlyEnrollOnce is null" );
executeSql( "UPDATE programStage SET captureCoordinates=false WHERE captureCoordinates is null" );
- executeSql( "update caseaggregationcondition set \"operator\"='times' where \"operator\"='SUM'" );
-
executeSql( "update prorgam set \"operator\"='times' where \"operator\"='SUM'" );
executeSql( "update program set remindCompleted=false where remindCompleted is null" );
executeSql( "UPDATE program SET skipoffline=false where skipoffline is null" );
executeSql( "UPDATE program SET displayfrontpagelist=false where displayfrontpagelist is null" );
-
+
executeSql( "UPDATE programinstance SET followup=false where followup is null" );
updateProgramInstanceStatus();
@@ -166,7 +158,6 @@
executeSql( "ALTER TABLE program ALTER COLUMN dateofincidentdescription DROP NOT NULL" );
executeSql( "UPDATE program SET displayOnAllOrgunit=true where displayOnAllOrgunit is null" );
executeSql( "UPDATE program SET useFormNameDataElement=true where useFormNameDataElement is null" );
- executeSql( "ALTER TABLE caseaggregationcondition ALTER COLUMN aggregationexpression TYPE varchar(1000)" );
executeSql( "update program set selectEnrollmentDatesInFuture = false where selectEnrollmentDatesInFuture is null" );
executeSql( "update program set selectIncidentDatesInFuture = false where selectIncidentDatesInFuture is null" );
executeSql( "update validationcriteria set description = name where description is null or description='' " );
@@ -271,8 +262,6 @@
executeSql( "UPDATE trackedentityattribute SET valuetype='optionSet' WHERE valuetype='combo'" );
- updateAggregateQueryBuilder();
-
executeSql( "UPDATE programstageinstance SET status=1 WHERE completed=true" );
executeSql( "ALTER TABLE programstageinstance DROP COLUMN completed" );
@@ -291,7 +280,7 @@
executeSql( "DROP SEQUENCE period_periodid_seq" );
executeSql( "ALTER TABLE programstagesection DROP CONSTRAINT programstagesection_name_key" );
-
+
executeSql( "update eventreport set collapsedatadimensions = false where collapsedatadimensions is null" );
executeSql( "update eventchart set collapsedatadimensions = false where collapsedatadimensions is null" );
@@ -301,29 +290,26 @@
executeSql( "alter table programindicator drop column valuetype" );
executeSql( "alter table programindicator drop column rootdate" );
executeSql( "alter table programindicator drop column eventoutputtype" );
-
+
executeSql( "ALTER TABLE programstage ALTER description TYPE text" );
-
+
executeSql( "update programindicator set displayinform = false where displayinform is null" );
-
+
executeSql( "drop index index_patientdatavalue" );
-
+
executeSql( "update program p set dataentryformid = (select dataentryformid from trackedentityform tf where tf.programid=p.programid limit 1)" );
executeSql( "drop table trackedentityform" );
executeSql( "alter table trackedentitydatavalue alter column storedby TYPE character varying(255)" );
executeSql( "alter table datavalue alter column storedby TYPE character varying(255)" );
-
+
updateProgramStageList();
updateProgramAttributeList();
-
- updateFixedAttributeInCaseAggregate( "DEDATEDIFF", CaseAggregationCondition.MINUS_OPERATOR );
+
executeSql( "update userroleauthorities set authority='F_ADD_TRACKED_ENTITY_FORM' where authority='F_TRACKED_ENTITY_FORM_ADD'" );
updateProgramExpressionUid();
-
- updatePropertiesChangeInCaseAggregate();
-
+
// TODO fix
// executeSql( "DROP TABLE programstage_programindicators" );
}
@@ -332,99 +318,6 @@
// Supporting methods
// -------------------------------------------------------------------------
- private void updateAggregateQueryBuilder()
- {
- StatementHolder holder = statementManager.getHolder();
-
- try
- {
- Statement statement = holder.getStatement();
- ResultSet resultSet = statement
- .executeQuery( "select trackedentityattributeid from trackedentityattribute where name='Age'" );
-
- if ( resultSet.next() )
- {
- int id = resultSet.getInt( "trackedentityattributeid" );
-
- String source = "PC:DATE@executionDate#-DATE@birthDate#";
- String target = CaseAggregationCondition.OBJECT_TRACKED_ENTITY_ATTRIBUTE
- + CaseAggregationCondition.SEPARATOR_OBJECT + id + ".visit";
-
- updateFixedAttributeInCaseAggregate( source, target );
- }
- }
- catch ( Exception ex )
- {
- ex.printStackTrace();
- }
- }
-
- private void updateFixedAttributeInCaseAggregate( String source, String target )
- {
- StatementHolder holder = statementManager.getHolder();
- try
- {
- Statement statement = holder.getStatement();
- ResultSet resultSet = statement
- .executeQuery( "SELECT caseaggregationconditionid, aggregationExpression FROM caseaggregationcondition where aggregationExpression like '%"
- + source + "%'" );
-
- source = source.replaceAll( "@", "\\@" ).replaceAll( "#", "\\#" );
-
- while ( resultSet.next() )
- {
- String id = resultSet.getString( "caseaggregationconditionid" );
- String expression = resultSet.getString( "aggregationExpression" );
-
- expression = expression.replaceAll( source, target );
- expression = expression.replaceAll( "'", "\"" );
- executeSql( "UPDATE caseaggregationcondition SET aggregationExpression='" + expression
- + "' WHERE caseaggregationconditionid=" + id );
- }
- }
- catch ( Exception ex )
- {
- log.debug( ex );
- }
- finally
- {
- holder.close();
- }
- }
-
- private void updatePropertiesChangeInCaseAggregate()
- {
- StatementHolder holder = statementManager.getHolder();
- try
- {
- Statement statement = holder.getStatement();
- ResultSet resultSet = statement
- .executeQuery( "SELECT caseaggregationconditionid, aggregationExpression FROM caseaggregationcondition where LOWER(aggregationExpression) like '%dateofincident%'" );
-
- while ( resultSet.next() )
- {
- String id = resultSet.getString( "caseaggregationconditionid" );
- String expression = resultSet.getString( "aggregationExpression" );
-
- expression = expression.replaceAll( "dateOfIncident", "incidentDate" );
- expression = expression.replaceAll( "dateofincident", "incidentDate" );
- expression = expression.replaceAll( "'", "''" );
-
- executeSql( "UPDATE caseaggregationcondition SET aggregationExpression='" + expression
- + "' WHERE caseaggregationconditionid=" + id );
- }
- }
- catch ( Exception ex )
- {
- log.debug( ex );
- }
- finally
- {
- holder.close();
- }
- }
-
-
private void updateProgramInstanceStatus()
{
// Set active status for events
@@ -479,7 +372,7 @@
{
int exist = jdbcTemplate.queryForObject( "SELECT count(*) FROM trackedentity where name='Person'",
Integer.class );
-
+
if ( exist == 0 )
{
String id = statementBuilder.getAutoIncrementValue();
@@ -498,7 +391,7 @@
private void updateProgramStageList()
{
int count = jdbcTemplate.queryForObject( "select count(*) from programstage where sort_order is null", Integer.class );
-
+
if ( count > 0 )
{
StatementHolder holder = statementManager.getHolder();
@@ -634,7 +527,7 @@
holder.close();
}
}
-
+
private int executeSql( String sql )
{
try
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2016-02-15 04:57:22 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml 2016-02-24 04:25:21 +0000
@@ -1761,7 +1761,6 @@
<aop:before pointcut="execution( * org.hisp.dhis.program.ProgramIndicatorService.delete*(..) )" method="intercept" />
<aop:before pointcut="execution( * org.hisp.dhis.trackedentitydatavalue.TrackedEntityDataValueService.delete*(..) )" method="intercept" />
<aop:before pointcut="execution( * org.hisp.dhis.validation.ValidationCriteriaService.delete*(..) )" method="intercept" />
- <aop:before pointcut="execution( * org.hisp.dhis.caseaggregation.CaseAggregationConditionService.delete*(..) )" method="intercept" />
<aop:before pointcut="execution( * org.hisp.dhis.eventchart.EventChartService.delete*(..) )" method="intercept" />
<aop:before pointcut="execution( * org.hisp.dhis.eventreport.EventReportService.delete*(..) )" method="intercept" />
</aop:aspect>
=== modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java'
--- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java 2016-01-04 02:27:49 +0000
+++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/deletion/DeletionHandler.java 2016-02-24 04:25:21 +0000
@@ -30,7 +30,6 @@
import org.hisp.dhis.attribute.Attribute;
import org.hisp.dhis.attribute.AttributeValue;
-import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
import org.hisp.dhis.chart.Chart;
import org.hisp.dhis.common.filter.MetaDataFilter;
import org.hisp.dhis.constant.Constant;
@@ -67,7 +66,6 @@
import org.hisp.dhis.mapping.Map;
import org.hisp.dhis.mapping.MapView;
import org.hisp.dhis.minmax.MinMaxDataElement;
-import org.hisp.dhis.security.oauth2.OAuth2Client;
import org.hisp.dhis.option.Option;
import org.hisp.dhis.option.OptionSet;
import org.hisp.dhis.organisationunit.OrganisationUnit;
@@ -91,6 +89,7 @@
import org.hisp.dhis.relationship.RelationshipType;
import org.hisp.dhis.report.Report;
import org.hisp.dhis.reporttable.ReportTable;
+import org.hisp.dhis.security.oauth2.OAuth2Client;
import org.hisp.dhis.sqlview.SqlView;
import org.hisp.dhis.trackedentity.TrackedEntity;
import org.hisp.dhis.trackedentity.TrackedEntityAttribute;
@@ -699,15 +698,6 @@
{
}
- public String allowDeleteCaseAggregationCondition( CaseAggregationCondition caseAggregationCondition )
- {
- return null;
- }
-
- public void deleteCaseAggregationCondition( CaseAggregationCondition caseAggregationCondition )
- {
- }
-
public String allowDeleteOptionSet( OptionSet optionSet )
{
return null;
=== removed file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AggregationQueryController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AggregationQueryController.java 2016-02-23 08:29:23 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AggregationQueryController.java 1970-01-01 00:00:00 +0000
@@ -1,170 +0,0 @@
-package org.hisp.dhis.webapi.controller;
-
-/*
- * Copyright (c) 2004-2016, University of Oslo
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- *
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- * Neither the name of the HISP project nor the names of its contributors may
- * be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hisp.dhis.caseaggregation.AggregationQueries;
-import org.hisp.dhis.caseaggregation.AggregationQuery;
-import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
-import org.hisp.dhis.caseaggregation.CaseAggregationConditionService;
-import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryService;
-import org.hisp.dhis.dataelement.DataElementService;
-import org.hisp.dhis.program.ProgramService;
-import org.hisp.dhis.program.ProgramStageService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-@Controller
-@RequestMapping( value = AggregationQueryController.RESOURCE_PATH )
-public class AggregationQueryController
-{
- private static final Log log = LogFactory.getLog( AggregationQueryController.class );
-
- public static final String RESOURCE_PATH = "/aggregationQueries";
-
- private CaseAggregationConditionService aggregationConditionService;
-
- @Autowired
- private ProgramService programService;
-
- @Autowired
- private ProgramStageService programStageService;
-
- @Autowired
- private DataElementService dataElementService;
-
- @Autowired
- private DataElementCategoryService dataElementCategoryService;
-
- @RequestMapping( method = RequestMethod.POST, consumes = "application/json" )
- @PreAuthorize( "hasRole('ALL') or hasRole('F_TRACKED_ENTITY_AGGREGATION')" )
- public void postAggregationQueryJson( @RequestBody AggregationQueries aggregationQueries,
- HttpServletResponse response )
- {
- for ( AggregationQuery aggregationQuery : aggregationQueries )
- {
- CaseAggregationCondition caseAggregationCondition = convertToCaseAggregationCondition( aggregationQuery );
-
- if ( caseAggregationCondition.getId() == 0 )
- {
- aggregationConditionService.addCaseAggregationCondition( caseAggregationCondition );
- }
- else
- {
- aggregationConditionService.updateCaseAggregationCondition( caseAggregationCondition );
- }
- }
- }
-
- private CaseAggregationCondition convertToCaseAggregationCondition( AggregationQuery aggregationQuery )
- {
- String id = aggregationQuery.getId();
- CaseAggregationCondition expression = aggregationConditionService.getCaseAggregationConditionByUid( id );
-
- if ( expression == null )
- {
- expression = new CaseAggregationCondition();
- expression.setUid( id );
- }
-
- expression.setName( aggregationQuery.getName() );
- expression.setOperator( aggregationQuery.getOperator() );
- expression.setAggregationDataElement( dataElementService.getDataElement( aggregationQuery.getDataElement() ) );
-
- if ( aggregationQuery.getCategoryOptionCombo() == null )
- {
- expression.setOptionCombo( dataElementCategoryService.getDefaultDataElementCategoryOptionCombo() );
- }
- else
- {
- expression.setOptionCombo( dataElementCategoryService.getDataElementCategoryOptionCombo( aggregationQuery.getCategoryOptionCombo() ) );
- }
-
- String deIdForGroupBy = aggregationQuery.getDataElementForGroupBy();
-
- if ( deIdForGroupBy != null )
- {
- DataElement deSum = dataElementService.getDataElement( deIdForGroupBy );
- expression.setDeSum( deSum );
- }
-
- expression.setAggregationExpression( convertDataElementExpression( aggregationQuery.getExpression() ) );
-
- return expression;
- }
-
- private String convertDataElementExpression( String expression )
- {
- String uidPattern = "[A-Za-z0-9]+";
- String uidTokenPattern = "(#\\{(" + uidPattern + ")})";
-
- StringBuffer replacedExpressionBuffer = new StringBuffer();
-
- Pattern dePattern = Pattern.compile( "(?<=\\[" + CaseAggregationCondition.OBJECT_PROGRAM_STAGE_DATAELEMENT
- + CaseAggregationCondition.SEPARATOR_OBJECT + ")"
- + uidTokenPattern + CaseAggregationCondition.SEPARATOR_ID
- + uidTokenPattern + CaseAggregationCondition.SEPARATOR_ID
- + uidTokenPattern
- + "(?=\\])" );
-
- Matcher matcher = dePattern.matcher( expression );
-
- while ( matcher.find() )
- {
- String programUid = matcher.group( 2 );
- int programId = programService.getProgram( programUid ).getId();
-
- String programStageUid = matcher.group( 4 );
- int programStageId = programStageService.getProgramStage( programStageUid ).getId();
-
- String dataElementUid = matcher.group( 6 );
- int dataElementId = dataElementService.getDataElement( dataElementUid ).getId();
-
- matcher.appendReplacement( replacedExpressionBuffer,
- String.format( "%d.%d.%d", programId, programStageId, dataElementId ) );
- }
-
- matcher.appendTail( replacedExpressionBuffer );
-
- String parsedExpression = replacedExpressionBuffer.toString();
- log.info( "Replacing " + expression + " with " + parsedExpression );
- return parsedExpression;
- }
-}
=== removed file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonCaseAggregation.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonCaseAggregation.vm 2014-06-13 10:58:05 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonCaseAggregation.vm 1970-01-01 00:00:00 +0000
@@ -1,11 +0,0 @@
-{ "caseAggregation":
- {
- "id": "${caseAggregation.id}",
- "uid": "${caseAggregation.uid}",
- "name": "$!encoder.jsonEncode( ${caseAggregation.name} )",
- "operator": "${caseAggregation.operator}",
- "aggregationDataElement": "$!encoder.jsonEncode( ${caseAggregation.aggregationDataElement.name} )",
- "optionCombo": "$!encoder.jsonEncode( ${caseAggregation.optionCombo.name} )",
- "aggregationExpression": "$!encoder.jsonEncode( ${caseAggregation.aggregationExpression} )"
- }
-}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js 2015-12-25 09:55:06 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/javascripts/validationRules.js 2016-02-24 04:25:21 +0000
@@ -547,22 +547,6 @@
"required" : true
}
},
- "caseAggregation" : {
- "name" : {
- "required" : true,
- "rangelength" : [2,230]
- },
- "aggregationDataElementId" : {
- "required" : true
- },
- "deSumId" : {
- "required" : true
- },
- "aggregationCondition" : {
- "required" : true,
- "rangelength" : [2,1000]
- }
- },
"programStageSection" : {
"name" : {
"required" : true,
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/struts.xml 2016-02-18 12:30:57 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/resources/struts.xml 2016-02-24 04:25:21 +0000
@@ -666,23 +666,6 @@
<result name="success" type="redirect">attributeGroup.action</result>
</action>
- <!-- Case Aggregation Condition -->
-
- <action name="getProgramStages"
- class="org.hisp.dhis.trackedentity.action.programstage.GetProgramStageListAction">
- <result name="success" type="velocity-json">
- /dhis-web-commons/ajax/jsonProgramStages.vm
- </result>
- <param name="onExceptionReturn">plainTextError</param>
- </action>
-
- <action name="getOptions"
- class="org.hisp.dhis.trackedentity.action.caseaggregation.GetOptionsAction">
- <result name="success" type="velocity-json">
- /dhis-web-maintenance-program/jsonOptions.vm
- </result>
- </action>
-
<!-- Validation - ValidationCriteria -->
<action name="validationCriteria"
=== removed file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/caseAggregationForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/caseAggregationForm.vm 2015-09-11 11:54:53 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/caseAggregationForm.vm 1970-01-01 00:00:00 +0000
@@ -1,210 +0,0 @@
-<div id="tabs">
- <ul>
- <li><a href="#tab-1">$i18n.getString("dataelements")</a></li>
- <li><a href="#tab-2">$i18n.getString("tracked_entity_attributes")</a></li>
- <li><a href="#tab-3">$i18n.getString("program")</a></li>
- </ul>
-
- <div id="tab-1">
- <table>
- <tr>
- <td colspan='2'>
- $i18n.getString("filter_by_name"):
- <input type='text' id='txtSearchValue' name='txtSearchValue' onKeyUp="filterDataElement(event, this.value, 'dataElements','dataElementBackups');" style='width:185px;'/>
- <input type='button' value='$i18n.getString("clear")' onClick="setFieldValue('txtSearchValue', '');" style='width:50px'>
- </td>
- <td>
- <label for="availableValues">$i18n.getString( "available_values" )</label>
- <input type='button' title="$i18n.getString( 'insert_selected_values' )" value="»" class="small-button" onClick="insertMultiValues('suggestedDEValues');" >
- </td>
- </tr>
- <tr>
- <td colspan='2'>
- $i18n.getString("filter_by_type"): <select type='text' id='deValueType' name='deValueType' onchange="filterDataElement(event, getFieldValue('txtSearchValue'), 'dataElements','dataElementBackups');" style='width:245px;'>
- <option value=''>[$i18n.getString('view_all')]</option>
- <option value="int">$i18n.getString( "number" )</option>
- <option value="string">$i18n.getString( "text" )</option>
- <option value="bool">$i18n.getString( "yes_no" )</option>
- <option value="trueOnly">$i18n.getString( "yes_only" )</option>
- <option value="date">$i18n.getString( "date" )</option>
- <option value="username">$i18n.getString( "user_name" )</option>
- </select>
- </td>
- <td>
- <input type="text" disabled placeholder="$i18n.getString('enter_a_key')" id="deSuggestedValues" name="deSuggestedValues" style="width:300px;" />
- <a style='width:20px; margin-bottom:-5px;height:20px;' id='deButton' name='deButton'></a>
- </td>
- </tr>
- <tr>
- <td colspan='2'>
- <select id="dataElements" name="dataElements" size="8" ondblclick="insertDataElement(this);" onclick="getSuggestedValues(this,'deSuggestedValues','deButton','suggestedDEValues' )" ></select>
- <select id="dataElementBackups" name="dataElementBackups" style='display:none;'></select>
- </td>
- <td rowspan='4'>
- <select name="suggestedDEValues" size="12" multiple id='suggestedDEValues' ondblclick="insertSingleValue('suggestedDEValues');" ></select>
- </td>
- </tr>
- <tr>
- <td>
- <table style='background-color:#CBDDEB'>
- <tr>
- <td>$i18n.getString("display_name")</td>
- <td>
- <select id='displayNameOption' style="width:220px" onchange='displayNameOnChange( this.value )'>
- <option value='1'>$i18n.getString("name")</option>
- <option value='2'>$i18n.getString("code")</option>
- <option value='3'>$i18n.getString("code_and_name")</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>$i18n.getString( "sort_by" )</td>
- <td>
- <input type='radio' name='sortBy' value='1' onchange="sortByOnChange('1')" checked >$i18n.getString("name")
- <input type='radio' name='sortBy' value='2' onchange="sortByOnChange('2')">$i18n.getString("code")
- </td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- </div>
-
- <div id="tab-2">
- <table>
- <tr>
- <td>$i18n.getString('filter_by_name')
- <input style="width:180px;" type='text' id='txtSearchAttribue' name='txtSearchAttribue' placeholder="$i18n.getString('enter_an_attribute')" onKeyUp="filterAttribute(event, this.value, 'caseProperty','casePropertyBackups');"/>
- <input type='button' value='$i18n.getString("clear")' onClick="setFieldValue('txtSearchAttribue', '');" style='width:50px'>
- </td>
- <td>
- <label>$i18n.getString( "available_values" )</label>
- <input type='button' title="$i18n.getString( 'insert_selected_values' )" value="»" class="small-button" onClick="insertMultiValues('attributeId');" >
- </td>
- </tr>
- <tr>
- <td rowspan='3'>
- <select id='casePropertyBackups' name='casePropertyBackups' style='display:none;'>
- #foreach($attribute in $attributes)
- #if($attribute.valueType=='age')
- #set($attId=$attribute.id + ".age")
- #set($attVisitId=$attribute.id + ".visit")
- <option optionSet="$!attribute.optionSet.uid" title="$attribute.displayName" value="[CA:$attId]">$encoder.htmlEncode($attribute.displayName) ($i18n.getString('ages'))</option>
- <option optionSet="$!attribute.optionSet.uid" value="[PS:*] AND [CA:$attVisitId]" name="multiProgram">$encoder.htmlEncode($attribute.displayName) ($i18n.getString( "age_at_visit_days_since_birth" ))</option>
- #else
- <option optionSet="$!attribute.optionSet.uid" title="$attribute.displayName" value="[CA:$attribute.id]">$attribute.displayName</option>
- #end
- #end
- </select>
- <select id="caseProperty" name="caseProperty" size="10" ondblclick="insertInfo(this, false);" onclick="getSuggestedValues(this,'caSuggestedValues','attributesButton','attributeId' )">
- #foreach($attribute in $attributes)
- #if($attribute.valueType=='age')
- #set($attId=$attribute.id + ".age")
- #set($attVisitId=$attribute.id + ".visit")
- <option optionSet="$!attribute.optionSet.uid" optionSet="" title="$attribute.displayName" value="[CA:$attId]">$attribute.displayName ($i18n.getString('ages'))</option>
- <option optionSet="$!attribute.optionSet.uid" value="[PS:*] AND [CA:$attVisitId]" name="multiProgram">$encoder.htmlEncode($attribute.displayName) ($i18n.getString( "age_at_visit_days_since_birth" ))</option>
- #else
- <option optionSet="$!attribute.optionSet.uid" title="$attribute.displayName" value="[CA:$attribute.id]">$encoder.htmlEncode($attribute.displayName)</option>
- #end
- #end
- </select>
- </td>
- </tr>
- <tr>
- <td>
- <input type="text" disabled placeholder="$i18n.getString('enter_a_key')" id="caSuggestedValues" name="caSuggestedValues" ondblclick="insertSingleValue('caSuggestedValues');" style="width:300px;">
- <a style='width:20px; margin-bottom:-5px;height:20px;' id='attributesButton' name='attributesButton'></a>
- </td>
- </tr>
- <tr>
- <td>
- <select multiple id='attributeId' name='attributeId' size=8 ondblclick="removeOption('attributeId')"></select>
- </td>
- </tr>
-
- </table>
- </div>
-
- <div id="tab-3">
- <table>
- <tr>
- <td><label>$i18n.getString('program_properties')</label></td>
- <td><label>$i18n.getString('program_stage_properties')</label></td>
- </tr>
- <tr>
- <td>
- <select id="programProperty" name="programProperty" size="10" ondblclick="insertInfo(this, false);" disabled>
- <option value="enrollmentDate">$i18n.getString( "date_of_enrollment" )</option>
- <option value="incidentDate">$i18n.getString( "date_of_incident" )</option>
- <option value="[PG:*]">$i18n.getString( "program_enrollment" )</option>
- </select>
- </td>
- <td>
- <select multiple id="programStageProperty" size="10" name="programStageProperty" ondblclick="insertInfo(this, true);" disabled >
- <option value="executionDate">$i18n.getString( "report_date" )</option>
- <option value="[PS:*]">$i18n.getString( "visit_selected_program_stage" )</option>
- <option value="[PSIC:*]">$i18n.getString( "completed" )</option>
- <option value="[PS:*.COUNT]" name="multiProgram">$i18n.getString( "visit_selected_program_stage_x_th_time" )</option>
- <option value="[PS:*] AND [PSP:DATE@executionDate#-DATE@dueDate#]" name="multiProgram">$i18n.getString( "report_date" ) - $i18n.getString( "due_date" )</option>
- </select>
- </td>
- </tr>
- </table>
- </div>
-</div>
-
-<p></p>
-<table width='100%'>
- <tr>
- <td>
- <input type='button' class="small-button" onclick='insertOperator( "(" );' value="(" />
- <input type='button' class="small-button" onclick='insertOperator( ")" );' value=")" />
- <input type='button' class="small-button" onclick='insertOperator( "<" );' value="<" />
- <input type='button' class="small-button" onclick='insertOperator( "<=" );' value="<=" />
- <input type='button' class="small-button" onclick='insertOperator( ">" );' value=">" />
- <input type='button' class="small-button" onclick='insertOperator( ">=" );' value=">=" />
- <input type='button' class="small-button" onclick='insertOperator( "=" );' value="=" />
- <input type='button' class="small-button" onclick='insertOperator( "!=" );' value="!=" />
- <span style='padding-left:10px'>
- <input type='button' class="nornal-button" onclick='insertBoolValue( "true" );' value="$i18n.getString( 'yes' )" />
- <input type='button' class="nornal-button" onclick='insertBoolValue( "false" );' value="$i18n.getString( 'no' )" />
- <input type='button' class="nornal-button" onclick='insertOperator( "is null" );' value="==NULL" />
- <input type='button' class="nornal-button" onclick='insertOperator( "is not null" );' value="!=NULL" />
- <input type='button' style="width:100px;" onclick='insertOperator( "current_date" );' value="$i18n.getString('current_date')" />
- </span>
- <br><br>
- <span>
- <input type='button' class="nornal-button" onclick='insertOperator( "AND" );' value="$i18n.getString( 'and_operator' )" />
- <input type='button' class="nornal-button" onclick='insertOperator( "OR" );' value="$i18n.getString( 'or_operator' )" />
- <input type='button' style="width:100px;" onclick='insertOperator( "DATEDIFF( , ) " );' value="$i18n.getString('date_diff')" />
- <input type='button' style="width:100px;" onclick='insertOperator( "COMBINE" );' value="$i18n.getString( 'combine_operator' )" />
- |<input type='button' class="nornal-button" alt="$i18n.getString( 'clear' )" onclick="byId('aggregationCondition').value='';" value="$i18n.getString('clear')" />
- </span>
- </td>
- </tr>
- </tbody>
- <tr>
- <td>
- <fieldset>
- <legend>$i18n.getString( "condition" ) <em title="$i18n.getString( 'required' )" class="required">*</em></legend>
- <table style="width:100%"><tr><td>
- <textarea id="aggregationCondition" name="aggregationCondition" onkeyup='getConditionDescription();' maxlength="1000" style="width:100%">$!encoder.htmlEncode($caseAggregation.aggregationExpression)</textarea>
- </td></tr></table>
- </fieldset>
- </td>
- </tr>
-
- <tr>
- <td>
- <fieldset>
- <legend>$i18n.getString( "description" )</legend>
- <div id='aggregationDescription'>$!encoder.htmlEncode($description)</div>
- </fieldset>
- </td>
- </tr>
-</table>
-
-<script type="text/javascript">
- var i18n_please_select = '[' + '$encoder.jsEscape( $i18n.getString( "please_select" ) , "'") ' + ']';
-</script>
-
=== removed file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/addCaseAggregationForm.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/addCaseAggregationForm.js 2014-08-06 15:20:54 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/addCaseAggregationForm.js 1970-01-01 00:00:00 +0000
@@ -1,13 +0,0 @@
-jQuery(document).ready( function(){
-
- validation2( 'addCaseAggregationForm', function( form )
- {
- form.submit();
- },{
- 'rules' : getValidationRules( "caseAggregation" )
- });
-
- jQuery("#tabs").tabs();
- checkValueIsExist( "aggregationDataElementId", "validateCaseAggregation.action");
- byId('name').focus();
-});
\ No newline at end of file
=== removed file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/caseaggregation.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/caseaggregation.js 2015-09-03 08:15:09 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/caseaggregation.js 1970-01-01 00:00:00 +0000
@@ -1,614 +0,0 @@
-//------------------------------------------------------------------------------
-// Get dataelements by dataset
-//------------------------------------------------------------------------------
-
-function getDataElementsByDataset() {
- var dataSets = document.getElementById('dataSets');
- var dataSetId = dataSets.options[dataSets.selectedIndex].value;
- setFieldValue('aggregationDataElementId', '');
- setFieldValue('aggregationDataElementInput', '');
-
- if( dataSetId == "" ) {
- disable('dataElementsButton');
- setFieldValue('aggregationDataElementInput', '');
- return;
- }
- autoCompletedField();
-}
-
-function autoCompletedField() {
- $("#dataElementsButton").unbind('click');
- enable('dataElementsButton');
-
- var input = jQuery("#aggregationDataElementInput")
- .autocomplete({
- delay: 0,
- minLength: 0,
- source: function(request, response) {
- $.ajax({
- url: "getDataElementsByDataset.action?id=" + getFieldValue('dataSets') + "&query=" + input.val(),
- dataType: "json",
- success: function(data) {
- response($.map(data.dataElements, function(item) {
- return {
- label: item.name,
- id: item.id
- };
- }));
- }
- });
- },
- select: function(event, ui) {
- input.val(ui.item.value);
- setFieldValue('aggregationDataElementId', ui.item.id);
- input.autocomplete("close");
- },
- change: function(event, ui) {
- if( !ui.item ) {
- var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex($(this).val()) + "$", "i"),
- valid = false;
- select.children("option").each(function() {
- if( $(this).text().match(matcher) ) {
- this.selected = valid = true;
- return false;
- }
- });
- if( !valid ) {
- // remove invalid value, as it didn't match anything
- $(this).val("");
- select.val("");
- input.data("uiAutocomplete").term = "";
- return false;
- }
- }
- }
- }).addClass("ui-widget");
-
- input.data("uiAutocomplete")._renderItem = function(ul, item) {
- return $("<li></li>")
- .data("item.autocomplete", item)
- .append("<a>" + item.label + "</a>")
- .appendTo(ul);
- };
-
- var wrapper = this.wrapper = $("<span style='width:200px'>")
- .addClass("ui-combobox")
- .insertAfter(input);
-
- var button = $("#dataElementsButton")
- .attr("tabIndex", -1)
- .attr("title", i18n_show_all_items)
- .appendTo(wrapper)
- .button({
- icons: {
- primary: "ui-icon-triangle-1-s"
- },
- text: false
- })
- .click(function() {
- // close if already visible
- if( input.autocomplete("widget").is(":visible") ) {
- input.autocomplete("close");
- return;
- }
- // work around a bug (likely same cause as #5265)
- $(this).blur();
- // pass empty string as value to search for, displaying all results
- input.autocomplete("search", "");
- input.focus();
- });
-}
-
-//------------------------------------------------------------------------------
-// Get Program Stages
-//------------------------------------------------------------------------------
-
-function getParams() {
- clearListById('programStageId');
- clearListById('dataElements');
- clearListById('caseProperty');
- var programId = getFieldValue('programId');
- if( programId == '' ) {
- disable('programProperty');
- disable('programStageProperty');
- }
-
- if( jQuery('#programId option:selected').attr('programType') == 3 ) {
- jQuery("[name=multiProgram]").remove();
- if( jQuery("[value=times]").attr('checked') != undefined
- && jQuery("[value=times]").attr('checked') != 'true' ) {
- jQuery("[value=times]").attr('checked', true);
- }
- }
-
- jQuery.getJSON('getParamsByProgram.action', { programId: programId }
- , function(json) {
- enable('programProperty');
- var programstage = jQuery('#programStageId');
-
- for( i in json.programStages ) {
- var id = json.programStages[i].id;
- var formularId = "[PS:" + id + "]";
- var name = json.programStages[i].name;
-
- programstage.append("<option value='" + id + "' title='" + name + "'>" + name + "</option>");
- }
-
- if( json.programStages.length > 1 ) {
- programstage.prepend("<option value='' title='" + i18n_all + "'>" + i18n_all + "</option>");
- }
- byId('programStageId').options[0].selected = true;
- getTrackedEntityDataElements();
-
- clearListById('caseProperty');
- clearListById('casePropertyBackups');
- var type = jQuery('#programId option:selected').attr('programType');
- if( type != '3' ) {
- var caseProperty = jQuery('#caseProperty');
- var casePropertyBackups = jQuery('#casePropertyBackups');
- for( i in json.attributes ) {
- var id = json.attributes[i].id;
- var name = json.attributes[i].name;
- var optionSet = json.attributes[i].optionSet;
-
- caseProperty.append("<option value='" + id + "' title='" + name + "' optionSet='" + optionSet + "'>" + name + "</option>");
- casePropertyBackups.append("<option value='" + id + "' title='" + name + "' optionSet='" + optionSet + "'>" + name + "</option>");
- }
- }
- });
-}
-
-function getProgramStages() {
- var programId = getFieldValue('orgunitProgramId');
- if( programId == '' ) return;
-
- clearListById('orgunitProgramStageId');
-
- jQuery.getJSON('getProgramStages.action', { id: programId }
- , function(json) {
- enable('programProperty');
- var programstage = jQuery('#orgunitProgramStageId');
-
- for( i in json.programStages ) {
- var id = json.programStages[i].id;
- var formularId = "[PSIC:" + id + "]";
- var name = json.programStages[i].name;
-
- programstage.append("<option value='" + formularId + "' title='" + name + "'>" + name + "</option>");
- }
- });
-}
-
-//------------------------------------------------------------------------------
-// Get DataElements of Program-Stage
-//------------------------------------------------------------------------------
-
-function getTrackedEntityDataElements() {
- clearListById('dataElements');
- clearListById('dataElementBackups');
- clearListById('deSumId');
- var programStageId = getFieldValue('programStageId');
-
- jQuery.getJSON('getTrackedEntityDataElements.action',
- {
- programId: getFieldValue('programId'),
- programStageId: programStageId
- }
- , function(json) {
- if( programStageId != '' ) {
- enable('programStageProperty');
- }
- else {
- disable('programStageProperty');
- }
-
- var dataElements = jQuery('#dataElements');
- var dataElementBackups = jQuery('#dataElementBackups');
- clearListById('dataElements');
- clearListById('dataElementBackups');
- var deSumId = jQuery('#deSumId');
- deSumId.append("<option value='' >" + i18n_please_select + "</option>");
- for( i in json.dataElements ) {
- var id = json.dataElements[i].localid;
- dataElements.append("<option value='" + id + "' title='" + json.dataElements[i].name + "' dename='" + json.dataElements[i].name + "' decode='" + json.dataElements[i].code + "' optionSet='" + json.dataElements[i].optionset + "' valuetype='" + json.dataElements[i].type + "'>" + json.dataElements[i].name + "</option>");
- dataElementBackups.append("<option value='" + id + "' title='" + json.dataElements[i].name + "' dename='" + json.dataElements[i].name + "' decode='" + json.dataElements[i].code + "' optionSet='" + json.dataElements[i].optionset + "' valuetype='" + json.dataElements[i].type + "'>" + json.dataElements[i].name + "</option>");
- if( json.dataElements[i].type == 'int' ) {
- deSumId.append("<option value='" + id + "' title='" + json.dataElements[i].name + "' optionSet='" + json.dataElements[i].optionset + "' valuetype='" + json.dataElements[i].type + "'>" + json.dataElements[i].name + "</option>");
- }
- }
-
- });
-}
-
-//-----------------------------------------------------------------
-// Insert items into Condition
-//-----------------------------------------------------------------
-
-function insertDataElement(element) {
- var progamId = getFieldValue('programId');
- var programStageId = getFieldValue('programStageId');
- programStageId = ( programStageId == "" ) ? "*" : programStageId;
- var dataElementId = element.options[element.selectedIndex].value;
-
- insertTextCommon('aggregationCondition', "[DE:" + progamId + "." + programStageId + "." + dataElementId + "]");
- getConditionDescription();
-}
-
-function insertInfo(element, isProgramStageProperty) {
- var id = "";
- if( isProgramStageProperty ) {
- id = getFieldValue('programStageId');
- }
- else {
- id = getFieldValue('programId');
- }
-
- value = element.options[element.selectedIndex].value.replace('*', id);
- insertTextCommon('aggregationCondition', value);
- getConditionDescription();
-}
-
-function insertOperator(value) {
- insertTextCommon('aggregationCondition', ' ' + value + ' ');
- getConditionDescription();
-}
-
-function insertBoolValue(value) {
- insertTextCommon("aggregationCondition", " ='" + value + "' ");
- getConditionDescription();
-}
-
-// -----------------------------------------------------------------------------
-// Remove Case Aggregation Condition
-// -----------------------------------------------------------------------------
-
-function removeCaseAggregation(context) {
- removeItem(context.id, context.name, i18n_confirm_delete, 'removeCaseAggregation.action');
-}
-
-// -----------------------------------------------------------------------------
-// View details
-// -----------------------------------------------------------------------------
-
-function showUpdateCaseAggregationForm(context) {
- location.href = 'showUpdateCaseAggregationForm.action?id=' + context.id;
-}
-
-function showCaseAggregationDetails(context) {
- jQuery.getJSON('getCaseAggregation.action', { id: context.id }, function(json) {
- setInnerHTML('nameField', json.caseAggregation.name);
- setInnerHTML('operatorField', json.caseAggregation.operator);
- setInnerHTML('aggregationDataElementField', json.caseAggregation.aggregationDataElement);
- setInnerHTML('optionComboField', json.caseAggregation.optionCombo);
- setInnerHTML('aggregationExpressionField', json.caseAggregation.aggregationExpression);
- setInnerHTML('deSumField', json.caseAggregation.deSum);
- setInnerHTML('idField', json.caseAggregation.uid);
- showDetails();
- });
-}
-
-// -----------------------------------------------------------------------------
-// View details
-// -----------------------------------------------------------------------------
-
-function getConditionDescription() {
- $.postUTF8('getCaseAggregationDescription.action',
- {
- condition: getFieldValue('aggregationCondition')
- }, function(data) {
- byId('aggregationDescription').innerHTML = data;
- }, 'html');
-}
-
-// -----------------------------------------------------------------------------
-// Test condition
-// -----------------------------------------------------------------------------
-
-function testCaseAggregationCondition() {
- var operator = jQuery('[name=operator]:checked').val();
- $.postUTF8('testCaseAggregationCondition.action',
- {
- condition: getFieldValue('aggregationCondition'),
- deSumId: getFieldValue('deSumId'),
- operator: operator
- }, function(json) {
- var type = json.response;
-
- if( type == "input" ) {
- showWarningMessage(i18n_run_fail);
- }
- else {
- showSuccessMessage(i18n_run_success);
- }
- });
-}
-
-function getoptionSetValues(sourceId, targetId) {
- clearListById(targetId);
-
- var optionSetValues = jQuery('select[id=' + sourceId + '] option:selected').attr('TRACKER_ASSOCIATE');
- if( optionSetValues ) {
- var arrValues = new Array();
- arrValues = optionSetValues.replace(/[//[]+/g, '').replace(/]/g, '').split(', ');
-
- var optionSetValueSelector = byId(targetId);
- for( var i = 0; i < arrValues.length; i++ ) {
- var option = document.createElement("option");
- var value = jQuery.trim(arrValues[i]);
- option.value = "'" + value + "'";
- option.text = value;
- option.title = value;
-
- optionSetValueSelector.add(option, null);
- }
- }
-}
-
-function insertSingleValue(elementId) {
- var element = byId(elementId);
- insertTextCommon('aggregationCondition', "=" + element.options[element.selectedIndex].value);
- getConditionDescription();
-}
-
-function insertMultiValues(elementId) {
- var list = jQuery('select[id=' + elementId + '] option')
- if( list.length == 0 ) {
- return;
- }
- if( list.length > 1 ) {
- var selectedValues = "";
- list.each(function() {
- selectedValues += jQuery(this).val() + ", ";
- });
- selectedValues = " IN @ " + selectedValues.substring(0, selectedValues.length - 2) + " #";
-
- insertTextCommon('aggregationCondition', selectedValues);
- getConditionDescription();
- }
- else {
- insertSingleValue(elementId);
- }
-}
-
-function getCaseAggConditionByDataset() {
- $.get('getCaseAggConditionByDataset.action',
- {
- dataSetId: getFieldValue('dataSetId'),
- key: getFieldValue('key')
- }
- , function(html) {
- setInnerHTML('list', html);
- setTableStyles();
- });
-}
-
-function showAddCaseAggregationForm() {
- window.location.href = 'showAddCaseAggregationForm.action?dataSetId=' + getFieldValue('dataSetId');
-}
-
-function operatorOnchange(operator) {
- if( operator == 'sum' || operator == 'avg'
- || operator == 'min' || operator == 'max' ) {
- enable('deSumId');
- }
- else {
- disable('deSumId');
- }
-}
-
-function filterDataElement(event, value, fieldName, backupFieldsName) {
- // Remove all options in data element fields
- var field = jQuery('#' + fieldName + " option ").remove();
- var valueType = getFieldValue('deValueType');
-
- jQuery('#' + backupFieldsName + " option ").each(function() {
- var option = jQuery(this);
- if( valueType == '' || valueType == option.attr('valueType') ) {
- if( value.length == 0 ) {
- jQuery('#' + fieldName).append("<option value='" + option.attr('value') + "' title='" + option.text() + "' optionSet='" + option.attr('optionSet') + "' valueType='" + option.attr('valueType') + "'>" + option.text() + "</option>");
- }
- else if( option.text().toLowerCase().indexOf(value.toLowerCase()) != -1 ) {
- jQuery('#' + fieldName).append("<option value='" + option.attr('value') + "' title='" + option.text() + "' optionSet='" + option.attr('optionSet') + "' valueType='" + option.attr('valueType') + "'>" + option.text() + "</option>");
- }
- }
- });
-
-}
-
-function filterAttribute(event, value, fieldName, backupFieldsName) {
- // Remove all options in data element fields
- var field = jQuery('#' + fieldName + " option ").remove();
- jQuery('#' + backupFieldsName + " option ").each(function() {
- var option = jQuery(this);
- if( option.text().toLowerCase().indexOf(value.toLowerCase()) != -1 ) {
- jQuery('#' + fieldName).append("<option value='" + option.attr('value') + "' title='" + option.attr('value') + "' optionSet='" + option.attr('optionSet') + "' >" + option.text() + "</option>");
- }
- });
-}
-
-function sortByOnChange(sortBy) {
- if( sortBy == 1 ) {
- jQuery('#dataElements').each(function() {
-
- // Keep track of the selected option.
- var selectedValue = $(this).val();
-
- // sort it out
- $(this).html($("option", $(this)).sort(function(a, b) {
- return $(a).attr('dename') == $(b).attr('dename') ? 0 : $(a).attr('dename') < $(b).attr('dename') ? -1 : 1
- }));
-
- // Select one option.
- $(this).val(selectedValue);
-
- });
- }
- else {
- jQuery('#dataElements').each(function() {
-
- // Keep track of the selected option.
- var selectedValue = $(this).val();
-
- // sort it out
- $(this).html($("option", $(this)).sort(function(a, b) {
- return $(a).attr('decode') == $(b).attr('decode') ? 0 : $(a).attr('decode') < $(b).attr('decode') ? -1 : 1
- }));
-
- // Select one option.
- $(this).val(selectedValue);
-
- });
- }
-}
-
-function displayNameOnChange(displayName) {
- // display - name
- if( displayName == '1' ) {
- jQuery('#dataElements option').each(function() {
- var item = jQuery(this);
- item[0].text = item.attr('dename');
- item[0].title = item[0].text;
- });
- jQuery('#dataElementBackups option').each(function() {
- var item = jQuery(this);
- item[0].text = item.attr('dename');
- });
- }
- // display - code
- else if( displayName == '2' ) {
- jQuery('#dataElements option').each(function() {
- var item = jQuery(this);
- item[0].text = item.attr('decode');
- item[0].title = item[0].text;
- });
- jQuery('#dataElementBackups option').each(function() {
- var item = jQuery(this);
- item[0].text = item.attr('decode');
- });
- }
- // display - code and name
- else {
- jQuery('#dataElements option').each(function() {
- var item = jQuery(this);
- item[0].text = "(" + item.attr('decode') + ") " + item.attr('dename');
- item[0].title = item[0].text;
- });
- jQuery('#dataElementBackups option').each(function() {
- var item = jQuery(this);
- item[0].text = "(" + item.attr('decode') + ") " + item.attr('dename');
- });
- }
-}
-
-function cancelOnClick() {
- var dataSetId = getFieldValue("dataSets");
- window.location.href = 'caseAggregation.action?dataSetId=' + dataSetId;
-}
-
-function attributeAutocompletedField(idField, optionSetUid, btnId, optionId) {
- $("#" + btnId).unbind('click');
- enable(btnId);
- var input = jQuery("#" + idField);
- var select = jQuery("#attributeId");
- input.autocomplete({
- delay: 0,
- minLength: 0,
- source: function(request, response) {
- $.ajax({
- url: "getOptions.action?id=" + optionSetUid + "&query=" + input.val(),
- dataType: "json",
- success: function(data) {
- response($.map(data.options, function(item) {
- return {
- label: item.n,
- id: item.c
- };
- }));
- }
- });
- },
- select: function(event, ui) {
- input.val(ui.item.label);
- jQuery("#" + optionId).append("<option value='" + ui.item.id + "'>" + ui.item.label + "</option>");
- input.autocomplete("close");
-
- return false;
- },
- change: function(event, ui) {
- if( !ui.item ) {
- var matcher = new RegExp("^" + $.ui.autocomplete.escapeRegex($(this).val()) + "$", "i"),
- valid = false;
- select.children("option").each(function() {
- if( $(this).text().match(matcher) ) {
- this.selected = valid = true;
- return false;
- }
- });
- if( !valid ) {
- // remove invalid value, as it didn't match anything
- $(this).val("");
- select.val("");
- input.data("uiAutocomplete").term = "";
- return false;
- }
- }
- }
- }).addClass("ui-widget");
-
- input.data("uiAutocomplete")._renderItem = function(ul, item) {
- return $("<li></li>")
- .data("item.autocomplete", item)
- .append("<a>" + item.label + "</a>")
- .appendTo(ul);
- };
-
- var wrapper = this.wrapper = $("<span style='width:200px'>")
- .addClass("ui-combobox")
- .insertAfter(input);
-
- var button = $("#" + btnId)
- .attr("tabIndex", -1)
- .attr("title", i18n_show_all_items)
- .appendTo(wrapper)
- .button({
- icons: {
- primary: "ui-icon-triangle-1-s"
- },
- text: false
- })
- .click(function() {
- // close if already visible
- if( input.autocomplete("widget").is(":visible") ) {
- input.autocomplete("close");
- return;
- }
- // work around a bug (likely same cause as #5265)
- $(this).blur();
- // pass empty string as value to search for, displaying all results
- input.autocomplete("search", "");
- input.focus();
- });
-}
-
-function split(val) {
- return val.split(/,\s*/);
-}
-
-function getSuggestedValues(_this, suggestedField, btnId, optionId) {
- clearListById(optionId);
- var field = jQuery('#' + suggestedField);
- var option = jQuery("#" + _this.id + " option:selected");
- if( option.attr('optionset') != "" ) {
- attributeAutocompletedField(suggestedField, option.attr('optionset'), btnId, optionId);
- enable(suggestedField);
- jQuery('#' + btnId).css("display", "");
- }
- else {
- disable(suggestedField);
- jQuery('#' + btnId).css("display", "none");
- }
-}
-
-function removeOption(elementId) {
- jQuery('#' + elementId + ' option:selected').remove();
-}
=== removed file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/updateCaseAggregationForm.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/updateCaseAggregationForm.js 2014-08-06 15:20:54 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-program/src/main/webapp/dhis-web-maintenance-program/javascript/updateCaseAggregationForm.js 1970-01-01 00:00:00 +0000
@@ -1,15 +0,0 @@
-jQuery(document).ready( function(){
-
- validation2( 'updateCaseAggregationForm', function( form )
- {
- form.submit();
- },{
- 'rules' : getValidationRules( "caseAggregation" )
- });
-
- checkValueIsExist( "aggregationDataElementId", "validateCaseAggregation.action", {id:getFieldValue('id')});
-
- byId('name').focus();
- jQuery("#tabs").tabs();
-
-});
\ No newline at end of file