You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by cz...@apache.org on 2004/09/02 16:25:20 UTC
svn commit: rev 37380 - in cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal: . impl profile profile/impl
Author: cziegeler
Date: Thu Sep 2 07:25:18 2004
New Revision: 37380
Modified:
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
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/AbstractProfileManager.java
cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.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
Log:
Move layout key handling to service
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/PortalService.java Thu Sep 2 07:25:18 2004
@@ -101,4 +101,14 @@
void setEntryLayout(String layoutKey, Layout object);
Layout getEntryLayout(String layoutKey);
+ /**
+ * Change the default layout key for most functions
+ */
+ void setDefaultLayoutKey(String layoutKey);
+
+ /**
+ * Get the default layout key
+ */
+ String getDefaultLayoutKey();
+
}
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/impl/PortalServiceImpl.java Thu Sep 2 07:25:18 2004
@@ -62,7 +62,9 @@
protected Map portalComponentManagers = new HashMap();
- final protected String key = this.getClass().getName();
+ protected Map portalConfigurations = new HashMap();
+
+ final protected static String KEY = PortalServiceImpl.class.getName();
/* (non-Javadoc)
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
@@ -73,11 +75,11 @@
protected PortalServiceInfo getInfo() {
final Request request = ContextHelper.getRequest( this.context );
- PortalServiceInfo info = (PortalServiceInfo) request.getAttribute(this.key, Request.GLOBAL_SCOPE);
+ PortalServiceInfo info = (PortalServiceInfo) request.getAttribute(KEY, Request.GLOBAL_SCOPE);
if ( info == null ) {
info = new PortalServiceInfo();
info.setup(ContextHelper.getObjectModel(this.context), this.portalComponentManagers);
- request.setAttribute(this.key, info, Request.GLOBAL_SCOPE);
+ request.setAttribute(KEY, info, Request.GLOBAL_SCOPE);
}
return info;
}
@@ -145,6 +147,7 @@
ContainerUtil.dispose( i.next() );
}
this.portalComponentManagers.clear();
+ this.portalConfigurations.clear();
}
/* (non-Javadoc)
@@ -163,6 +166,8 @@
ContainerUtil.service( c, this.manager );
ContainerUtil.configure( c, current );
ContainerUtil.initialize( c );
+
+ this.portalConfigurations.put( name, current );
} catch (Exception e) {
throw new ConfigurationException("Unable to setup new portal component manager for portal " + name, e);
}
@@ -175,7 +180,7 @@
*/
public void setEntryLayout(String layoutKey, Layout object) {
if ( layoutKey == null ) {
- layoutKey = this.getComponentManager().getProfileManager().getDefaultLayoutKey();
+ layoutKey = this.getDefaultLayoutKey();
}
if ( object == null ) {
this.removeTemporaryAttribute("DEFAULT_LAYOUT:" + layoutKey);
@@ -189,9 +194,35 @@
*/
public Layout getEntryLayout(String layoutKey) {
if ( layoutKey == null ) {
- layoutKey = this.getComponentManager().getProfileManager().getDefaultLayoutKey();
+ layoutKey = this.getDefaultLayoutKey();
}
return (Layout)this.getTemporaryAttribute("DEFAULT_LAYOUT:" + layoutKey);
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.PortalService#setDefaultLayoutKey(java.lang.String)
+ */
+ public void setDefaultLayoutKey(String layoutKey) {
+ if ( layoutKey == null ) {
+ this.removeAttribute("default-layout-key");
+ } else {
+ this.setAttribute("default-layout-key", layoutKey);
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.PortalService#getDefaultLayoutKey()
+ */
+ public String getDefaultLayoutKey() {
+ String key = (String)this.getAttribute("default-layout-key");
+ if ( key == null ) {
+ Configuration config = (Configuration)this.portalConfigurations.get(this.getPortalName());
+ key = config.getAttribute("default-layout-key", "portal");
+ if ( key != null ) {
+ this.setDefaultLayoutKey(key);
+ }
+ }
+ return key;
}
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/ProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/ProfileManager.java Thu Sep 2 07:25:18 2004
@@ -49,16 +49,6 @@
*/
Layout getPortalLayout(String layoutKey, String layoutID);
- /**
- * Change the default layout key for most functions
- */
- void setDefaultLayoutKey(String layoutKey);
-
- /**
- * Get the default layout key
- */
- String getDefaultLayoutKey();
-
CopletInstanceData getCopletInstanceData(String copletID);
List getCopletInstanceData(CopletData data);
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractProfileManager.java Thu Sep 2 07:25:18 2004
@@ -15,16 +15,11 @@
*/
package org.apache.cocoon.portal.profile.impl;
-import org.apache.avalon.framework.CascadingRuntimeException;
-import org.apache.avalon.framework.configuration.Configurable;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
-import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.profile.ProfileManager;
@@ -38,9 +33,7 @@
*/
public abstract class AbstractProfileManager
extends AbstractLogEnabled
- implements Serviceable, Configurable, ProfileManager, ThreadSafe {
-
- protected String defaultLayoutKey;
+ implements Serviceable, ProfileManager, ThreadSafe {
protected ServiceManager manager;
@@ -87,47 +80,6 @@
}
/* (non-Javadoc)
- * @see org.apache.cocoon.portal.profile.ProfileManager#setDefaultLayoutKey(java.lang.String)
- */
- public void setDefaultLayoutKey(String layoutKey) {
- PortalService service = null;
- try {
- service = (PortalService)this.manager.lookup(PortalService.ROLE);
- if ( layoutKey == null ) {
- service.removeAttribute("default-layout-key");
- } else {
- service.setAttribute("default-layout-key", layoutKey);
- }
- } catch (ServiceException ce) {
- // this should never happen
- throw new CascadingRuntimeException("Unable to lookup portal service.", ce);
- } finally {
- this.manager.release(service);
- }
- }
-
- /* (non-Javadoc)
- * @see org.apache.cocoon.portal.profile.ProfileManager#getDefaultLayoutKey()
- */
- public String getDefaultLayoutKey() {
- PortalService service = null;
- try {
- service = (PortalService)this.manager.lookup(PortalService.ROLE);
- String defaultLayoutKey = (String)service.getAttribute("default-layout-key");
- if ( defaultLayoutKey == null ) {
- return this.defaultLayoutKey;
- }
- return defaultLayoutKey;
- } catch (ServiceException ce) {
- // this should never happen
- throw new CascadingRuntimeException("Unable to lookup portal service.", ce);
- } finally {
- this.manager.release(service);
- }
-
- }
-
- /* (non-Javadoc)
* @see org.apache.cocoon.portal.profile.ProfileManager#login()
*/
public void login() {
@@ -139,15 +91,6 @@
*/
public void logout() {
// overwrite in subclass
- }
-
- /* (non-Javadoc)
- * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
- */
- public void configure(Configuration configuration) throws ConfigurationException {
- Configuration child = configuration.getChild("default-layout-key");
- // get configured default LayoutKey
- this.defaultLayoutKey = child.getValue("portal");
}
/* (non-Javadoc)
Modified: cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java
==============================================================================
--- cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AbstractUserProfileManager.java Thu Sep 2 07:25:18 2004
@@ -61,10 +61,10 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#logout()
*/
public void logout() {
- final String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
ServiceSelector adapterSelector = null;
try {
+ final String layoutKey = service.getDefaultLayoutKey();
adapterSelector = (ServiceSelector)this.manager.lookup(CopletAdapter.ROLE+"Selector");
service = (PortalService)this.manager.lookup(PortalService.ROLE);
@@ -146,11 +146,11 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstanceData(java.lang.String)
*/
public CopletInstanceData getCopletInstanceData(String copletID) {
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
String attribute = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
attribute = "CopletInstanceData:"+layoutKey;
CopletInstanceDataManager copletInstanceDataManager = (CopletInstanceDataManager)service.getAttribute(attribute);
@@ -167,11 +167,11 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletData(java.lang.String)
*/
public CopletData getCopletData(String copletDataId) {
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
String attribute = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
attribute = "CopletInstanceData:"+layoutKey;
CopletInstanceDataManager copletInstanceDataManager = (CopletInstanceDataManager)service.getAttribute(attribute);
@@ -198,12 +198,12 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstanceData(org.apache.cocoon.portal.coplet.CopletData)
*/
public List getCopletInstanceData(CopletData data) {
- String layoutKey = this.getDefaultLayoutKey();
List coplets = new ArrayList();
PortalService service = null;
String attribute = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
attribute = "CopletInstanceData:" + layoutKey;
CopletInstanceDataManager copletInstanceDataManager = (CopletInstanceDataManager)service.getAttribute(attribute);
@@ -227,11 +227,11 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#register(org.apache.cocoon.portal.coplet.CopletInstanceData)
*/
public void register(CopletInstanceData coplet) {
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
String attribute = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
attribute = "CopletInstanceData:" + layoutKey;
CopletInstanceDataManager copletInstanceDataManager = (CopletInstanceDataManager)service.getAttribute(attribute);
@@ -249,11 +249,11 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#unregister(org.apache.cocoon.portal.coplet.CopletInstanceData)
*/
public void unregister(CopletInstanceData coplet) {
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
String attribute = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
attribute = "CopletInstanceData:" + layoutKey;
CopletInstanceDataManager copletInstanceDataManager = (CopletInstanceDataManager)service.getAttribute(attribute);
@@ -267,11 +267,14 @@
}
}
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.profile.ProfileManager#register(org.apache.cocoon.portal.layout.Layout)
+ */
public void register(Layout layout) {
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
Map layoutMap = (Map)service.getAttribute("Layout-Map:" + layoutKey);
if ( layoutMap == null ) {
@@ -294,11 +297,14 @@
}
}
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.profile.ProfileManager#unregister(org.apache.cocoon.portal.layout.Layout)
+ */
public void unregister(Layout layout) {
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
Map layoutMap = (Map)service.getAttribute("Layout-Map:" + layoutKey);
@@ -328,7 +334,7 @@
adapterSelector = (ServiceSelector)this.manager.lookup(CopletAdapter.ROLE+"Selector");
if ( null == layoutKey ) {
- layoutKey = this.getDefaultLayoutKey();
+ layoutKey = service.getDefaultLayoutKey();
}
final String layoutAttributeKey = "Layout:" + layoutKey;
@@ -375,10 +381,10 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletDatas()
*/
public Collection getCopletDatas() {
- final String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
CopletDataManager manager = (CopletDataManager)service.getAttribute("CopletData:" + layoutKey);
return manager.getCopletData().values();
} catch (Exception e) {
@@ -392,10 +398,10 @@
* @see org.apache.cocoon.portal.profile.ProfileManager#getCopletInstanceDatas()
*/
public Collection getCopletInstanceDatas() {
- final String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
CopletInstanceDataManager manager = (CopletInstanceDataManager)service.getAttribute("CopletInstanceData:" + layoutKey);
return manager.getCopletInstanceData().values();
} catch (Exception e) {
Modified: 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/AuthenticationProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/AuthenticationProfileManager.java Thu Sep 2 07:25:18 2004
@@ -148,14 +148,14 @@
}
public void saveUserProfiles(String layoutKey) {
- if ( layoutKey == null ) {
- layoutKey = this.getDefaultLayoutKey();
- }
ProfileLS adapter = null;
PortalService service = null;
try {
adapter = (ProfileLS) this.manager.lookup(ProfileLS.ROLE);
service = (PortalService) this.manager.lookup(PortalService.ROLE);
+ if ( layoutKey == null ) {
+ layoutKey = service.getDefaultLayoutKey();
+ }
RequestState state = this.getRequestState();
UserHandler handler = state.getHandler();
Modified: 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/GroupBasedProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java Thu Sep 2 07:25:18 2004
@@ -77,12 +77,12 @@
protected Map copletDatas;
protected UserProfile getUserProfile(String layoutKey) {
- if ( layoutKey == null ) {
- layoutKey = this.getDefaultLayoutKey();
- }
PortalService service = null;
try {
service = (PortalService)this.manager.lookup(PortalService.ROLE);
+ if ( layoutKey == null ) {
+ layoutKey = service.getDefaultLayoutKey();
+ }
return (UserProfile)service.getAttribute(KEY_PREFIX + layoutKey);
} catch (ServiceException e) {
@@ -95,10 +95,10 @@
protected void removeUserProfiles() {
// TODO: remove all profiles - we have to rememember all used layout keys
- String layoutKey = this.getDefaultLayoutKey();
PortalService service = null;
try {
service = (PortalService)this.manager.lookup(PortalService.ROLE);
+ final String layoutKey = service.getDefaultLayoutKey();
service.removeAttribute(KEY_PREFIX + layoutKey);
} catch (ServiceException e) {
@@ -111,7 +111,7 @@
protected void storeUserProfile(String layoutKey, PortalService service, UserProfile profile) {
if ( layoutKey == null ) {
- layoutKey = this.getDefaultLayoutKey();
+ layoutKey = service.getDefaultLayoutKey();
}
service.setAttribute(KEY_PREFIX + layoutKey, profile);
}
@@ -289,7 +289,7 @@
try {
service = (PortalService) this.manager.lookup(PortalService.ROLE);
if ( null == layoutKey ) {
- layoutKey = this.getDefaultLayoutKey();
+ layoutKey = service.getDefaultLayoutKey();
}
UserProfile profile = this.getUserProfile(layoutKey);
Modified: 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/StaticProfileManager.java (original)
+++ cocoon/trunk/src/blocks/portal/java/org/apache/cocoon/portal/profile/impl/StaticProfileManager.java Thu Sep 2 07:25:18 2004
@@ -47,8 +47,10 @@
*
* @version CVS $Id$
*/
-public class StaticProfileManager extends AbstractProfileManager implements Configurable
-{
+public class StaticProfileManager
+extends AbstractProfileManager
+implements Configurable {
+
protected String profilesPath;
protected StaticBucketMap copletInstanceDataManagers = new StaticBucketMap();
@@ -66,7 +68,7 @@
service = (PortalService) this.manager.lookup(PortalService.ROLE);
if (layoutKey == null) {
- layoutKey = getDefaultLayoutKey();
+ layoutKey = service.getDefaultLayoutKey();
}
String serviceKey = LAYOUTKEY_PREFIX + layoutKey;
@@ -329,7 +331,6 @@
*/
public void configure(Configuration configuration)
throws ConfigurationException {
- super.configure(configuration);
Configuration child = configuration.getChild("profiles-path");
this.profilesPath = child.getValue("cocoon:/profiles");
}