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 2006/10/27 22:28:42 UTC
svn commit: r468523 - in
/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main:
java/org/apache/cocoon/portal/event/aspect/impl/
java/org/apache/cocoon/portal/layout/renderer/aspect/impl/
java/org/apache/cocoon/portal/om/ resources/org/apache/...
Author: cziegeler
Date: Fri Oct 27 13:28:41 2006
New Revision: 468523
URL: http://svn.apache.org/viewvc?view=rev&rev=468523
Log:
Fix handling of link and frame layouts
Modified:
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java
cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java?view=diff&rev=468523&r1=468522&r2=468523
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/FrameEventAspect.java Fri Oct 27 13:28:41 2006
@@ -16,6 +16,7 @@
*/
package org.apache.cocoon.portal.event.aspect.impl;
+import org.apache.cocoon.portal.LayoutException;
import org.apache.cocoon.portal.PortalService;
import org.apache.cocoon.portal.event.Event;
import org.apache.cocoon.portal.event.aspect.EventAspectContext;
@@ -50,19 +51,11 @@
*/
protected void publish(PortalService service,
Layout layout,
- String[] values) {
- if (layout instanceof FrameLayout) {
- LayoutInstance instance;
- instance = LayoutFeatures.getLayoutInstance(service, layout, false);
- if ( instance == null ) {
- final Event e = new LayoutInstanceChangeAttributeEvent(instance, "frame", values[2], true);
- service.getEventManager().send(e);
- }
- } else {
- this.getLogger().warn(
- "The configured layout: "
- + layout.getType()
- + " is not a FrameLayout.");
- }
+ String[] values)
+ throws LayoutException {
+ LayoutFeatures.checkLayoutClass(layout, FrameLayout.class, true);
+ final LayoutInstance instance = LayoutFeatures.getLayoutInstance(service, layout, true);
+ final Event e = new LayoutInstanceChangeAttributeEvent(instance, FrameLayout.ATTRIBUTE_SOURCE_ID, values[2], true);
+ service.getEventManager().send(e);
}
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java?view=diff&rev=468523&r1=468522&r2=468523
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/event/aspect/impl/LinkEventAspect.java Fri Oct 27 13:28:41 2006
@@ -50,14 +50,12 @@
* @see org.apache.cocoon.portal.event.aspect.impl.AbstractContentEventAspect#publish(PortalService, org.apache.cocoon.portal.om.Layout, java.lang.String[])
*/
protected void publish(PortalService service,
- Layout layout,
- String[] values)
+ Layout layout,
+ String[] values)
throws LayoutException {
LayoutFeatures.checkLayoutClass(layout, LinkLayout.class, true);
- final LayoutInstance instance = LayoutFeatures.getLayoutInstance(service, layout, false);
- if ( instance == null ) {
- final Event e = new LayoutInstanceChangeAttributeEvent(instance, LinkLayout.ATTRIBUTE_LAYOUT_ID, values[2], true);
- service.getEventManager().send(e);
- }
+ final LayoutInstance instance = LayoutFeatures.getLayoutInstance(service, layout, true);
+ final Event e = new LayoutInstanceChangeAttributeEvent(instance, LinkLayout.ATTRIBUTE_LAYOUT_ID, values[2], true);
+ service.getEventManager().send(e);
}
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java?view=diff&rev=468523&r1=468522&r2=468523
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/FrameAspect.java Fri Oct 27 13:28:41 2006
@@ -51,7 +51,7 @@
String source = null;
final LayoutInstance instance = LayoutFeatures.getLayoutInstance(rendererContext.getPortalService(), layout, false);
if ( instance != null ) {
- source = (String)instance.getTemporaryAttribute("frame");
+ source = (String)instance.getTemporaryAttribute(FrameLayout.ATTRIBUTE_SOURCE_ID);
}
if (source == null) {
source = ((FrameLayout) layout).getSource();
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java?view=diff&rev=468523&r1=468522&r2=468523
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/FrameLayout.java Fri Oct 27 13:28:41 2006
@@ -27,6 +27,9 @@
*/
public class FrameLayout extends Layout {
+ /** This is the name of the temporary attribute in the layout instance holding the current link. */
+ public static final String ATTRIBUTE_SOURCE_ID = FrameLayout.class.getName() + "/source";
+
protected String source;
/**
@@ -47,10 +50,6 @@
return source;
}
- /**
- * Sets the source.
- * @param source The source to set
- */
public void setSource(String source) {
this.source = source;
}
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java?view=diff&rev=468523&r1=468522&r2=468523
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/java/org/apache/cocoon/portal/om/LinkLayout.java Fri Oct 27 13:28:41 2006
@@ -27,7 +27,7 @@
public class LinkLayout extends Layout {
/** This is the name of the temporary attribute in the layout instance holding the current layout id. */
- public static final String ATTRIBUTE_LAYOUT_ID = "link-layout-id";
+ public static final String ATTRIBUTE_LAYOUT_ID = LinkLayout.class.getName() + "/layout-id";
protected String linkedProfileName;
protected String linkedLayoutId;
@@ -49,6 +49,14 @@
public String getProfileName() {
return linkedProfileName;
+ }
+
+ public void setLayoutId(String linkedLayoutId) {
+ this.linkedLayoutId = linkedLayoutId;
+ }
+
+ public void setProfileName(String linkedProfileName) {
+ this.linkedProfileName = linkedProfileName;
}
/**
Modified: cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml
URL: http://svn.apache.org/viewvc/cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml?view=diff&rev=468523&r1=468522&r2=468523
==============================================================================
--- cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml (original)
+++ cocoon/trunk/blocks/cocoon-portal/cocoon-portal-impl/src/main/resources/org/apache/cocoon/portal/persistence/castor/layout.xml Fri Oct 27 13:28:41 2006
@@ -54,8 +54,8 @@
<bind-xml name="type" node="attribute"/>
</field>
- <field name="layoutKey" type="java.lang.String">
- <bind-xml name="layout-key" node="attribute"/>
+ <field name="profileName" type="java.lang.String">
+ <bind-xml name="profile-name" node="attribute"/>
</field>
<field name="layoutId" type="java.lang.String">
<bind-xml name="layout-id" node="attribute"/>