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/21 10:15:24 UTC
svn commit: r158423 - in
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon:
jxpath/ taglib/ taglib/core/ taglib/string/
Author: cziegeler
Date: Mon Mar 21 01:15:22 2005
New Revision: 158423
URL: http://svn.apache.org/viewcvs?view=rev&rev=158423
Log:
Possible fix for the lookup problem
Modified:
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TagSupport.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTag.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTagSupport.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTransformerTagSupport.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTag.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTagSupport.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLProducerTag.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/core/LoopTagSupport.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/LowerCaseTag.java
cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/UpperCaseTag.java
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java Mon Mar 21 01:15:22 2005
@@ -17,10 +17,10 @@
import java.util.Map;
-import org.apache.avalon.excalibur.pool.Recyclable;
import org.apache.avalon.framework.component.Component;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.context.Contextualizable;
+import org.apache.avalon.framework.thread.ThreadSafe;
import org.apache.cocoon.components.ContextHelper;
import org.apache.cocoon.environment.ObjectModelHelper;
import org.apache.cocoon.environment.Request;
@@ -64,12 +64,13 @@
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
* @version CVS $Id$
*/
-public final class JXPathCocoonContexts implements Component, Contextualizable, Recyclable {
+public final class JXPathCocoonContexts implements Component, Contextualizable, ThreadSafe {
public static final String ROLE = JXPathCocoonContexts.class.getName();
+ private static final String VARCONTEXT = Constants.JXPATH_CONTEXT + "/VAR";
+
private static JXPathContextFactory factory;
- private JXPathContext variableContext;
private Context context;
static {
@@ -84,10 +85,15 @@
}
public final JXPathContext getVariableContext() {
- if (variableContext == null) {
- variableContext = factory.newContext(getRequestContext(), null);
+ final Map objectModel = ContextHelper.getObjectModel(this.context);
+
+ Request request = ObjectModelHelper.getRequest(objectModel);
+ JXPathContext context = (JXPathContext) request.getAttribute(VARCONTEXT);
+ if (context == null) {
+ context = factory.newContext(getRequestContext(), null);
+ request.setAttribute(VARCONTEXT, context);
}
- return variableContext;
+ return context;
}
/**
@@ -157,10 +163,4 @@
return context;
}
- /*
- * @see Recyclable#recycle()
- */
- public void recycle() {
- this.variableContext = null;
- }
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/BodyContent.java Mon Mar 21 01:15:22 2005
@@ -24,12 +24,10 @@
public class BodyContent {
private SaxBuffer content;
- private XMLConsumer consumer;
public BodyContent(SaxBuffer content, XMLConsumer consumer) {
this.content = content;
- this.consumer = consumer;
}
public void clearBody() {
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TagSupport.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TagSupport.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TagSupport.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TagSupport.java Mon Mar 21 01:15:22 2005
@@ -69,10 +69,10 @@
return null;
}
- if ((isInterface && klass.isInstance(tag)) || klass.isAssignableFrom(tag.getClass()))
+ if ((isInterface && klass.isInstance(tag)) || klass.isAssignableFrom(tag.getClass())) {
return tag;
- else
- from = tag;
+ }
+ from = tag;
}
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTag.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTag.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTag.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTag.java Mon Mar 21 01:15:22 2005
@@ -20,8 +20,9 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: TransformerTag.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public interface TransformerTag extends XMLConsumer, XMLProducerTag {
+ // just a combination of the two interfaces
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTagSupport.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTagSupport.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTagSupport.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/TransformerTagSupport.java Mon Mar 21 01:15:22 2005
@@ -23,7 +23,7 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: TransformerTagSupport.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public class TransformerTagSupport extends TagSupport implements TransformerTag {
protected XMLConsumer xmlConsumer;
@@ -39,12 +39,14 @@
* @see ContentHandler#startDocument()
*/
public void startDocument() throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#endDocument()
*/
public void endDocument() throws SAXException {
+ // nothing to do here
}
/*
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java Mon Mar 21 01:15:22 2005
@@ -29,7 +29,7 @@
* Add support for setting and getting variables
*
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: VarTagSupport.java,v 1.6 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public abstract class VarTagSupport extends TagSupport implements Serviceable {
protected String var;
@@ -59,10 +59,10 @@
protected final Object getVariable(String name) {
JXPathContext context = getVariableContext();
- if (name.charAt(0) == '$')
+ if (name.charAt(0) == '$') {
return context.getValue(name);
- else
- return context.getVariables().getVariable(name);
+ }
+ return context.getVariables().getVariable(name);
//getRequest().getAttribute(name);
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTransformerTagSupport.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTransformerTagSupport.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTransformerTagSupport.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTransformerTagSupport.java Mon Mar 21 01:15:22 2005
@@ -23,7 +23,7 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: VarTransformerTagSupport.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public class VarTransformerTagSupport extends VarTagSupport implements TransformerTag {
protected XMLConsumer xmlConsumer;
@@ -39,12 +39,14 @@
* @see ContentHandler#startDocument()
*/
public void startDocument() throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#endDocument()
*/
public void endDocument() throws SAXException {
+ // nothing to do here
}
/*
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTag.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTag.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTag.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTag.java Mon Mar 21 01:15:22 2005
@@ -20,8 +20,9 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: XMLConsumerTag.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public interface XMLConsumerTag extends Tag, XMLConsumer {
+ // just a combination of the two interfaces
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTagSupport.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTagSupport.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTagSupport.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLConsumerTagSupport.java Mon Mar 21 01:15:22 2005
@@ -21,7 +21,7 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: XMLConsumerTagSupport.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public abstract class XMLConsumerTagSupport extends VarTagSupport implements XMLConsumerTag {
@@ -29,108 +29,126 @@
* @see ContentHandler#characters(char[], int, int)
*/
public void characters(char[] ch, int start, int length) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#endDocument()
*/
public void endDocument() throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#endElement(String, String, String)
*/
public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#endPrefixMapping(String)
*/
public void endPrefixMapping(String prefix) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#ignorableWhitespace(char[], int, int)
*/
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#processingInstruction(String, String)
*/
public void processingInstruction(String target, String data) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#setDocumentLocator(Locator)
*/
public void setDocumentLocator(Locator locator) {
+ // nothing to do here
}
/*
* @see ContentHandler#skippedEntity(String)
*/
public void skippedEntity(String name) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#startDocument()
*/
public void startDocument() throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#startElement(String, String, String, Attributes)
*/
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) throws SAXException {
+ // nothing to do here
}
/*
* @see ContentHandler#startPrefixMapping(String, String)
*/
public void startPrefixMapping(String prefix, String uri) throws SAXException {
+ // nothing to do here
}
/*
* @see LexicalHandler#comment(char[], int, int)
*/
public void comment(char[] ch, int start, int length) throws SAXException {
+ // nothing to do here
}
/*
* @see LexicalHandler#endCDATA()
*/
public void endCDATA() throws SAXException {
+ // nothing to do here
}
/*
* @see LexicalHandler#endDTD()
*/
public void endDTD() throws SAXException {
+ // nothing to do here
}
/*
* @see LexicalHandler#endEntity(String)
*/
public void endEntity(String name) throws SAXException {
- }
+ // nothing to do here
+ }
/*
* @see LexicalHandler#startCDATA()
*/
public void startCDATA() throws SAXException {
+ // nothing to do here
}
/*
* @see LexicalHandler#startDTD(String, String, String)
*/
public void startDTD(String name, String publicId, String systemId) throws SAXException {
+ // nothing to do here
}
/*
* @see LexicalHandler#startEntity(String)
*/
public void startEntity(String name) throws SAXException {
- }
+ // nothing to do here
+ }
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLProducerTag.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLProducerTag.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLProducerTag.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/XMLProducerTag.java Mon Mar 21 01:15:22 2005
@@ -20,8 +20,10 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: XMLProducerTag.java,v 1.3 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public interface XMLProducerTag extends Tag, XMLProducer {
+
+ // just a combination of the two interfaces
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/core/LoopTagSupport.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/core/LoopTagSupport.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/core/LoopTagSupport.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/core/LoopTagSupport.java Mon Mar 21 01:15:22 2005
@@ -63,7 +63,7 @@
* @see javax.servlet.jsp.jstl.core.LoopTagSupport
*
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: LoopTagSupport.java,v 1.5 2004/03/05 13:02:24 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public abstract class LoopTagSupport extends VarTagSupport implements LoopTag, IterationTag //, TryCatchFinally
{
@@ -351,22 +351,22 @@
return (last); // use cached value
}
public Integer getBegin() {
- if (beginSpecified)
+ if (beginSpecified) {
return (new Integer(begin));
- else
- return null;
+ }
+ return null;
}
public Integer getEnd() {
- if (endSpecified)
+ if (endSpecified) {
return (new Integer(end));
- else
- return null;
+ }
+ return null;
}
public Integer getStep() {
- if (stepSpecified)
+ if (stepSpecified) {
return (new Integer(step));
- else
- return null;
+ }
+ return null;
}
}
@@ -375,8 +375,9 @@
* implementation, we just need one per instance, but I'd rather
* not keep the reference around once release() has been called.
*/
- if (status == null)
+ if (status == null) {
status = new Status();
+ }
return status;
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/LowerCaseTag.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/LowerCaseTag.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/LowerCaseTag.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/LowerCaseTag.java Mon Mar 21 01:15:22 2005
@@ -20,7 +20,7 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: LowerCaseTag.java,v 1.3 2004/03/05 13:02:25 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public class LowerCaseTag extends StringTagSupport {
@@ -31,8 +31,7 @@
LocaleTag localeTag = (LocaleTag) TagSupport.findAncestorWithClass(this, LocaleTag.class);
if (localeTag == null) {
return str.toLowerCase();
- } else {
- return str.toLowerCase(localeTag.getLocale());
}
+ return str.toLowerCase(localeTag.getLocale());
}
}
Modified: cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/UpperCaseTag.java
URL: http://svn.apache.org/viewcvs/cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/UpperCaseTag.java?view=diff&r1=158422&r2=158423
==============================================================================
--- cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/UpperCaseTag.java (original)
+++ cocoon/branches/BRANCH_2_1_X/src/blocks/taglib/java/org/apache/cocoon/taglib/string/UpperCaseTag.java Mon Mar 21 01:15:22 2005
@@ -20,7 +20,7 @@
/**
* @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
- * @version CVS $Id: UpperCaseTag.java,v 1.3 2004/03/05 13:02:25 bdelacretaz Exp $
+ * @version CVS $Id$
*/
public class UpperCaseTag extends StringTagSupport {
@@ -31,9 +31,8 @@
LocaleTag localeTag = (LocaleTag) TagSupport.findAncestorWithClass(this, LocaleTag.class);
if (localeTag == null) {
return str.toUpperCase();
- } else {
- return str.toUpperCase(localeTag.getLocale());
}
+ return str.toUpperCase(localeTag.getLocale());
}
}