dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #03252
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1089: Simplified some methods in DataMartStore.
------------------------------------------------------------
revno: 1089
committer: Lars Helge Oeverland larshelge@xxxxxxxxx
branch nick: trunk
timestamp: Mon 2009-11-23 16:39:31 +0100
message:
Simplified some methods in DataMartStore.
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/datamart/DataMartStore.java
dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/jdbc/JdbcDataMartStore.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java
--
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.
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/datamart/DataMartStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/datamart/DataMartStore.java 2009-11-23 15:23:56 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/datamart/DataMartStore.java 2009-11-23 15:39:31 +0000
@@ -34,11 +34,11 @@
import org.hisp.dhis.aggregation.AggregatedIndicatorValue;
import org.hisp.dhis.aggregation.AggregatedMapValue;
import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOption;
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
import org.hisp.dhis.dataelement.Operand;
import org.hisp.dhis.datavalue.DataValue;
import org.hisp.dhis.datavalue.DeflatedDataValue;
+import org.hisp.dhis.dimension.DimensionOption;
import org.hisp.dhis.indicator.Indicator;
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.period.Period;
@@ -51,8 +51,6 @@
{
String ID = DataMartStore.class.getName();
- final double NO_VALUES_REGISTERED = -1;
-
// ----------------------------------------------------------------------
// AggregatedDataValue
// ----------------------------------------------------------------------
@@ -65,19 +63,18 @@
* @param organisationUnit The OrganisationUnit.
* @return the aggregated value.
*/
- Double getTotalAggregatedValue( DataElement dataElement, Period period, OrganisationUnit organisationUnit );
+ Double getAggregatedValue( DataElement dataElement, Period period, OrganisationUnit organisationUnit );
/**
* Gets the total aggregated value from the datamart table for the given parameters.
*
* @param dataElement The DataElement.
- * @param categoryOption the DataElementCategoryOption.
+ * @param dimensionOptionElement the DimensionOptionElement.
* @param period The Period.
* @param organisationUnit The OrganisationUnit.
* @return the aggregated value.
*/
- Double getTotalAggregatedValue( final DataElement dataElement,
- final DataElementCategoryOption categoryOption, final Period period, final OrganisationUnit organisationUnit );
+ Double getAggregatedValue( DataElement dataElement, DimensionOption dimensionOption, Period period, OrganisationUnit organisationUnit );
/**
* Gets the aggregated value from the datamart table for the given parameters.
@@ -88,7 +85,7 @@
* @param organisationUnit The OrganisationUnit.
* @return the aggregated value, or -1 if no value exists.
*/
- double getAggregatedValue( DataElement dataElement, DataElementCategoryOptionCombo categoryOptionCombo, Period period, OrganisationUnit organisationUnit );
+ Double getAggregatedValue( DataElement dataElement, DataElementCategoryOptionCombo categoryOptionCombo, Period period, OrganisationUnit organisationUnit );
/**
* Gets a collection of AggregatedDataValues.
@@ -131,7 +128,7 @@
* @param organisationUnit The OrganisationUnit.
* @return the aggregated value, or -1 if no value exists.
*/
- double getAggregatedValue( Indicator indicator, Period period, OrganisationUnit unit );
+ Double getAggregatedValue( Indicator indicator, Period period, OrganisationUnit unit );
/**
* Gets a collection of AggregatedIndicatorValues.
=== modified file 'dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/jdbc/JdbcDataMartStore.java'
--- dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/jdbc/JdbcDataMartStore.java 2009-11-23 15:23:56 +0000
+++ dhis-2/dhis-services/dhis-service-datamart-default/src/main/java/org/hisp/dhis/datamart/jdbc/JdbcDataMartStore.java 2009-11-23 15:39:31 +0000
@@ -43,13 +43,13 @@
import org.hisp.dhis.aggregation.AggregatedIndicatorValue;
import org.hisp.dhis.aggregation.AggregatedMapValue;
import org.hisp.dhis.dataelement.DataElement;
-import org.hisp.dhis.dataelement.DataElementCategoryOption;
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
import org.hisp.dhis.dataelement.Operand;
import org.hisp.dhis.datamart.CrossTabDataValue;
import org.hisp.dhis.datamart.DataMartStore;
import org.hisp.dhis.datavalue.DataValue;
import org.hisp.dhis.datavalue.DeflatedDataValue;
+import org.hisp.dhis.dimension.DimensionOption;
import org.hisp.dhis.indicator.Indicator;
import org.hisp.dhis.jdbc.StatementBuilder;
import org.hisp.dhis.organisationunit.OrganisationUnit;
@@ -99,7 +99,7 @@
// AggregatedDataValue
// -------------------------------------------------------------------------
- public Double getTotalAggregatedValue( DataElement dataElement, Period period, OrganisationUnit organisationUnit )
+ public Double getAggregatedValue( DataElement dataElement, Period period, OrganisationUnit organisationUnit )
{
final String sql =
"SELECT " + functionMap.get( dataElement.getAggregationOperator() ) + "(value) " +
@@ -111,10 +111,11 @@
return statementManager.getHolder().queryForDouble( sql );
}
- public Double getTotalAggregatedValue( DataElement dataElement,
- DataElementCategoryOption categoryOption, Period period, OrganisationUnit organisationUnit )
+ public Double getAggregatedValue( DataElement dataElement, DimensionOption dimensionOption, Period period, OrganisationUnit organisationUnit )
{
- String ids = getCommaDelimitedString( getIdentifiers( DataElementCategoryOptionCombo.class, categoryOption.getCategoryOptionCombos() ) );
+ // Assuming dimension type CATEGORY for now
+
+ String ids = getCommaDelimitedString( getIdentifiers( DataElementCategoryOptionCombo.class, dimensionOption.getDimensionOptionElements() ) );
final String sql =
"SELECT " + functionMap.get( dataElement.getAggregationOperator() ) + "(value)" +
@@ -127,33 +128,18 @@
return statementManager.getHolder().queryForDouble( sql );
}
- public double getAggregatedValue( DataElement dataElement,
+ public Double getAggregatedValue( DataElement dataElement,
DataElementCategoryOptionCombo categoryOptionCombo, Period period, OrganisationUnit organisationUnit )
{
- final StatementHolder holder = statementManager.getHolder();
+ final String sql =
+ "SELECT value " +
+ "FROM aggregateddatavalue " +
+ "WHERE dataelementid = " + dataElement.getId() + " " +
+ "AND categoryoptioncomboid = " + categoryOptionCombo.getId() + " " +
+ "AND periodid = " + period.getId() + " " +
+ "AND organisationunitid = " + organisationUnit.getId();
- try
- {
- final String sql =
- "SELECT value " +
- "FROM aggregateddatavalue " +
- "WHERE dataelementid = " + dataElement.getId() + " " +
- "AND categoryoptioncomboid = " + categoryOptionCombo.getId() + " " +
- "AND periodid = " + period.getId() + " " +
- "AND organisationunitid = " + organisationUnit.getId();
-
- final ResultSet resultSet = holder.getStatement().executeQuery( sql );
-
- return resultSet.next() ? resultSet.getDouble( 1 ) : -1;
- }
- catch ( SQLException ex )
- {
- throw new RuntimeException( "Failed to get aggregated data value", ex );
- }
- finally
- {
- holder.close();
- }
+ return statementManager.getHolder().queryForDouble( sql );
}
public Collection<AggregatedDataValue> getAggregatedDataValues( int dataElementId,
@@ -206,31 +192,16 @@
// AggregatedIndicatorValue
// -------------------------------------------------------------------------
- public double getAggregatedValue( Indicator indicator, Period period, OrganisationUnit organisationUnit )
+ public Double getAggregatedValue( Indicator indicator, Period period, OrganisationUnit organisationUnit )
{
- final StatementHolder holder = statementManager.getHolder();
+ final String sql =
+ "SELECT value " +
+ "FROM aggregatedindicatorvalue " +
+ "WHERE indicatorid = " + indicator.getId() + " " +
+ "AND periodid = " + period.getId() + " " +
+ "AND organisationunitid = " + organisationUnit.getId();
- try
- {
- final String sql =
- "SELECT value " +
- "FROM aggregatedindicatorvalue " +
- "WHERE indicatorid = " + indicator.getId() + " " +
- "AND periodid = " + period.getId() + " " +
- "AND organisationunitid = " + organisationUnit.getId();
-
- final ResultSet resultSet = holder.getStatement().executeQuery( sql );
-
- return resultSet.next() ? resultSet.getDouble( 1 ) : -1;
- }
- catch ( SQLException ex )
- {
- throw new RuntimeException( "Failed to get aggregated indicator value", ex );
- }
- finally
- {
- holder.close();
- }
+ return statementManager.getHolder().queryForDouble( sql );
}
public Collection<AggregatedIndicatorValue> getAggregatedIndicatorValues( Collection<Integer> periodIds, Collection<Integer> organisationUnitIds )
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.java 2009-06-19 09:00:57 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.java 2009-11-23 15:39:31 +0000
@@ -299,13 +299,13 @@
for ( Period period : chart.getPeriods() )
{
- final double value = dataMartStore.getAggregatedValue( indicator, period, selectedOrganisationUnit );
+ final Double value = dataMartStore.getAggregatedValue( indicator, period, selectedOrganisationUnit );
- regularDataSet.addValue( value != -1 ? value : 0, indicator.getShortName(), chart.getFormat().formatPeriod( period ) );
+ regularDataSet.addValue( value != null ? value : 0, indicator.getShortName(), chart.getFormat().formatPeriod( period ) );
columnIndex++;
- if ( value != -1.0 && value != 0.0 ) // Omit missing values and 0 from regression
+ if ( value != null && value != 0.0 ) // Omit missing values and 0 from regression
{
regression.addData( columnIndex, value );
}
@@ -338,9 +338,9 @@
for ( OrganisationUnit unit : chart.getOrganisationUnits() )
{
- final double value = dataMartStore.getAggregatedValue( indicator, selectedPeriod, unit );
+ final Double value = dataMartStore.getAggregatedValue( indicator, selectedPeriod, unit );
- regularDataSet.addValue( value != -1 ? value : 0, indicator.getShortName(), unit.getShortName() );
+ regularDataSet.addValue( value != null ? value : 0, indicator.getShortName(), unit.getShortName() );
columnIndex++;
}
=== modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java'
--- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java 2009-11-21 16:57:39 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/impl/DefaultReportTableService.java 2009-11-23 15:39:31 +0000
@@ -662,10 +662,10 @@
for ( DimensionOption dimensionOption : reportTable.getDimensionOptions() )
{
grid.addValue( String.valueOf( dataMartStore.
- getTotalAggregatedValue( (DataElement) metaObject, (DataElementCategoryOption) dimensionOption, period, unit ) ) );
+ getAggregatedValue( (DataElement) metaObject, dimensionOption, period, unit ) ) );
}
- grid.addValue( String.valueOf( dataMartStore.getTotalAggregatedValue( (DataElement) metaObject, period, unit ) ) );
+ grid.addValue( String.valueOf( dataMartStore.getAggregatedValue( (DataElement) metaObject, period, unit ) ) );
}
}
}