← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 11977: fixed bug in OrganisationUnit, relied on only name for equals(), but to orgUnits can have the sam...

 

------------------------------------------------------------
revno: 11977
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-09-09 10:02:21 +0200
message:
  fixed bug in OrganisationUnit, relied on only name for equals(), but to orgUnits can have the same name (caused issues in dataset assignment, would assign to all OUs with same name)
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java
  dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/oust/manager/DefaultSelectionTreeManager.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/organisationunit/OrganisationUnit.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java	2013-08-28 11:47:51 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/organisationunit/OrganisationUnit.java	2013-09-09 08:02:21 +0000
@@ -601,33 +601,6 @@
     }
 
     // -------------------------------------------------------------------------
-    // hashCode, equals and toString
-    // -------------------------------------------------------------------------
-
-    @Override
-    public boolean equals( Object o )
-    {
-        if ( this == o )
-        {
-            return true;
-        }
-
-        if ( o == null )
-        {
-            return false;
-        }
-
-        if ( !(o instanceof OrganisationUnit) )
-        {
-            return false;
-        }
-
-        final OrganisationUnit other = (OrganisationUnit) o;
-
-        return name.equals( other.getName() );
-    }
-
-    // -------------------------------------------------------------------------
     // Getters and setters
     // -------------------------------------------------------------------------
 

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/oust/manager/DefaultSelectionTreeManager.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/oust/manager/DefaultSelectionTreeManager.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/oust/manager/DefaultSelectionTreeManager.java	2013-09-09 08:02:21 +0000
@@ -28,19 +28,18 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+import com.opensymphony.xwork2.ActionContext;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.organisationunit.OrganisationUnitService;
+import org.hisp.dhis.user.CurrentUserService;
+import org.hisp.dhis.user.User;
+
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.organisationunit.OrganisationUnitService;
-import org.hisp.dhis.user.CurrentUserService;
-import org.hisp.dhis.user.User;
-
-import com.opensymphony.xwork2.ActionContext;
-
 /**
  * @author Torgeir Lorange Ostby
  * @version $Id: DefaultSelectionTreeManager.java 5652 2008-09-06 13:24:34Z larshelg $
@@ -48,9 +47,9 @@
 public class DefaultSelectionTreeManager
     implements SelectionTreeManager
 {
-    private static final String SESSION_KEY_SELECTED_ORG_UNITS = "dhis-oust-selected-org-units";    
+    private static final String SESSION_KEY_SELECTED_ORG_UNITS = "dhis-oust-selected-org-units";
     private static final String SESSION_KEY_ROOT_ORG_UNITS = "dhis-oust-root-org-units";
-    
+
     private static final double PERCENTAGE_OF_MULTIPLE_RELOADING_ORG_UNITS = 0.2;
 
     // -------------------------------------------------------------------------
@@ -63,7 +62,7 @@
     {
         this.organisationUnitService = organisationUnitService;
     }
-    
+
     private CurrentUserService currentUserService;
 
     public void setCurrentUserService( CurrentUserService currentUserService )
@@ -112,7 +111,7 @@
 
         return reloadOrganisationUnits( rootUnits );
     }
-    
+
     public OrganisationUnit getRootOrganisationUnitsParent()
     {
         Collection<OrganisationUnit> rootUnits = getCollectionFromSession( SESSION_KEY_ROOT_ORG_UNITS );
@@ -154,7 +153,7 @@
             saveToSession( SESSION_KEY_SELECTED_ORG_UNITS, selectedUnits );
         }
     }
-    
+
     public Collection<OrganisationUnit> getSelectedOrganisationUnits()
     {
         Collection<OrganisationUnit> selectedUnits = getCollectionFromSession( SESSION_KEY_SELECTED_ORG_UNITS );
@@ -166,12 +165,12 @@
 
         return selectedUnits;
     }
-    
+
     public Collection<OrganisationUnit> getReloadedSelectedOrganisationUnits()
     {
         return reloadOrganisationUnits( getSelectedOrganisationUnits() );
     }
-    
+
     public OrganisationUnit getReloadedSelectedOrganisationUnit()
     {
         return reloadOrganisationUnit( getSelectedOrganisationUnit() );
@@ -209,16 +208,16 @@
     public boolean setCurrentUserOrganisationUnitAsSelected()
     {
         User user = currentUserService.getCurrentUser();
-        
+
         if ( user != null && user.getOrganisationUnit() != null )
         {
             setSelectedOrganisationUnit( user.getOrganisationUnit() );
             return true;
         }
-        
+
         return false;
     }
-    
+
     // -------------------------------------------------------------------------
     // Session methods
     // -------------------------------------------------------------------------
@@ -233,7 +232,7 @@
         getSession().put( key, object );
     }
 
-    @SuppressWarnings( "unchecked" )
+    @SuppressWarnings("unchecked")
     private final Collection<OrganisationUnit> getCollectionFromSession( String key )
     {
         return (Collection<OrganisationUnit>) getSession().get( key );
@@ -258,13 +257,13 @@
         Set<OrganisationUnit> reloadedUnits = new HashSet<OrganisationUnit>();
 
         int noTotal = organisationUnitService.getNumberOfOrganisationUnits();
-        
+
         int noSelected = units.size();
 
         if ( (double) noSelected / noTotal > PERCENTAGE_OF_MULTIPLE_RELOADING_ORG_UNITS ) // Select all at once
         {
             Collection<OrganisationUnit> allOrgUnits = organisationUnitService.getAllOrganisationUnits();
-            
+
             for ( OrganisationUnit unit : allOrgUnits )
             {
                 if ( units.contains( unit ) )
@@ -295,27 +294,27 @@
     private Collection<OrganisationUnit> getUnitsInTree( Collection<OrganisationUnit> rootUnits, Collection<OrganisationUnit> selectedUnits )
     {
         Collection<OrganisationUnit> unitsInTree = new ArrayList<OrganisationUnit>();
-        
+
         for ( OrganisationUnit selectedUnit : selectedUnits )
         {
-            if  ( rootUnits.contains( selectedUnit ) )
+            if ( rootUnits.contains( selectedUnit ) )
             {
                 unitsInTree.add( selectedUnit );
             }
-            
+
             OrganisationUnit parent = selectedUnit.getParent();
-            
+
             while ( parent != null )
             {
                 if ( rootUnits.contains( parent ) )
                 {
                     unitsInTree.add( selectedUnit );
                 }
-                
+
                 parent = parent.getParent();
             }
         }
-        
+
         return unitsInTree;
     }
 }

=== 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-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/java/org/hisp/dhis/dataset/action/DefineDataSetAssociationsAction.java	2013-09-09 08:02:21 +0000
@@ -28,14 +28,13 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-import java.util.HashSet;
-
+import com.opensymphony.xwork2.Action;
 import org.hisp.dhis.dataset.DataSet;
 import org.hisp.dhis.dataset.DataSetService;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
 import org.hisp.dhis.oust.manager.SelectionTreeManager;
 
-import com.opensymphony.xwork2.Action;
+import java.util.HashSet;
 
 /**
  * @author Kristian
@@ -85,7 +84,7 @@
         DataSet dataSet = dataSetService.getDataSet( dataSetId );
 
         dataSet.updateOrganisationUnits( new HashSet<OrganisationUnit>( selectionTreeManager.getReloadedSelectedOrganisationUnits() ) );
-        
+
         dataSetService.updateDataSet( dataSet );
 
         return SUCCESS;