dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #41668
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 21244: minor audit service changes, also adds query by data-set
------------------------------------------------------------
revno: 21244
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2015-12-01 14:15:46 +0700
message:
minor audit service changes, also adds query by data-set
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditStore.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueAuditService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueAuditStore.java
dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AuditController.java
dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetHistoryAction.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/datavalue/DataValueAuditService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditService.java 2015-11-30 05:36:05 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditService.java 2015-12-01 07:15:46 +0000
@@ -74,10 +74,9 @@
* OrganisationUnit and DataElementCategoryOptionCombo, or an empty collection if
* there are not matches.
*/
- List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType );
- List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
- DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType,
- int first, int max );
+ List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType, int first, int max );
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditStore.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditStore.java 2015-11-30 05:36:05 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/datavalue/DataValueAuditStore.java 2015-12-01 07:15:46 +0000
@@ -66,21 +66,18 @@
* Returns all DataValueAudits which match the given DataElement, Period,
* OrganisationUnit and DataElementCategoryOptionCombo.
*
- * @param dataElement the DataElement of the DataValueAudits.
- * @param period the Period of the DataValueAudits.
- * @param organisationUnit the OrganisationUnit of the DataValueAudits.
+ * @param dataElements the DataElement of the DataValueAudits.
+ * @param periods the Period of the DataValueAudits.
+ * @param organisationUnits the OrganisationUnit of the DataValueAudits.
* @param categoryOptionCombo the DataElementCategoryOptionCombo of the DataValueAudits.
* @param attributeOptionCombo the attribute option combo.
* @return a list of DataValueAudits which match the given DataElement, Period,
* OrganisationUnit and DataElementCategoryOptionCombo, or an empty list
* if no DataValueAudits match.
*/
- List<DataValueAudit> getDataValueAudits( DataElement dataElement, Period period, OrganisationUnit organisationUnit,
- DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType );
-
- List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> period, List<OrganisationUnit> organisationUnits,
- DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType );
-
- List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType );
+
+ List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType, int first, int max );
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueAuditService.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueAuditService.java 2015-11-30 05:36:05 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/DefaultDataValueAuditService.java 2015-12-01 07:15:46 +0000
@@ -71,16 +71,16 @@
}
@Override
- public List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ public List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType )
{
- return dataValueAuditStore.getDataValueAudits( dataElement, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
+ return dataValueAuditStore.getDataValueAudits( dataElements, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
}
@Override
- public List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ public List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType, int first, int max )
{
- return dataValueAuditStore.getDataValueAudits( dataElement, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType, first, max );
+ return dataValueAuditStore.getDataValueAudits( dataElements, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType, first, max );
}
}
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueAuditStore.java'
--- dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueAuditStore.java 2015-12-01 04:59:42 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/datavalue/hibernate/HibernateDataValueAuditStore.java 2015-12-01 07:15:46 +0000
@@ -87,41 +87,32 @@
@Override
public List<DataValueAudit> getDataValueAudits( DataValue dataValue )
{
- return getDataValueAudits( dataValue.getDataElement(), dataValue.getPeriod(),
- dataValue.getSource(), dataValue.getCategoryOptionCombo(), dataValue.getAttributeOptionCombo(), null );
- }
-
- @Override
- @SuppressWarnings( "unchecked" )
- public List<DataValueAudit> getDataValueAudits( DataElement dataElement, Period period, OrganisationUnit organisationUnit,
- DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType )
- {
- return getDataValueAudits( dataElement, Lists.newArrayList( period ), Lists.newArrayList( organisationUnit ),
- categoryOptionCombo, attributeOptionCombo, auditType );
- }
-
- @Override
- @SuppressWarnings( "unchecked" )
- public List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
- DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType )
- {
- Criteria criteria = getDataValueAuditCriteria( dataElement, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
+ return getDataValueAudits( Lists.newArrayList( dataValue.getDataElement() ), Lists.newArrayList( dataValue.getPeriod() ),
+ Lists.newArrayList( dataValue.getSource() ), dataValue.getCategoryOptionCombo(), dataValue.getAttributeOptionCombo(), null );
+ }
+
+ @Override
+ @SuppressWarnings( "unchecked" )
+ public List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType )
+ {
+ Criteria criteria = getDataValueAuditCriteria( dataElements, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
return criteria.list();
}
@Override
@SuppressWarnings( "unchecked" )
- public List<DataValueAudit> getDataValueAudits( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits,
+ public List<DataValueAudit> getDataValueAudits( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits,
DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType auditType, int first, int max )
{
- Criteria criteria = getDataValueAuditCriteria( dataElement, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
+ Criteria criteria = getDataValueAuditCriteria( dataElements, periods, organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
criteria.setFirstResult( first );
criteria.setMaxResults( max );
return criteria.list();
}
- private Criteria getDataValueAuditCriteria( DataElement dataElement, List<Period> periods, List<OrganisationUnit> organisationUnits, DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType
+ private Criteria getDataValueAuditCriteria( List<DataElement> dataElements, List<Period> periods, List<OrganisationUnit> organisationUnits, DataElementCategoryOptionCombo categoryOptionCombo, DataElementCategoryOptionCombo attributeOptionCombo, AuditType
auditType )
{
Session session = sessionFactory.getCurrentSession();
@@ -142,9 +133,9 @@
Criteria criteria = session.createCriteria( DataValueAudit.class );
- if ( dataElement != null )
+ if ( !dataElements.isEmpty() )
{
- criteria.add( Restrictions.eq( "dataElement", dataElement ) );
+ criteria.add( Restrictions.in( "dataElement", dataElements ) );
}
if ( !storedPeriods.isEmpty() )
=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AuditController.java'
--- dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AuditController.java 2015-11-30 04:51:17 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/java/org/hisp/dhis/webapi/controller/AuditController.java 2015-12-01 07:15:46 +0000
@@ -32,6 +32,7 @@
import org.hisp.dhis.common.IdentifiableObjectManager;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementCategoryOptionCombo;
+import org.hisp.dhis.dataset.DataSet;
import org.hisp.dhis.datavalue.DataValueAudit;
import org.hisp.dhis.datavalue.DataValueAuditService;
import org.hisp.dhis.dxf2.webmessage.WebMessageException;
@@ -87,7 +88,8 @@
@RequestMapping( value = "dataValue", method = RequestMethod.GET )
public @ResponseBody RootNode getAggregateDataValueAudit(
- @RequestParam( required = false ) String de,
+ @RequestParam( required = false, defaultValue = "" ) List<String> ds,
+ @RequestParam( required = false, defaultValue = "" ) List<String> de,
@RequestParam( required = false, defaultValue = "" ) List<String> pe,
@RequestParam( required = false, defaultValue = "" ) List<String> ou,
@RequestParam( required = false ) String co,
@@ -95,13 +97,16 @@
@RequestParam( required = false ) AuditType auditType
) throws WebMessageException
{
- DataElement dataElement = getDataElement( de );
+ List<DataElement> dataElements = new ArrayList<>();
+ dataElements.addAll( getDataElements( de ) );
+ dataElements.addAll( getDataElementsByDataSet( ds ) );
+
List<Period> periods = getPeriods( pe );
List<OrganisationUnit> organisationUnits = getOrganisationUnit( ou );
DataElementCategoryOptionCombo categoryOptionCombo = getCategoryOptionCombo( co );
DataElementCategoryOptionCombo attributeOptionCombo = getAttributeOptionCombo( cc );
- List<DataValueAudit> dataValueAudits = dataValueAuditService.getDataValueAudits( dataElement, periods,
+ List<DataValueAudit> dataValueAudits = dataValueAuditService.getDataValueAudits( dataElements, periods,
organisationUnits, categoryOptionCombo, attributeOptionCombo, auditType );
RootNode rootNode = NodeUtils.createRootNode( "dataValueAudits" );
@@ -254,6 +259,25 @@
return programStageInstance;
}
+ private List<DataElement> getDataElementsByDataSet( List<String> dsIdentifiers ) throws WebMessageException
+ {
+ List<DataElement> dataElements = new ArrayList<>();
+
+ for ( String ds : dsIdentifiers )
+ {
+ DataSet dataSet = manager.get( DataSet.class, ds );
+
+ if ( dataSet == null )
+ {
+ throw new WebMessageException( WebMessageUtils.conflict( "Illegal dataSet identifier: " + ds ) );
+ }
+
+ dataElements.addAll( dataSet.getDataElements() );
+ }
+
+ return dataElements;
+ }
+
private List<DataElement> getDataElements( List<String> deIdentifier ) throws WebMessageException
{
List<DataElement> dataElements = new ArrayList<>();
=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetHistoryAction.java'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetHistoryAction.java 2015-11-30 05:36:05 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/java/org/hisp/dhis/de/action/GetHistoryAction.java 2015-12-01 07:15:46 +0000
@@ -259,8 +259,8 @@
DataElementCategoryOptionCombo attributeOptionCombo = inputUtils.getAttributeOptionCombo( cc, cp );
- dataValueAudits = dataValueAuditService.getDataValueAudits( dataElement, Lists.newArrayList( period ), Lists.newArrayList( organisationUnit ),
- categoryOptionCombo, attributeOptionCombo, null );
+ dataValueAudits = dataValueAuditService.getDataValueAudits( Lists.newArrayList( dataElement ), Lists.newArrayList( period ),
+ Lists.newArrayList( organisationUnit ), categoryOptionCombo, attributeOptionCombo, null );
dataValue = dataValueService.getDataValue( dataElement, period, organisationUnit, categoryOptionCombo, attributeOptionCombo );