You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by tv...@apache.org on 2006/09/21 22:47:56 UTC

svn commit: r448675 - /jakarta/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java

Author: tv
Date: Thu Sep 21 13:47:56 2006
New Revision: 448675

URL: http://svn.apache.org/viewvc?view=rev&rev=448675
Log:
Better hashcode generation and string representation

Modified:
    jakarta/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java

Modified: jakarta/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java
URL: http://svn.apache.org/viewvc/jakarta/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java?view=diff&rev=448675&r1=448674&r2=448675
==============================================================================
--- jakarta/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java (original)
+++ jakarta/turbine/fulcrum/trunk/security/api/src/java/org/apache/fulcrum/security/model/turbine/entity/TurbineUserGroupRole.java Thu Sep 21 13:47:56 2006
@@ -18,6 +18,7 @@
 
 import java.io.Serializable;
 
+import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.apache.fulcrum.security.entity.Group;
 import org.apache.fulcrum.security.entity.Role;
 import org.apache.fulcrum.security.entity.User;
@@ -152,41 +153,47 @@
     {
         if (!hashCodeGenerated)
         {
-            StringBuffer sb = new StringBuffer();
-            if (null != this.getRole())
+            HashCodeBuilder hcBuilder = new HashCodeBuilder(39, 17);
+            
+            Role role = getRole();
+            if (null != role)
             {
-                sb.append(this.getRole().hashCode());
-                sb.append(":");
+                hcBuilder.append(role.getId());
+                hcBuilder.append(role.getName());
             }
-            else
-            {
-                return super.hashCode();
-            }
-            if (null != this.getUser())
-            {
-                sb.append(this.getUser().hashCode());
-                sb.append(":");
-            }
-            else
-            {
-                return super.hashCode();
-            }
-            if (null != this.getGroup())
+
+            User user = getUser();
+            if (null != user)
             {
-                sb.append(this.getGroup().hashCode());
-                sb.append(":");
+                hcBuilder.append(user.getId());
+                hcBuilder.append(user.getName());
+                hcBuilder.append(user.getPassword());
             }
-            else
+
+            Group group = getGroup();
+            if (null != group)
             {
-                return super.hashCode();
+                hcBuilder.append(group.getId());
+                hcBuilder.append(group.getName());
             }
-            this.hashCode = sb.toString().hashCode();
+
+            this.hashCode = hcBuilder.toHashCode();
         }
+        
         return this.hashCode;
     }
 
     public String toString()
     {
-        return super.toString();
+        StringBuffer sb = new StringBuffer();
+        
+        sb.append(null != getUser() ? getUser().toString() : "null");
+        sb.append('\n');
+        sb.append(null != getGroup() ? getGroup().toString() : "null");
+        sb.append('\n');
+        sb.append(null != getRole() ? getRole().toString() : "null");
+        sb.append('\n');
+        
+        return sb.toString();
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org