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 2005/07/11 15:57:07 UTC
svn commit: r210134 - in /cocoon:
blocks/portal/trunk/java/org/apache/cocoon/portal/
blocks/portal/trunk/java/org/apache/cocoon/portal/impl/ trunk/
Author: cziegeler
Date: Mon Jul 11 06:57:07 2005
New Revision: 210134
URL: http://svn.apache.org/viewcvs?rev=210134&view=rev
Log:
Portal block: Add portal manager aspects for more flexible portal processing.
Added:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java (with props)
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java (with props)
Modified:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortletPortalManager.java
cocoon/trunk/status.xml
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java?rev=210134&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java Mon Jul 11 06:57:07 2005
@@ -0,0 +1,42 @@
+/*
+ * 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;
+
+import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.portal.PortalService;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+
+/**
+ * @since 2.1.8
+ * @version SVN $Id:$
+ */
+public interface PortalManagerAspect {
+
+ /** The role to lookup an aspect. */
+ String ROLE = PortalManagerAspect.class.getName();
+
+ void prepare(PortalManagerAspectPrepareContext context,
+ PortalService service)
+ throws ProcessingException;
+
+ void render(PortalManagerAspectRenderContext context,
+ PortalService service,
+ ContentHandler ch,
+ Parameters parameters)
+ throws SAXException;
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspect.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java?rev=210134&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java Mon Jul 11 06:57:07 2005
@@ -0,0 +1,44 @@
+/*
+ * 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;
+
+import java.util.Map;
+
+import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.cocoon.ProcessingException;
+
+/**
+ * @since 2.1.8
+ * @version SVN $Id:$
+ */
+public interface PortalManagerAspectPrepareContext {
+
+ /**
+ * Invoke next aspect
+ */
+ void invokeNext()
+ throws ProcessingException;
+
+ /**
+ * Get the {@link Parameters} of the aspect.
+ */
+ Parameters getAspectParameters();
+
+ /**
+ * Get the object model.
+ */
+ Map getObjectModel();
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectPrepareContext.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java?rev=210134&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java Mon Jul 11 06:57:07 2005
@@ -0,0 +1,46 @@
+/*
+ * 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;
+
+import java.util.Map;
+
+import org.apache.avalon.framework.parameters.Parameters;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+
+/**
+ * @since 2.1.8
+ * @version SVN $Id:$
+ */
+public interface PortalManagerAspectRenderContext {
+
+ /**
+ * Invoke next aspect
+ */
+ void invokeNext(ContentHandler ch,
+ Parameters parameters)
+ throws SAXException;
+
+ /**
+ * Get the {@link Parameters} of the aspect.
+ */
+ Parameters getAspectParameters();
+
+ /**
+ * Get the object model.
+ */
+ Map getObjectModel();
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalManagerAspectRenderContext.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java?rev=210134&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java Mon Jul 11 06:57:07 2005
@@ -0,0 +1,90 @@
+/*
+ * 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.impl;
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.portal.PortalManagerAspect;
+import org.apache.cocoon.portal.PortalManagerAspectPrepareContext;
+import org.apache.cocoon.portal.PortalManagerAspectRenderContext;
+import org.apache.cocoon.portal.PortalService;
+import org.xml.sax.ContentHandler;
+import org.xml.sax.SAXException;
+
+/**
+ * The aspect context is passed to every aspect.
+ * @since 2.1.8
+ * @version SVN $Id:$
+ */
+public final class DefaultPortalManagerAspectContext
+ implements PortalManagerAspectRenderContext, PortalManagerAspectPrepareContext {
+
+ private final PortalService service;
+ private final Map objectModel;
+ private Iterator iterator;
+ private Iterator configIterator;
+ private Parameters config;
+
+ public DefaultPortalManagerAspectContext(PortalManagerAspectChain chain,
+ PortalService service,
+ Map objectModel) {
+ this.service = service;
+ this.objectModel = objectModel;
+ this.iterator = chain.getIterator();
+ this.configIterator = chain.getConfigIterator();
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.PortalManagerAspectPrepareContext#invokeNext()
+ */
+ public void invokeNext()
+ throws ProcessingException {
+ if (this.iterator.hasNext()) {
+ this.config = (Parameters)this.configIterator.next();
+ final PortalManagerAspect aspect = (PortalManagerAspect) iterator.next();
+ aspect.prepare(this, this.service);
+ }
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.PortalManagerAspectPrepareContext#getAspectParameters()
+ */
+ public Parameters getAspectParameters() {
+ return this.config;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.PortalManagerAspectRenderContext#invokeNext(org.xml.sax.ContentHandler, org.apache.avalon.framework.parameters.Parameters)
+ */
+ public void invokeNext(ContentHandler ch, Parameters parameters)
+ throws SAXException {
+ if (this.iterator.hasNext()) {
+ this.config = (Parameters)this.configIterator.next();
+ final PortalManagerAspect aspect = (PortalManagerAspect) iterator.next();
+ aspect.render(this, this.service, ch, parameters);
+ }
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.layout.renderer.aspect.RendererAspectContext#getObjectModel()
+ */
+ public Map getObjectModel() {
+ return this.objectModel;
+ }
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalManagerAspectContext.java
------------------------------------------------------------------------------
svn:keywords = Id
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java?rev=210134&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java Mon Jul 11 06:57:07 2005
@@ -0,0 +1,84 @@
+/*
+ * 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.impl;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.avalon.framework.parameters.Parameters;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceSelector;
+import org.apache.cocoon.portal.PortalManagerAspect;
+
+/**
+ * This chain holds all configured aspects for a portal manager.
+ * @since 2.1.8
+ * @version SVN $Id:$
+ */
+public final class PortalManagerAspectChain {
+
+ protected List aspects = new ArrayList(3);
+
+ protected List configs = new ArrayList(3);
+
+ public void configure(ServiceSelector selector,
+ Configuration conf,
+ PortalManagerAspect endAspect,
+ Parameters endAspectParameters)
+ throws ConfigurationException {
+ if ( conf != null ) {
+ Configuration[] aspects = conf.getChildren("aspect");
+ for(int i=0; i < aspects.length; i++) {
+ final Configuration current = aspects[i];
+ final String role = current.getAttribute("type");
+ if ( selector == null ) {
+ throw new ConfigurationException("No selector for aspects defined.");
+ }
+ try {
+ PortalManagerAspect pAspect = (PortalManagerAspect) selector.select(role);
+ this.aspects.add(pAspect);
+ Parameters aspectConfiguration = Parameters.fromConfiguration(current);
+ this.configs.add(aspectConfiguration);
+
+ } catch (ServiceException se) {
+ throw new ConfigurationException("Unable to lookup aspect " + role, se);
+ }
+ }
+ }
+ this.aspects.add(endAspect);
+ this.configs.add(endAspectParameters);
+ }
+
+ public Iterator getIterator() {
+ return this.aspects.iterator();
+ }
+
+ public Iterator getConfigIterator() {
+ return this.configs.iterator();
+ }
+
+ public void dispose(ServiceSelector selector) {
+ Iterator i = this.aspects.iterator();
+ while (i.hasNext()) {
+ selector.release(i.next());
+ }
+ this.aspects.clear();
+ this.configs.clear();
+ }
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerAspectChain.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java?rev=210134&r1=210133&r2=210134&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortalManagerImpl.java Mon Jul 11 06:57:07 2005
@@ -16,14 +16,25 @@
package org.apache.cocoon.portal.impl;
import org.apache.avalon.framework.activity.Disposable;
+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.context.Context;
+import org.apache.avalon.framework.context.ContextException;
+import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.ProcessingException;
+import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.portal.PortalManager;
+import org.apache.cocoon.portal.PortalManagerAspect;
+import org.apache.cocoon.portal.PortalManagerAspectPrepareContext;
+import org.apache.cocoon.portal.PortalManagerAspectRenderContext;
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.layout.Layout;
@@ -40,7 +51,7 @@
*/
public class PortalManagerImpl
extends AbstractLogEnabled
- implements PortalManager, Serviceable, Disposable, ThreadSafe {
+ implements PortalManager, Serviceable, Disposable, ThreadSafe, Contextualizable, PortalManagerAspect, Configurable {
/** The service manager */
protected ServiceManager manager;
@@ -48,6 +59,13 @@
/** The portal service */
protected PortalService portalService;
+ protected PortalManagerAspectChain chain;
+
+ protected ServiceSelector aspectSelector;
+
+ /** The component context. */
+ protected Context context;
+
/**
* @see org.apache.avalon.framework.service.Serviceable#service(ServiceManager)
*/
@@ -55,6 +73,9 @@
throws ServiceException {
this.manager = serviceManager;
this.portalService = (PortalService)this.manager.lookup(PortalService.ROLE);
+ if ( this.manager.hasService(PortalManagerAspect.ROLE+"Selector") ) {
+ this.aspectSelector = (ServiceSelector) this.manager.lookup( PortalManagerAspect.ROLE+"Selector");
+ }
}
/**
@@ -65,6 +86,12 @@
this.manager.release(this.portalService);
this.portalService = null;
this.manager = null;
+ if ( this.chain != null) {
+ this.chain.dispose( this.aspectSelector );
+ }
+ this.manager.release( this.aspectSelector );
+ this.aspectSelector = null;
+ this.manager = null;
}
}
@@ -73,8 +100,11 @@
*/
public void process()
throws ProcessingException {
- EventManager eventManager = this.portalService.getComponentManager().getEventManager();
- eventManager.processEvents();
+ DefaultPortalManagerAspectContext aspectContext =
+ new DefaultPortalManagerAspectContext(this.chain,
+ this.portalService,
+ ContextHelper.getObjectModel(this.context));
+ aspectContext.invokeNext();
}
/**
@@ -82,6 +112,40 @@
*/
public void showPortal(ContentHandler contentHandler, Parameters parameters)
throws SAXException {
+ DefaultPortalManagerAspectContext aspectContext =
+ new DefaultPortalManagerAspectContext(this.chain,
+ this.portalService,
+ ContextHelper.getObjectModel(this.context));
+ aspectContext.invokeNext(contentHandler, parameters);
+ }
+
+ /**
+ * @see org.apache.avalon.framework.configuration.Configurable#configure(org.apache.avalon.framework.configuration.Configuration)
+ */
+ public void configure(Configuration conf) throws ConfigurationException {
+ this.chain = new PortalManagerAspectChain();
+ this.chain.configure(this.aspectSelector, conf.getChild("aspects"), this, new Parameters());
+ }
+
+ /**
+ * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
+ */
+ public void contextualize(Context context) throws ContextException {
+ this.context = context;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.PortalManagerAspect#prepare(org.apache.cocoon.portal.PortalManagerAspectPrepareContext, org.apache.cocoon.portal.PortalService)
+ */
+ public void prepare(PortalManagerAspectPrepareContext context, PortalService service) throws ProcessingException {
+ EventManager eventManager = this.portalService.getComponentManager().getEventManager();
+ eventManager.processEvents();
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.PortalManagerAspect#render(org.apache.cocoon.portal.PortalManagerAspectRenderContext, org.apache.cocoon.portal.PortalService, org.xml.sax.ContentHandler, org.apache.avalon.framework.parameters.Parameters)
+ */
+ public void render(PortalManagerAspectRenderContext context, PortalService service, ContentHandler ch, Parameters parameters) throws SAXException {
// first check for a full screen layout
Layout portalLayout = this.portalService.getEntryLayout(null);
if ( portalLayout == null ) {
@@ -90,8 +154,8 @@
Renderer portalLayoutRenderer = this.portalService.getComponentManager().getRenderer( portalLayout.getRendererName());
- contentHandler.startDocument();
- portalLayoutRenderer.toSAX(portalLayout, this.portalService, contentHandler);
- contentHandler.endDocument();
- }
+ ch.startDocument();
+ portalLayoutRenderer.toSAX(portalLayout, this.portalService, ch);
+ ch.endDocument();
+ }
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortletPortalManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortletPortalManager.java?rev=210134&r1=210133&r2=210134&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortletPortalManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PortletPortalManager.java Mon Jul 11 06:57:07 2005
@@ -24,12 +24,10 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.ContextException;
-import org.apache.avalon.framework.context.Contextualizable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.framework.service.ServiceException;
import org.apache.avalon.framework.service.ServiceManager;
@@ -65,7 +63,7 @@
*/
public class PortletPortalManager
extends PortalManagerImpl
- implements Initializable, Contextualizable, Disposable, Receiver {
+ implements Initializable, Receiver {
public static final ThreadLocal copletInstanceData = new InheritableThreadLocal();
@@ -78,14 +76,11 @@
/** The Portlet Container environment */
protected PortletContainerEnvironmentImpl portletContainerEnvironment;
- /** The component context */
- protected Context context;
-
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
*/
public void contextualize(Context context) throws ContextException {
- this.context = context;
+ super.contextualize(context);
try {
this.servletConfig = (ServletConfig) context.get(CocoonServlet.CONTEXT_SERVLET_CONFIG);
// we have to somehow pass this component down to other components!
@@ -100,7 +95,7 @@
}
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
public void service(ServiceManager manager) throws ServiceException {
@@ -114,7 +109,7 @@
}
}
- /* (non-Javadoc)
+ /**
* @see org.apache.avalon.framework.activity.Disposable#dispose()
*/
public void dispose() {
@@ -143,7 +138,7 @@
this.servletConfig.getServletContext().removeAttribute(PortalManager.ROLE);
this.servletConfig = null;
}
- this.manager = null;
+ super.dispose();
}
/* (non-Javadoc)
Modified: cocoon/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/trunk/status.xml?rev=210134&r1=210133&r2=210134&view=diff
==============================================================================
--- cocoon/trunk/status.xml (original)
+++ cocoon/trunk/status.xml Mon Jul 11 06:57:07 2005
@@ -480,6 +480,9 @@
</action>
</release>
<release version="2.1.8" date="TBD">
+ <action dev="CZ" type="fix">
+ Portal block: Add portal manager aspects for more flexible portal processing.
+ </action>
<action dev="CZ" type="add">
CForms block: Add isValid() method to a Widget.
</action>