You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2008/09/02 18:42:43 UTC

svn commit: r691314 - in /portals/jetspeed-2/portal/branches/security-refactoring: components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/serializer/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/administration/ components/je...

Author: woonsan
Date: Tue Sep  2 09:42:42 2008
New Revision: 691314

URL: http://svn.apache.org/viewvc?rev=691314&view=rev
Log:
Flattening the Principal API.
Modified the existing classes to implement new interfaces.
Build is still broken. Manager components and some serialization tools need to be refined more.

Modified:
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/serializer/JetspeedUserTemplateSerializer.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/administration/PortalAdministrationImpl.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserManagerUserAttributeSourceImpl.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java
    portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/UserImpl.java
    portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-api/src/main/java/org/apache/jetspeed/security/User.java

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/serializer/JetspeedUserTemplateSerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/serializer/JetspeedUserTemplateSerializer.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/serializer/JetspeedUserTemplateSerializer.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-page-manager/src/main/java/org/apache/jetspeed/serializer/JetspeedUserTemplateSerializer.java Tue Sep  2 09:42:42 2008
@@ -30,12 +30,15 @@
 import org.apache.jetspeed.page.PageManager;
 import org.apache.jetspeed.page.PageManagerUtils;
 import org.apache.jetspeed.page.document.NodeException;
+import org.apache.jetspeed.security.AttributeAlreadyExistsException;
+import org.apache.jetspeed.security.AttributeTypeNotFoundException;
+import org.apache.jetspeed.security.AttributesReadOnlyException;
 import org.apache.jetspeed.security.JSSubject;
 import org.apache.jetspeed.security.SecurityException;
 import org.apache.jetspeed.security.User;
 import org.apache.jetspeed.security.UserManager;
-import org.apache.jetspeed.security.attributes.SecurityAttribute;
-import org.apache.jetspeed.security.attributes.SecurityAttributes;
+import org.apache.jetspeed.security.SecurityAttribute;
+import org.apache.jetspeed.security.SecurityAttributes;
 import org.apache.jetspeed.serializer.objects.JSSnapshot;
 import org.apache.jetspeed.serializer.objects.JSUser;
 
@@ -149,9 +152,12 @@
                 {
                     if (innerSubsite != null)
                     {
-                        User innerUser = userManager.getUser(innerUserName);                   
-                        Map<String, SecurityAttribute> attributes = innerUser.getAttributes().getAttributes(SecurityAttributes.USER_INFORMATION);
-                        attributes.put(User.USER_INFO_SUBSITE, innerUser.getAttributes().createAttribute(User.USER_INFO_SUBSITE, innerSubsite));
+                        User innerUser = userManager.getUser(innerUserName);
+                        SecurityAttributes userAttrs = innerUser.getSecurityAttributes();
+                        Map<String, SecurityAttribute> attributes = userAttrs.getInfoAttributeMap();
+                        SecurityAttribute userAttr = userAttrs.addAttribute(User.USER_INFO_SUBSITE);
+                        userAttr.setStringValue(innerSubsite);
+                        attributes.put(User.USER_INFO_SUBSITE, userAttr);
                         userManager.updateUser(innerUser);
                     }
                     Folder source = innerPageManager.getFolder(innerFolderTemplate);
@@ -178,6 +184,18 @@
                 {
                     se.printStackTrace();
                     return se;                    
+                } 
+                catch (AttributesReadOnlyException ae)
+                {
+                    return ae;
+                } 
+                catch (AttributeTypeNotFoundException ae)
+                {
+                    return ae;
+                } 
+                catch (AttributeAlreadyExistsException ae)
+                {
+                    return ae;
                 }
             }
         }, null);

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/administration/PortalAdministrationImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/administration/PortalAdministrationImpl.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/administration/PortalAdministrationImpl.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/administration/PortalAdministrationImpl.java Tue Sep  2 09:42:42 2008
@@ -44,6 +44,9 @@
 import org.apache.jetspeed.profiler.Profiler;
 import org.apache.jetspeed.profiler.rules.ProfilingRule;
 import org.apache.jetspeed.request.RequestContext;
+import org.apache.jetspeed.security.AttributeAlreadyExistsException;
+import org.apache.jetspeed.security.AttributeTypeNotFoundException;
+import org.apache.jetspeed.security.AttributesReadOnlyException;
 import org.apache.jetspeed.security.GroupManager;
 import org.apache.jetspeed.security.JSSubject;
 import org.apache.jetspeed.security.RoleManager;
@@ -52,9 +55,8 @@
 import org.apache.jetspeed.security.User;
 import org.apache.jetspeed.security.UserManager;
 import org.apache.jetspeed.security.UserPrincipal;
-import org.apache.jetspeed.security.attributes.SecurityAttribute;
-import org.apache.jetspeed.security.attributes.SecurityAttributes;
-import org.apache.jetspeed.security.attributes.SecurityAttributesProvider;
+import org.apache.jetspeed.security.SecurityAttribute;
+import org.apache.jetspeed.security.SecurityAttributes;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
 import org.springframework.mail.MailException;
@@ -219,11 +221,13 @@
             // assign user attributes to user
             if (userInfo != null)
             {
+                SecurityAttributes userAttrs = user.getSecurityAttributes();
                 Iterator info = userInfo.entrySet().iterator();
                 while (info.hasNext())
                 {           
                     Map.Entry entry = (Map.Entry)info.next();
-                    user.getUserAttributes().put((String)entry.getKey(), (String)entry.getValue());
+                    SecurityAttribute userAttr = userAttrs.addAttribute((String)entry.getKey());
+                    userAttr.setStringValue((String) entry.getValue());
                 }
             }
             
@@ -275,12 +279,13 @@
                 {
                     public Object run() 
                     {
-                         try
+                        try
                         {
                              if (innerSubsite != null)
                              {
-                                 Map<String, SecurityAttribute> attributes = innerUser.getAttributes().getAttributes(SecurityAttributes.USER_INFORMATION);
-                                 attributes.put(User.USER_INFO_SUBSITE, innerUser.getAttributes().createAttribute(User.USER_INFO_SUBSITE, innerSubsite));
+                                 SecurityAttributes userAttrs = innerUser.getSecurityAttributes();
+                                 SecurityAttribute userAttr = userAttrs.addAttribute(User.USER_INFO_SUBSITE);
+                                 userAttr.setStringValue(innerSubsite);
                                  userManager.updateUser(innerUser);
                              }                                         
                              // create user's home folder                        
@@ -296,20 +301,34 @@
                              
                             return null;
                         }
-                         catch (SecurityException s1)
-                         {
-                             return s1;
-                         }
-                         catch (FolderNotFoundException e1) 
-                         {
-                             return e1;
-                         } catch (InvalidFolderException e1)
-                         {
-                             return e1;
-                         } catch (NodeException e1)
-                         {
-                             return e1;
-                         }
+                        catch (SecurityException s1)
+                        {
+                            return s1;
+                        }
+                        catch (FolderNotFoundException e1) 
+                        {
+                            return e1;
+                        }
+                        catch (InvalidFolderException e1)
+                        {
+                            return e1;
+                        }
+                        catch (NodeException e1)
+                        {
+                            return e1;
+                        } 
+                        catch (AttributesReadOnlyException e1)
+                        {
+                            return e1;
+                        } 
+                        catch (AttributeTypeNotFoundException e1)
+                        {
+                            return e1;
+                        } 
+                        catch (AttributeAlreadyExistsException e1)
+                        {
+                            return e1;
+                        }
                     }
                 }, null);
                 

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/tools/pamanager/PortletApplicationManager.java Tue Sep  2 09:42:42 2008
@@ -19,6 +19,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.security.Permission;
+import java.security.Principal;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -793,7 +794,7 @@
                     if (!permissionManager.permissionExists(permission))
                     {
                         permissionManager.addPermission(permission);
-                        permissionManager.grantPermission(userRole.getPrincipal(), permission);
+                        permissionManager.grantPermission((Principal) userRole, permission);
                     }                    
                 }
             }

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserInfoManagerImpl.java Tue Sep  2 09:42:42 2008
@@ -212,7 +212,7 @@
                     if (userMgr.userExists(userPrincipal.getName()))
                     {
                         User user = userMgr.getUser(userPrincipal.getName());
-                        userInfo = user.getUserAttributes();
+                        userInfo = user.getUserInfo();
                     }
                 }
                 catch (SecurityException sex)

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserManagerUserAttributeSourceImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserManagerUserAttributeSourceImpl.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserManagerUserAttributeSourceImpl.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/main/java/org/apache/jetspeed/userinfo/impl/UserManagerUserAttributeSourceImpl.java Tue Sep  2 09:42:42 2008
@@ -79,7 +79,7 @@
                 if (userManager.userExists(userPrincipal.getName()))
                 {
                     User user = userManager.getUser(userPrincipal.getName());
-                    Map<String, String> userInfo = user.getUserAttributes();
+                    Map<String, String> userInfo = user.getUserInfo();
                     for (UserAttributeRef currentAttributeRef : userAttributeRefs)
                     {
                         String value = userInfo.get(currentAttributeRef.getName());

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-portal/src/test/java/org/apache/jetspeed/userinfo/TestUserInfoManager.java Tue Sep  2 09:42:42 2008
@@ -33,11 +33,11 @@
 import org.apache.jetspeed.mockobjects.request.MockRequestContext;
 import org.apache.jetspeed.om.common.portlet.MutablePortletApplication;
 import org.apache.jetspeed.request.RequestContext;
+import org.apache.jetspeed.security.SecurityAttribute;
 import org.apache.jetspeed.security.SecurityException;
 import org.apache.jetspeed.security.SecurityHelper;
 import org.apache.jetspeed.security.User;
-import org.apache.jetspeed.security.attributes.SecurityAttributes;
-import org.apache.jetspeed.security.attributes.SecurityAttributesProvider;
+import org.apache.jetspeed.security.SecurityAttributes;
 import org.apache.jetspeed.security.util.test.AbstractSecurityTestcase;
 import org.apache.jetspeed.util.descriptor.ExtendedPortletMetadata;
 import org.apache.jetspeed.util.descriptor.PortletApplicationDescriptor;
@@ -178,9 +178,13 @@
         {
             assertTrue("user exists. should not have thrown an exception.", false);
         }
-        SecurityAttributes attributes = user.getAttributes();
-        attributes.getAttributes(SecurityAttributes.USER_INFORMATION).put("user.name.given", attributes.createAttribute("user.name.given", "Test Dude"));
-        attributes.getAttributes(SecurityAttributes.USER_INFORMATION).put("user.name.given", attributes.createAttribute("user.name.family", "Dudley"));
+        SecurityAttributes attributes = user.getSecurityAttributes();
+        SecurityAttribute userAttr = attributes.addAttribute("user.name.given");
+        userAttr.setStringValue("Test Dude");
+        attributes.getInfoAttributeMap().put("user.name.given", userAttr);
+        userAttr = attributes.addAttribute("user.name.family");
+        userAttr.setStringValue("Dudley");
+        attributes.getInfoAttributeMap().put("user.name.family", userAttr);
         ums.updateUser(user);
     }
 

Modified: portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/UserImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/UserImpl.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/UserImpl.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/components/jetspeed-security/src/main/java/org/apache/jetspeed/security/impl/UserImpl.java Tue Sep  2 09:42:42 2008
@@ -58,9 +58,9 @@
         Map<String, String> userInfo = new HashMap<String, String>();
         Map<String, SecurityAttribute> infoAttrMap = super.getSecurityAttributes().getInfoAttributeMap();
         
-        for (SecurityAttribute attr : infoAttrMap.values())
+        for (Map.Entry entry : infoAttrMap.entrySet())
         {
-            userInfo.put(attr.getName(), attr.getStringValue());
+            userInfo.put((String) entry.getKey(), ((SecurityAttribute) entry.getValue()).getStringValue());
         }
             
         return userInfo;

Modified: portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-api/src/main/java/org/apache/jetspeed/security/User.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-api/src/main/java/org/apache/jetspeed/security/User.java?rev=691314&r1=691313&r2=691314&view=diff
==============================================================================
--- portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-api/src/main/java/org/apache/jetspeed/security/User.java (original)
+++ portals/jetspeed-2/portal/branches/security-refactoring/jetspeed-api/src/main/java/org/apache/jetspeed/security/User.java Tue Sep  2 09:42:42 2008
@@ -28,6 +28,11 @@
 {
     
     /**
+     * the subsite path for a given user stored as a user attribute
+     */
+    final static String USER_INFO_SUBSITE = "subsite";
+    
+    /**
      * <p>Getter for the user {@link Subject} populated with the 
      * application principals.</p>
      * @return The {@link Subject}.



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