=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java 2012-02-16 18:13:44 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java 2012-05-15 15:28:44 +0000 @@ -27,15 +27,15 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +import java.util.Collection; +import java.util.Date; +import java.util.List; + import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.organisationunit.OrganisationUnit; import org.hisp.dhis.period.Period; import org.hisp.dhis.period.PeriodType; -import java.util.Collection; -import java.util.Date; -import java.util.List; - /** * @author Lars Helge Overland * @version $Id: DataSetService.java 6255 2008-11-10 16:01:24Z larshelg $ @@ -202,6 +202,14 @@ Collection getDistinctDataElements( Collection dataSetIdentifiers ); /** + * Returns a list of data sets with the given uids. + * + * @param uids the collection of uids. + * @return a list of data sets. + */ + List getDataSetsByUid( Collection uids ); + + /** * Returns a collection of data elements associated with the given * corresponding data set. * === modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java' --- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java 2012-02-17 13:25:29 +0000 +++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java 2012-05-15 15:28:44 +0000 @@ -296,6 +296,11 @@ return dataElements; } + + public List getDataSetsByUid( Collection uids ) + { + return dataSetStore.getByUid( uids ); + } public Collection getDataElements( DataSet dataSet ) { === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java' --- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java 2012-05-14 18:21:39 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/api/controller/ReportTableController.java 2012-05-15 15:28:44 +0000 @@ -46,6 +46,8 @@ import org.hisp.dhis.common.Pager; import org.hisp.dhis.dataelement.DataElement; import org.hisp.dhis.dataelement.DataElementService; +import org.hisp.dhis.dataset.DataSet; +import org.hisp.dhis.dataset.DataSetService; import org.hisp.dhis.i18n.I18nManager; import org.hisp.dhis.indicator.Indicator; import org.hisp.dhis.indicator.IndicatorService; @@ -93,6 +95,9 @@ private DataElementService dataElementService; @Autowired + private DataSetService dataSetService; + + @Autowired private I18nManager i18nManager; @Autowired @@ -155,6 +160,7 @@ @RequestMapping( value = "/data", method = RequestMethod.GET ) public String getReportTableDynamicData( @RequestParam(required=false, value="in") List indicators, @RequestParam(required=false, value="de") List dataElements, + @RequestParam(required=false, value="ds") List dataSets, @RequestParam(value="ou") List orgUnits, @RequestParam(required=false) List crossTab, @RequestParam(required=false) boolean orgUnitIsParent, @@ -164,11 +170,12 @@ { List indicators_ = indicatorService.getIndicatorsByUid( indicators ); List dataElements_ = dataElementService.getDataElementsByUid( dataElements ); + List dataSets_ = dataSetService.getDataSetsByUid( dataSets ); List organisationUnits = organisationUnitService.getOrganisationUnitsByUid( orgUnits ); - if ( indicators_.isEmpty() && dataElements_.isEmpty() ) + if ( indicators_.isEmpty() && dataElements_.isEmpty() && dataSets_.isEmpty() ) { - ContextUtils.conflictResponse( response, "No indicators or data elements specified" ); + ContextUtils.conflictResponse( response, "No valid indicators, data elements or data sets specified" ); return null; } === modified file 'dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/html/reportTable.xsl' --- dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/html/reportTable.xsl 2012-05-15 07:44:03 +0000 +++ dhis-2/dhis-web/dhis-web-api/src/main/resources/templates/html/reportTable.xsl 2012-05-15 15:28:44 +0000 @@ -28,9 +28,7 @@ pe period yyyy-MM-dd (opt) - - -
+
@@ -46,10 +44,26 @@ + + + + -
data element uids
dsdata set uids
ou org unit uids
+ + crosstab + crosstab dimensions + + + orgUnitIsParent + org unit is parent + + + [relative periods] + [boolean values] + +