[prev in list] [next in list] [prev in thread] [next in thread] 

List:       xml-cocoon-cvs
Subject:    svn commit: r149062 - in cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile: . imp
From:       cziegeler () apache ! org
Date:       2005-01-29 19:11:08
Message-ID: 20050129191108.98289.qmail () minotaur ! apache ! org
[Download RAW message or body]

Author: cziegeler
Date: Sat Jan 29 11:11:08 2005
New Revision: 149062

URL: http://svn.apache.org/viewcvs?view=rev&rev=149062
Log:
Add portal user
Added:
   cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/PortalUser.java \
(contents, props changed) Modified:
   cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java
  cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java
  cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
  cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
  cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/UserInfo.java


Added: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/PortalUser.java
                
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/PortalUser.java?view=auto&rev=149062
 ==============================================================================
--- (empty file)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/PortalUser.java	Sat \
Jan 29 11:11:08 2005 @@ -0,0 +1,38 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cocoon.portal.profile;
+
+/**
+ * Information about the current portal user.
+ * This object decouples the portal from the used authentication method.
+ * 
+ * @author <a href="mailto:cziegeler@s-und-n.de">Carsten Ziegeler</a>
+ * @version SVN $Id$
+ */
+public interface PortalUser {
+    
+    /**
+     * @return Returns the group.
+     */
+    String getGroup();
+
+    /**
+     * @return Returns the userName.
+     */
+    String getUserName();
+    
+    boolean isUserInRole(String role);
+}

Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java
                
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/coco \
on/portal/profile/ProfileManager.java?view=diff&rev=149062&p1=cocoon/trunk/src/blocks/ \
portal/java/org/apache/cocoon/portal/profile/ProfileManager.java&r1=149061&p2=cocoon/t \
runk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java&r2=149062
 ==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java	(original)
                
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java	Sat \
Jan 29 11:11:08 2005 @@ -124,4 +124,9 @@
      * one.
      */
     void storeProfile(Layout rootLayout, String layoutKey);
+    
+    /**
+     * Get current user information
+     */
+    PortalUser getUser();
 }

Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java
                
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/coco \
on/portal/profile/impl/AuthenticationProfileManager.java?view=diff&rev=149062&p1=cocoo \
n/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationPro \
fileManager.java&r1=149061&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java&r2=149062
 ==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java	(original)
                
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java	Sat \
Jan 29 11:11:08 2005 @@ -32,6 +32,7 @@
 import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
 import org.apache.cocoon.portal.layout.Layout;
 import org.apache.cocoon.portal.layout.LayoutFactory;
+import org.apache.cocoon.portal.profile.PortalUser;
 import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.cocoon.portal.util.DeltaApplicableReferencesAdjustable;
 import org.apache.cocoon.portal.util.ProfileException;
@@ -537,4 +538,44 @@
        	}
     }
 
+
+    /* (non-Javadoc)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getUser()
+     */
+    public PortalUser getUser() {
+        final RequestState state = this.getRequestState();
+        return new User(state);
+    }
+    
+    protected static final class User implements PortalUser {
+        
+        protected final RequestState state;
+        
+        public User(RequestState state) {
+            this.state = state;    
+        }
+        
+        /* (non-Javadoc)
+         * @see org.apache.cocoon.portal.profile.PortalUser#getGroup()
+         */
+        public String getGroup() {
+            // TODO Auto-generated method stub
+            return null;
+        }
+        
+        /* (non-Javadoc)
+         * @see org.apache.cocoon.portal.profile.PortalUser#getUserName()
+         */
+        public String getUserName() {
+            return this.state.getHandler().getUserId();
+        }
+        
+        /* (non-Javadoc)
+         * @see org.apache.cocoon.portal.profile.PortalUser#isUserInRole(java.lang.String)
 +         */
+        public boolean isUserInRole(String role) {
+            return this.state.getHandler().isUserInRole(role);
+        }
+    }
+    
 }

Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
                
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/coco \
on/portal/profile/impl/GroupBasedProfileManager.java?view=diff&rev=149062&p1=cocoon/tr \
unk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileMana \
ger.java&r1=149061&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java&r2=149062
 ==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java	(original)
                
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java	Sat \
Jan 29 11:11:08 2005 @@ -41,6 +41,7 @@
 import org.apache.cocoon.portal.coplet.CopletInstanceData;
 import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
 import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.profile.PortalUser;
 import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.cocoon.util.ClassUtils;
 import org.apache.commons.collections.map.LinkedMap;
@@ -617,5 +618,23 @@
         } finally {
             this.manager.release(service);
         }
+    }
+    
+    
+    /* (non-Javadoc)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getUser()
+     */
+    public PortalUser getUser() {
+        PortalService service = null;
+        try {
+            service = (PortalService) this.manager.lookup(PortalService.ROLE);
+            final String layoutKey = service.getDefaultLayoutKey();
+            final UserInfo info = this.provider.getUserInfo(service.getPortalName(), \
layoutKey); +            return info;
+        } catch (Exception ce) {
+            throw new CascadingRuntimeException("Exception during getUser().", ce);
+        } finally {
+            this.manager.release(service);
+        }            
     }
 }

Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java
                
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/coco \
on/portal/profile/impl/StaticProfileManager.java?view=diff&rev=149062&p1=cocoon/trunk/ \
src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java \
&r1=149061&p2=cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java&r2=149062
 ==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java	(original)
                
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java	Sat \
Jan 29 11:11:08 2005 @@ -34,6 +34,7 @@
 import org.apache.cocoon.portal.layout.Item;
 import org.apache.cocoon.portal.layout.Layout;
 import org.apache.cocoon.portal.layout.LayoutFactory;
+import org.apache.cocoon.portal.profile.PortalUser;
 import org.apache.cocoon.portal.profile.ProfileLS;
 import org.apache.commons.collections.map.LinkedMap;
 import org.apache.commons.collections.map.StaticBucketMap;
@@ -58,6 +59,8 @@
 
     protected static final String LAYOUTKEY_PREFIX = \
StaticProfileManager.class.getName() + "/Layout/";  
+    protected PortalUser portalUser = new StaticPortalUser();
+    
     /**
      * @see org.apache.cocoon.portal.profile.ProfileManager#getPortalLayout(String, \
                String)
      */
@@ -372,4 +375,35 @@
     public void storeProfile(Layout rootLayout, String layoutKey) {
         throw new RuntimeException("The static profile manager does not support the \
storeProfile() method.");  }
+    
+    /* (non-Javadoc)
+     * @see org.apache.cocoon.portal.profile.ProfileManager#getUser()
+     */
+    public PortalUser getUser() {
+        return this.portalUser;
+    }
+    
+    protected static final class StaticPortalUser implements PortalUser {
+        
+        /* (non-Javadoc)
+         * @see org.apache.cocoon.portal.profile.PortalUser#getGroup()
+         */
+        public String getGroup() {
+            return null;
+        }
+        
+        /* (non-Javadoc)
+         * @see org.apache.cocoon.portal.profile.PortalUser#getUserName()
+         */
+        public String getUserName() {
+            return "static";
+        }
+
+        /* (non-Javadoc)
+         * @see org.apache.cocoon.portal.profile.PortalUser#isUserInRole(java.lang.String)
 +         */
+        public boolean isUserInRole(String role) {
+            return false;
+        }
+}
 }

Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/UserInfo.java
                
Url: http://svn.apache.org/viewcvs/cocoon/trunk/src/blocks/portal/java/org/apache/coco \
on/portal/profile/impl/UserInfo.java?view=diff&rev=149062&p1=cocoon/trunk/src/blocks/p \
ortal/java/org/apache/cocoon/portal/profile/impl/UserInfo.java&r1=149061&p2=cocoon/tru \
nk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/UserInfo.java&r2=149062
 ==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/UserInfo.java	(original)
                
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/UserInfo.java	Sat \
Jan 29 11:11:08 2005 @@ -17,6 +17,8 @@
 
 import java.util.Map;
 
+import org.apache.cocoon.portal.profile.PortalUser;
+
 /**
  * Information about the current user.
  * This data object is used for loading the profile. It decouples the
@@ -25,7 +27,7 @@
  * @author <a href="mailto:cziegeler@s-und-n.de">Carsten Ziegeler</a>
  * @version CVS $Id: MapProfileLS.java 30941 2004-07-29 19:56:58Z vgritsenko $
  */
-public class UserInfo {
+public class UserInfo implements PortalUser {
     
     protected String userName;
     
@@ -96,5 +98,13 @@
      */
     public String getPortalName() {
         return portalName;
+    }
+    
+    /* (non-Javadoc)
+     * @see org.apache.cocoon.portal.profile.PortalUser#isUserInRole(java.lang.String)
 +     */
+    public boolean isUserInRole(String role) {
+        // TODO Auto-generated method stub
+        return false;
     }
 }


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic