jford       2003/08/03 17:00:22

  Modified:    src/java/org/apache/jetspeed/modules/actions/portlets
                        SecurityUpdateAction.java
               src/java/org/apache/jetspeed/om/registry/base
                        BaseSecurityEntry.java
  Log:
  Added fix to rebuild access map whenever accesses are modified.
  
  PR: Bugzilla #21808
  
  Revision  Changes    Path
  1.4       +9 -2      
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/SecurityUpdateAction.java
  
  Index: SecurityUpdateAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/SecurityUpdateAction.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SecurityUpdateAction.java 23 Jul 2003 19:50:12 -0000      1.3
  +++ SecurityUpdateAction.java 4 Aug 2003 00:00:22 -0000       1.4
  @@ -56,6 +56,7 @@
   
   import java.util.ArrayList;
   import java.util.Iterator;
  +import java.util.Vector;
   
   import org.apache.jetspeed.modules.actions.portlets.security.SecurityConstants;
   import org.apache.jetspeed.om.registry.SecurityAccess;
  @@ -196,7 +197,9 @@
   
                       addAllow(rundata, securityAccess);
   
  -                    securityEntry.getAccesses().add(securityAccess);
  +                    Vector accesses = securityEntry.getAccesses();
  +                    accesses.add(securityAccess);
  +                    securityEntry.setAccesses(accesses);
   
                       Registry.addEntry(Registry.SECURITY, securityEntry);
                       clearUserData(rundata);
  @@ -328,12 +331,16 @@
                           }
                       }
   
  +
  +                    Vector accesses = securityEntry.getAccesses();
                       Iterator deleteIter = deleteList.iterator();
                       while (deleteIter.hasNext())
                       {
                           SecurityAccess sa = (SecurityAccess) deleteIter.next();
  -                        securityEntry.getAccesses().remove(sa);
  +                        accesses.remove(sa);
                       }
  +                    
  +                    securityEntry.setAccesses(accesses);
   
                       Registry.addEntry(Registry.SECURITY, securityEntry);
                       clearUserData(rundata);
  
  
  
  1.10      +9 -1      
jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry/base/BaseSecurityEntry.java
  
  Index: BaseSecurityEntry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/om/registry/base/BaseSecurityEntry.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- BaseSecurityEntry.java    15 Apr 2003 20:44:55 -0000      1.9
  +++ BaseSecurityEntry.java    4 Aug 2003 00:00:22 -0000       1.10
  @@ -154,6 +154,8 @@
        */
       public void setAccesses(Vector accesses)
       {
  +        buildAccessMap();
  +        
           this.accesses = accesses;
       }
   
  @@ -366,6 +368,9 @@
               BaseSecurityAllow allow = new BaseSecurityAllow();
               allow.setRole(role);
               allows.add(allow);
  +            
  +            buildAccessMap();
  +            
               return true;
           }
   
  @@ -395,6 +400,9 @@
               BaseSecurityAllow allow = new BaseSecurityAllow();
               allow.setUser(user);
               allows.add(allow);
  +            
  +            buildAccessMap();
  +            
               return true;
           }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to