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/03/16 12:52:36 UTC
svn commit: r157737 - in cocoon/branches/BRANCH_2_1_X/src/blocks/portal:
conf/portal.samplesxconf
java/org/apache/cocoon/portal/layout/renderer/aspect/impl/CIncludeCopletAspect.java
Author: cziegeler
Date: Wed Mar 16 03:52:32 2005
New Revision: 157737
URL: http://svn.apache.org/viewcvs?view=rev&rev=157737
Log:
Fix bug in content generation for no-window coplets: content element is not generated anymore
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/portal.samplesxconf
cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/CIncludeCopletAspect.java
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/portal.samplesxconf
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/portal.samplesxconf?view=diff&r1=157736&r2=157737
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/portal.samplesxconf (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/conf/portal.samplesxconf Wed Mar 16 03:52:32 2005
@@ -144,7 +144,9 @@
<renderer name="nowindow" class="org.apache.cocoon.portal.layout.renderer.impl.AspectRenderer" logger="portal">
<aspects>
<aspect type="history"/>
- <aspect type="coplet"/>
+ <aspect type="coplet-cinclude">
+ <parameter name="root-tag" value="false"/>
+ </aspect>
</aspects>
</renderer>
<renderer name="portlet-window"
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/CIncludeCopletAspect.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/CIncludeCopletAspect.java?view=diff&r1=157736&r2=157737
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/CIncludeCopletAspect.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/portal/java/org/apache/cocoon/portal/layout/renderer/aspect/impl/CIncludeCopletAspect.java Wed Mar 16 03:52:32 2005
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2002,2004 The Apache Software Foundation.
+ * 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.
@@ -15,6 +15,8 @@
*/
package org.apache.cocoon.portal.layout.renderer.aspect.impl;
+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.coplet.CopletInstanceData;
import org.apache.cocoon.portal.layout.Layout;
@@ -36,16 +38,26 @@
* </pre>
* where <code>xy</code> is the CInclude namespace and <code>z</code> is
* the CInclude tagname.
+ * By default, the cinclude statetement is surrounded by a "content" element;
+ * this can be further controlled by parameters (see below).
*
* <h2>Applicable to:</h2>
* <ul>
* <li>{@link org.apache.cocoon.portal.layout.impl.CopletLayout}</li>
* </ul>
*
+ * <h2>Parameters</h2>
+ * <table><tbody>
+ * <tr><th>root-tag</th><td>Should a tag enclosing the cinclude be generated? (Default is true)</td>
+ * <td></td><td>boolean</td><td><code>true</code></td></tr>
+ * <tr><th>tag-name</th><td>Name of enclosing tag.</td>
+ * <td></td><td>String</td><td><code>"content"</code></td></tr>
+ * </tbody></table>
+ *
* @author <a href="mailto:cziegeler@s-und-n.de">Carsten Ziegeler</a>
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
*
- * @version CVS $Id: CIncludeCopletAspect.java,v 1.6 2004/04/28 13:58:16 cziegeler Exp $
+ * @version CVS $Id$
*/
public class CIncludeCopletAspect
extends AbstractCIncludeAspect {
@@ -58,15 +70,42 @@
PortalService service,
ContentHandler handler)
throws SAXException {
- CopletInstanceData cid = ((CopletLayout)layout).getCopletInstanceData();
-
- XMLUtils.startElement(handler, "content");
+ final PreparedConfiguration config = (PreparedConfiguration)context.getAspectConfiguration();
+ final CopletInstanceData cid = ((CopletLayout)layout).getCopletInstanceData();
+
+ if ( config.rootTag ) {
+ XMLUtils.startElement(handler, config.tagName);
+ }
this.createCInclude("coplet://" + cid.getId(), handler);
- XMLUtils.endElement(handler, "content");
-
+ if ( config.rootTag ) {
+ XMLUtils.endElement(handler, config.tagName);
+ }
+
context.invokeNext(layout, service, handler);
}
+ protected static class PreparedConfiguration {
+
+ public String tagName;
+ public boolean rootTag;
+
+ public void takeValues(PreparedConfiguration from) {
+ this.tagName = from.tagName;
+ this.rootTag = from.rootTag;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.cocoon.portal.layout.renderer.aspect.RendererAspect#prepareConfiguration(org.apache.avalon.framework.parameters.Parameters)
+ */
+ public Object prepareConfiguration(Parameters configuration)
+ throws ParameterException {
+ PreparedConfiguration pc = new PreparedConfiguration();
+ pc.tagName = configuration.getParameter("tag-name", "content");
+ pc.rootTag = configuration.getParameterAsBoolean("root-tag", true);
+ return pc;
+ }
+
}