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 2004/02/05 11:47:24 UTC

cvs commit: cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/jxpath JXPathCocoonContexts.java

cziegeler    2004/02/05 02:47:24

  Modified:    src/blocks/taglib/java/org/apache/cocoon/transformation
                        TagTransformer.java
               src/blocks/taglib/java/org/apache/cocoon/taglib
                        VarTagSupport.java
               src/blocks/taglib/java/org/apache/cocoon/jxpath
                        JXPathCocoonContexts.java
  Log:
  Don't use deprecated code anymore
  
  Revision  Changes    Path
  1.4       +2 -2      cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/transformation/TagTransformer.java
  
  Index: TagTransformer.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/transformation/TagTransformer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TagTransformer.java	24 Sep 2003 22:34:53 -0000	1.3
  +++ TagTransformer.java	5 Feb 2004 10:47:24 -0000	1.4
  @@ -60,7 +60,7 @@
   import java.util.Map;
   
   import org.apache.commons.collections.ArrayStack;
  -import org.apache.commons.collections.StaticBucketMap;
  +import org.apache.commons.collections.map.StaticBucketMap;
   import org.apache.avalon.excalibur.pool.Recyclable;
   import org.apache.avalon.framework.activity.Disposable;
   import org.apache.avalon.framework.component.ComponentException;
  
  
  
  1.4       +4 -1      cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java
  
  Index: VarTagSupport.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/taglib/VarTagSupport.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- VarTagSupport.java	15 Nov 2003 04:21:29 -0000	1.3
  +++ VarTagSupport.java	5 Feb 2004 10:47:24 -0000	1.4
  @@ -146,6 +146,9 @@
   
       public void recycle() {
           this.var = null;
  +        if ( this.componentManager != null ) {
  +            this.componentManager.release(this.jxpathContexts);
  +        }
           this.jxpathContexts = null;
           this.request = null;
           super.recycle();
  
  
  
  1.4       +21 -18    cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java
  
  Index: JXPathCocoonContexts.java
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/src/blocks/taglib/java/org/apache/cocoon/jxpath/JXPathCocoonContexts.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- JXPathCocoonContexts.java	11 Jul 2003 14:17:44 -0000	1.3
  +++ JXPathCocoonContexts.java	5 Feb 2004 10:47:24 -0000	1.4
  @@ -55,12 +55,13 @@
   
   import org.apache.avalon.excalibur.pool.Recyclable;
   import org.apache.avalon.framework.component.Component;
  -import org.apache.cocoon.components.RequestLifecycleComponent;
  -import org.apache.cocoon.environment.Context;
  +import org.apache.avalon.framework.context.Context;
  +import org.apache.avalon.framework.context.ContextException;
  +import org.apache.avalon.framework.context.Contextualizable;
  +import org.apache.cocoon.components.ContextHelper;
   import org.apache.cocoon.environment.ObjectModelHelper;
   import org.apache.cocoon.environment.Request;
   import org.apache.cocoon.environment.Session;
  -import org.apache.cocoon.environment.SourceResolver;
   import org.apache.cocoon.environment.http.HttpContext;
   import org.apache.cocoon.environment.http.HttpRequest;
   import org.apache.cocoon.environment.http.HttpSession;
  @@ -96,12 +97,13 @@
    * @author <a href="mailto:volker.schmitt@basf-it-services.com">Volker Schmitt</a>
    * @version CVS $Id$
    */
  -public final class JXPathCocoonContexts implements RequestLifecycleComponent, Component, Recyclable {
  +public final class JXPathCocoonContexts implements Component, Contextualizable, Recyclable {
  +    
       public static final String ROLE = JXPathCocoonContexts.class.getName();
       private static JXPathContextFactory factory;
  -    private Map objectModel;
       private JXPathContext variableContext;
  -
  +    private Context context;
  +    
       static {
           factory = JXPathContextFactory.newInstance();
           JXPathIntrospector.registerDynamicClass(HttpRequest.class, CocoonRequestHandler.class);
  @@ -109,6 +111,14 @@
           JXPathIntrospector.registerDynamicClass(HttpContext.class, CocoonContextHandler.class);
       }
       
  +    /* (non-Javadoc)
  +     * @see org.apache.avalon.framework.context.Contextualizable#contextualize(org.apache.avalon.framework.context.Context)
  +     */
  +    public void contextualize(Context context)
  +    throws ContextException {
  +        this.context = context;
  +    }
  +
       public final JXPathContext getVariableContext() {
           if (variableContext == null) {
               JXPathContext parentContext = getRequestContext();
  @@ -122,10 +132,11 @@
        * within the request itself.
        */
       public final JXPathContext getRequestContext() {
  +        Map objectModel = ContextHelper.getObjectModel(this.context);
           Request request = ObjectModelHelper.getRequest(objectModel);
           JXPathContext context = (JXPathContext) request.getAttribute(Constants.JXPATH_CONTEXT);
           if (context == null) {
  -            Context cocoonContext = ObjectModelHelper.getContext(objectModel);
  +            org.apache.cocoon.environment.Context cocoonContext = ObjectModelHelper.getContext(objectModel);
               JXPathContext parentContext = null;
               Session session = request.getSession(false);
               if (session != null) {
  @@ -146,7 +157,7 @@
        * Returns a JXPathContext bound to the "session" scope. Caches that context
        * within the session itself.
        */
  -    public final JXPathContext getSessionContext(Session session, Context cocoonContext) {
  +    public final JXPathContext getSessionContext(Session session, org.apache.cocoon.environment.Context cocoonContext) {
           JXPathContext context = (JXPathContext) session.getAttribute(Constants.JXPATH_CONTEXT);
           if (context == null) {
               if (session.getClass() != HttpSession.class)
  @@ -163,7 +174,7 @@
        * Returns a JXPathContext bound to the "application" scope. Caches that context
        * within the servlet context itself.
        */
  -    public final JXPathContext getApplicationContext(Context cocoonContext) {
  +    public final JXPathContext getApplicationContext(org.apache.cocoon.environment.Context cocoonContext) {
           JXPathContext context = (JXPathContext) cocoonContext.getAttribute(Constants.JXPATH_CONTEXT);
           if (context == null) {
               if (cocoonContext.getClass() != HttpContext.class)
  @@ -176,17 +187,9 @@
       }
       
       /*
  -     * @see RequestLifecycleComponent#setup(SourceResolver, Map)
  -     */
  -    public void setup(SourceResolver resolver, Map objectModel) {
  -        this.objectModel = objectModel;
  -    }
  -    
  -    /*
        * @see Recyclable#recycle()
        */
       public void recycle() {
  -        this.objectModel = null;
           this.variableContext = null;
       }
   }