dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #31592
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 16125: Equals, hashcode and tostring for TrackedEntityAttributeDimension and TrackedEntityDataElementDim...
------------------------------------------------------------
revno: 16125
committer: Lars Helge Overland <larshelge@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2014-07-15 01:08:26 +0200
message:
Equals, hashcode and tostring for TrackedEntityAttributeDimension and TrackedEntityDataElementDimension
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeDimension.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityDataElementDimension.java
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryParams.java
dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java
dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.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/common/BaseAnalyticalObject.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java 2014-07-14 22:09:24 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java 2014-07-14 23:08:26 +0000
@@ -785,6 +785,8 @@
dataElementGroups.clear();
organisationUnitGroups.clear();
categoryOptionGroups.clear();
+ attributeDimensions.clear();
+ dataElementDimensions.clear();
userOrganisationUnit = false;
userOrganisationUnitChildren = false;
userOrganisationUnitGrandChildren = false;
@@ -1004,8 +1006,8 @@
@JsonProperty
@JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlElementWrapper( localName = "attributeDimensions", namespace = DxfNamespaces.DXF_2_0 )
- @JacksonXmlProperty( localName = "attributeDimension", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlElementWrapper( localName = "dataElementDimensions", namespace = DxfNamespaces.DXF_2_0 )
+ @JacksonXmlProperty( localName = "dataElementDimension", namespace = DxfNamespaces.DXF_2_0 )
public List<TrackedEntityDataElementDimension> getDataElementDimensions()
{
return dataElementDimensions;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeDimension.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeDimension.java 2014-07-14 22:09:24 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityAttributeDimension.java 2014-07-14 23:08:26 +0000
@@ -86,7 +86,56 @@
{
return attribute != null ? attribute.getDisplayName() : null;
}
-
+
+ @Override
+ public String toString()
+ {
+ return "[Id: " + id + ", attribute: " + attribute + ", filter: " + filter + "]";
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = id;
+ result = 31 * result + (attribute != null ? attribute.hashCode() : 0);
+ result = 31 * result + (filter != null ? filter.hashCode() : 0);
+
+ return result;
+ }
+
+ @Override
+ public boolean equals( Object o )
+ {
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( o == null )
+ {
+ return false;
+ }
+
+ if ( !getClass().isAssignableFrom( o.getClass() ) )
+ {
+ return false;
+ }
+
+ final TrackedEntityAttributeDimension other = (TrackedEntityAttributeDimension) o;
+
+ if ( attribute != null ? !attribute.equals( other.attribute ) : other.attribute != null )
+ {
+ return false;
+ }
+
+ if ( filter != null ? !filter.equals( other.filter ) : other.filter != null )
+ {
+ return false;
+ }
+
+ return true;
+ }
+
// -------------------------------------------------------------------------
// Getters and setters
// -------------------------------------------------------------------------
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityDataElementDimension.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityDataElementDimension.java 2014-07-14 22:09:24 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/trackedentity/TrackedEntityDataElementDimension.java 2014-07-14 23:08:26 +0000
@@ -32,7 +32,6 @@
import org.hisp.dhis.common.DxfNamespaces;
import org.hisp.dhis.common.view.DetailedView;
import org.hisp.dhis.common.view.ExportView;
-
import org.hisp.dhis.dataelement.DataElement;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -89,6 +88,55 @@
return dataElement != null ? dataElement.getDisplayName() : null;
}
+ @Override
+ public String toString()
+ {
+ return "[Id: " + id + ", data element: " + dataElement + ", filter: " + filter + "]";
+ }
+
+ @Override
+ public int hashCode()
+ {
+ int result = id;
+ result = 31 * result + (dataElement != null ? dataElement.hashCode() : 0);
+ result = 31 * result + (filter != null ? filter.hashCode() : 0);
+
+ return result;
+ }
+
+ @Override
+ public boolean equals( Object o )
+ {
+ if ( this == o )
+ {
+ return true;
+ }
+
+ if ( o == null )
+ {
+ return false;
+ }
+
+ if ( !getClass().isAssignableFrom( o.getClass() ) )
+ {
+ return false;
+ }
+
+ final TrackedEntityDataElementDimension other = (TrackedEntityDataElementDimension) o;
+
+ if ( dataElement != null ? !dataElement.equals( other.dataElement ) : other.dataElement != null )
+ {
+ return false;
+ }
+
+ if ( filter != null ? !filter.equals( other.filter ) : other.filter != null )
+ {
+ return false;
+ }
+
+ return true;
+ }
+
// -------------------------------------------------------------------------
// Getters and setters
// -------------------------------------------------------------------------
=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryParams.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryParams.java 2014-05-10 11:18:29 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventQueryParams.java 2014-07-14 23:08:26 +0000
@@ -270,7 +270,8 @@
"End date: " + endDate + ", " +
"Items " + items + ", " +
"Item filters: " + itemFilters + ", " +
- "Dimensions " + dimensions + "]";
+ "Dimensions: " + dimensions + ", " +
+ "Filters: " + filters + "]";
}
// -------------------------------------------------------------------------
=== modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java'
--- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2014-07-13 09:53:10 +0000
+++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2014-07-14 23:08:26 +0000
@@ -32,6 +32,7 @@
import static org.hisp.dhis.analytics.AnalyticsService.OU_HIERARCHY_KEY;
import static org.hisp.dhis.common.DimensionalObject.ORGUNIT_DIM_ID;
import static org.hisp.dhis.common.DimensionalObject.PERIOD_DIM_ID;
+import static org.hisp.dhis.common.DimensionalObjectUtils.DIMENSION_NAME_SEP;
import static org.hisp.dhis.common.DimensionalObjectUtils.getDimensionFromParam;
import static org.hisp.dhis.common.DimensionalObjectUtils.getDimensionItemsFromParam;
import static org.hisp.dhis.common.DimensionalObjectUtils.toDimension;
@@ -56,7 +57,6 @@
import org.hisp.dhis.common.BaseAnalyticalObject;
import org.hisp.dhis.common.DimensionType;
import org.hisp.dhis.common.DimensionalObject;
-import org.hisp.dhis.common.DimensionalObjectUtils;
import org.hisp.dhis.common.Grid;
import org.hisp.dhis.common.GridHeader;
import org.hisp.dhis.common.IdentifiableObject;
@@ -464,7 +464,7 @@
}
else
{
- params.getItems().add( getQueryItem( dimension.getDimension() ) );
+ params.getItems().add( getQueryItem( dimension.getDimension(), dimension.getFilter() ) );
}
}
@@ -479,7 +479,7 @@
}
else
{
- params.getItemFilters().add( getQueryItem( filter.getDimension() ) );
+ params.getItemFilters().add( getQueryItem( filter.getDimension(), filter.getFilter() ) );
}
}
}
@@ -496,13 +496,23 @@
// Supportive methods
// -------------------------------------------------------------------------
- private QueryItem getQueryItem( String dimension )
- {
- String[] split = dimension.split( DimensionalObjectUtils.DIMENSION_NAME_SEP );
-
+ private QueryItem getQueryItem( String dimension, String filter )
+ {
+ if ( filter != null )
+ {
+ dimension += DIMENSION_NAME_SEP + filter;
+ }
+
+ return getQueryItem( dimension );
+ }
+
+ private QueryItem getQueryItem( String dimensionString )
+ {
+ String[] split = dimensionString.split( DIMENSION_NAME_SEP );
+
if ( split == null || ( split.length % 2 != 1 ) )
{
- throw new IllegalQueryException( "Query item or filter is invalid: " + dimension );
+ throw new IllegalQueryException( "Query item or filter is invalid: " + dimensionString );
}
QueryItem queryItem = getQuryItemFromUid( split[0] );
@@ -512,10 +522,11 @@
for ( int i = 1; i < split.length; i += 2 )
{
QueryOperator operator = QueryOperator.fromString( split[i] );
- queryItem.getFilters().add( new QueryFilter( operator, split[i+1] ) );
+ QueryFilter filter = new QueryFilter( operator, split[i+1] );
+ queryItem.getFilters().add( filter );
}
}
-
+
return queryItem;
}
=== 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 2014-07-13 14:34:10 +0000
+++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.java 2014-07-14 23:08:26 +0000
@@ -527,6 +527,8 @@
*/
private JFreeChart getJFreeChart( BaseChart chart )
{
+ final CategoryDataset[] dataSets = getCategoryDataSet( chart );
+
final BarRenderer barRenderer = getBarRenderer();
final LineAndShapeRenderer lineRenderer = getLineRenderer();
@@ -536,8 +538,6 @@
CategoryPlot plot = null;
- CategoryDataset[] dataSets = getCategoryDataSet( chart );
-
if ( chart.isType( TYPE_LINE ) )
{
plot = new CategoryPlot( dataSets[0], new CategoryAxis(), new NumberAxis(), lineRenderer );
@@ -736,7 +736,7 @@
else if ( chart.isAnalyticsType( AnalyticsType.EVENT ) )
{
Grid grid = eventAnalyticsService.getAggregatedEventData( chart, chart.getFormat() );
-
+
chart.setDataItemGrid( grid );
valueMap = GridUtils.getMetaValueMapping( grid, ( grid.getWidth() - 1 ) );
@@ -748,7 +748,7 @@
SimpleRegression regression = new SimpleRegression();
BaseAnalyticalObject.sortKeys( valueMap );
-
+
for ( NameableObject series : chart.series() )
{
double categoryIndex = 0;
@@ -758,10 +758,10 @@
categoryIndex++;
String key = series.getUid() + DIMENSION_SEP + category.getUid();
-
+
// Replace potential operand separator with dimension separator
- key = key.replace( DataElementOperand.SEPARATOR, DIMENSION_SEP );
+ key = key.replace( DataElementOperand.SEPARATOR, DIMENSION_SEP ); //TODO fix issue with keys including . and -
// Sort key on components to remove significance of column order