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/10/29 20:08:56 UTC
svn commit: r329462 - in /cocoon/blocks/portal/trunk: ./
java/org/apache/cocoon/environment/portlet/ java/org/apache/cocoon/portal/
java/org/apache/cocoon/portal/coplet/impl/
java/org/apache/cocoon/portal/event/impl/
java/org/apache/cocoon/portal/impl/...
Author: cziegeler
Date: Sat Oct 29 11:08:42 2005
New Revision: 329462
URL: http://svn.apache.org/viewcvs?rev=329462&view=rev
Log:
Make coplet adapters accessible from component manager
Fix compilation problems
Removed:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/MaximizeEvent.java
Modified:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/environment/portlet/PortletException.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/DefaultRendererContext.java
cocoon/blocks/portal/trunk/status.xml
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/environment/portlet/PortletException.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/environment/portlet/PortletException.java?rev=329462&r1=329461&r2=329462&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/environment/portlet/PortletException.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/environment/portlet/PortletException.java Sat Oct 29 11:08:42 2005
@@ -15,13 +15,13 @@
*/
package org.apache.cocoon.environment.portlet;
-import org.apache.cocoon.portal.PortalException;
+import org.apache.cocoon.portal.PortalRuntimeException;
/**
*
* @version $Id$
*/
-public class PortletException extends PortalException {
+public class PortletException extends PortalRuntimeException {
public PortletException() {
super();
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java?rev=329462&r1=329461&r2=329462&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/PortalComponentManager.java Sat Oct 29 11:08:42 2005
@@ -18,6 +18,7 @@
import org.apache.cocoon.core.Core;
import org.apache.avalon.framework.context.Context;
import org.apache.cocoon.portal.coplet.CopletFactory;
+import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.layout.LayoutFactory;
import org.apache.cocoon.portal.layout.renderer.Renderer;
@@ -50,7 +51,12 @@
/**
* Get the renderer.
*/
- Renderer getRenderer(String hint);
+ Renderer getRenderer(String name);
+
+ /**
+ * Get the coplet adapter.
+ */
+ CopletAdapter getCopletAdapter(String name);
/**
* Get the coplet factory.
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletFactory.java?rev=329462&r1=329461&r2=329462&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletFactory.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletFactory.java Sat Oct 29 11:08:42 2005
@@ -15,8 +15,6 @@
*/
package org.apache.cocoon.portal.coplet.impl;
-import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.cocoon.portal.PortalException;
import org.apache.cocoon.portal.coplet.CopletData;
import org.apache.cocoon.portal.coplet.CopletFactory;
@@ -61,21 +59,9 @@
// now lookup the adapter
final String adapterName = copletData.getCopletBaseData().getCopletAdapterName();
- CopletAdapter adapter = null;
- ServiceSelector adapterSelector = null;
- try {
- adapterSelector = (ServiceSelector) this.manager.lookup( CopletAdapter.ROLE + "Selector");
- adapter = (CopletAdapter)adapterSelector.select( adapterName );
- adapter.init( instance );
- adapter.login( instance );
- } catch (ServiceException ce) {
- throw new PortalException("Unable to lookup coplet adapter selector or adaptor.", ce);
- } finally {
- if ( adapterSelector != null) {
- adapterSelector.release( adapter );
- }
- this.manager.release( adapterSelector );
- }
+ final CopletAdapter adapter = this.portalService.getComponentManager().getCopletAdapter(adapterName);
+ adapter.init( instance );
+ adapter.login( instance );
// send an event
this.portalService.getComponentManager().getEventManager().send(new CopletInstanceDataAddedEvent(instance));
@@ -89,22 +75,9 @@
if ( copletInstanceData != null ) {
// now lookup the adapter
final String adapterName = copletInstanceData.getCopletData().getCopletBaseData().getCopletAdapterName();
- CopletAdapter adapter = null;
- ServiceSelector adapterSelector = null;
- try {
- adapterSelector = (ServiceSelector) this.manager.lookup( CopletAdapter.ROLE + "Selector");
- adapter = (CopletAdapter)adapterSelector.select( adapterName );
- adapter.logout( copletInstanceData );
- adapter.destroy( copletInstanceData );
- } catch (ServiceException ce) {
- // we ignore this exception as this is just a remove action
- this.getLogger().warn("Unable to lookup coplet adaptor: " + adapterName);
- } finally {
- if ( adapterSelector != null) {
- adapterSelector.release( adapter );
- }
- this.manager.release( adapterSelector );
- }
+ final CopletAdapter adapter = this.portalService.getComponentManager().getCopletAdapter(adapterName);
+ adapter.logout( copletInstanceData );
+ adapter.destroy( copletInstanceData );
// send an event
this.portalService.getComponentManager().getEventManager().send(new CopletInstanceDataRemovedEvent(copletInstanceData));
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java?rev=329462&r1=329461&r2=329462&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/DefaultPortalComponentManager.java Sat Oct 29 11:08:42 2005
@@ -29,6 +29,7 @@
import org.apache.cocoon.core.Core;
import org.apache.cocoon.portal.*;
import org.apache.cocoon.portal.coplet.CopletFactory;
+import org.apache.cocoon.portal.coplet.adapter.CopletAdapter;
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.layout.LayoutFactory;
import org.apache.cocoon.portal.layout.renderer.Renderer;
@@ -55,6 +56,8 @@
protected Map renderers = new HashMap();
+ protected Map copletAdapters = new HashMap();
+
protected CopletFactory copletFactory;
protected LayoutFactory layoutFactory;
@@ -141,6 +144,11 @@
this.manager.release(i.next());
}
this.renderers.clear();
+ i = this.copletAdapters.values().iterator();
+ while (i.hasNext()) {
+ this.manager.release(i.next());
+ }
+ this.copletAdapters.clear();
this.manager.release(this.profileManager);
this.profileManager = null;
this.manager.release(this.linkService);
@@ -162,14 +170,30 @@
/**
* @see org.apache.cocoon.portal.PortalComponentManager#getRenderer(java.lang.String)
*/
- public Renderer getRenderer(String hint) {
- Renderer o = (Renderer) this.renderers.get( hint );
+ public Renderer getRenderer(String name) {
+ Renderer o = (Renderer) this.renderers.get( name );
+ if ( o == null ) {
+ try {
+ o = (Renderer) this.manager.lookup( Renderer.ROLE + '/' + name );
+ this.renderers.put( name, o );
+ } catch (ServiceException e) {
+ throw new PortalRuntimeException("Unable to lookup renderer with name " + name, e);
+ }
+ }
+ return o;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.PortalComponentManager#getCopletAdapter(java.lang.String)
+ */
+ public CopletAdapter getCopletAdapter(String name) {
+ CopletAdapter o = (CopletAdapter) this.copletAdapters.get( name );
if ( o == null ) {
try {
- o = (Renderer) this.manager.lookup( Renderer.ROLE + '/' + hint );
- this.renderers.put( hint, o );
+ o = (CopletAdapter) this.manager.lookup( CopletAdapter.ROLE + '/' + name );
+ this.copletAdapters.put( name, o );
} catch (ServiceException e) {
- throw new PortalRuntimeException("Unable to lookup renderer with hint " + hint, e);
+ throw new PortalRuntimeException("Unable to lookup coplet adapter with name " + name, e);
}
}
return o;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/DefaultRendererContext.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/DefaultRendererContext.java?rev=329462&r1=329461&r2=329462&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/DefaultRendererContext.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/DefaultRendererContext.java Sat Oct 29 11:08:42 2005
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer.aspect.impl;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
Modified: cocoon/blocks/portal/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/status.xml?rev=329462&r1=329461&r2=329462&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/status.xml (original)
+++ cocoon/blocks/portal/trunk/status.xml Sat Oct 29 11:08:42 2005
@@ -66,6 +66,9 @@
<changes>
<release version="@version@" date="@date@">
<action dev="CZ" type="add">
+ Make coplet adapters accessible from component manager.
+ </action>
+ <action dev="CZ" type="add">
Add layout source to stream complete coplets/layouts.
</action>
<action dev="CZ" type="add">