You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by vg...@apache.org on 2004/09/16 22:08:06 UTC
svn commit: rev 46207 - in cocoon/trunk: . src/blocks/taglib/java/org/apache/cocoon/taglib src/blocks/taglib/java/org/apache/cocoon/transformation
Author: vgritsenko
Date: Thu Sep 16 13:08:06 2004
New Revision: 46207
Added:
cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java
- copied unchanged from rev 46206, cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java
cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyTag.java
- copied unchanged from rev 46206, cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyTag.java
Modified:
cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java
cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/transformation/TagTransformer.java
cocoon/trunk/status.xml
Log:
Taglib block: Initial implementation of BodyTag.
Modified: cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java
==============================================================================
--- cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java (original)
+++ cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/taglib/Tag.java Thu Sep 16 13:08:06 2004
@@ -1,12 +1,12 @@
/*
* Copyright 1999-2004 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.
@@ -33,7 +33,7 @@
* @see org.apache.cocoon.transformation.TagTransformer
*
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: Tag.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public interface Tag extends Component {
@@ -53,7 +53,7 @@
/**
* Continue evaluating the page.
- * Valid return value for doEndTag().
+ * Valid return value for doEndTag.
*/
int EVAL_PAGE = 2;
Modified: cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/transformation/TagTransformer.java
==============================================================================
--- cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/transformation/TagTransformer.java (original)
+++ cocoon/trunk/src/blocks/taglib/java/org/apache/cocoon/transformation/TagTransformer.java Thu Sep 16 13:08:06 2004
@@ -32,9 +32,12 @@
import org.apache.cocoon.environment.SourceResolver;
import org.apache.cocoon.taglib.IterationTag;
import org.apache.cocoon.taglib.Tag;
+import org.apache.cocoon.taglib.BodyTag;
+import org.apache.cocoon.taglib.BodyContent;
import org.apache.cocoon.xml.AbstractXMLProducer;
import org.apache.cocoon.xml.XMLConsumer;
import org.apache.cocoon.xml.XMLProducer;
+import org.apache.cocoon.xml.SaxBuffer;
import org.apache.commons.collections.ArrayStack;
import org.apache.commons.collections.map.StaticBucketMap;
@@ -389,9 +392,25 @@
try {
xmlDeserializer = (XMLDeserializer) manager.lookup(XMLDeserializer.ROLE);
xmlDeserializer.setConsumer(this);
+
+ // BodyTag Support
+ XMLConsumer backup = this.currentConsumer;
+ if (tag instanceof BodyTag) {
+ SaxBuffer content = new SaxBuffer();
+ this.currentConsumer = content;
+ ((BodyTag)tag).setBodyContent(new BodyContent(content, backup));
+ ((BodyTag)tag).doInitBody();
+ }
+
do {
xmlDeserializer.deserialize(saxFragment);
} while (iterTag.doAfterBody() != Tag.SKIP_BODY);
+
+ // BodyTag Support
+ if (tag instanceof BodyTag) {
+ this.currentConsumer = backup;
+ }
+
} catch (ServiceException e) {
throw new SAXException("Can't obtain XMLDeserializer", e);
} finally {
Modified: cocoon/trunk/status.xml
==============================================================================
--- cocoon/trunk/status.xml (original)
+++ cocoon/trunk/status.xml Thu Sep 16 13:08:06 2004
@@ -323,6 +323,13 @@
</action>
</release>
<release version="2.1.6" date="TBD">
+ <action dev="VG" type="add">
+ Taglib block: Initial implementation of BodyTag.
+ </action>
+ <action dev="VG" type="update">
+ Portal block: Changed pathInfo and servletPath logic. pathInfo always starts
+ with '/', while servletPath always has no '/' at the end.
+ </action>
<action dev="VG" type="fix">
Cron block: Fixed memory leak, QuartzJobExecutor was not releasing pipelines.
</action>