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/18 22:27:56 UTC
svn commit: r326220 - in /cocoon/blocks: portal-sample/trunk/samples/conf/
portal-sample/trunk/samples/coplets/gallery/
portal-sample/trunk/samples/coplets/news/
portal-sample/trunk/samples/coplets/news/styles/ portal/trunk/
portal/trunk/java/org/apach...
Author: cziegeler
Date: Tue Oct 18 13:27:09 2005
New Revision: 326220
URL: http://svn.apache.org/viewcvs?rev=326220&view=rev
Log:
Remove extra handling of full screen, it's just another size now
Added:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java (with props)
Removed:
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/aspect/impl/FullScreenCopletEventAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/FullScreenCopletEvent.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/impl/FullScreenCopletEventFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FullScreenCopletAspect.java
Modified:
cocoon/blocks/portal-sample/trunk/samples/conf/cocoon-portal-sample.xconf
cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/gallery.xsl
cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/sitemap.xmap
cocoon/blocks/portal-sample/trunk/samples/coplets/news/sitemap.xmap
cocoon/blocks/portal-sample/trunk/samples/coplets/news/styles/rss2html.xsl
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/helpers/FullScreenMapping.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceDataFeatures.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/coplet/CopletInstanceSizingEvent.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/layout/impl/DefaultLayoutFactory.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/SizingAspect.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/portal.roles
cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.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=326220&r1=326219&r2=326220&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 Tue Oct 18 13:27:09 2005
@@ -98,23 +98,21 @@
<event-aspects>
<!-- The client should not cache the page. -->
<aspect type="no-client-caching"/>
- <!-- Uncomment this aspect when marshalling JSR168 portlet events
<aspect type="convertable"/>
- -->
<!-- Use the action counter with great care. We recommend turning it off. -->
<!-- Remove action-counter when using PageLabels -->
<!-- aspect type="action-counter"/ -->
<aspect type="frame"/>
<aspect type="link"/>
- <aspect type="full-screen-coplet"/>
<!-- Uncomment the following when using PageLabels
<aspect type="page-label"/>
-->
<!-- Comment the following out if you don't need WSRP: -->
<aspect type="wsrp"/>
<aspect type="request-parameter">
+ <parameter name="parameter-name" value="sizing"/>
<!-- Uncomment the following when marshalling JSR168 portlet events
- <parameter name="parameter-name" value="cocoon-portal-event,url"/>
+ <parameter name="parameter-name" value="cocoon-portal-event,url,sizing"/>
-->
</aspect>
</event-aspects>
@@ -135,6 +133,9 @@
| To enable PageLabels uncomment the following definition:
<portal-event-converter class="org.apache.cocoon.portal.event.impl.PageLabelEventConverter"/>
+-->
+ <portal-event-converter>
+ <parameter name="marshall-events" value="true"/>
+ </portal-event-converter>
<page-label-manager>
<!-- Uncomment to marshall JSR-168 portlet events
@@ -244,7 +245,6 @@
<parameter name="root-tag" value="false"/>
</aspect>
<aspect type="coplet-removing"/>
- <aspect type="coplet-full-screen"/>
<aspect type="coplet-sizing"/>
<aspect type="history"/>
<aspect type="basket"/>
@@ -264,7 +264,6 @@
<parameter name="root-tag" value="false"/>
</aspect>
<aspect type="coplet-removing"/>
- <aspect type="coplet-full-screen"/>
<aspect type="coplet-sizing"/>
<aspect type="history"/>
<aspect type="basket"/>
@@ -429,12 +428,6 @@
<coplet name="standard"
class="org.apache.cocoon.portal.coplet.CopletData">
<coplet-instance-data-aspects>
- <!-- Choose from tempory, request and session aspect store: -->
- <aspect name="fullScreen"
- class="java.lang.Boolean"
- store="temporary"
- auto-create="true"
- value="false"/>
</coplet-instance-data-aspects>
</coplet>
</coplets>
Modified: cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/gallery.xsl
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/gallery.xsl?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/gallery.xsl (original)
+++ cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/gallery.xsl Tue Oct 18 13:27:09 2005
@@ -24,13 +24,13 @@
<!-- The current picture (index) to display -->
<xsl:param name="pic"/>
<!-- Is this full screen? -->
-<xsl:param name="fullscreen"/>
+<xsl:param name="size"/>
<xsl:template match="pictures" xmlns:cl="http://apache.org/cocoon/portal/coplet/1.0">
<xsl:variable name="maxp" select="count(picture)"/>
<xsl:choose>
- <xsl:when test="$fullscreen='true'">
+ <xsl:when test="$size='3'">
<!-- This is the two column version:
<table><tbody>
<xsl:for-each select="picture">
Modified: cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/sitemap.xmap
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/sitemap.xmap?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/sitemap.xmap (original)
+++ cocoon/blocks/portal-sample/trunk/samples/coplets/gallery/sitemap.xmap Tue Oct 18 13:27:09 2005
@@ -38,7 +38,7 @@
</map:transform>
<map:transform type="xslt" src="gallery.xsl">
<map:parameter name="pic" value="{coplet:attributes/picture}"/>
- <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
+ <map:parameter name="size" value="{coplet:size}"/>
</map:transform>
<!-- This must be commented out if CachingURICopletAdapter is used in profiles/copletdata
due to links that needs to be cached untranslated.
Modified: cocoon/blocks/portal-sample/trunk/samples/coplets/news/sitemap.xmap
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/coplets/news/sitemap.xmap?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/coplets/news/sitemap.xmap (original)
+++ cocoon/blocks/portal-sample/trunk/samples/coplets/news/sitemap.xmap Tue Oct 18 13:27:09 2005
@@ -23,7 +23,7 @@
<map:match pattern="live.rss">
<map:generate type="file" src="{request-param:feed}" label="content" />
<map:transform type="xslt" src="styles/rss2html.xsl">
- <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
+ <map:parameter name="size" value="{coplet:size}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
@@ -34,7 +34,7 @@
<map:transform type="rss"/>
<map:transform type="xslt" src="styles/rss2html.xsl">
- <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
+ <map:parameter name="size" value="{coplet:size}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
@@ -42,7 +42,7 @@
<map:match pattern="*.rss">
<map:generate type="file" src="offline/{1}.xml" label="content" />
<map:transform type="xslt" src="styles/rss2html.xsl">
- <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
+ <map:parameter name="size" value="{coplet:size}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
@@ -50,7 +50,7 @@
<map:match pattern="*.weblog-rss">
<map:generate type="file" src="offline/{1}.xml" label="content" />
<map:transform type="xslt" src="styles/rss2html.xsl">
- <map:parameter name="fullscreen" value="{coplet:aspectDatas/fullScreen}"/>
+ <map:parameter name="size" value="{coplet:size}"/>
</map:transform>
<map:serialize type="xml"/>
</map:match>
Modified: cocoon/blocks/portal-sample/trunk/samples/coplets/news/styles/rss2html.xsl
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal-sample/trunk/samples/coplets/news/styles/rss2html.xsl?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal-sample/trunk/samples/coplets/news/styles/rss2html.xsl (original)
+++ cocoon/blocks/portal-sample/trunk/samples/coplets/news/styles/rss2html.xsl Tue Oct 18 13:27:09 2005
@@ -20,7 +20,7 @@
<!-- $Id$
-->
-<xsl:param name="fullscreen"/>
+<xsl:param name="size"/>
<xsl:template match="rss">
<xsl:apply-templates select="channel"/>
@@ -41,7 +41,7 @@
<xsl:template match="item">
<!-- Display the first 5 entries -->
- <xsl:if test="$fullscreen='true' or position() < 6">
+ <xsl:if test="$size='3' or position() < 6">
<tr>
<td>
<a target="_blank" href="{link}">
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/helpers/FullScreenMapping.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/helpers/FullScreenMapping.java?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/helpers/FullScreenMapping.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/acting/helpers/FullScreenMapping.java Tue Oct 18 13:27:09 2005
@@ -18,8 +18,7 @@
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.event.Event;
-import org.apache.cocoon.portal.event.impl.FullScreenCopletEvent;
-import org.apache.cocoon.portal.layout.Layout;
+import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
import org.apache.cocoon.portal.profile.ProfileManager;
/**
@@ -38,9 +37,9 @@
public Event getEvent(PortalService service, Object data) {
final ProfileManager manager = service.getComponentManager().getProfileManager();
final CopletInstanceData cid = manager.getCopletInstanceData(this.copletId);
- final Layout layout = manager.getPortalLayout(null, layoutId) ;
+ //final Layout layout = manager.getPortalLayout(null, layoutId) ;
- Event e = new FullScreenCopletEvent(cid, layout);
+ Event e = new CopletInstanceSizingEvent(cid, CopletInstanceData.SIZE_FULLSCREEN);
return e;
}
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceDataFeatures.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceDataFeatures.java?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceDataFeatures.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/coplet/CopletInstanceDataFeatures.java Tue Oct 18 13:27:09 2005
@@ -15,9 +15,15 @@
*/
package org.apache.cocoon.portal.coplet;
+import java.util.Iterator;
+
import org.apache.cocoon.portal.event.CopletInstanceEvent;
import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
import org.apache.cocoon.portal.event.impl.CopletJXPathEvent;
+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.impl.CopletLayout;
/**
* This class contains constants and utility methods for the standard features
@@ -41,4 +47,26 @@
}
return false;
}
+
+ /**
+ * Search for a layout containing the coplet instance data.
+ */
+ public static CopletLayout searchLayout(CopletInstanceData cid, Layout rootLayout) {
+ if ( rootLayout instanceof CopletLayout ) {
+ if ( ((CopletLayout)rootLayout).getCopletInstanceData().equals(cid) ) {
+ return (CopletLayout) rootLayout;
+ }
+ } else if ( rootLayout instanceof CompositeLayout ) {
+ CompositeLayout cl = (CompositeLayout)rootLayout;
+ Iterator i = cl.getItems().iterator();
+ while ( i.hasNext() ) {
+ final Item current = (Item)i.next();
+ CopletLayout result = searchLayout(cid, current.getLayout());
+ if ( result != null ) {
+ return result;
+ }
+ }
+ }
+ return null;
+ }
}
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/coplet/CopletInstanceSizingEvent.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/coplet/CopletInstanceSizingEvent.java?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/coplet/CopletInstanceSizingEvent.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/coplet/CopletInstanceSizingEvent.java Tue Oct 18 13:27:09 2005
@@ -15,7 +15,6 @@
*/
package org.apache.cocoon.portal.event.coplet;
-import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.coplet.CopletInstanceData;
import org.apache.cocoon.portal.coplet.CopletInstanceDataFeatures;
import org.apache.cocoon.portal.event.ActionEvent;
@@ -31,7 +30,7 @@
*/
public class CopletInstanceSizingEvent
extends AbstractActionEvent
- implements CopletInstanceEvent, ComparableEvent {//, ConvertableEvent {
+ implements CopletInstanceEvent, ComparableEvent, ConvertableEvent {
protected final int size;
@@ -72,23 +71,6 @@
* @see org.apache.cocoon.portal.event.ConvertableEvent#getRequestParameterName()
*/
public String getRequestParameterName() {
- return "cocoon-portal-size";
+ return "sizing";
}
-
- /**
- * Create an instance of the event
- * @param service The PortalService
- * @param eventData The marshalled data for this event.
- */
- public CopletInstanceSizingEvent(PortalService service, String eventData) {
- super(null);
- final int pos = eventData.indexOf(':');
- if ( pos == -1 ) {
- throw new IllegalArgumentException("Corrupt event data: " + eventData);
- }
- final String cid = eventData.substring(0, pos);
- this.size = new Integer(eventData.substring(pos+1)).intValue();
- this.target = service.getComponentManager().getProfileManager().getCopletInstanceData(cid);
- }
-
}
Added: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java?rev=326220&view=auto
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java (added)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java Tue Oct 18 13:27:09 2005
@@ -0,0 +1,43 @@
+/*
+ * 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.event.factories;
+
+import org.apache.avalon.framework.thread.ThreadSafe;
+import org.apache.cocoon.portal.PortalService;
+import org.apache.cocoon.portal.coplet.CopletInstanceData;
+import org.apache.cocoon.portal.event.ConvertableEvent;
+import org.apache.cocoon.portal.event.ConvertableEventFactory;
+import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
+
+/**
+ * This event is fired for resizing a coplet.
+ *
+ * @version $Id$
+ */
+public class CopletInstanceSizingEventFactory
+ implements ThreadSafe, ConvertableEventFactory {
+
+ public ConvertableEvent createEvent(PortalService service, String eventData) {
+ final int pos = eventData.indexOf(':');
+ if ( pos == -1 ) {
+ throw new IllegalArgumentException("Corrupt event data: " + eventData);
+ }
+ final String cid = eventData.substring(0, pos);
+ int size = new Integer(eventData.substring(pos+1)).intValue();
+ CopletInstanceData target = service.getComponentManager().getProfileManager().getCopletInstanceData(cid);
+ return new CopletInstanceSizingEvent(target, size);
+ }
+}
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/event/factories/CopletInstanceSizingEventFactory.java
------------------------------------------------------------------------------
svn:keywords = Id
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=326220&r1=326219&r2=326220&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 Tue Oct 18 13:27:09 2005
@@ -19,6 +19,9 @@
import java.util.List;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.parameters.ParameterException;
+import org.apache.avalon.framework.parameters.Parameterizable;
+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.Serviceable;
@@ -34,13 +37,15 @@
*/
public class DefaultEventConverter
extends AbstractLogEnabled
- implements EventConverter, Serviceable, ThreadSafe {
+ implements EventConverter, Serviceable, Parameterizable, ThreadSafe {
protected static final String DECODE_LIST = DefaultEventConverter.class.getName() + "D";
protected static final String ENCODE_LIST = DefaultEventConverter.class.getName() + "E";
protected ServiceManager manager;
+ protected boolean isMarshallingEvents = false;
+
/**
* @see org.apache.avalon.framework.service.Serviceable#service(org.apache.avalon.framework.service.ServiceManager)
*/
@@ -49,6 +54,13 @@
}
/**
+ * @see org.apache.avalon.framework.parameters.Parameterizable#parameterize(org.apache.avalon.framework.parameters.Parameters)
+ */
+ public void parameterize(Parameters params) throws ParameterException {
+ this.isMarshallingEvents = params.getParameterAsBoolean("marshall-events", this.isMarshallingEvents);
+ }
+
+ /**
* @see org.apache.cocoon.portal.event.EventConverter#encode(org.apache.cocoon.portal.event.Event)
*/
public String encode(Event event) {
@@ -135,6 +147,6 @@
* @see org.apache.cocoon.portal.event.EventConverter#isMarshallEvents()
*/
public boolean isMarshallEvents() {
- return false;
+ return this.isMarshallingEvents;
}
}
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=326220&r1=326219&r2=326220&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 Tue Oct 18 13:27:09 2005
@@ -22,11 +22,14 @@
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;
import org.apache.cocoon.portal.event.CopletDataEvent;
import org.apache.cocoon.portal.event.Event;
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.layout.Layout;
+import org.apache.cocoon.portal.layout.impl.CopletLayout;
import org.apache.cocoon.portal.profile.ProfileManager;
import org.apache.commons.jxpath.JXPathContext;
@@ -65,7 +68,18 @@
*/
public void inform(CopletInstanceSizingEvent event, PortalService service) {
final CopletInstanceData cid = (CopletInstanceData)event.getTarget();
- cid.setSize(event.getSize());
+ if ( cid != null ) {
+ cid.setSize(event.getSize());
+ if ( event.getSize() == CopletInstanceData.SIZE_FULLSCREEN ) {
+ Layout rootLayout = service.getComponentManager().getProfileManager().getPortalLayout(null, null);
+ CopletLayout layout = CopletInstanceDataFeatures.searchLayout(cid, rootLayout);
+ service.setEntryLayout(null, layout);
+ }
+ } else {
+ if ( event.getSize() == CopletInstanceData.SIZE_FULLSCREEN ) {
+ service.setEntryLayout(null, null);
+ }
+ }
}
/**
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=326220&r1=326219&r2=326220&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 Tue Oct 18 13:27:09 2005
@@ -41,11 +41,12 @@
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;
import org.apache.cocoon.portal.event.EventManager;
import org.apache.cocoon.portal.event.LayoutEvent;
import org.apache.cocoon.portal.event.Receiver;
-import org.apache.cocoon.portal.event.impl.FullScreenCopletEvent;
+import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
import org.apache.cocoon.portal.layout.CompositeLayout;
import org.apache.cocoon.portal.layout.Item;
import org.apache.cocoon.portal.layout.Layout;
@@ -417,7 +418,7 @@
if ( layout instanceof CopletLayout ) {
// full screen?
if ( layout.equals(service.getEntryLayout(null)) ) {
- Event event = new FullScreenCopletEvent(((CopletLayout)layout).getCopletInstanceData(), null);
+ Event event = new CopletInstanceSizingEvent(null, CopletInstanceData.SIZE_FULLSCREEN);
eventManager = (EventManager)this.manager.lookup(EventManager.ROLE);
eventManager.send(event);
service.getComponentManager().getLinkService().addEventToLink(event);
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/SizingAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/SizingAspect.java?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/SizingAspect.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/SizingAspect.java Tue Oct 18 13:27:09 2005
@@ -85,6 +85,17 @@
if (size == CopletInstanceData.SIZE_MINIMIZED) {
showContent = false;
}
+ boolean supportsFullScreen = CopletDataFeatures.supportsFullScreenMode(cid.getCopletData());
+ if ( supportsFullScreen ) {
+ final Layout fullScreenLayout = service.getEntryLayout(null);
+ if ( fullScreenLayout != null && fullScreenLayout.equals( layout )) {
+ Event event = new CopletInstanceSizingEvent( cid, CopletInstanceData.SIZE_NORMAL );
+ XMLUtils.createElement(handler, "maximize-uri", service.getComponentManager().getLinkService().getLinkURI(event));
+ } else {
+ Event event = new CopletInstanceSizingEvent( cid, CopletInstanceData.SIZE_FULLSCREEN );
+ XMLUtils.createElement(handler, "fullscreen-uri", service.getComponentManager().getLinkService().getLinkURI(event));
+ }
+ }
}
/* boolean maxPageable = ((Boolean)cid.getCopletData().getAspectData("maxpageable")).booleanValue();
if ( maxPageable ) {
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/pluto/PortletURLProviderImpl.java Tue Oct 18 13:27:09 2005
@@ -34,7 +34,7 @@
import org.apache.cocoon.portal.event.CopletInstanceEvent;
import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.event.ConvertableEvent;
-import org.apache.cocoon.portal.event.impl.FullScreenCopletEvent;
+import org.apache.cocoon.portal.event.coplet.CopletInstanceSizingEvent;
import org.apache.cocoon.portal.layout.impl.CopletLayout;
import org.apache.cocoon.portal.pluto.om.PortletEntityImpl;
import org.apache.cocoon.portal.pluto.om.PortletWindowImpl;
@@ -233,10 +233,10 @@
}
if ( this.state != null && !this.state.equals(oldState) ) {
if ( oldState.equals(WindowState.MAXIMIZED) ) {
- sizingEvent = new FullScreenCopletEvent( cid, null );
+ sizingEvent = new CopletInstanceSizingEvent( null, CopletInstanceData.SIZE_FULLSCREEN );
} else {
if ( this.state.equals(WindowState.MAXIMIZED) ) {
- sizingEvent = new FullScreenCopletEvent( cid, cl );
+ sizingEvent = new CopletInstanceSizingEvent( cid, CopletInstanceData.SIZE_FULLSCREEN );
}
}
}
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=326220&r1=326219&r2=326220&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 Tue Oct 18 13:27:09 2005
@@ -42,8 +42,6 @@
<role name="org.apache.cocoon.portal.event.aspect.EventAspect/convertable"
default-class="org.apache.cocoon.portal.event.aspect.impl.ConvertableEventAspect"/>
- <role name="org.apache.cocoon.portal.event.aspect.EventAspect/full-screen-coplet"
- default-class="org.apache.cocoon.portal.event.aspect.impl.FullScreenCopletEventAspect"/>
<!--+
| This aspect sets headers on the response telling the client to not cache
@@ -92,12 +90,6 @@
default-class="org.apache.cocoon.portal.layout.renderer.aspect.impl.RemovableAspect"/>
<!--+
- | This aspect can be used to render a full-screen button-
- +-->
- <role name="org.apache.cocoon.portal.layout.renderer.aspect.RendererAspect/coplet-full-screen"
- default-class="org.apache.cocoon.portal.layout.renderer.aspect.impl.FullScreenCopletAspect"/>
-
- <!--+
| This aspect can be used to render cinclude statements that will be used to include
| the coplet content, use the coplet aspect below to directly stream the content.
+-->
@@ -161,12 +153,11 @@
<role name="org.apache.cocoon.portal.event.ConvertableEventFactorySelector"
default-class="org.apache.cocoon.core.container.DefaultServiceSelector"/>
- <role name="org.apache.cocoon.portal.event.ConvertableEventFactory/cocoon-portal-fs"
- default-class="org.apache.cocoon.portal.event.impl.FullScreenCopletEventFactory"/>
-
<role name="org.apache.cocoon.portal.event.ConvertableEventFactory/url"
default-class="org.apache.cocoon.portal.pluto.PortletURLProviderFactory"/>
+ <role name="org.apache.cocoon.portal.event.ConvertableEventFactory/sizing"
+ default-class="org.apache.cocoon.portal.event.factories.CopletInstanceSizingEventFactory"/>
<!--+
| Components.
Modified: cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java (original)
+++ cocoon/blocks/portal/trunk/java/org/apache/cocoon/portal/wsrp/adapter/WSRPAdapter.java Tue Oct 18 13:27:09 2005
@@ -62,7 +62,6 @@
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.impl.FullScreenCopletEvent;
import org.apache.cocoon.portal.layout.Layout;
import org.apache.cocoon.portal.serialization.IncludingHTMLSerializer;
import org.apache.cocoon.portal.util.HtmlSaxParser;
@@ -693,7 +692,7 @@
if ( fullScreenLayout != null
&& fullScreenLayout.equals( layout )
&& !windowState.equals(WindowStates._maximized) ) {
- FullScreenCopletEvent e = new FullScreenCopletEvent( coplet, null );
+ Event e = new CopletInstanceSizingEvent( coplet, CopletInstanceData.SIZE_FULLSCREEN );
service.getComponentManager().getEventManager().send(e);
}
if ( windowState.equals(WindowStates._minimized) ) {
@@ -705,7 +704,7 @@
service.getComponentManager().getEventManager().send(e);
}
if ( windowState.equals(WindowStates._maximized) ) {
- FullScreenCopletEvent e = new FullScreenCopletEvent( coplet, layout );
+ Event e = new CopletInstanceSizingEvent( coplet, CopletInstanceData.SIZE_FULLSCREEN );
service.getComponentManager().getEventManager().send(e);
}
windowSession.setWindowState(windowState);
Modified: cocoon/blocks/portal/trunk/status.xml
URL: http://svn.apache.org/viewcvs/cocoon/blocks/portal/trunk/status.xml?rev=326220&r1=326219&r2=326220&view=diff
==============================================================================
--- cocoon/blocks/portal/trunk/status.xml (original)
+++ cocoon/blocks/portal/trunk/status.xml Tue Oct 18 13:27:09 2005
@@ -66,7 +66,9 @@
<changes>
<release version="@version@" date="@date@">
<action dev="CZ">
- Portal block: Add coplet size to coplet instance data.
+ Portal block: Add coplet size to coplet instance data. The size can be minimized,
+ normal or full-screen. This removed the need for a special full screen
+ handling.
</action>
<action dev="CZ" type="add">
Portal block: Remove aspect datas from coplet datas. Attributes are now used instead.