------------------------------------------------------------ revno: 22308 committer: Morten Olav Hansen <[email protected]> branch nick: dhis2 timestamp: Tue 2016-03-15 15:29:20 +0700 message: Revert 22305..22304 removed: dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartStore.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/DocumentStore.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportStore.java dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableStore.java dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/metadata2/objectbundle/ObjectBundleServiceFavoritesTest.java dhis-2/dhis-services/dhis-service-dxf2/src/test/resources/dxf2/metadata_with_charts1.json dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/hibernate/ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/hibernate/HibernateChartStore.java dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/hibernate/ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/hibernate/HibernateDocumentStore.java dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/hibernate/ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/hibernate/HibernateReportStore.java dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/hibernate/ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/hibernate/HibernateReportTableStore.java modified: dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/QueryService.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/document/impl/DefaultDocumentService.java dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/chart/ChartStoreTest.java dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/document/DocumentStoreTest.java dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/report/ReportStoreTest.java dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableStoreTest.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
=== removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/chart/ChartStore.java 1970-01-01 00:00:00 +0000 @@ -1,40 +0,0 @@ -package org.hisp.dhis.chart; - -/* - * 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.AnalyticalObjectStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public interface ChartStore - extends AnalyticalObjectStore<Chart> -{ - String ID = ChartStore.class.getName(); -} === removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/DocumentStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/DocumentStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/document/DocumentStore.java 1970-01-01 00:00:00 +0000 @@ -1,39 +0,0 @@ -package org.hisp.dhis.document; - -/* - * 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.GenericIdentifiableObjectStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public interface DocumentStore - extends GenericIdentifiableObjectStore<Document> -{ -} === removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/report/ReportStore.java 1970-01-01 00:00:00 +0000 @@ -1,39 +0,0 @@ -package org.hisp.dhis.report; - -/* - * 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.GenericIdentifiableObjectStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public interface ReportStore - extends GenericIdentifiableObjectStore<Report> -{ -} === removed file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/reporttable/ReportTableStore.java 1970-01-01 00:00:00 +0000 @@ -1,40 +0,0 @@ -package org.hisp.dhis.reporttable; - -/* - * 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.AnalyticalObjectStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public interface ReportTableStore - extends AnalyticalObjectStore<ReportTable> -{ - String ID = ReportTableStore.class.getName(); -} === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/QueryService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/QueryService.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/query/QueryService.java 2016-03-15 08:29:20 +0000 @@ -54,7 +54,7 @@ * @param transformer ResultTransformer to use for mutating the result * @return Matching objects */ - List<? extends IdentifiableObject> query( Query query, ResultTransformer<?> transformer ); + List<? extends IdentifiableObject> query( Query query, ResultTransformer transformer ); /** * Returns how many objects matches the given query. === removed file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/metadata2/objectbundle/ObjectBundleServiceFavoritesTest.java' --- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/metadata2/objectbundle/ObjectBundleServiceFavoritesTest.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/metadata2/objectbundle/ObjectBundleServiceFavoritesTest.java 1970-01-01 00:00:00 +0000 @@ -1,106 +0,0 @@ -package org.hisp.dhis.dxf2.metadata2.objectbundle; - -/* - * 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.DhisSpringTest; -import org.hisp.dhis.chart.Chart; -import org.hisp.dhis.common.IdentifiableObject; -import org.hisp.dhis.common.IdentifiableObjectManager; -import org.hisp.dhis.dataelement.DataElement; -import org.hisp.dhis.dataset.DataSet; -import org.hisp.dhis.importexport.ImportStrategy; -import org.hisp.dhis.organisationunit.OrganisationUnit; -import org.hisp.dhis.render.RenderFormat; -import org.hisp.dhis.render.RenderService; -import org.hisp.dhis.user.UserService; -import org.junit.Ignore; -import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.io.ClassPathResource; - -import java.io.IOException; -import java.util.List; -import java.util.Map; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class ObjectBundleServiceFavoritesTest - extends DhisSpringTest -{ - @Autowired - private ObjectBundleService objectBundleService; - - @Autowired - private IdentifiableObjectManager manager; - - @Autowired - private RenderService _renderService; - - @Autowired - private UserService _userService; - - @Override - protected void setUpTest() throws Exception - { - renderService = _renderService; - userService = _userService; - } - - @Test - @Ignore - public void testCreateMetadataWithCharts1() throws IOException - { - Map<Class<? extends IdentifiableObject>, List<IdentifiableObject>> metadata = renderService.fromMetadata( - new ClassPathResource( "dxf2/metadata_with_charts1.json" ).getInputStream(), RenderFormat.JSON ); - - ObjectBundleParams params = new ObjectBundleParams(); - params.setObjectBundleMode( ObjectBundleMode.COMMIT ); - params.setImportMode( ImportStrategy.CREATE_AND_UPDATE ); - params.setObjects( metadata ); - - ObjectBundle bundle = objectBundleService.create( params ); - ObjectBundleValidation validate = objectBundleService.validate( bundle ); - assertTrue( validate.getObjectErrorReports().isEmpty() ); - objectBundleService.commit( bundle ); - - List<DataSet> dataSets = manager.getAll( DataSet.class ); - List<OrganisationUnit> organisationUnits = manager.getAll( OrganisationUnit.class ); - List<DataElement> dataElements = manager.getAll( DataElement.class ); - List<Chart> charts = manager.getAll( Chart.class ); - - assertEquals( 2, dataSets.size() ); - assertEquals( 1, organisationUnits.size() ); - assertEquals( 4, dataElements.size() ); - assertEquals( 2, charts.size() ); - } -} \ No newline at end of file === removed file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/resources/dxf2/metadata_with_charts1.json' --- dhis-2/dhis-services/dhis-service-dxf2/src/test/resources/dxf2/metadata_with_charts1.json 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-dxf2/src/test/resources/dxf2/metadata_with_charts1.json 1970-01-01 00:00:00 +0000 @@ -1,560 +0,0 @@ -{ - "organisationUnitLevels": [ - { - "lastUpdated": "2016-03-14T10:31:05.867+0000", - "level": 1, - "name": "Level 1", - "id": "LEN4A8VwYz6", - "created": "2016-03-14T10:31:05.866+0000" - } - ], - "categoryOptionCombos": [ - { - "categoryOptions": [ - { - "id": "xYerKDKCefk" - } - ], - "name": "default", - "code": "default", - "created": "2016-03-14T10:26:13.837+0000", - "id": "HllvX50cXC0", - "ignoreApproval": false, - "categoryCombo": { - "id": "bjDvmb4bfuf" - }, - "lastUpdated": "2016-03-14T10:26:13.837+0000" - } - ], - "categories": [ - { - "dataDimensionType": "DISAGGREGATION", - "name": "default", - "categoryOptions": [ - { - "id": "xYerKDKCefk" - } - ], - "lastUpdated": "2016-03-14T10:26:14.040+0000", - "publicAccess": "--------", - "dataDimension": true, - "code": "default", - "created": "2016-03-14T10:26:13.834+0000", - "userGroupAccesses": [ ], - "id": "GLevLNI9wkl" - } - ], - "dataElements": [ - { - "zeroIsSignificant": false, - "domainType": "AGGREGATE", - "created": "2016-03-14T10:28:24.014+0000", - "code": "DataElementCodeA", - "aggregationType": "SUM", - "lastUpdated": "2016-03-14T10:28:24.019+0000", - "name": "DataElementA", - "userGroupAccesses": [ ], - "attributeValues": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "id": "L5kP66sGI1q", - "aggregationLevels": [ ], - "categoryCombo": { - "id": "bjDvmb4bfuf" - }, - "publicAccess": "rw------", - "shortName": "DataElementShortA", - "valueType": "NUMBER" - }, - { - "name": "DataElementB", - "aggregationLevels": [ ], - "attributeValues": [ ], - "userGroupAccesses": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "id": "c6CtsJCClHn", - "valueType": "NUMBER", - "shortName": "DataElementShortB", - "publicAccess": "rw------", - "categoryCombo": { - "id": "bjDvmb4bfuf" - }, - "zeroIsSignificant": false, - "domainType": "AGGREGATE", - "created": "2016-03-14T10:28:44.117+0000", - "code": "DataElementCodeB", - "lastUpdated": "2016-03-14T10:28:44.118+0000", - "aggregationType": "SUM" - }, - { - "code": "DataElementCodeC", - "created": "2016-03-14T10:29:04.513+0000", - "aggregationType": "SUM", - "lastUpdated": "2016-03-14T10:29:04.516+0000", - "zeroIsSignificant": false, - "domainType": "AGGREGATE", - "aggregationLevels": [ ], - "attributeValues": [ ], - "userGroupAccesses": [ ], - "id": "qjHP8fHrPtp", - "user": { - "id": "M5zQapPyTZI" - }, - "shortName": "DataElementShortC", - "valueType": "NUMBER", - "categoryCombo": { - "id": "bjDvmb4bfuf" - }, - "publicAccess": "rw------", - "name": "DataElementC" - }, - { - "name": "DataElementD", - "categoryCombo": { - "id": "bjDvmb4bfuf" - }, - "publicAccess": "rw------", - "shortName": "DataElementShortD", - "valueType": "NUMBER", - "userGroupAccesses": [ ], - "attributeValues": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "id": "QvcHWEhvyJz", - "aggregationLevels": [ ], - "domainType": "AGGREGATE", - "zeroIsSignificant": false, - "aggregationType": "SUM", - "lastUpdated": "2016-03-14T10:29:20.649+0000", - "created": "2016-03-14T10:29:20.647+0000", - "code": "DataElementCodeD" - } - ], - "charts": [ - { - "id": "LR06Bqu0Rur", - "organisationUnitGroups": [ ], - "categoryOptionGroups": [ ], - "regression": false, - "dataElementGroups": [ ], - "organisationUnits": [ - { - "id": "Ku3wiLhVBkw" - } - ], - "categoryDimensions": [ ], - "dataDimensionItems": [ - { - "dataElement": { - "id": "L5kP66sGI1q" - }, - "dataDimensionItemType": "AGGREGATE_DATA_ELEMENT" - }, - { - "dataDimensionItemType": "AGGREGATE_DATA_ELEMENT", - "dataElement": { - "id": "c6CtsJCClHn" - } - } - ], - "itemOrganisationUnitGroups": [ ], - "created": "2016-03-14T10:54:15.592+0000", - "externalAccess": false, - "hideSubtitle": false, - "periods": [ ], - "userOrganisationUnitGrandChildren": false, - "relativePeriods": { - "last12Months": false, - "monthsThisYear": false, - "lastWeek": false, - "thisMonth": false, - "last5Years": false, - "thisFinancialYear": false, - "last6Months": true, - "last4Quarters": false, - "quartersLastYear": false, - "last6BiMonths": false, - "lastMonth": false, - "last3Months": false, - "lastQuarter": false, - "monthsLastYear": false, - "lastSixMonth": false, - "lastBimonth": false, - "lastFinancialYear": false, - "thisQuarter": false, - "last2SixMonths": false, - "thisWeek": false, - "thisYear": false, - "lastYear": false, - "last52Weeks": false, - "quartersThisYear": false, - "last4Weeks": false, - "last12Weeks": false, - "thisSixMonth": false, - "thisBimonth": false, - "last5FinancialYears": false - }, - "filterDimensions": [ - "ou" - ], - "aggregationType": "DEFAULT", - "hideEmptyRows": false, - "completedOnly": false, - "organisationUnitLevels": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "userGroupAccesses": [ ], - "hideLegend": false, - "sortOrder": 0, - "hideTitle": false, - "publicAccess": "rw------", - "type": "COLUMN", - "series": "dx", - "name": "ChartA", - "showData": true, - "category": "pe", - "lastUpdated": "2016-03-14T10:54:15.593+0000", - "userOrganisationUnitChildren": false, - "userOrganisationUnit": false - }, - { - "hideSubtitle": false, - "externalAccess": false, - "created": "2016-03-14T10:54:39.655+0000", - "periods": [ ], - "relativePeriods": { - "last4Quarters": false, - "last6BiMonths": false, - "lastMonth": false, - "quartersLastYear": false, - "last3Months": false, - "lastQuarter": false, - "monthsLastYear": false, - "lastSixMonth": false, - "last2SixMonths": false, - "lastBimonth": false, - "lastFinancialYear": false, - "thisQuarter": false, - "thisWeek": false, - "lastYear": false, - "thisYear": false, - "last12Months": false, - "monthsThisYear": false, - "lastWeek": true, - "thisMonth": false, - "last5Years": false, - "thisFinancialYear": false, - "last6Months": false, - "last4Weeks": false, - "last12Weeks": false, - "thisSixMonth": false, - "thisBimonth": false, - "last5FinancialYears": false, - "last52Weeks": false, - "quartersThisYear": false - }, - "userOrganisationUnitGrandChildren": false, - "aggregationType": "DEFAULT", - "filterDimensions": [ - "ou" - ], - "hideEmptyRows": false, - "completedOnly": false, - "organisationUnitGroups": [ ], - "id": "y6lH8sHglwg", - "categoryOptionGroups": [ ], - "regression": false, - "organisationUnits": [ - { - "id": "Ku3wiLhVBkw" - } - ], - "dataElementGroups": [ ], - "itemOrganisationUnitGroups": [ ], - "dataDimensionItems": [ - { - "dataElement": { - "id": "qjHP8fHrPtp" - }, - "dataDimensionItemType": "AGGREGATE_DATA_ELEMENT" - }, - { - "dataDimensionItemType": "AGGREGATE_DATA_ELEMENT", - "dataElement": { - "id": "QvcHWEhvyJz" - } - } - ], - "categoryDimensions": [ ], - "category": "pe", - "lastUpdated": "2016-03-14T10:54:39.655+0000", - "userOrganisationUnitChildren": false, - "userOrganisationUnit": false, - "userGroupAccesses": [ ], - "organisationUnitLevels": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "hideTitle": false, - "sortOrder": 0, - "hideLegend": false, - "publicAccess": "rw------", - "type": "COLUMN", - "name": "ChartB", - "series": "dx", - "showData": true - } - ], - "organisationUnits": [ - { - "name": "Country", - "uuid": "7077b124-4e48-4f3c-adf8-e654eb7876a4", - "description": "", - "created": "2016-03-14T10:26:44.419+0000", - "attributeValues": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "id": "Ku3wiLhVBkw", - "path": "/Ku3wiLhVBkw", - "featureType": "NONE", - "lastUpdated": "2016-03-14T10:26:44.434+0000", - "openingDate": "2016-03-14", - "shortName": "Country" - } - ], - "userRoles": [ - { - "lastUpdated": "2016-03-14T10:26:27.162+0000", - "publicAccess": "--------", - "programs": [ ], - "code": "Superuser", - "created": "2016-03-14T10:26:27.162+0000", - "userGroupAccesses": [ ], - "id": "yrB6vc5Ip3r", - "dataSets": [ ], - "description": "Superuser", - "name": "Superuser", - "authorities": [ - "F_TRACKED_ENTITY_INSTANCE_SEARCH_IN_ALL_ORGUNITS", - "ALL", - "F_USERGROUP_MANAGING_RELATIONSHIPS_ADD", - "F_REPORTTABLE_PUBLIC_ADD", - "F_TRACKED_ENTITY_INSTANCE_DELETE", - "F_USER_GROUPS_READ_ONLY_ADD_MEMBERS", - "F_MAP_PUBLIC_ADD", - "F_USER_ADD_WITHIN_MANAGED_GROUP", - "F_TRACKED_ENTITY_INSTANCE_SEARCH", - "F_PROGRAM_ENROLLMENT", - "F_REPORTTABLE_EXTERNAL", - "F_SQLVIEW_EXTERNAL", - "F_GIS_ADMIN", - "F_REPLICATE_USER", - "F_INSERT_CUSTOM_JS_CSS", - "F_DASHBOARD_PUBLIC_ADD", - "F_METADATA_IMPORT", - "F_CHART_PUBLIC_ADD", - "F_VIEW_UNAPPROVED_DATA", - "F_CHART_EXTERNAL", - "F_USERGROUP_MANAGING_RELATIONSHIPS_VIEW", - "F_METADATA_EXPORT", - "F_PROGRAM_UNENROLLMENT", - "F_APPROVE_DATA", - "F_ACCEPT_DATA_LOWER_LEVELS", - "F_TRACKED_ENTITY_INSTANCE_ADD", - "F_USERGROUP_PUBLIC_ADD", - "F_OAUTH2_CLIENT_MANAGE", - "F_TRACKED_ENTITY_DATAVALUE_ADD", - "F_PROGRAM_DASHBOARD_CONFIG_ADMIN", - "F_MAP_EXTERNAL", - "F_APPROVE_DATA_LOWER_LEVELS", - "F_TRACKED_ENTITY_DATAVALUE_DELETE" - ] - } - ], - "categoryOptions": [ - { - "shortName": "default", - "lastUpdated": "2016-03-14T10:26:13.843+0000", - "publicAccess": "--------", - "code": "default", - "userGroupAccesses": [ ], - "attributeValues": [ ], - "id": "xYerKDKCefk", - "created": "2016-03-14T10:26:13.821+0000", - "organisationUnits": [ ], - "name": "default" - } - ], - "trackedEntities": [ - { - "lastUpdated": "2016-03-13T17:00:00.000+0000", - "description": "Person", - "name": "Person", - "code": "Person", - "attributeValues": [ ], - "created": "2016-03-13T17:00:00.000+0000", - "id": "MCPQUTHX1Ze" - } - ], - "users": [ - { - "surname": "admin", - "code": "admin", - "created": "2016-03-14T10:26:27.141+0000", - "id": "M5zQapPyTZI", - "attributeValues": [ ], - "lastUpdated": "2016-03-14T10:27:40.595+0000", - "organisationUnits": [ - { - "id": "Ku3wiLhVBkw" - } - ], - "firstName": "admin", - "userCredentials": { - "created": "2016-03-14T10:26:27.177+0000", - "code": "admin", - "invitation": false, - "externalAuth": false, - "lastUpdated": "2016-03-14T10:27:40.592+0000", - "passwordLastUpdated": "2016-03-14T10:26:27.178+0000", - "catDimensionConstraints": [ ], - "username": "admin", - "disabled": false, - "selfRegistered": false, - "user": { - "id": "M5zQapPyTZI" - }, - "id": "Wzwcfu5Wwvx", - "lastLogin": "2016-03-14T10:26:27.177+0000", - "cogsDimensionConstraints": [ ], - "userRoles": [ - { - "id": "yrB6vc5Ip3r" - } - ], - "userInfo": { - "id": "M5zQapPyTZI" - } - }, - "dataViewOrganisationUnits": [ - { - "id": "Ku3wiLhVBkw" - } - ], - "teiSearchOrganisationUnits": [ ] - } - ], - "categoryCombos": [ - { - "name": "default", - "skipTotal": false, - "dataDimensionType": "DISAGGREGATION", - "userGroupAccesses": [ ], - "created": "2016-03-14T10:26:13.836+0000", - "id": "bjDvmb4bfuf", - "code": "default", - "lastUpdated": "2016-03-14T10:26:13.839+0000", - "categories": [ - { - "id": "GLevLNI9wkl" - } - ], - "publicAccess": "--------" - } - ], - "dataSets": [ - { - "code": "DataSetCodeA", - "created": "2016-03-14T10:29:58.832+0000", - "version": 0, - "periodType": "Monthly", - "fieldCombinationRequired": false, - "lastUpdated": "2016-03-14T10:30:54.761+0000", - "mobile": false, - "dataElementDecoration": false, - "noValueRequiresComment": false, - "indicators": [ ], - "attributeValues": [ ], - "id": "EhbRc6ME5fb", - "userGroupAccesses": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "validCompleteOnly": false, - "openFuturePeriods": 0, - "expiryDays": 0, - "publicAccess": "rw------", - "skipOffline": false, - "dataElements": [ - { - "id": "c6CtsJCClHn" - }, - { - "id": "L5kP66sGI1q" - } - ], - "shortName": "DataSetShortA", - "timelyDays": 0, - "renderAsTabs": false, - "organisationUnits": [ - { - "id": "Ku3wiLhVBkw" - } - ], - "name": "DataSetA", - "notifyCompletingUser": false, - "renderHorizontally": false, - "compulsoryDataElementOperands": [ ] - }, - { - "notifyCompletingUser": false, - "compulsoryDataElementOperands": [ ], - "renderHorizontally": false, - "timelyDays": 0, - "renderAsTabs": false, - "organisationUnits": [ - { - "id": "Ku3wiLhVBkw" - } - ], - "name": "DataSetB", - "skipOffline": false, - "expiryDays": 0, - "publicAccess": "rw------", - "shortName": "DataSetShortB", - "dataElements": [ - { - "id": "QvcHWEhvyJz" - }, - { - "id": "qjHP8fHrPtp" - } - ], - "attributeValues": [ ], - "id": "kS0QOOZbxEe", - "userGroupAccesses": [ ], - "user": { - "id": "M5zQapPyTZI" - }, - "validCompleteOnly": false, - "openFuturePeriods": 0, - "mobile": false, - "dataElementDecoration": false, - "indicators": [ ], - "noValueRequiresComment": false, - "lastUpdated": "2016-03-14T10:31:00.598+0000", - "code": "DataSetCodeB", - "created": "2016-03-14T10:29:58.832+0000", - "version": 0, - "periodType": "Monthly", - "fieldCombinationRequired": false - } - ], - "date": "2016-03-14T10:55:35.567+0000" -} === removed directory 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/hibernate' === removed file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/hibernate/HibernateChartStore.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/hibernate/HibernateChartStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/hibernate/HibernateChartStore.java 1970-01-01 00:00:00 +0000 @@ -1,42 +0,0 @@ -package org.hisp.dhis.chart.hibernate; - -/* - * 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.chart.Chart; -import org.hisp.dhis.chart.ChartStore; -import org.hisp.dhis.common.hibernate.HibernateAnalyticalObjectStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class HibernateChartStore - extends HibernateAnalyticalObjectStore<Chart> - implements ChartStore -{ -} === 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 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/chart/impl/DefaultChartService.java 2016-03-15 08:29:20 +0000 @@ -28,17 +28,30 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.hisp.dhis.common.DimensionalObject.DIMENSION_SEP; +import static org.hisp.dhis.commons.collection.ListUtils.getArray; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Font; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.apache.commons.math3.exception.MathRuntimeException; +import org.apache.commons.math3.analysis.interpolation.SplineInterpolator; import org.apache.commons.math3.analysis.UnivariateFunction; -import org.apache.commons.math3.analysis.interpolation.SplineInterpolator; import org.apache.commons.math3.analysis.interpolation.UnivariateInterpolator; -import org.apache.commons.math3.exception.MathRuntimeException; import org.apache.commons.math3.stat.regression.SimpleRegression; import org.hisp.dhis.analytics.AnalyticsService; import org.hisp.dhis.analytics.event.EventAnalyticsService; import org.hisp.dhis.chart.BaseChart; import org.hisp.dhis.chart.Chart; import org.hisp.dhis.chart.ChartService; -import org.hisp.dhis.chart.ChartStore; import org.hisp.dhis.chart.ChartType; import org.hisp.dhis.common.AnalyticalObjectStore; import org.hisp.dhis.common.AnalyticsType; @@ -99,21 +112,8 @@ import org.jfree.data.general.ValueDataset; import org.jfree.ui.RectangleInsets; import org.jfree.util.TableOrder; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import java.awt.*; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - -import static org.hisp.dhis.common.DimensionalObject.DIMENSION_SEP; -import static org.hisp.dhis.commons.collection.ListUtils.getArray; - /** * @author Lars Helge Overland */ @@ -141,8 +141,12 @@ // Dependencies // ------------------------------------------------------------------------- - @Autowired - private ChartStore chartStore; + private AnalyticalObjectStore<Chart> chartStore; + + public void setChartStore( AnalyticalObjectStore<Chart> chartStore ) + { + this.chartStore = chartStore; + } private PeriodService periodService; @@ -185,14 +189,14 @@ { this.analyticsService = analyticsService; } - + private EventAnalyticsService eventAnalyticsService; - + public void setEventAnalyticsService( EventAnalyticsService eventAnalyticsService ) { this.eventAnalyticsService = eventAnalyticsService; } - + // ------------------------------------------------------------------------- // ChartService implementation // ------------------------------------------------------------------------- @@ -202,7 +206,7 @@ { return chartStore; } - + @Override public JFreeChart getJFreeChart( int id, I18nFormat format ) { @@ -587,7 +591,7 @@ { Number number = dataSet.getValue( 0, 0 ); ValueDataset valueDataSet = new DefaultValueDataset( number ); - + return getGaugeChart( chart, valueDataSet ); } else @@ -604,7 +608,7 @@ JFreeChart jFreeChart = new JFreeChart( chart.getName(), TITLE_FONT, plot, !chart.isHideLegend() ); setBasicConfig( jFreeChart, chart ); - + if ( chart.isTargetLine() ) { plot.addRangeMarker( getMarker( chart.getTargetLineValue(), chart.getTargetLineLabel() ) ); @@ -679,22 +683,22 @@ CategoryAxis xAxis = plot.getDomainAxis(); xAxis.setCategoryLabelPositions( CategoryLabelPositions.UP_45 ); - + return stackedBarChart; } - + private JFreeChart getMultiplePieChart( BaseChart chart, CategoryDataset[] dataSets ) { JFreeChart multiplePieChart = ChartFactory.createMultiplePieChart( chart.getName(), dataSets[0], TableOrder.BY_ROW, !chart.isHideLegend(), false, false ); setBasicConfig( multiplePieChart, chart ); - + if ( multiplePieChart.getLegend() != null ) { multiplePieChart.getLegend().setItemFont( SUB_TITLE_FONT ); } - + MultiplePiePlot multiplePiePlot = (MultiplePiePlot) multiplePieChart.getPlot(); JFreeChart pieChart = multiplePiePlot.getPieChart(); pieChart.setBackgroundPaint( COLOR_TRANSPARENT ); @@ -718,24 +722,24 @@ return multiplePieChart; } - + private JFreeChart getGaugeChart( BaseChart chart, ValueDataset dataSet ) { MeterPlot meterPlot = new MeterPlot( dataSet ); meterPlot.setUnits( "" ); meterPlot.setRange( new Range( 0.0d, 100d ) ); - + for ( int i = 0; i < 10; i++ ) { double start = i * 10; double end = start + 10; String label = String.valueOf( start ); - + meterPlot.addInterval( new MeterInterval( label, new Range( start, end ), COLOR_LIGHT_GRAY, null, COLOR_LIGHT_GRAY ) ); } - - meterPlot.setMeterAngle( 180 ); + + meterPlot.setMeterAngle(180); meterPlot.setDialBackgroundPaint( COLOR_LIGHT_GRAY ); meterPlot.setDialShape( DialShape.CHORD ); meterPlot.setNeedlePaint( COLORS[0] ); @@ -745,11 +749,11 @@ meterPlot.setTickPaint( COLOR_LIGHTER_GRAY ); meterPlot.setValueFont( TITLE_FONT ); meterPlot.setValuePaint( Color.BLACK ); - + JFreeChart meterChart = new JFreeChart( chart.getName(), meterPlot ); setBasicConfig( meterChart, chart ); meterChart.removeLegend(); - + return meterChart; } @@ -757,18 +761,18 @@ * Sets basic configuration including title font, subtitle, background paint and * anti-alias on the given JFreeChart. */ - private void setBasicConfig( JFreeChart jFreeChart, BaseChart chart ) + private void setBasicConfig( JFreeChart jFreeChart, BaseChart chart) { jFreeChart.getTitle().setFont( TITLE_FONT ); - + jFreeChart.setBackgroundPaint( COLOR_TRANSPARENT ); jFreeChart.setAntiAlias( true ); - + if ( !chart.isHideTitle() ) { jFreeChart.addSubtitle( getSubTitle( chart ) ); } - + Plot plot = jFreeChart.getPlot(); plot.setBackgroundPaint( COLOR_TRANSPARENT ); plot.setOutlinePaint( COLOR_TRANSPARENT ); @@ -779,17 +783,17 @@ TextTitle textTitle = new TextTitle(); String title = chart.hasTitle() ? chart.getTitle() : chart.generateTitle(); - + textTitle.setFont( SUB_TITLE_FONT ); textTitle.setText( title ); - + return textTitle; } private CategoryDataset[] getCategoryDataSet( BaseChart chart ) { Map<String, Object> valueMap = new HashMap<>(); - + if ( chart.isAnalyticsType( AnalyticsType.AGGREGATE ) ) { valueMap = analyticsService.getAggregatedDataValueMapping( chart, chart.getFormat() ); @@ -797,10 +801,10 @@ else if ( chart.isAnalyticsType( AnalyticsType.EVENT ) ) { Grid grid = eventAnalyticsService.getAggregatedEventData( chart, chart.getFormat() ); - + chart.setDataItemGrid( grid ); - - valueMap = GridUtils.getMetaValueMapping( grid, (grid.getWidth() - 1) ); + + valueMap = GridUtils.getMetaValueMapping( grid, ( grid.getWidth() - 1 ) ); } DefaultCategoryDataset regularDataSet = new DefaultCategoryDataset(); @@ -809,27 +813,27 @@ SimpleRegression regression = new SimpleRegression(); BaseAnalyticalObject.sortKeys( valueMap ); - + List<NameableObject> seriez = new ArrayList<>( chart.series() ); List<NameableObject> categories = new ArrayList<>( chart.category() ); - + if ( chart.hasSortOrder() ) { categories = getSortedCategories( categories, chart, valueMap ); } - + for ( NameableObject series : seriez ) { double categoryIndex = 0; - + for ( NameableObject category : categories ) { categoryIndex++; String key = getKey( series, category, chart.getAnalyticsType() ); - + Object object = valueMap.get( key ); - + Number value = object != null && object instanceof Number ? (Number) object : null; regularDataSet.addValue( value, series.getShortName(), category.getShortName() ); @@ -860,7 +864,7 @@ return new CategoryDataset[]{ regularDataSet, regressionDataSet }; } - + /** * Creates a key based on the given input. Sorts the key on its components * to remove significance of column order. @@ -871,10 +875,10 @@ // Replace potential operand separator with dimension separator - key = AnalyticsType.AGGREGATE.equals( analyticsType ) ? key.replace( DataElementOperand.SEPARATOR, DIMENSION_SEP ) : key; - + key = AnalyticsType.AGGREGATE.equals( analyticsType ) ? key.replace( DataElementOperand.SEPARATOR, DIMENSION_SEP ) : key; + // TODO fix issue with keys including -. - + return BaseAnalyticalObject.sortKey( key ); } @@ -885,28 +889,28 @@ private List<NameableObject> getSortedCategories( List<NameableObject> categories, BaseChart chart, Map<String, Object> valueMap ) { NameableObject series = chart.series().get( 0 ); - + int sortOrder = chart.getSortOrder(); - + List<NumericSortWrapper<NameableObject>> list = new ArrayList<>(); - + for ( NameableObject category : categories ) { String key = getKey( series, category, chart.getAnalyticsType() ); - + Object value = valueMap.get( key ); - + if ( value != null && value instanceof Number ) { - list.add( new NumericSortWrapper<NameableObject>( category, (Double) value, sortOrder ) ); + list.add( new NumericSortWrapper<NameableObject>( category, (Double ) value, sortOrder ) ); } } - + Collections.sort( list ); - + return NumericSortWrapper.getObjectList( list ); } - + // ------------------------------------------------------------------------- // CRUD operations // ------------------------------------------------------------------------- === removed directory 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/hibernate' === removed file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/hibernate/HibernateDocumentStore.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/hibernate/HibernateDocumentStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/hibernate/HibernateDocumentStore.java 1970-01-01 00:00:00 +0000 @@ -1,42 +0,0 @@ -package org.hisp.dhis.document.hibernate; - -/* - * 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.hibernate.HibernateIdentifiableObjectStore; -import org.hisp.dhis.document.Document; -import org.hisp.dhis.document.DocumentStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class HibernateDocumentStore - extends HibernateIdentifiableObjectStore<Document> - implements DocumentStore -{ -} === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/impl/DefaultDocumentService.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/impl/DefaultDocumentService.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/document/impl/DefaultDocumentService.java 2016-03-15 08:29:20 +0000 @@ -28,16 +28,16 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.List; + +import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.hisp.dhis.document.Document; import org.hisp.dhis.document.DocumentService; -import org.hisp.dhis.document.DocumentStore; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; -import java.util.List; - /** * @author Lars Helge Overland + * @version $Id$ */ @Transactional public class DefaultDocumentService @@ -47,8 +47,12 @@ // Dependencies // ------------------------------------------------------------------------- - @Autowired - private DocumentStore documentStore; + private GenericIdentifiableObjectStore<Document> documentStore; + + public void setDocumentStore( GenericIdentifiableObjectStore<Document> documentStore ) + { + this.documentStore = documentStore; + } // ------------------------------------------------------------------------- // DocumentService implementation @@ -113,7 +117,7 @@ { return documentStore.getAllLikeName( name, first, max ); } - + @Override public List<Document> getDocumentsByUid( List<String> uids ) { === removed directory 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/hibernate' === removed file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/hibernate/HibernateReportStore.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/hibernate/HibernateReportStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/hibernate/HibernateReportStore.java 1970-01-01 00:00:00 +0000 @@ -1,42 +0,0 @@ -package org.hisp.dhis.report.hibernate; - -/* - * 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.hibernate.HibernateIdentifiableObjectStore; -import org.hisp.dhis.report.Report; -import org.hisp.dhis.report.ReportStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class HibernateReportStore - extends HibernateIdentifiableObjectStore<Report> - implements ReportStore -{ -} === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/report/impl/DefaultReportService.java 2016-03-15 08:29:20 +0000 @@ -28,13 +28,30 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.hisp.dhis.common.IdentifiableObjectUtils.getIdentifiers; +import static org.hisp.dhis.commons.util.TextUtils.getCommaDelimitedString; + +import java.io.OutputStream; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.sql.Connection; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.sql.DataSource; + import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; + import org.apache.commons.io.IOUtils; import org.apache.velocity.VelocityContext; import org.hisp.dhis.calendar.Calendar; +import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.hisp.dhis.common.Grid; import org.hisp.dhis.common.IdentifiableObjectUtils; import org.hisp.dhis.commons.util.Encoder; @@ -47,30 +64,14 @@ import org.hisp.dhis.period.PeriodType; import org.hisp.dhis.report.Report; import org.hisp.dhis.report.ReportService; -import org.hisp.dhis.report.ReportStore; import org.hisp.dhis.reporttable.ReportTable; import org.hisp.dhis.reporttable.ReportTableService; import org.hisp.dhis.system.util.DateUtils; import org.hisp.dhis.system.util.JRExportUtils; import org.hisp.dhis.system.velocity.VelocityManager; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.transaction.annotation.Transactional; -import javax.sql.DataSource; -import java.io.OutputStream; -import java.io.Writer; -import java.nio.charset.StandardCharsets; -import java.sql.Connection; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import static org.hisp.dhis.common.IdentifiableObjectUtils.getIdentifiers; -import static org.hisp.dhis.commons.util.TextUtils.getCommaDelimitedString; - /** * @author Lars Helge Overland */ @@ -87,8 +88,12 @@ // Dependencies // ------------------------------------------------------------------------- - @Autowired - private ReportStore reportStore; + private GenericIdentifiableObjectStore<Report> reportStore; + + public void setReportStore( GenericIdentifiableObjectStore<Report> reportStore ) + { + this.reportStore = reportStore; + } private ReportTableService reportTableService; === removed directory 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/hibernate' === removed file 'dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/hibernate/HibernateReportTableStore.java' --- dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/hibernate/HibernateReportTableStore.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/java/org/hisp/dhis/reporttable/hibernate/HibernateReportTableStore.java 1970-01-01 00:00:00 +0000 @@ -1,42 +0,0 @@ -package org.hisp.dhis.reporttable.hibernate; - -/* - * 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.hibernate.HibernateAnalyticalObjectStore; -import org.hisp.dhis.reporttable.ReportTable; -import org.hisp.dhis.reporttable.ReportTableStore; - -/** - * @author Morten Olav Hansen <[email protected]> - */ -public class HibernateReportTableStore - extends HibernateAnalyticalObjectStore<ReportTable> - implements ReportTableStore -{ -} === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml' --- dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/main/resources/META-INF/dhis/beans.xml 2016-03-15 08:29:20 +0000 @@ -6,7 +6,7 @@ <!-- ReportTable --> - <bean id="org.hisp.dhis.reporttable.ReportTableStore" class="org.hisp.dhis.reporttable.hibernate.HibernateReportTableStore"> + <bean id="org.hisp.dhis.reporttable.ReportTableStore" class="org.hisp.dhis.common.hibernate.HibernateAnalyticalObjectStore"> <property name="clazz" value="org.hisp.dhis.reporttable.ReportTable" /> <property name="sessionFactory" ref="sessionFactory" /> <property name="cacheable" value="true" /> @@ -22,13 +22,14 @@ <!-- Report --> - <bean id="org.hisp.dhis.report.ReportStore" class="org.hisp.dhis.report.hibernate.HibernateReportStore"> + <bean id="org.hisp.dhis.report.ReportStore" class="org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore"> <property name="clazz" value="org.hisp.dhis.report.Report" /> <property name="sessionFactory" ref="sessionFactory" /> <property name="cacheable" value="true" /> </bean> <bean id="org.hisp.dhis.report.ReportService" class="org.hisp.dhis.report.impl.DefaultReportService"> + <property name="reportStore" ref="org.hisp.dhis.report.ReportStore" /> <property name="reportTableService" ref="org.hisp.dhis.reporttable.ReportTableService" /> <property name="constantService" ref="org.hisp.dhis.constant.ConstantService" /> <property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" /> @@ -38,13 +39,14 @@ <!-- Chart --> - <bean id="org.hisp.dhis.chart.ChartStore" class="org.hisp.dhis.chart.hibernate.HibernateChartStore"> + <bean id="org.hisp.dhis.chart.ChartStore" class="org.hisp.dhis.common.hibernate.HibernateAnalyticalObjectStore"> <property name="clazz" value="org.hisp.dhis.chart.Chart" /> <property name="sessionFactory" ref="sessionFactory" /> <property name="cacheable" value="true" /> </bean> <bean id="org.hisp.dhis.chart.ChartService" class="org.hisp.dhis.chart.impl.DefaultChartService"> + <property name="chartStore" ref="org.hisp.dhis.chart.ChartStore" /> <property name="periodService" ref="org.hisp.dhis.period.PeriodService" /> <property name="dataValueService" ref="org.hisp.dhis.datavalue.DataValueService" /> <property name="minMaxDataElementService" ref="org.hisp.dhis.minmax.MinMaxDataElementService" /> @@ -56,13 +58,15 @@ <!-- Document --> - <bean id="org.hisp.dhis.document.DocumentStore" class="org.hisp.dhis.document.hibernate.HibernateDocumentStore"> + <bean id="org.hisp.dhis.document.DocumentStore" class="org.hisp.dhis.common.hibernate.HibernateIdentifiableObjectStore"> <property name="clazz" value="org.hisp.dhis.document.Document" /> <property name="sessionFactory" ref="sessionFactory" /> <property name="cacheable" value="true" /> </bean> - <bean id="org.hisp.dhis.document.DocumentService" class="org.hisp.dhis.document.impl.DefaultDocumentService" /> + <bean id="org.hisp.dhis.document.DocumentService" class="org.hisp.dhis.document.impl.DefaultDocumentService"> + <property name="documentStore" ref="org.hisp.dhis.document.DocumentStore" /> + </bean> <!-- DataSetCompleteness --> @@ -174,9 +178,9 @@ <entry key="analyticsLast3YearsTask" value-ref="analyticsLast3YearsTask" /> <entry key="monitoringLastDayTask" value-ref="monitoringLastDayTask" /> <entry key="dataSynchTask" value-ref="dataSynchTask" /> - <entry key="smsSchedulerTask" value-ref="smsSchedulerTask" /> - <entry key="sendScheduledMessageTask" value-ref="sendScheduledMessageTask" /> - <entry key="sendScheduledMessageTaskNow" value-ref="sendScheduledMessageTaskNow" /> + <entry key="smsSchedulerTask" value-ref="smsSchedulerTask" /> + <entry key="sendScheduledMessageTask" value-ref="sendScheduledMessageTask" /> + <entry key="sendScheduledMessageTaskNow" value-ref="sendScheduledMessageTaskNow" /> </map> </property> </bean> @@ -206,7 +210,7 @@ </list> </property> </bean> - + <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject" ref="org.hisp.dhis.system.startup.StartupRoutineExecutor" /> <property name="targetMethod" value="addStartupRoutines" /> @@ -218,7 +222,7 @@ </list> </property> </bean> - + <!-- DeletionHandler --> <bean id="org.hisp.dhis.report.ReportDeletionHandler" class="org.hisp.dhis.report.ReportDeletionHandler"> === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/chart/ChartStoreTest.java' --- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/chart/ChartStoreTest.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/chart/ChartStoreTest.java 2016-03-15 08:29:20 +0000 @@ -28,7 +28,18 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Resource; + import org.hisp.dhis.DhisSpringTest; +import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.hisp.dhis.indicator.Indicator; import org.hisp.dhis.indicator.IndicatorService; import org.hisp.dhis.indicator.IndicatorType; @@ -41,11 +52,6 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.*; - /** * @author Lars Helge Overland * @version $Id$ @@ -53,9 +59,9 @@ public class ChartStoreTest extends DhisSpringTest { - @Autowired - private ChartStore chartStore; - + @Resource(name="org.hisp.dhis.chart.ChartStore") + private GenericIdentifiableObjectStore<Chart> chartStore; + @Autowired private IndicatorService indicatorService; @@ -65,6 +71,7 @@ @Autowired private OrganisationUnitService organisationUnitService; + private Indicator indicatorA; private Indicator indicatorB; private Indicator indicatorC; === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/document/DocumentStoreTest.java' --- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/document/DocumentStoreTest.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/document/DocumentStoreTest.java 2016-03-15 08:29:20 +0000 @@ -28,30 +28,36 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import javax.annotation.Resource; + import org.hisp.dhis.DhisSpringTest; +import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.junit.Test; -import org.springframework.beans.factory.annotation.Autowired; - -import java.util.List; - -import static org.junit.Assert.*; /** * @author Lars Helge Overland + * @version $Id$ */ public class DocumentStoreTest extends DhisSpringTest { - @Autowired - private DocumentStore documentStore; - + @Resource(name="org.hisp.dhis.document.DocumentStore") + private GenericIdentifiableObjectStore<Document> documentStore; + private Document documentA; private Document documentB; private Document documentC; - + @Override public void setUpTest() - { + { documentA = new Document( "DocumentA", "UrlA", true, null ); documentB = new Document( "DocumentB", "UrlB", true, null ); documentC = new Document( "DocumentC", "UrlC", false, null ); @@ -61,7 +67,7 @@ public void testSaveGet() { int id = documentStore.save( documentA ); - + assertEquals( documentA, documentStore.get( id ) ); } @@ -70,15 +76,15 @@ { int idA = documentStore.save( documentA ); int idB = documentStore.save( documentB ); - + assertNotNull( documentStore.get( idA ) ); assertNotNull( documentStore.get( idB ) ); - + documentStore.delete( documentA ); - + assertNull( documentStore.get( idA ) ); assertNotNull( documentStore.get( idB ) ); - + documentStore.delete( documentB ); assertNull( documentStore.get( idA ) ); @@ -91,13 +97,13 @@ documentStore.save( documentA ); documentStore.save( documentB ); documentStore.save( documentC ); - + List<Document> actual = documentStore.getAll(); - + assertEquals( 3, actual.size() ); assertTrue( actual.contains( documentA ) ); assertTrue( actual.contains( documentB ) ); - assertTrue( actual.contains( documentC ) ); + assertTrue( actual.contains( documentC ) ); } @Test @@ -106,7 +112,7 @@ documentStore.save( documentA ); documentStore.save( documentB ); documentStore.save( documentC ); - + assertEquals( documentA, documentStore.getByName( "DocumentA" ) ); } } === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/report/ReportStoreTest.java' --- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/report/ReportStoreTest.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/report/ReportStoreTest.java 2016-03-15 08:29:20 +0000 @@ -28,28 +28,34 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.List; + +import javax.annotation.Resource; + import org.hisp.dhis.DhisSpringTest; +import org.hisp.dhis.common.GenericStore; import org.hisp.dhis.reporttable.ReportTable; import org.hisp.dhis.reporttable.ReportTableService; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.util.List; - -import static org.junit.Assert.*; - /** * @author Lars Helge Overland */ public class ReportStoreTest extends DhisSpringTest { - @Autowired - private ReportStore reportStore; - + @Resource(name="org.hisp.dhis.report.ReportStore") + private GenericStore<Report> reportStore; + @Autowired private ReportTableService reportTableService; - + private ReportTable reportTableA; // ------------------------------------------------------------------------- @@ -74,10 +80,10 @@ { Report reportA = new Report( "ReportA", ReportType.JASPER_REPORT_TABLE, "DesignA", reportTableA ); Report reportB = new Report( "ReportB", ReportType.JASPER_REPORT_TABLE, "DesignB", reportTableA ); - + int idA = reportStore.save( reportA ); int idB = reportStore.save( reportB ); - + assertEquals( reportA, reportStore.get( idA ) ); assertEquals( reportB, reportStore.get( idB ) ); } @@ -87,22 +93,22 @@ { Report reportA = new Report( "ReportA", ReportType.JASPER_REPORT_TABLE, "DesignA", reportTableA ); Report reportB = new Report( "ReportB", ReportType.JASPER_REPORT_TABLE, "DesignB", reportTableA ); - + int idA = reportStore.save( reportA ); int idB = reportStore.save( reportB ); - + assertEquals( reportA, reportStore.get( idA ) ); assertEquals( reportB, reportStore.get( idB ) ); - + reportA.setDesignContent( "UpdatedDesignA" ); reportB.setDesignContent( "UpdatedDesignB" ); - + int updatedIdA = reportStore.save( reportA ); int updatedIdB = reportStore.save( reportB ); - + assertEquals( idA, updatedIdA ); assertEquals( idB, updatedIdB ); - + assertEquals( "UpdatedDesignA", reportStore.get( updatedIdA ).getDesignContent() ); assertEquals( "UpdatedDesignB", reportStore.get( updatedIdB ).getDesignContent() ); } @@ -112,13 +118,13 @@ { Report reportA = new Report( "ReportA", ReportType.JASPER_REPORT_TABLE, "DesignA", reportTableA ); Report reportB = new Report( "ReportB", ReportType.JASPER_REPORT_TABLE, "DesignB", reportTableA ); - + int idA = reportStore.save( reportA ); int idB = reportStore.save( reportB ); - + assertNotNull( reportStore.get( idA ) ); assertNotNull( reportStore.get( idB ) ); - + reportStore.delete( reportA ); assertNull( reportStore.get( idA ) ); @@ -135,15 +141,15 @@ { Report reportA = new Report( "ReportA", ReportType.JASPER_REPORT_TABLE, "DesignA", reportTableA ); Report reportB = new Report( "ReportB", ReportType.JASPER_REPORT_TABLE, "DesignB", reportTableA ); - + reportStore.save( reportA ); reportStore.save( reportB ); - + List<Report> reports = reportStore.getAll(); - + assertNotNull( reports ); assertEquals( 2, reports.size() ); assertTrue( reports.contains( reportA ) ); - assertTrue( reports.contains( reportB ) ); + assertTrue( reports.contains( reportB ) ); } } === modified file 'dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableStoreTest.java' --- dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableStoreTest.java 2016-03-15 07:24:23 +0000 +++ dhis-2/dhis-services/dhis-service-reporting/src/test/java/org/hisp/dhis/reporttable/ReportTableStoreTest.java 2016-03-15 08:29:20 +0000 @@ -28,7 +28,18 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Resource; + import org.hisp.dhis.DhisSpringTest; +import org.hisp.dhis.common.GenericIdentifiableObjectStore; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; import org.hisp.dhis.dataset.DataSet; @@ -46,11 +57,6 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import java.util.ArrayList; -import java.util.List; - -import static org.junit.Assert.*; - /** * @author Lars Helge Overland * @version $Id$ @@ -58,8 +64,8 @@ public class ReportTableStoreTest extends DhisSpringTest { - @Autowired - private ReportTableStore reportTableStore; + @Resource( name = "org.hisp.dhis.reporttable.ReportTableStore" ) + private GenericIdentifiableObjectStore<ReportTable> reportTableStore; @Autowired private DataElementService dataElementService; @@ -74,8 +80,8 @@ private PeriodService periodService; @Autowired - private OrganisationUnitService organisationUnitService; - + private OrganisationUnitService organisationUnitService ; + private IndicatorType indicatorType; private List<DataElement> dataElements; @@ -83,28 +89,28 @@ private List<DataSet> dataSets; private List<Period> periods; private List<OrganisationUnit> units; - + private PeriodType periodType; private DataElement dataElementA; private DataElement dataElementB; - + private Indicator indicatorA; private Indicator indicatorB; - + private DataSet dataSetA; private DataSet dataSetB; - + private Period periodA; private Period periodB; - + private OrganisationUnit unitA; private OrganisationUnit unitB; private RelativePeriods relativesA; private RelativePeriods relativesB; private RelativePeriods relativesC; - + @Override public void setUpTest() throws Exception @@ -114,69 +120,69 @@ dataSets = new ArrayList<>(); periods = new ArrayList<>(); units = new ArrayList<>(); - + indicatorType = createIndicatorType( 'A' ); - + indicatorService.addIndicatorType( indicatorType ); - + periodType = PeriodType.getPeriodTypeByName( MonthlyPeriodType.NAME ); dataElementA = createDataElement( 'A' ); dataElementB = createDataElement( 'B' ); - + dataElementService.addDataElement( dataElementA ); dataElementService.addDataElement( dataElementB ); - + dataElements.add( dataElementA ); dataElements.add( dataElementB ); - + indicatorA = createIndicator( 'A', indicatorType ); indicatorB = createIndicator( 'B', indicatorType ); - + indicatorService.addIndicator( indicatorA ); indicatorService.addIndicator( indicatorB ); - + indicators.add( indicatorA ); indicators.add( indicatorB ); - + dataSetA = createDataSet( 'A', periodType ); dataSetB = createDataSet( 'B', periodType ); - + dataSetService.addDataSet( dataSetA ); dataSetService.addDataSet( dataSetB ); - + dataSets.add( dataSetA ); dataSets.add( dataSetB ); - + periodA = createPeriod( periodType, getDate( 2000, 1, 1 ), getDate( 2000, 1, 31 ) ); periodB = createPeriod( periodType, getDate( 2000, 2, 1 ), getDate( 2000, 2, 28 ) ); - + periodService.addPeriod( periodA ); periodService.addPeriod( periodB ); - + periods.add( periodA ); - periods.add( periodB ); + periods.add( periodB ); unitA = createOrganisationUnit( 'A' ); - unitB = createOrganisationUnit( 'B' ); - + unitB = createOrganisationUnit( 'B' ); + organisationUnitService.addOrganisationUnit( unitA ); organisationUnitService.addOrganisationUnit( unitB ); - + units.add( unitA ); units.add( unitB ); - relativesA = new RelativePeriods(); + relativesA = new RelativePeriods(); relativesA.setLastMonth( true ); relativesA.setThisYear( true ); - relativesB = new RelativePeriods(); + relativesB = new RelativePeriods(); relativesB.setLastMonth( true ); relativesB.setThisYear( true ); - relativesC = new RelativePeriods(); + relativesC = new RelativePeriods(); relativesC.setLastMonth( true ); - relativesC.setThisYear( true ); + relativesC.setThisYear( true ); } @Test @@ -184,28 +190,28 @@ { ReportTable reportTableA = new ReportTable( "Immunization", new ArrayList<>(), indicators, new ArrayList<>(), periods, units, - true, true, false, relativesA, null, "january_2000" ); + true, true, false, relativesA, null, "january_2000" ); ReportTable reportTableB = new ReportTable( "Prescriptions", dataElements, new ArrayList<>(), new ArrayList<>(), periods, units, false, false, true, relativesB, null, "january_2000" ); ReportTable reportTableC = new ReportTable( "Assualt", new ArrayList<>(), new ArrayList<>(), dataSets, periods, units, false, false, true, relativesC, null, "january_2000" ); - + int idA = reportTableStore.save( reportTableA ); int idB = reportTableStore.save( reportTableB ); int idC = reportTableStore.save( reportTableC ); - + reportTableA = reportTableStore.get( idA ); reportTableB = reportTableStore.get( idB ); reportTableC = reportTableStore.get( idC ); - + assertEquals( "Immunization", reportTableA.getName() ); assertEquals( indicators, reportTableA.getIndicators() ); assertEquals( periods, reportTableA.getPeriods() ); assertEquals( units, reportTableA.getOrganisationUnits() ); assertEquals( relativesA, reportTableA.getRelatives() ); - + assertEquals( "Prescriptions", reportTableB.getName() ); assertEquals( dataElements, reportTableB.getDataElements() ); assertEquals( periods, reportTableB.getPeriods() ); @@ -223,22 +229,22 @@ { ReportTable reportTableA = new ReportTable( "Immunization", new ArrayList<>(), indicators, new ArrayList<>(), periods, units, - true, true, false, relativesA, null, "january_2000" ); + true, true, false, relativesA, null, "january_2000" ); ReportTable reportTableB = new ReportTable( "Prescriptions", dataElements, new ArrayList<>(), new ArrayList<>(), periods, units, false, false, true, relativesB, null, "january_2000" ); - + int idA = reportTableStore.save( reportTableA ); int idB = reportTableStore.save( reportTableB ); - + assertNotNull( reportTableStore.get( idA ) ); assertNotNull( reportTableStore.get( idB ) ); - + reportTableStore.delete( reportTableA ); assertNull( reportTableStore.get( idA ) ); assertNotNull( reportTableStore.get( idB ) ); - + reportTableStore.delete( reportTableB ); assertNull( reportTableStore.get( idA ) ); @@ -250,16 +256,16 @@ { ReportTable reportTableA = new ReportTable( "Immunization", new ArrayList<>(), indicators, new ArrayList<>(), periods, units, - true, true, false, relativesA, null, "january_2000" ); + true, true, false, relativesA, null, "january_2000" ); ReportTable reportTableB = new ReportTable( "Prescriptions", dataElements, new ArrayList<>(), new ArrayList<>(), periods, units, false, false, true, relativesB, null, "january_2000" ); - + reportTableStore.save( reportTableA ); reportTableStore.save( reportTableB ); - + List<ReportTable> reportTables = reportTableStore.getAll(); - + assertTrue( reportTables.contains( reportTableA ) ); assertTrue( reportTables.contains( reportTableB ) ); } @@ -269,16 +275,16 @@ { ReportTable reportTableA = new ReportTable( "Immunization", new ArrayList<>(), indicators, new ArrayList<>(), periods, units, - true, true, false, relativesA, null, "january_2000" ); + true, true, false, relativesA, null, "january_2000" ); ReportTable reportTableB = new ReportTable( "Prescriptions", dataElements, new ArrayList<>(), new ArrayList<>(), periods, units, false, false, true, relativesB, null, "january_2000" ); - + reportTableStore.save( reportTableA ); reportTableStore.save( reportTableB ); - + ReportTable receivedReportTableA = reportTableStore.getByName( "Immunization" ); - + assertNotNull( receivedReportTableA ); assertEquals( reportTableA.getName(), receivedReportTableA.getName() ); }
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-devs Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-devs More help : https://help.launchpad.net/ListHelp

