dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #26181
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 12969: refactored code for merging dataset.sources from selection-manager into dataSetService.mergeWithC...
------------------------------------------------------------
revno: 12969
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2013-11-19 11:57:35 +0100
message:
refactored code for merging dataset.sources from selection-manager into dataSetService.mergeWithCurrentUserOrganisationUnits
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java
dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java
dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.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/dataset/DataSetService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java 2013-08-23 15:56:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/dataset/DataSetService.java 2013-11-19 10:57:35 +0000
@@ -354,4 +354,11 @@
* @return true or false indicating whether the system is locked or not.
*/
boolean isLocked( DataElement dataElement, Period period, OrganisationUnit organisationUnit, Date now );
+
+ /**
+ * Take
+ * @param dataSet
+ * @param organisationUnits
+ */
+ void mergeWithCurrentUserOrganisationUnits( DataSet dataSet, Collection<OrganisationUnit> organisationUnits );
}
=== 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 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/java/org/hisp/dhis/dataset/DefaultDataSetService.java 2013-11-19 10:57:35 +0000
@@ -32,11 +32,14 @@
import org.hisp.dhis.dataentryform.DataEntryForm;
import org.hisp.dhis.i18n.I18nService;
import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.organisationunit.OrganisationUnitService;
import org.hisp.dhis.period.Period;
import org.hisp.dhis.period.PeriodType;
import org.hisp.dhis.system.util.Filter;
import org.hisp.dhis.system.util.FilterUtils;
+import org.hisp.dhis.user.CurrentUserService;
import org.joda.time.DateTime;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
@@ -82,6 +85,22 @@
i18nService = service;
}
+ private OrganisationUnitService organisationUnitService;
+
+ @Autowired
+ public void setOrganisationUnitService( OrganisationUnitService organisationUnitService )
+ {
+ this.organisationUnitService = organisationUnitService;
+ }
+
+ private CurrentUserService currentUserService;
+
+ @Autowired
+ public void setCurrentUserService( CurrentUserService currentUserService )
+ {
+ this.currentUserService = currentUserService;
+ }
+
// -------------------------------------------------------------------------
// DataSet
// -------------------------------------------------------------------------
@@ -411,4 +430,24 @@
return expired && lockExceptionStore.getCount( dataElement, period, organisationUnit ) == 0l;
}
+
+ @Override
+ public void mergeWithCurrentUserOrganisationUnits( DataSet dataSet, Collection<OrganisationUnit> mergeOrganisationUnits )
+ {
+ Set<OrganisationUnit> organisationUnits = new HashSet<OrganisationUnit>( dataSet.getSources() );
+
+ Set<OrganisationUnit> userOrganisationUnits = new HashSet<OrganisationUnit>();
+
+ for ( OrganisationUnit organisationUnit : currentUserService.getCurrentUser().getOrganisationUnits() )
+ {
+ userOrganisationUnits.addAll( organisationUnitService.getOrganisationUnitsWithChildren( organisationUnit.getUid() ) );
+ }
+
+ organisationUnits.removeAll( userOrganisationUnits );
+ organisationUnits.addAll( mergeOrganisationUnits );
+
+ dataSet.updateOrganisationUnits( organisationUnits );
+
+ updateDataSet( dataSet );
+ }
}
=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java 2013-11-06 10:41:43 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java 2013-11-19 10:57:35 +0000
@@ -93,22 +93,7 @@
throws Exception
{
DataSet dataSet = dataSetService.getDataSet( dataSetId );
-
- Set<OrganisationUnit> organisationUnits = new HashSet<OrganisationUnit>( dataSet.getSources() );
-
- Set<OrganisationUnit> userOrganisationUnits = new HashSet<OrganisationUnit>();
-
- for ( OrganisationUnit organisationUnit : selectionTreeManager.getRootOrganisationUnits() )
- {
- userOrganisationUnits.addAll( organisationUnitService.getOrganisationUnitsWithChildren( organisationUnit.getUid() ) );
- }
-
- organisationUnits.removeAll( userOrganisationUnits );
- organisationUnits.addAll( selectionTreeManager.getReloadedSelectedOrganisationUnits() );
-
- dataSet.updateOrganisationUnits( organisationUnits );
-
- dataSetService.updateDataSet( dataSet );
+ dataSetService.mergeWithCurrentUserOrganisationUnits( dataSet, selectionTreeManager.getReloadedSelectedOrganisationUnits() );
return SUCCESS;
}