=== added file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/AnalyticalObject.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/AnalyticalObject.java 1970-01-01 00:00:00 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/AnalyticalObject.java 2014-07-15 14:36:07 +0000 @@ -0,0 +1,55 @@ +package org.hisp.dhis.common; + +/* + * Copyright (c) 2004-2014, 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.Date; +import java.util.List; +import java.util.Map; + +import org.hisp.dhis.organisationunit.OrganisationUnit; + +/** +* @author Lars Helge Overland +*/ +public interface AnalyticalObject +{ + void populateAnalyticalProperties(); + + List getColumns(); + + List getRows(); + + List getFilters(); + + Map getParentGraphMap(); + + Date getRelativePeriodDate(); + + OrganisationUnit getRelativeOrganisationUnit(); +} === 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 23:08:26 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/common/BaseAnalyticalObject.java 2014-07-15 14:36:07 +0000 @@ -101,7 +101,8 @@ */ @JacksonXmlRootElement( localName = "analyticalObject", namespace = DxfNamespaces.DXF_2_0 ) public abstract class BaseAnalyticalObject - extends BaseIdentifiableObject + extends BaseIdentifiableObject + implements AnalyticalObject { public static final String NUMBER_FORMATTING_COMMA = "comma"; public static final String NUMBER_FORMATTING_SPACE = "space"; === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java 2014-07-02 11:08:10 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/AnalyticsService.java 2014-07-15 14:36:07 +0000 @@ -33,9 +33,10 @@ import java.util.Map; import java.util.Set; -import org.hisp.dhis.common.BaseAnalyticalObject; +import org.hisp.dhis.common.AnalyticalObject; import org.hisp.dhis.common.DimensionalObject; import org.hisp.dhis.common.Grid; +import org.hisp.dhis.common.IllegalQueryException; import org.hisp.dhis.i18n.I18nFormat; /** @@ -133,13 +134,13 @@ /** * Generates a mapping where the key represents the dimensional item identifiers * concatenated by "-" and the value is the corresponding aggregated data value - * based on the given BaseAnalyticalObject. + * based on the given AnalyticalObject. * * @param object the BaseAnalyticalObject. * @param format the I18nFormat, can be null. * @return a mapping of dimensional items and aggregated data values. */ - Map getAggregatedDataValueMapping( BaseAnalyticalObject object, I18nFormat format ); + Map getAggregatedDataValueMapping( AnalyticalObject object, I18nFormat format ); /** * Creates a data query parameter object from the given URL. @@ -168,7 +169,7 @@ * @param format the i18n format. * @return a data query parameter object created based on the given BaseAnalyticalObject. */ - DataQueryParams getFromAnalyticalObject( BaseAnalyticalObject object, I18nFormat format ); + DataQueryParams getFromAnalyticalObject( AnalyticalObject object, I18nFormat format ); /** * Returns a list of persisted DimensionalObjects generated from the given === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2014-07-12 17:11:38 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/DefaultAnalyticsService.java 2014-07-15 14:36:07 +0000 @@ -87,7 +87,7 @@ import org.hisp.dhis.analytics.DataQueryParams; import org.hisp.dhis.analytics.DimensionItem; import org.hisp.dhis.analytics.QueryPlanner; -import org.hisp.dhis.common.BaseAnalyticalObject; +import org.hisp.dhis.common.AnalyticalObject; import org.hisp.dhis.common.BaseDimensionalObject; import org.hisp.dhis.common.CodeGenerator; import org.hisp.dhis.common.CombinationGenerator; @@ -512,7 +512,7 @@ } @Override - public Map getAggregatedDataValueMapping( BaseAnalyticalObject object, I18nFormat format ) + public Map getAggregatedDataValueMapping( AnalyticalObject object, I18nFormat format ) { DataQueryParams params = getFromAnalyticalObject( object, format ); @@ -749,7 +749,7 @@ } @Override - public DataQueryParams getFromAnalyticalObject( BaseAnalyticalObject object, I18nFormat format ) + public DataQueryParams getFromAnalyticalObject( AnalyticalObject object, I18nFormat format ) { DataQueryParams params = new DataQueryParams(); === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java 2014-07-02 11:08:10 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/data/MockAnalyticsService.java 2014-07-15 14:36:07 +0000 @@ -37,7 +37,7 @@ import org.hisp.dhis.analytics.AggregationType; import org.hisp.dhis.analytics.AnalyticsService; import org.hisp.dhis.analytics.DataQueryParams; -import org.hisp.dhis.common.BaseAnalyticalObject; +import org.hisp.dhis.common.AnalyticalObject; import org.hisp.dhis.common.DimensionalObject; import org.hisp.dhis.common.Grid; import org.hisp.dhis.i18n.I18nFormat; @@ -74,7 +74,7 @@ } @Override - public Map getAggregatedDataValueMapping( BaseAnalyticalObject object, I18nFormat format ) + public Map getAggregatedDataValueMapping( AnalyticalObject object, I18nFormat format ) { return valueMap; } @@ -87,7 +87,7 @@ } @Override - public DataQueryParams getFromAnalyticalObject( BaseAnalyticalObject object, I18nFormat format ) + public DataQueryParams getFromAnalyticalObject( AnalyticalObject object, I18nFormat format ) { throw new NotImplementedException(); } === modified file 'dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsService.java' --- dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsService.java 2014-07-13 09:53:10 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/EventAnalyticsService.java 2014-07-15 14:36:07 +0000 @@ -31,7 +31,7 @@ import java.util.Set; import org.hisp.dhis.analytics.SortOrder; -import org.hisp.dhis.common.BaseAnalyticalObject; +import org.hisp.dhis.common.AnalyticalObject; import org.hisp.dhis.common.Grid; import org.hisp.dhis.i18n.I18nFormat; @@ -44,7 +44,7 @@ Grid getAggregatedEventData( EventQueryParams params ); - Grid getAggregatedEventData( BaseAnalyticalObject object, I18nFormat format ); + Grid getAggregatedEventData( AnalyticalObject object, I18nFormat format ); Grid getEvents( EventQueryParams params ); @@ -61,5 +61,5 @@ EventQueryParams getFromUrl( String program, String stage, String startDate, String endDate, Set dimension, Set filter, String ouMode, Set asc, Set desc, boolean skipMeta, boolean hierarchyMeta, boolean coordinatesOnly, Integer page, Integer pageSize, I18nFormat format ); - EventQueryParams getFromAnalyticalObject( BaseAnalyticalObject object, I18nFormat format ); + EventQueryParams getFromAnalyticalObject( AnalyticalObject object, I18nFormat format ); } === 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-14 23:08:26 +0000 +++ dhis-2/dhis-services/dhis-service-analytics/src/main/java/org/hisp/dhis/analytics/event/data/DefaultEventAnalyticsService.java 2014-07-15 14:36:07 +0000 @@ -54,7 +54,7 @@ import org.hisp.dhis.analytics.event.EventAnalyticsService; import org.hisp.dhis.analytics.event.EventQueryParams; import org.hisp.dhis.analytics.event.EventQueryPlanner; -import org.hisp.dhis.common.BaseAnalyticalObject; +import org.hisp.dhis.common.AnalyticalObject; import org.hisp.dhis.common.DimensionType; import org.hisp.dhis.common.DimensionalObject; import org.hisp.dhis.common.Grid; @@ -217,7 +217,7 @@ return grid; } - public Grid getAggregatedEventData( BaseAnalyticalObject object, I18nFormat format ) + public Grid getAggregatedEventData( AnalyticalObject object, I18nFormat format ) { EventQueryParams params = getFromAnalyticalObject( object, format ); @@ -441,7 +441,7 @@ /** * TODO Generalize and change from EventChart to EventAnalyticalObject. */ - public EventQueryParams getFromAnalyticalObject( BaseAnalyticalObject object_, I18nFormat format ) + public EventQueryParams getFromAnalyticalObject( AnalyticalObject object_, I18nFormat format ) { EventChart object = (EventChart) object_; //TODO temporary