werken      2002/06/13 14:31:14

  Modified:    jelly    project.properties project.xml
               jelly/src/java/org/apache/commons/jelly JellyContext.java
               jelly/src/java/org/apache/commons/jelly/expression/jexl
                        JexlExpressionFactory.java
               jelly/src/java/org/apache/commons/jelly/tags/ant
                        AntTagLibrary.java
               jelly/src/java/org/apache/commons/jelly/tags/core
                        IncludeTag.java
  Log:
  Lots of tweaks to allow for better jelly+ant integration.
  
  Revision  Changes    Path
  1.8       +0 -1      jakarta-commons-sandbox/jelly/project.properties
  
  Index: project.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/project.properties,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- project.properties        12 Jun 2002 22:53:01 -0000      1.7
  +++ project.properties        13 Jun 2002 21:31:13 -0000      1.8
  @@ -5,7 +5,6 @@
   maven.compile.debug = on
   maven.compile.optimize = off
   maven.compile.deprecation = off
  -maven.repo.remote = http://jakarta.apache.org/turbine/jars/,http://werkz.sf.net/
   
   maven.jarResources.basedir=${basedir}/src/java
   maven.junit.usefile = false
  
  
  
  1.19      +1 -1      jakarta-commons-sandbox/jelly/project.xml
  
  Index: project.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/project.xml,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- project.xml       12 Jun 2002 22:01:07 -0000      1.18
  +++ project.xml       13 Jun 2002 21:31:13 -0000      1.19
  @@ -145,7 +145,7 @@
       <dependency>
         <id>werkz</id>
         <type>required</type>
  -      <version>1.0-build-2</version>
  +      <version>1.0-dev.20020613.091536</version>
       </dependency>
       
       <!-- 
  
  
  
  1.11      +27 -4     
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/JellyContext.java
  
  Index: JellyContext.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/JellyContext.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- JellyContext.java 6 Jun 2002 07:13:41 -0000       1.10
  +++ JellyContext.java 13 Jun 2002 21:31:14 -0000      1.11
  @@ -206,6 +206,7 @@
           if ( getInherit() ) {
               return getParent().findVariable( name );
           }
  +
           return variables.get(name);
       }
   
  @@ -290,11 +291,27 @@
           taglibs.put(namespaceURI, className);
       }
   
  +    public boolean isTagLibraryRegistered(String namespaceURI) {
  +        return taglibs.containsKey( namespaceURI );
  +    }
  +
       /** 
        * @return the TagLibrary for the given namespace URI or null if one could not 
be found
        */
       public TagLibrary getTagLibrary(String namespaceURI) {
  -        Object answer = taglibs.get(namespaceURI);
  +
  +        Object answer = null;
  +
  +        if ( getInherit()
  +             &&
  +             getParent() != null ) {
  +            answer = getParent().getTagLibrary( namespaceURI );
  +        }
  +
  +        if ( answer == null ) {
  +            answer = taglibs.get(namespaceURI);
  +        }
  +
           if ( answer instanceof TagLibrary ) {
               return (TagLibrary) answer;
           }
  @@ -329,6 +346,7 @@
                   }
               }
           }
  +
           return null;
       }
   
  @@ -383,10 +401,15 @@
           Script script = compileScript(url);
           
           URL newJellyContextURL = getJellyContextURL(url);
  -        JellyContext newJellyContext = new JellyContext(this, newJellyContextURL);
  +        JellyContext newJellyContext = null;
   
  -        newJellyContext.setExport( export );
  -        newJellyContext.setInherit( inherit );
  +        if ( inherit ) {
  +            newJellyContext = this;
  +        } else {
  +            newJellyContext = new JellyContext(this, newJellyContextURL);
  +            newJellyContext.setExport( export );
  +            newJellyContext.setInherit( inherit );
  +        }
   
           script.run(newJellyContext, output);
       }
  
  
  
  1.7       +12 -7     
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/expression/jexl/JexlExpressionFactory.java
  
  Index: JexlExpressionFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/expression/jexl/JexlExpressionFactory.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JexlExpressionFactory.java        13 Jun 2002 09:27:14 -0000      1.6
  +++ JexlExpressionFactory.java        13 Jun 2002 21:31:14 -0000      1.7
  @@ -85,20 +85,25 @@
       // ExpressionFactory interface
       //------------------------------------------------------------------------- 
       public Expression createExpression(final String text) throws Exception {
  +
           final Expression jexlExpression = new JexlExpression(
               org.apache.commons.jexl.ExpressionFactory.createExpression(text)
           );
           
           if ( isSupportAntVariables() && isValidAntVariableName(text) ) {
  -            return new ExpressionSupport() {
  +            ExpressionSupport expr = new ExpressionSupport() {
                   public Object evaluate(JellyContext context) {
                       Object answer = jexlExpression.evaluate(context);
  +
                       if ( answer == null ) {
  -                        answer = context.getVariable(text);
  +                        answer = context.getScopedVariable(text);
                       }
  +
                       return answer;
                   }
               };
  +
  +            return expr;
           }
           return jexlExpression;
       }
  
  
  
  1.8       +2 -1      
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ant/AntTagLibrary.java
  
  Index: AntTagLibrary.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ant/AntTagLibrary.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- AntTagLibrary.java        12 Jun 2002 19:28:08 -0000      1.7
  +++ AntTagLibrary.java        13 Jun 2002 21:31:14 -0000      1.8
  @@ -139,7 +139,6 @@
       }        
           
       public AntTagLibrary() {
  -
           this.project = new Project();
   
           BuildLogger logger = new NoBannerLogger();
  @@ -151,6 +150,8 @@
           project.addBuildListener( logger );
           
           project.init();
  +
  +        throw new RuntimeException( "foo" );
       }
   
       public AntTagLibrary(Project project) {
  
  
  
  1.6       +6 -6      
jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/IncludeTag.java
  
  Index: IncludeTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/IncludeTag.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- IncludeTag.java   5 Jun 2002 07:00:58 -0000       1.5
  +++ IncludeTag.java   13 Jun 2002 21:31:14 -0000      1.6
  @@ -89,7 +89,7 @@
   
       public IncludeTag() {
           this.shouldExport = false;
  -        this.shouldInherit = false;
  +        this.shouldInherit = true;
       }
   
       public void setInherit(String inherit) {
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to