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/21 14:57:11 UTC
svn commit: r327168 - in /cocoon/blocks: portal-sample/trunk/samples/conf/
portal-sample/trunk/samples/profiles/copletdata/ portal/trunk/
portal/trunk/java/org/apache/cocoon/portal/
portal/trunk/java/org/apache/cocoon/portal/aspect/ portal/trunk/java/o...
Author: cziegeler
Date: Fri Oct 21 05:56:35 2005
New Revision: 327168
URL: http://svn.apache.org/viewcvs?rev=327168&view=rev
Log:
Remove the support for aspect data handling.
Tab events are now convertable.
Remove aspect datas from layouts. Parameters are now used instead.
Added:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java (with props)
Removed:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/AspectDataHandler.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/AspectDataStore.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/AspectDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/Aspectalizable.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/AspectalizableDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/AbstractAspectalizable.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/AbstractAspectalizableDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/AspectUtil.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/DefaultAspectDataHandler.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/DefaultAspectDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/MemoryAspectDataStore.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/PersistentAspectDataStore.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/RequestAspectDataStore.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/SessionAspectDataStore.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/aspect/impl/TemporaryAspectDataStore.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/ChangeAspectDataEvent.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/SimpleAbstractProducible.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/util/AspectDataFieldHandler.java
Modified:
cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf
cocoon/blocks/portal-sample/trunk/samples/profiles/copletdata/portal.xml
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletdata.xml
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletinstancedata.xml
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/ConvertableEvent.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducible.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducibleDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Parameters.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/Renderer.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/HistoryAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/RendererAspectChain.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AbstractRenderer.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AspectRenderer.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/portal.roles
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
cocoon/blocks/portal/trunk/status.xml
Modified: cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf (original)
+++ cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf Fri Oct 21 05:56:35 2005
@@ -133,6 +133,7 @@
of the event class name is used as default. -->
<mappings>
<mapping name="sizing" event-class="org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent"/>
+ <mapping name="lpar" event-class="org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent"/>
</mappings>
</portal-event-converter>
@@ -394,26 +395,6 @@
<renderers default="link">
<renderer name="link"/>
</renderers>
- <aspects>
- <aspect name="link-layout-key"
- class="java.lang.String"
- store="session"
- auto-create="false">
- </aspect>
- <aspect name="link-layout-id"
- class="java.lang.String"
- store="session"
- auto-create="false">
- </aspect>
- <!--
- <aspect name="static"
- class="java.lang.Boolean"
- store="persistent"
- auto-create="true"
- value="false">
- </aspect>
- -->
- </aspects>
</layout>
</layouts>
</portal-layout-factory>
Modified: cocoon/blocks/portal-sample/trunk/samples/profiles/copletdata/portal.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/profiles/copletdata/portal.xml?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/profiles/copletdata/portal.xml (original)
+++ cocoon/blocks/portal-sample/trunk/samples/profiles/copletdata/portal.xml Fri Oct 21 05:56:35 2005
@@ -111,7 +111,7 @@
<coplet-base-data>URICoplet</coplet-base-data>
<attribute>
<name>uri</name>
- <value xsi:type="java:java.lang.String">cocoon:/coplets/news/live.weblog-rss?feed=http://www.osoco.net/weblogs/rael/index.xml</value>
+ <value xsi:type="java:java.lang.String">cocoon:/coplets/news/live.weblog-rss?feed=http://www.osoco.org/weblogs/rael/index.xml</value>
</attribute>
<attribute>
<name>buffer</name>
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletData.java Fri Oct 21 05:56:35 2005
@@ -22,7 +22,7 @@
import java.util.Map;
import java.util.StringTokenizer;
-import org.apache.cocoon.portal.factory.impl.SimpleAbstractProducible;
+import org.apache.cocoon.portal.factory.impl.AbstractProducible;
import org.apache.commons.lang.StringUtils;
/**
@@ -33,7 +33,7 @@
* @version $Id$
*/
public class CopletData
-extends SimpleAbstractProducible {
+extends AbstractProducible {
protected String title;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceData.java Fri Oct 21 05:56:35 2005
@@ -22,7 +22,7 @@
import java.util.HashSet;
import java.util.Iterator;
-import org.apache.cocoon.portal.factory.impl.SimpleAbstractProducible;
+import org.apache.cocoon.portal.factory.impl.AbstractProducible;
import org.apache.cocoon.portal.pluto.om.common.PreferenceSetImpl;
import org.apache.cocoon.portal.util.AttributedMapItem;
import org.apache.pluto.om.common.PreferenceSet;
@@ -46,7 +46,7 @@
* @version $Id$
*/
public final class CopletInstanceData
- extends SimpleAbstractProducible {
+ extends AbstractProducible {
public final static int SIZE_MINIMIZED = 0;
public final static int SIZE_NORMAL = 1;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/adapter/impl/ApplicationCopletAdapter.java Fri Oct 21 05:56:35 2005
@@ -182,7 +182,7 @@
* @return String the name of the new item
*/
private String getNewInstanceTabName(CompositeLayout layout) {
- Integer data = (Integer) layout.getAspectData("tab");
+ Integer data = Integer.valueOf((String)layout.getParameters().get("tab"));
Item selectedItem = (NamedItem) layout.getItem(data.intValue());
if (selectedItem instanceof NamedItem) {
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletdata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletdata.xml?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletdata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletdata.xml Fri Oct 21 05:56:35 2005
@@ -18,7 +18,7 @@
<mapping>
<description>Coplet data mapping file</description>
- <class name="org.apache.cocoon.portal.factory.impl.SimpleAbstractProducible">
+ <class name="org.apache.cocoon.portal.factory.impl.AbstractProducible">
<field name="name" type="java.lang.String">
<bind-xml name="name" node="attribute" />
</field>
@@ -36,7 +36,7 @@
</class>
<class name="org.apache.cocoon.portal.coplet.CopletData"
- extends="org.apache.cocoon.portal.factory.impl.SimpleAbstractProducible">
+ extends="org.apache.cocoon.portal.factory.impl.AbstractProducible">
<map-to xml="coplet-data" />
<field name="title" type="java.lang.String">
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletinstancedata.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletinstancedata.xml?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletinstancedata.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/copletinstancedata.xml Fri Oct 21 05:56:35 2005
@@ -18,7 +18,7 @@
<mapping>
<description>Coplet instance data mapping file</description>
- <class name="org.apache.cocoon.portal.factory.impl.SimpleAbstractProducible">
+ <class name="org.apache.cocoon.portal.factory.impl.AbstractProducible">
<field name="name" type="java.lang.String">
<bind-xml name="name" node="attribute" />
</field>
@@ -54,7 +54,7 @@
</class>
<class name="org.apache.cocoon.portal.coplet.CopletInstanceData"
- extends="org.apache.cocoon.portal.factory.impl.SimpleAbstractProducible">
+ extends="org.apache.cocoon.portal.factory.impl.AbstractProducible">
<map-to xml="coplet-instance-data"/>
<field name="copletData" type="java.lang.String" handler="org.apache.cocoon.portal.util.CopletDataReferenceFieldHandler"/>
<field name="attributes" type="org.apache.cocoon.portal.util.AttributedMapItem" collection="collection"
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletDescription.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletDescription.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletDescription.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/impl/DefaultCopletDescription.java Fri Oct 21 05:56:35 2005
@@ -15,11 +15,7 @@
*/
package org.apache.cocoon.portal.coplet.impl;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.apache.cocoon.portal.aspect.AspectDescription;
+import org.apache.cocoon.portal.coplet.CopletDescription;
import org.apache.cocoon.portal.factory.impl.AbstractProducibleDescription;
/**
@@ -28,30 +24,8 @@
* @version $Id$
*/
public class DefaultCopletDescription
- extends AbstractProducibleDescription {
-
- protected List instanceAspects = new ArrayList();
-
- public List getInstanceAspectDescriptions() {
- return this.instanceAspects;
- }
-
- public void addInstanceAspectDescription(AspectDescription aspect) {
- this.instanceAspects.add(aspect);
- }
+ extends AbstractProducibleDescription
+ implements CopletDescription {
- /**
- * Return the description for an aspect
- */
- public AspectDescription getInstanceAspectDescription(String name) {
- AspectDescription desc = null;
- Iterator i = this.instanceAspects.iterator();
- while (desc == null && i.hasNext() ) {
- AspectDescription current = (AspectDescription)i.next();
- if ( name.equals(current.getName())) {
- desc = current;
- }
- }
- return desc;
- }
+ // nothing to add
}
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=327168&r1=327167&r2=327168&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 Fri Oct 21 05:56:35 2005
@@ -22,10 +22,8 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.service.ServiceException;
-import org.apache.avalon.framework.service.ServiceManager;
import org.apache.avalon.framework.service.ServiceSelector;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.portal.aspect.AspectDataStore;
import org.apache.cocoon.portal.coplet.CopletData;
import org.apache.cocoon.portal.coplet.CopletFactory;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
@@ -45,8 +43,6 @@
protected Map coplets = new HashMap();
- protected ServiceSelector storeSelector;
-
protected static long idCounter = System.currentTimeMillis();
/**
@@ -137,25 +133,6 @@
// send an event
this.portalService.getComponentManager().getEventManager().send(new CopletInstanceDataAddedEvent(instance));
return instance;
- }
-
- /**
- * @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
- */
- public void service(ServiceManager manager) throws ServiceException {
- super.service(manager);
- this.storeSelector = (ServiceSelector)this.manager.lookup( AspectDataStore.ROLE+"Selector" );
- }
-
- /**
- * @see org.apache.avalon.framework.activity.Disposable#dispose()
- */
- public void dispose() {
- if ( this.manager != null ) {
- this.manager.release( this.storeSelector );
- this.storeSelector = null;
- }
- super.dispose();
}
/**
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/ConvertableEvent.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/ConvertableEvent.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/ConvertableEvent.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/ConvertableEvent.java Fri Oct 21 05:56:35 2005
@@ -23,8 +23,9 @@
public interface ConvertableEvent extends Event {
/**
- * Return the event data as a String
- * @return The event data as a String
+ * Return the event data as a String.
+ * If for any reason, the event is not convertable it can return null instead.
+ * @return The event data as a String or null.
*/
String asString();
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java Fri Oct 21 05:56:35 2005
@@ -17,7 +17,7 @@
import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.event.EventManager;
-import org.apache.cocoon.portal.event.impl.ChangeAspectDataEvent;
+import org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.impl.FrameLayout;
@@ -43,7 +43,7 @@
Layout layout,
String[] values) {
if (layout instanceof FrameLayout) {
- final Event e = new ChangeAspectDataEvent(layout, "frame", values[2]);
+ final Event e = new LayoutChangeParameterEvent(layout, "frame", values[2]);
publisher.send(e);
} else {
this.getLogger().warn(
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java Fri Oct 21 05:56:35 2005
@@ -17,7 +17,7 @@
import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.event.EventManager;
-import org.apache.cocoon.portal.event.impl.ChangeAspectDataEvent;
+import org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.impl.LinkLayout;
@@ -44,11 +44,11 @@
String[] values) {
if (layout instanceof LinkLayout) {
LinkLayout linkLayout = (LinkLayout) layout;
- Event e = new ChangeAspectDataEvent(linkLayout,
+ Event e = new LayoutChangeParameterEvent(linkLayout,
"link-layout-key",
values[2]);
publisher.send(e);
- e = new ChangeAspectDataEvent(linkLayout,
+ e = new LayoutChangeParameterEvent(linkLayout,
"link-layout-id",
values[3]);
publisher.send(e);
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/DefaultEventConverter.java Fri Oct 21 05:56:35 2005
@@ -98,19 +98,22 @@
// the used factory and the data.
if ( event instanceof ConvertableEvent ) {
final String data = ((ConvertableEvent)event).asString();
- final String factory = event.getClass().getName();
- final long hash = HashUtil.hash(factory);
- final String hashKey = Long.toString(hash);
- Object o = this.factories.get(hashKey);
- if ( o == null ) {
- final Constructor c = this.getConstructor(factory);
- this.factories.put(hashKey, c);
- o = c;
+ // check if *this* event is convertable
+ if ( data != null ) {
+ final String factory = event.getClass().getName();
+ final long hash = HashUtil.hash(factory);
+ final String hashKey = Long.toString(hash);
+ Object o = this.factories.get(hashKey);
+ if ( o == null ) {
+ final Constructor c = this.getConstructor(factory);
+ this.factories.put(hashKey, c);
+ o = c;
+ }
+ if ( o instanceof Constructor ) {
+ return hashKey + ':' + data;
+ }
+ return o.toString() + ':' + data;
}
- if ( o instanceof Constructor ) {
- return hashKey + ':' + data;
- }
- return o.toString() + ':' + data;
}
List list = (List)this.portalService.getAttribute(EVENT_LIST);
if ( null == list ) {
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/InternalEventReceiver.java Fri Oct 21 05:56:35 2005
@@ -19,7 +19,6 @@
import java.util.List;
import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.aspect.Aspectalizable;
import org.apache.cocoon.portal.coplet.CopletData;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.coplet.CopletInstanceDataFeatures;
@@ -29,6 +28,7 @@
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.event.Receiver;
import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
+import org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.impl.CopletLayout;
import org.apache.cocoon.portal.profile.ProfileManager;
@@ -55,14 +55,6 @@
/**
* @see Receiver
*/
- public void inform(ChangeAspectDataEvent event, PortalService service) {
- final Aspectalizable target = event.getAspectalizable();
- target.setAspectData(event.getAspectName(), event.getData());
- }
-
- /**
- * @see Receiver
- */
public void inform(JXPathEvent event, PortalService service) {
final Object target = event.getTarget();
if ( target != null && event.getPath() != null && event.getValue() != null) {
@@ -114,4 +106,11 @@
}
}
+ /**
+ * @see Receiver
+ */
+ public void inform(LayoutChangeParameterEvent e, PortalService service) {
+ final Layout l = (Layout)e.getTarget();
+ l.getParameters().put(e.getParameterName(), e.getValue());
+ }
}
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java?rev=327168&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java Fri Oct 21 05:56:35 2005
@@ -0,0 +1,92 @@
+/*
+ * Copyright 1999-2002,2004-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.event.layout;
+
+import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.event.ComparableEvent;
+import org.apache.cocoon.portal.event.ConvertableEvent;
+import org.apache.cocoon.portal.event.LayoutEvent;
+import org.apache.cocoon.portal.event.impl.AbstractActionEvent;
+import org.apache.cocoon.portal.layout.Layout;
+import org.apache.commons.lang.ObjectUtils;
+
+/**
+ *
+ * @version $Id$
+ */
+public class LayoutChangeParameterEvent
+ extends AbstractActionEvent
+ implements LayoutEvent, ComparableEvent, ConvertableEvent {
+
+ protected String parameterName;
+ protected String value;
+
+ public LayoutChangeParameterEvent(PortalService service, String eventData) {
+ super(null);
+ final int pos = eventData.indexOf(':');
+ if ( pos == -1 ) {
+ throw new IllegalArgumentException("Corrupt event data: " + eventData);
+ }
+ final int pos2 = eventData.indexOf(':', pos+1);
+ if ( pos2 == -1 ) {
+ throw new IllegalArgumentException("Corrupt event data: " + eventData);
+ }
+ final String layoutId = eventData.substring(0, pos);
+ this.parameterName = eventData.substring(pos+1, pos2);
+ this.value= eventData.substring(pos2+1);
+ this.target = service.getComponentManager().getProfileManager().getPortalLayout(null, layoutId);
+ }
+
+ /**
+ * @param target
+ */
+ public LayoutChangeParameterEvent(Layout target, String parameterName, String value) {
+ super(target);
+ this.parameterName = parameterName;
+ this.value = value;
+ }
+
+ public String getParameterName() {
+ return this.parameterName;
+ }
+
+ public String getValue() {
+ return this.value;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.event.ComparableEvent#equalsEvent(org.apache.cocoon.portal.event.ComparableEvent)
+ */
+ public boolean equalsEvent(ComparableEvent event) {
+ if ( event instanceof LayoutChangeParameterEvent ) {
+ return ObjectUtils.equals(this.getTarget(), ((LayoutChangeParameterEvent)event).getTarget())
+ && ObjectUtils.equals(this.getParameterName(), ((LayoutChangeParameterEvent)event).getParameterName());
+ }
+ return false;
+ }
+
+ /**
+ * @see org.apache.cocoon.portal.event.ConvertableEvent#asString()
+ */
+ public String asString() {
+ final Layout l = (Layout)this.getTarget();
+ if ( l.getId() == null ) {
+ return null;
+ }
+ return l.getId() + ':' + this.parameterName + ':' + this.value;
+ }
+
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/layout/LayoutChangeParameterEvent.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducible.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducible.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducible.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducible.java Fri Oct 21 05:56:35 2005
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal.factory.impl;
-import org.apache.cocoon.portal.aspect.impl.AbstractAspectalizable;
import org.apache.cocoon.portal.factory.Producible;
import org.apache.cocoon.portal.factory.ProducibleDescription;
@@ -24,8 +23,7 @@
*
* @version $Id$
*/
-public abstract class AbstractProducible
- extends AbstractAspectalizable
+public abstract class AbstractProducible
implements Producible {
protected String name;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducibleDescription.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducibleDescription.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducibleDescription.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/factory/impl/AbstractProducibleDescription.java Fri Oct 21 05:56:35 2005
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal.factory.impl;
-import org.apache.cocoon.portal.aspect.impl.AbstractAspectalizableDescription;
import org.apache.cocoon.portal.factory.ProducibleDescription;
/**
@@ -24,7 +23,6 @@
* @version $Id$
*/
public abstract class AbstractProducibleDescription
- extends AbstractAspectalizableDescription
implements ProducibleDescription {
protected String className;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelLinkService.java Fri Oct 21 05:56:35 2005
@@ -20,7 +20,7 @@
import java.util.List;
import org.apache.cocoon.portal.event.Event;
-import org.apache.cocoon.portal.event.impl.ChangeAspectDataEvent;
+import org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
import org.apache.cocoon.portal.layout.NamedItem;
@@ -76,12 +76,12 @@
String requestParameterName = this.labelManager.getRequestParameterName();
- if (event instanceof ChangeAspectDataEvent &&
- ((ChangeAspectDataEvent) event).getTarget() instanceof CompositeLayout) {
+ if (event instanceof LayoutChangeParameterEvent &&
+ ((LayoutChangeParameterEvent) event).getTarget() instanceof CompositeLayout) {
- ChangeAspectDataEvent e = (ChangeAspectDataEvent)event;
+ LayoutChangeParameterEvent e = (LayoutChangeParameterEvent)event;
CompositeLayout layout = (CompositeLayout)e.getTarget();
- int i = ((Integer)e.getData()).intValue();
+ int i = Integer.valueOf(e.getValue()).intValue();
Item item = layout.getItem(i);
if (item instanceof NamedItem) {
@@ -147,12 +147,12 @@
while (iter.hasNext()) {
Event event = (Event)iter.next();
- if (event instanceof ChangeAspectDataEvent &&
- ((ChangeAspectDataEvent) event).getTarget() instanceof CompositeLayout) {
+ if (event instanceof LayoutChangeParameterEvent &&
+ ((LayoutChangeParameterEvent) event).getTarget() instanceof CompositeLayout) {
- ChangeAspectDataEvent e = (ChangeAspectDataEvent) event;
+ LayoutChangeParameterEvent e = (LayoutChangeParameterEvent) event;
CompositeLayout layout = (CompositeLayout) e.getTarget();
- int i = ((Integer) e.getData()).intValue();
+ int i = Integer.valueOf(e.getValue()).intValue();
Item item = layout.getItem(i);
if (value.length() > 0) {
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/impl/PageLabelManager.java Fri Oct 21 05:56:35 2005
@@ -34,7 +34,7 @@
import org.apache.cocoon.environment.Request;
import org.apache.cocoon.portal.PortalException;
import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.event.impl.ChangeAspectDataEvent;
+import org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
import org.apache.cocoon.portal.layout.Layout;
@@ -251,8 +251,8 @@
List lhList = null;
for (int j = 0; j < layout.getSize(); j++) {
Item tab = layout.getItem(j);
- ChangeAspectDataEvent event =
- new ChangeAspectDataEvent(layout, this.aspectName, new Integer(j));
+ LayoutChangeParameterEvent event =
+ new LayoutChangeParameterEvent(layout, this.aspectName, String.valueOf(j));
StringBuffer label = new StringBuffer(name);
if (label.length() > 0) {
label.append(".");
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Layout.java Fri Oct 21 05:56:35 2005
@@ -15,16 +15,14 @@
*/
package org.apache.cocoon.portal.layout;
-import org.apache.cocoon.portal.aspect.Aspectalizable;
import org.apache.cocoon.portal.factory.Producible;
-
/**
*
* @version $Id$
*/
public interface Layout
- extends Parameters, Producible, Aspectalizable {
+ extends Parameters, Producible {
/**
* Get the name of the {@link org.apache.cocoon.portal.layout.renderer.Renderer} to draw this layout.
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/LayoutDescription.java Fri Oct 21 05:56:35 2005
@@ -17,7 +17,6 @@
import java.util.Iterator;
-import org.apache.cocoon.portal.aspect.AspectalizableDescription;
import org.apache.cocoon.portal.factory.ProducibleDescription;
/**
@@ -26,7 +25,7 @@
* @version $Id$
*/
public interface LayoutDescription
- extends ProducibleDescription, AspectalizableDescription {
+ extends ProducibleDescription {
/**
* @return the default renderer name
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Parameters.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Parameters.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Parameters.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/Parameters.java Fri Oct 21 05:56:35 2005
@@ -18,16 +18,18 @@
import java.util.Map;
/**
+ * A parameter is a key-value pair consisting of strings for both key and value.
+ *
+ * TODO - Change this interface to directly add and query string based key/value pairs.
*
* @version $Id$
*/
public interface Parameters {
/**
- * Get custom parameters as List of
- * org.apache.cocoon.portal.layout.impl.Parameters. This method
- * never returns null.
- * @return List
+ * Get parameters map.
+ * This method never returns null.
+ * @return A map with key value pairs.
*/
Map getParameters();
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/impl/DefaultLayoutFactory.java Fri Oct 21 05:56:35 2005
@@ -29,17 +29,10 @@
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.ServiceSelector;
import org.apache.avalon.framework.service.Serviceable;
import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.ProcessingException;
-import org.apache.cocoon.portal.PortalComponentManager;
import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.aspect.AspectDataHandler;
-import org.apache.cocoon.portal.aspect.AspectDataStore;
-import org.apache.cocoon.portal.aspect.AspectDescription;
-import org.apache.cocoon.portal.aspect.impl.DefaultAspectDataHandler;
-import org.apache.cocoon.portal.aspect.impl.DefaultAspectDescription;
import org.apache.cocoon.portal.coplet.CopletFactory;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.event.Event;
@@ -47,12 +40,12 @@
import org.apache.cocoon.portal.event.LayoutEvent;
import org.apache.cocoon.portal.event.Receiver;
import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
+import org.apache.cocoon.portal.event.impl.LayoutRemoveEvent;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.LayoutException;
import org.apache.cocoon.portal.layout.LayoutFactory;
-import org.apache.cocoon.portal.layout.renderer.Renderer;
import org.apache.cocoon.portal.profile.ProfileManager;
import org.apache.cocoon.util.ClassUtils;
@@ -134,8 +127,6 @@
protected List descriptions = new ArrayList();
- protected ServiceSelector storeSelector;
-
protected ServiceManager manager;
protected Configuration[] layoutsConf;
@@ -147,7 +138,6 @@
*/
public void service(ServiceManager manager) throws ServiceException {
this.manager = manager;
- this.storeSelector = (ServiceSelector)this.manager.lookup( AspectDataStore.ROLE+"Selector" );
}
/**
@@ -188,40 +178,7 @@
throw new ConfigurationException("Default renderer '" + defaultRenderer + "' is not configured for layout '" + name + "'");
}
- // and now the aspects
- final Configuration[] aspectsConf = layoutConf.getChild("aspects").getChildren("aspect");
- if (aspectsConf != null) {
- for(int m=0; m < aspectsConf.length; m++) {
- AspectDescription adesc = DefaultAspectDescription.newInstance(aspectsConf[m]);
- desc.addAspectDescription( adesc );
- }
- }
- // now query all configured renderers for their aspects
- PortalService service = null;
- try {
- service = (PortalService)this.manager.lookup(PortalService.ROLE);
- PortalComponentManager pcManager = service.getComponentManager();
-
- Iterator rendererIterator = desc.getRendererNames();
- while (rendererIterator.hasNext()) {
- final String rendererName = (String)rendererIterator.next();
- Renderer renderer = pcManager.getRenderer( rendererName );
-
- Iterator aspectIterator = renderer.getAspectDescriptions();
- while (aspectIterator.hasNext()) {
- final AspectDescription adesc = (AspectDescription) aspectIterator.next();
- desc.addAspectDescription( adesc );
- }
- }
- } catch (ServiceException ce ) {
- throw new ConfigurationException("Unable to lookup renderer selector.", ce);
- } finally {
- this.manager.release( service );
- }
-
- // set the aspect data handler
- DefaultAspectDataHandler handler = new DefaultAspectDataHandler(desc, this.storeSelector);
- this.layouts.put(desc.getName(), new Object[] {desc, handler});
+ this.layouts.put(desc.getName(), desc);
this.descriptions.add(desc);
}
@@ -264,15 +221,13 @@
if ( layoutName == null ) {
throw new LayoutException("Layout '"+layout.getId()+"' has no associated name.");
}
- Object[] o = (Object[]) this.layouts.get( layoutName );
+ DefaultLayoutDescription layoutDescription = (DefaultLayoutDescription)this.layouts.get( layoutName );
- if ( o == null ) {
+ if ( layoutDescription == null ) {
throw new LayoutException("LayoutDescription with name '" + layoutName + "' not found.");
}
- DefaultLayoutDescription layoutDescription = (DefaultLayoutDescription)o[0];
layout.setDescription( layoutDescription );
- layout.setAspectDataHandler((AspectDataHandler)o[1]);
// recursive
if ( layout instanceof CompositeLayout ) {
@@ -294,12 +249,11 @@
throws ProcessingException {
this.init();
- Object[] o = (Object[]) this.layouts.get( layoutName );
+ DefaultLayoutDescription layoutDescription = (DefaultLayoutDescription)this.layouts.get( layoutName );
- if ( o == null ) {
+ if ( layoutDescription == null ) {
throw new ProcessingException("LayoutDescription with name '" + layoutName + "' not found.");
}
- DefaultLayoutDescription layoutDescription = (DefaultLayoutDescription)o[0];
Layout layout = null;
try {
@@ -318,7 +272,6 @@
}
layout.initialize( layoutName, id );
layout.setDescription( layoutDescription );
- layout.setAspectDataHandler((AspectDataHandler)o[1]);
if ( layout instanceof CompositeLayout ) {
CompositeLayout composite = (CompositeLayout)layout;
@@ -359,8 +312,6 @@
} finally {
this.manager.release( eventManager );
}
- this.manager.release( this.storeSelector );
- this.storeSelector = null;
this.manager = null;
}
@@ -384,10 +335,12 @@
*/
public void inform(LayoutEvent event, PortalService service) {
Layout layout = (Layout)event.getTarget();
- try {
- this.remove( layout );
- } catch (ProcessingException pe) {
- throw new LayoutException("Exception during removal.", pe);
+ if ( event instanceof LayoutRemoveEvent ) {
+ try {
+ this.remove( layout );
+ } catch (ProcessingException pe) {
+ throw new LayoutException("Exception during removal.", pe);
+ }
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/layout.xml Fri Oct 21 05:56:35 2005
@@ -14,18 +14,11 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<!-- SVN $Id:$ -->
+<!-- SVN $Id$ -->
<mapping>
<description>Portalprofile mapping file</description>
- <class name="org.apache.cocoon.portal.aspect.impl.AbstractAspectalizable">
- <field name="persistentAspectData" type="org.exolab.castor.mapping.MapItem" collection="map" handler="org.apache.cocoon.portal.util.AspectDataFieldHandler">
- <bind-xml name="aspect"/>
- </field>
- </class>
-
- <class name="org.apache.cocoon.portal.factory.impl.AbstractProducible"
- extends="org.apache.cocoon.portal.aspect.impl.AbstractAspectalizable">
+ <class name="org.apache.cocoon.portal.factory.impl.AbstractProducible">
<field name="name" type="java.lang.String">
<bind-xml name="name" node="attribute"/>
</field>
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/Renderer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/Renderer.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/Renderer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/Renderer.java Fri Oct 21 05:56:35 2005
@@ -15,8 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer;
-import java.util.Iterator;
-
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.layout.Layout;
import org.xml.sax.ContentHandler;
@@ -36,11 +34,4 @@
*/
void toSAX(Layout layout, PortalService service, ContentHandler handler)
throws SAXException;
-
- /**
- * Return the aspects required for this renderer.
- * This method always returns an iterator even if no descriptions are
- * available.
- */
- Iterator getAspectDescriptions();
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/RendererAspect.java Fri Oct 21 05:56:35 2005
@@ -15,8 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer.aspect;
-import java.util.Iterator;
-
import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.portal.PortalService;
@@ -45,21 +43,13 @@
throws SAXException;
/**
- * Return the aspects required for this renderer
- * @return An iterator for the aspect descriptions or null.
- */
- Iterator getAspectDescriptions(Object preparedConfiguration);
-
- /**
* Compile the configuration.
* A renderer aspect can "compile" the configuration in
* order to increase performance.
* If the renderer does not want to compile it should
* simply return the configuration.
- * The "compiled" configuration is passed to the
- * {@link #getAspectDescriptions(Object)} method and
- * is available during streaming via the context object.
- * This method can also be used for validation the configuration.
+ * The "compiled" configuration is available during streaming via the context object.
+ * This method can also be used for validating the configuration.
*/
Object prepareConfiguration(Parameters configuration)
throws ParameterException;
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/AbstractAspect.java Fri Oct 21 05:56:35 2005
@@ -15,8 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer.aspect.impl;
-import java.util.Iterator;
-
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameters;
@@ -59,14 +57,6 @@
ContentHandler handler)
throws SAXException {
// empty implementation
- }
-
- /**
- * Return the aspects required for this renderer
- * @return An iterator for the aspect descriptions or null.
- */
- public Iterator getAspectDescriptions(Object preparedConf) {
- return null;
}
/**
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java Fri Oct 21 05:56:35 2005
@@ -15,13 +15,9 @@
*/
package org.apache.cocoon.portal.layout.renderer.aspect.impl;
-import java.util.Collections;
-import java.util.Iterator;
-
import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.aspect.impl.DefaultAspectDescription;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.layout.impl.FrameLayout;
import org.apache.cocoon.portal.layout.renderer.aspect.RendererAspectContext;
@@ -62,7 +58,7 @@
throw new SAXException("Wrong layout type, FrameLayout expected: " + layout.getClass().getName());
}
- String source = (String)layout.getAspectData(config.aspectName);
+ String source = (String)layout.getParameters().get(config.aspectName);
if (source == null) {
source = ((FrameLayout) layout).getSource();
}
@@ -89,21 +85,5 @@
pc.aspectName = configuration.getParameter("aspect-name", "frame");
pc.store = configuration.getParameter("store");
return pc;
- }
-
- /**
- * Return the aspects required for this renderer
- * @return An iterator for the aspect descriptions or null.
- */
- public Iterator getAspectDescriptions(Object configuration) {
- PreparedConfiguration pc = (PreparedConfiguration)configuration;
-
- DefaultAspectDescription desc = new DefaultAspectDescription();
- desc.setName(pc.aspectName);
- desc.setClassName("java.lang.String");
- desc.setPersistence(pc.store);
- desc.setAutoCreate(false);
-
- return Collections.singletonList(desc).iterator();
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/HistoryAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/HistoryAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/HistoryAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/HistoryAspect.java Fri Oct 21 05:56:35 2005
@@ -106,7 +106,6 @@
history.add(state);
}
- this.addValues(layout.getId(), state, layout.getAspectDatas(), "aspectDatas/", false);
this.addValues(layout.getId(), state, layout.getParameters(), "parameters/", false);
// are we a coplet layout
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/RendererAspectChain.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/RendererAspectChain.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/RendererAspectChain.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/RendererAspectChain.java Fri Oct 21 05:56:35 2005
@@ -49,8 +49,6 @@
protected List configs = new ArrayList(3);
- protected List aspectDescriptions = new ArrayList(2);
-
public void configure(ServiceSelector selector, Configuration conf)
throws ConfigurationException {
if ( conf != null ) {
@@ -66,12 +64,6 @@
Object compiledConf = rAspect.prepareConfiguration(aspectConfiguration);
this.configs.add(compiledConf);
- Iterator descriptionIterator = rAspect.getAspectDescriptions(compiledConf);
- if ( descriptionIterator != null ) {
- while ( descriptionIterator.hasNext() ) {
- this.aspectDescriptions.add( descriptionIterator.next() );
- }
- }
} catch (ParameterException pe) {
throw new ConfigurationException("Unable to configure renderer aspect " + role, pe);
} catch (ServiceException se) {
@@ -90,10 +82,6 @@
public Iterator getConfigIterator() {
return this.configs.iterator();
- }
-
- public Iterator getAspectDescriptionIterator() {
- return this.aspectDescriptions.iterator();
}
public void dispose(ServiceSelector selector) {
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/TabContentAspect.java Fri Oct 21 05:56:35 2005
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer.aspect.impl;
-import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import java.util.List;
@@ -24,8 +23,7 @@
import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.cocoon.portal.PortalService;
-import org.apache.cocoon.portal.aspect.impl.DefaultAspectDescription;
-import org.apache.cocoon.portal.event.impl.ChangeAspectDataEvent;
+import org.apache.cocoon.portal.event.layout.LayoutChangeParameterEvent;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
import org.apache.cocoon.portal.layout.Layout;
@@ -90,7 +88,7 @@
* <h2>Parameters</h2>
* <table><tbody>
* <tr><th>store</th><td></td><td>req</td><td>String</td><td><code>null</code></td></tr>
- * <tr><th>aspect-name</th><td>Aspect holding the current tab state.</td><td>req</td><td>String</td><td><code>"tab"</code></td></tr>
+ * <tr><th>aspect-name</th><td>Parameter holding the current tab state.</td><td>req</td><td>String</td><td><code>"tab"</code></td></tr>
* <tr><th>tag-name</th><td>Name of the tag enclosing the following output.</td>
* <td></td><td>String</td><td><code>"composite"</code></td></tr>
* <tr><th>root-tag</th><td>Should a tag enclosing the following output be generated?</td>
@@ -128,23 +126,26 @@
CompositeLayout tabLayout = (CompositeLayout) layout;
// selected tab
- Integer data = (Integer) layout.getAspectData(config.aspectName);
- int selected = data.intValue();
+ String data = (String)layout.getParameters().get(config.aspectName);
+ int selected = 0;
+ if ( data != null ) {
+ selected = Integer.valueOf(data).intValue();
+ }
// loop over all tabs
for (int j = 0; j < tabLayout.getSize(); j++) {
Item tab = tabLayout.getItem(j);
- ChangeAspectDataEvent event = null;
+ LayoutChangeParameterEvent event = null;
// open named-item tag
attributes.clear();
if ( tab instanceof NamedItem ) {
- attributes.addCDATAAttribute("name", String.valueOf(((NamedItem)tab).getName()));
+ attributes.addCDATAAttribute("name", ((NamedItem)tab).getName());
}
if (j == selected) {
attributes.addCDATAAttribute("selected", "true");
}
- event = new ChangeAspectDataEvent(tabLayout, config.aspectName, new Integer(j));
+ event = new LayoutChangeParameterEvent(tabLayout, config.aspectName, String.valueOf(j));
attributes.addCDATAAttribute("parameter", service.getComponentManager().getLinkService().getLinkURI(event));
// add parameters
@@ -181,22 +182,6 @@
}
}
- /**
- * Return the aspects required for this renderer
- * @return An iterator for the aspect descriptions or null.
- */
- public Iterator getAspectDescriptions(Object configuration) {
- TabPreparedConfiguration pc = (TabPreparedConfiguration)configuration;
-
- DefaultAspectDescription desc = new DefaultAspectDescription();
- desc.setName(pc.aspectName);
- desc.setClassName("java.lang.Integer");
- desc.setPersistence(pc.store);
- desc.setAutoCreate(true);
-
- return Collections.singletonList(desc).iterator();
- }
-
private Layout getNextLayout(PortalService service, Item tab) {
Layout tabLayout = tab.getLayout();
if (tabLayout instanceof CompositeLayout) {
@@ -254,8 +239,8 @@
}
attributes.addCDATAAttribute("name",
String.valueOf(((NamedItem) tab).getName()));
- ChangeAspectDataEvent event = new ChangeAspectDataEvent(tabLayout,
- config.aspectName, new Integer(j));
+ LayoutChangeParameterEvent event = new LayoutChangeParameterEvent(tabLayout,
+ config.aspectName, String.valueOf(j));
List events = new ArrayList(parentEvents);
events.add(event);
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AbstractRenderer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AbstractRenderer.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AbstractRenderer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AbstractRenderer.java Fri Oct 21 05:56:35 2005
@@ -15,9 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer.impl;
-import java.util.Collections;
-import java.util.Iterator;
-
import javax.xml.transform.sax.SAXResult;
import javax.xml.transform.sax.TransformerHandler;
@@ -123,11 +120,4 @@
}
protected abstract void process(Layout layout, PortalService service, ContentHandler handler) throws SAXException;
-
- /**
- * Return the aspects required for this renderer
- */
- public Iterator getAspectDescriptions() {
- return Collections.EMPTY_LIST.iterator();
- }
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AspectRenderer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AspectRenderer.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AspectRenderer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/AspectRenderer.java Fri Oct 21 05:56:35 2005
@@ -15,8 +15,6 @@
*/
package org.apache.cocoon.portal.layout.renderer.impl;
-import java.util.Iterator;
-
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
@@ -103,13 +101,6 @@
this.manager = null;
}
}
-
- /**
- * Return the aspects required for this renderer
- */
- public Iterator getAspectDescriptions() {
- return this.chain.getAspectDescriptionIterator();
- }
/**
* @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/impl/DefaultLinkRenderer.java Fri Oct 21 05:56:35 2005
@@ -36,8 +36,8 @@
public void process(Layout layout, PortalService service, ContentHandler handler)
throws SAXException {
if (layout instanceof LinkLayout) {
- String layoutKey = (String)layout.getAspectData("link-layout-key");
- String layoutId = (String)layout.getAspectData("link-layout-id");
+ String layoutKey = (String)layout.getParameters().get("link-layout-key");
+ String layoutId = (String)layout.getParameters().get("link-layout-id");
if ( layoutKey == null && layoutId == null){
// get default values
layoutKey = ((LinkLayout)layout).getLayoutKey();
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/portal.roles
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/portal.roles?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/portal.roles (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/portal.roles Fri Oct 21 05:56:35 2005
@@ -117,29 +117,6 @@
<!--+
- | Aspect Storages
- |
- +-->
- <!-- Legacy service selector. -->
- <role name="org.apache.cocoon.portal.aspect.AspectDataStoreSelector"
- default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
-
- <role name="org.apache.cocoon.portal.aspect.AspectDataStore/temporary"
- default-class="org.apache.cocoon.portal.aspect.impl.TemporaryAspectDataStore"/>
-
- <role name="org.apache.cocoon.portal.aspect.AspectDataStore/request"
- default-class="org.apache.cocoon.portal.aspect.impl.RequestAspectDataStore"/>
-
- <role name="org.apache.cocoon.portal.aspect.AspectDataStore/session"
- default-class="org.apache.cocoon.portal.aspect.impl.SessionAspectDataStore"/>
-
- <role name="org.apache.cocoon.portal.aspect.AspectDataStore/persistent"
- default-class="org.apache.cocoon.portal.aspect.impl.PersistentAspectDataStore"/>
-
- <role name="org.apache.cocoon.portal.aspect.AspectDataStore/memory"
- default-class="org.apache.cocoon.portal.aspect.impl.MemoryAspectDataStore"/>
-
- <!--+
| Components.
|
+-->
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/profile/impl/GroupBasedProfileManager.java Fri Oct 21 05:56:35 2005
@@ -68,7 +68,7 @@
* which means for example once a global profile is loaded, it is
* used until Cocoon is restarted. (This will be changed later on)
*
- * THIS IS A WORK IN PROGRESS - IT'S NOT FINISHED/WORKING YET
+ * THIS IS A WORK IN PROGRESS - IT'S NOT FINISHED YET
*
* @version $Id: AbstractUserProfileManager.java 37123 2004-08-27 12:11:53Z cziegeler $
*/
Modified: cocoon/blocks/portal/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/status.xml?rev=327168&r1=327167&r2=327168&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/status.xml (original)
+++ cocoon/blocks/portal/trunk/status.xml Fri Oct 21 05:56:35 2005
@@ -66,6 +66,18 @@
<changes>
<release version="@version@" date="@date@">
<action dev="CZ" type="add">
+ Remove the support for aspect data handling.
+ </action>
+ <action dev="CZ" type="add">
+ Tab events are now convertable.
+ </action>
+ <action dev="CZ" type="add">
+ The lifetime of encoded events is now the user session.
+ </action>
+ <action dev="CZ" type="add">
+ Remove aspect datas from layouts. Parameters are now used instead.
+ </action>
+ <action dev="CZ" type="add">
Add CopletInstanceDataFeatures and CopletDataFeatures utility classes
to query optional features of coplets and to track changed coplets.
</action>