commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jstrac...@apache.org
Subject cvs commit: jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ojb BrokerTag.java StoreTag.java package.html OjbTagLibrary.java
Date Mon, 20 May 2002 10:09:29 GMT
jstrachan    02/05/20 03:09:28

  Modified:    jelly/src/java/org/apache/commons/jelly/tags/xml
                        ExprTag.java
               jelly/src/java/org/apache/commons/jelly/tags/core
                        SetTag.java ForEachTag.java
  Added:       jelly/src/test/org/apache/commons/jelly/xml
                        testForEach.jelly example.jelly TestXMLTags.java
               jelly/src/java/org/apache/commons/jelly
                        MissingAttributeException.java
               jelly/src/java/org/apache/commons/jelly/tags/xml
                        XPathTagSupport.java IfTag.java
               jelly/src/java/org/apache/commons/jelly/tags/core
                        NewTag.java
               jelly/src/java/org/apache/commons/jelly/tags/ojb
                        BrokerTag.java StoreTag.java package.html
                        OjbTagLibrary.java
  Log:
  Fixed a number of bad line endings on source files. Also added a MissingAttributeException to make it easier to report invalid use of tags. Finally patched a few errors in the core and XML expression tags.
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/jelly/src/test/org/apache/commons/jelly/xml/testForEach.jelly
  
  Index: testForEach.jelly
  ===================================================================
  <?xml version="1.0"?>
<j:jelly xmlns:j="jelly:core" xmlns:x="jelly:xml">

<testcase>

  <x:parse var="doc">
      <a>
	  <b v="1"/>
	  <b v="2"/>
	  <b v="3"/>
	</a>
  </x:parse>

  <j:set var="i" value="0"/>
  <j:set var="i2" value="0"/>
	
  <x:forEach select="$doc/a/b" var="x">
	<x:set var="i2" select="$i2 + number($x/@v)"/>
  </x:forEach>
	
  <x:forEach select="$doc/a">
  	<x:forEach select="b">
	  <x:set var="i" select="$i + @v"/>
	</x:forEach>
  </x:forEach>
  
  <x:if select="$i2 != 6.0">  		
  	<fail>The i2 should be 6! but the value is <x:expr select="$i2"/></fail>
  </x:if>
  
  <x:if select="$i != 6.0">  		
  	<fail>The i should be 6! but the value is <x:expr select="$i"/></fail>
  </x:if>
  
</testcase>

</j:jelly>

  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/test/org/apache/commons/jelly/xml/example.jelly
  
  Index: example.jelly
  ===================================================================
  <?xml version="1.0"?>

  

  <j:jelly xmlns:j="jelly:core" xmlns:x="jelly:xml">

    <x:parse var="doc">

      <html>

        <title>It works!</title>

        <body>

        </body>

      </html>

    </x:parse>

    <x:expr select="$doc/html/title"/>

  </j:jelly>

  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/test/org/apache/commons/jelly/xml/TestXMLTags.java
  
  Index: TestXMLTags.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/test/org/apache/commons/jelly/TestXMLTags.java,v 1.6 2002/05/15 07:47:50 jstrachan Exp $
   * $Revision: 1.6 $
   * $Date: 2002/05/15 07:47:50 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: TestXMLTags.java,v 1.6 2002/05/15 07:47:50 jstrachan Exp $
   */
  package org.apache.commons.jelly.xml;
  
  import java.io.InputStream;
  import java.io.IOException;
  import java.io.StringWriter;
  import java.util.Iterator;
  import java.util.List;
  
  import junit.framework.Test;
  import junit.framework.TestCase;
  import junit.framework.TestSuite;
  import junit.textui.TestRunner;
  
  import org.apache.commons.jelly.JellyContext;
  import org.apache.commons.jelly.Script;
  import org.apache.commons.jelly.XMLOutput;
  import org.apache.commons.jelly.impl.TagScript;
  import org.apache.commons.jelly.parser.XMLParser;
  
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  
  import org.dom4j.Document;
  import org.dom4j.DocumentHelper;
  import org.dom4j.Node;
  
  /** Tests the parser, the engine and the XML tags
    *
    * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
    * @version $Revision: 1.6 $
    */
  public class TestXMLTags extends TestCase {
  
      /** The Log to which logging calls will be made. */
      private static final Log log = LogFactory.getLog(TestXMLTags.class);
  
      public static void main(String[] args) {
          TestRunner.run(suite());
      }
  
      public static Test suite() {
          return new TestSuite(TestXMLTags.class);
      }
  
      public TestXMLTags(String testName) {
          super(testName);
      }
  
      public void testUnitTests() throws Exception {
          runUnitTest( "testForEach.jelly" );
      }
      
      public void testParse() throws Exception {
          InputStream in = getClass().getResourceAsStream("example.jelly");
          XMLParser parser = new XMLParser();
          Script script = parser.parse(in);
          script = script.compile();
          log.debug("Found: " + script);
          assertTrue("Script is a TagScript", script instanceof TagScript);
          StringWriter buffer = new StringWriter();
          script.run(parser.getContext(), XMLOutput.createXMLOutput(buffer));
          String text = buffer.toString().trim();
          if (log.isDebugEnabled()) {
              log.debug("Evaluated script as...");
              log.debug(text);
          }
          assertEquals("Produces the correct output", "It works!", text);
      }
      
      public void runUnitTest(String name) throws Exception {
          // parse script
          InputStream in = getClass().getResourceAsStream(name);
          XMLParser parser = new XMLParser();
          Script script = parser.parse(in);
          script = script.compile();
          assertTrue("Script is a TagScript", script instanceof TagScript);
          StringWriter buffer = new StringWriter();
          script.run(parser.getContext(), XMLOutput.createXMLOutput(buffer));
  
          String text = buffer.toString().trim();
          if (log.isDebugEnabled()) {
              log.debug("Evaluated script as...");
              log.debug(text);
          }
          
          // now lets parse the output
          Document document = DocumentHelper.parseText( text );
          List failures = document.selectNodes( "/*/fail" );
          for ( Iterator iter = failures.iterator(); iter.hasNext(); ) {
              Node node = (Node) iter.next();
              fail( node.getStringValue() );
          }
      }
      
  }
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/MissingAttributeException.java
  
  Index: MissingAttributeException.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/JellyException.java,v 1.2 2002/05/15 06:25:47 jstrachan Exp $
   * $Revision: 1.2 $
   * $Date: 2002/05/15 06:25:47 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: JellyException.java,v 1.2 2002/05/15 06:25:47 jstrachan Exp $
   */
  
  package org.apache.commons.jelly;
  
  /** 
   * <p><code>JellyException</code> is the root of all Jelly exceptions.</p>
   *
   * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
   * @version $Revision: 1.2 $
   */
  public class MissingAttributeException extends JellyException {
  
      private String missingAttribute;
      
      // ### we may wish to implement a localized messag for this error
          
      public MissingAttributeException(String missingAttribute) {
          super( "You must define an attribute called '" + missingAttribute + "' for this tag." );
          this.missingAttribute = missingAttribute;
      }
      
      public String getMissingAttribute() {
          return missingAttribute;
      }
  }
  
  
  
  1.8       +5 -16     jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/ExprTag.java
  
  Index: ExprTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/ExprTag.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ExprTag.java	17 May 2002 15:18:13 -0000	1.7
  +++ ExprTag.java	20 May 2002 10:09:28 -0000	1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/ExprTag.java,v 1.7 2002/05/17 15:18:13 jstrachan Exp $
  - * $Revision: 1.7 $
  - * $Date: 2002/05/17 15:18:13 $
  + * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/ExprTag.java,v 1.8 2002/05/20 10:09:28 jstrachan Exp $
  + * $Revision: 1.8 $
  + * $Date: 2002/05/20 10:09:28 $
    *
    * ====================================================================
    *
  @@ -57,7 +57,7 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    * 
  - * $Id: ExprTag.java,v 1.7 2002/05/17 15:18:13 jstrachan Exp $
  + * $Id: ExprTag.java,v 1.8 2002/05/20 10:09:28 jstrachan Exp $
    */
   package org.apache.commons.jelly.tags.xml;
   
  @@ -73,7 +73,7 @@
     * in XSLT
     *
     * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
  -  * @version $Revision: 1.7 $
  +  * @version $Revision: 1.8 $
     */
   public class ExprTag extends XPathTagSupport {
   
  @@ -104,15 +104,4 @@
       public void setSelect(XPath select) {
           this.select = select;
       }
  -
  -    // Implementation methods
  -    //-------------------------------------------------------------------------                
  -    protected Object getXPathContext() {
  -        ForEachTag tag = (ForEachTag) findAncestorWithClass( ForEachTag.class );    
  -        if ( tag != null ) {
  -            return tag.getXPathContext();
  -        }
  -        return null;
  -    }
  -    
   }
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/XPathTagSupport.java
  
  Index: XPathTagSupport.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/ExprTag.java,v 1.5 2002/05/16 16:29:55 jstrachan Exp $
   * $Revision: 1.5 $
   * $Date: 2002/05/16 16:29:55 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: ExprTag.java,v 1.5 2002/05/16 16:29:55 jstrachan Exp $
   */
  package org.apache.commons.jelly.tags.xml;
  
  import org.apache.commons.jelly.JellyContext;
  import org.apache.commons.jelly.Script;
  import org.apache.commons.jelly.TagSupport;
  import org.apache.commons.jelly.XMLOutput;
  
  /** An abstract base class useful for implementation inheritence
    *
    * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
    * @version $Revision: 1.5 $
    */
  public abstract class XPathTagSupport extends TagSupport {
  
      // Implementation methods
      //-------------------------------------------------------------------------                
      protected Object getXPathContext() {
          ForEachTag tag = (ForEachTag) findAncestorWithClass( ForEachTag.class );    
          if ( tag != null ) {
              return tag.getIterationValue();
          }
          return null;
      }    
  }
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/IfTag.java
  
  Index: IfTag.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/xml/ExprTag.java,v 1.6 2002/05/16 18:20:35 jstrachan Exp $
   * $Revision: 1.6 $
   * $Date: 2002/05/16 18:20:35 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: ExprTag.java,v 1.6 2002/05/16 18:20:35 jstrachan Exp $
   */
  package org.apache.commons.jelly.tags.xml;
  
  import org.apache.commons.jelly.JellyContext;
  import org.apache.commons.jelly.MissingAttributeException;
  import org.apache.commons.jelly.Script;
  import org.apache.commons.jelly.TagSupport;
  import org.apache.commons.jelly.XMLOutput;
  
  import org.jaxen.XPath;
  
  /** 
   * Evaluates the XPath expression to be a boolean and only evaluates the body
   * if the expression is true.    
   * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
   * @version $Revision: 1.6 $
   */
  public class IfTag extends XPathTagSupport {
  
      /** The XPath expression to evaluate. */
      private XPath select;
  
      public IfTag() {
      }
  
      // Tag interface
      //------------------------------------------------------------------------- 
      public void doTag(XMLOutput output) throws Exception {
          if (select == null) {
              throw new MissingAttributeException( "select" );
          }
          
          Object xpathContext = getXPathContext();
          if ( select.booleanValueOf(xpathContext) ) {
              getBody().run( context, output );
          }
      }
  
      // Properties
      //-------------------------------------------------------------------------   
                   
      /** Sets the XPath expression to evaluate. */
      public void setSelect(XPath select) {
          this.select = select;
      }
  
      // Implementation methods
      //-------------------------------------------------------------------------                
      protected Object getXPathContext() {
          ForEachTag tag = (ForEachTag) findAncestorWithClass( ForEachTag.class );    
          if ( tag != null ) {
              return tag.getXPathContext();
          }
          return null;
      }
      
  }
  
  
  
  1.6       +23 -11    jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/SetTag.java
  
  Index: SetTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/SetTag.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SetTag.java	17 May 2002 15:18:08 -0000	1.5
  +++ SetTag.java	20 May 2002 10:09:28 -0000	1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/SetTag.java,v 1.5 2002/05/17 15:18:08 jstrachan Exp $
  - * $Revision: 1.5 $
  - * $Date: 2002/05/17 15:18:08 $
  + * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/SetTag.java,v 1.6 2002/05/20 10:09:28 jstrachan Exp $
  + * $Revision: 1.6 $
  + * $Date: 2002/05/20 10:09:28 $
    *
    * ====================================================================
    *
  @@ -57,7 +57,7 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    * 
  - * $Id: SetTag.java,v 1.5 2002/05/17 15:18:08 jstrachan Exp $
  + * $Id: SetTag.java,v 1.6 2002/05/20 10:09:28 jstrachan Exp $
    */
   package org.apache.commons.jelly.tags.core;
   
  @@ -74,13 +74,20 @@
   import org.apache.commons.jelly.XMLOutput;
   import org.apache.commons.jelly.expression.Expression;
   
  +import org.apache.commons.logging.Log;
  +import org.apache.commons.logging.LogFactory;
  +
  +
   /** A tag which sets a variable from the result of an expression 
     *
     * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
  -  * @version $Revision: 1.5 $
  +  * @version $Revision: 1.6 $
     */
   public class SetTag extends TagSupport {
   
  +    /** The Log to which logging calls will be made. */
  +    private static final Log log = LogFactory.getLog(SetTag.class);
  +    
       /** The variable name to export. */
       private String var;
   
  @@ -117,7 +124,7 @@
               if ( property == null ) {
                   throw new JellyException( "You must define a 'property' attribute if you specify a 'target'" );
               }
  -            setPropertyValue( target, property, value );
  +            setPropertyValue( target, property, answer );
           }
       }
   
  @@ -147,12 +154,17 @@
       // Implementation methods
       //-------------------------------------------------------------------------                
       protected void setPropertyValue( Object target, String property, Object value ) throws Exception {
  -        if ( target instanceof Map ) {
  -            Map map = (Map) target;
  -            map.put( property, value );
  +        try {
  +            if ( target instanceof Map ) {
  +                Map map = (Map) target;
  +                map.put( property, value );
  +            }
  +            else {
  +                BeanUtils.setProperty( target, property, value );       
  +            }
           }
  -        else {
  -            BeanUtils.setProperty( target, property, value );       
  +        catch (Exception e) {
  +            log.error( "Failed to set the property: " + property + " on bean: " + target + " to value: " + value + " due to exception: " + e, e );
           }
       }
   
  
  
  
  1.8       +6 -61     jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ForEachTag.java
  
  Index: ForEachTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ForEachTag.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ForEachTag.java	17 May 2002 15:18:08 -0000	1.7
  +++ ForEachTag.java	20 May 2002 10:09:28 -0000	1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ForEachTag.java,v 1.7 2002/05/17 15:18:08 jstrachan Exp $
  - * $Revision: 1.7 $
  - * $Date: 2002/05/17 15:18:08 $
  + * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ForEachTag.java,v 1.8 2002/05/20 10:09:28 jstrachan Exp $
  + * $Revision: 1.8 $
  + * $Date: 2002/05/20 10:09:28 $
    *
    * ====================================================================
    *
  @@ -57,185 +57,130 @@
    * information on the Apache Software Foundation, please see
    * <http://www.apache.org/>.
    * 
  - * $Id: ForEachTag.java,v 1.7 2002/05/17 15:18:08 jstrachan Exp $
  + * $Id: ForEachTag.java,v 1.8 2002/05/20 10:09:28 jstrachan Exp $
    */
   
   package org.apache.commons.jelly.tags.core;
   
   import java.io.IOException;
  -
   import java.io.Writer;
  -
   import java.util.Iterator;
  -
   import java.util.List;
   
   import org.apache.commons.jelly.JellyContext;
  -
   import org.apache.commons.jelly.Script;
  -
   import org.apache.commons.jelly.TagSupport;
  -
   import org.apache.commons.jelly.XMLOutput;
  -
   import org.apache.commons.jelly.expression.Expression;
   
   import org.apache.commons.logging.Log;
  -
   import org.apache.commons.logging.LogFactory;
   
   /** A tag which performs an iteration over the results of an XPath expression
     *
     * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
  -  * @version $Revision: 1.7 $
  +  * @version $Revision: 1.8 $
     */
  -
   public class ForEachTag extends TagSupport {
   
       /** The Log to which logging calls will be made. */
  -
       private static final Log log = LogFactory.getLog(ForEachTag.class);
   
       /** Holds the variable name to export for the item being iterated over. */
  -
       private Expression items;
   
       /** 
        * If specified then the current item iterated through will be defined
        * as the given variable name. 
        */
  -
       private String var;
   
       /** 
        * If specified then the current index counter will be defined
        * as the given variable name. 
        */
  -
       private String indexVar;
   
       /** The starting index value */
  -
       private int begin;
   
       /** The ending index value */
  -
       private int end = Integer.MAX_VALUE;
   
       /** The index increment step */
  -
       private int step = 1;
   
       /** The iteration index */
  -
       private int index;
   
       public ForEachTag() {
  -
       }
   
       // Tag interface
   
       //------------------------------------------------------------------------- 
  -
       public void doTag(XMLOutput output) throws Exception {
   
           if (log.isDebugEnabled()) {
  -
               log.debug("running with items: " + items);
  -
           }
   
           if (items != null) {
  -
               Iterator iter = items.evaluateAsIterator(context);
  -
               if (log.isDebugEnabled()) {
  -
                   log.debug("Iterating through: " + iter);
  -
               }
   
               for (index = begin; iter.hasNext() && index < end; index += step) {
  -
                   Object value = iter.next();
  -
                   if (var != null) {
  -
                       context.setVariable(var, value);
  -
                   }
  -
                   if (indexVar != null) {
  -
                       context.setVariable(indexVar, new Integer(index));
  -
                   }
  -
                   getBody().run(context, output);
  -
               }
  -
           }
  -
       }
   
       // Properties
  -
       //-------------------------------------------------------------------------                    
   
       /** Sets the expression used to iterate over
         */
  -
       public void setItems(Expression items) {
  -
           this.items = items;
  -
       }
   
       /** Sets the variable name to export for the item being iterated over
        */
  -
       public void setVar(String var) {
  -
           this.var = var;
  -
       }
   
       /** Sets the variable name to export the current index counter to 
        */
  -
       public void setIndexVar(String indexVar) {
  -
           this.indexVar = indexVar;
  -
       }
   
       /** Sets the starting index value 
        */
  -
       public void setBegin(int begin) {
  -
           this.begin = begin;
  -
       }
   
       /** Sets the ending index value 
        */
  -
       public void setEnd(int end) {
  -
           this.end = end;
  -
       }
   
       /** Sets the index increment step 
        */
  -
       public void setStep(int step) {
  -
           this.step = step;
  -
       }
   
  -}
  +}
  \ No newline at end of file
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/NewTag.java
  
  Index: NewTag.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/ChooseTag.java,v 1.3 2002/05/15 06:25:46 jstrachan Exp $
   * $Revision: 1.3 $
   * $Date: 2002/05/15 06:25:46 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: ChooseTag.java,v 1.3 2002/05/15 06:25:46 jstrachan Exp $
   */
  package org.apache.commons.jelly.tags.core;
  
  import org.apache.commons.jelly.JellyContext;
  import org.apache.commons.jelly.MissingAttributeException;
  import org.apache.commons.jelly.TagSupport;
  import org.apache.commons.jelly.XMLOutput;
  
  /** A tag which creates a new object of the given type
    *
    * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
    * @version $Revision: 1.3 $
    */
  public class NewTag extends TagSupport {
  
      /** the variable exported */
      private String var;
      
      /** the class name of the object to instantiate */
      private String className;
      
      /**
       * The class loader to use for instantiating application objects.
       * If not specified, the context class loader, or the class loader
       * used to load XMLParser itself, is used, based on the value of the
       * <code>useContextClassLoader</code> variable.
       */
      protected ClassLoader classLoader = null;
  
      /**
       * Do we want to use the Context ClassLoader when loading classes
       * for instantiating new objects?  Default is <code>false</code>.
       */
      protected boolean useContextClassLoader = false;
  
          
      public NewTag() {
      }
  
      /** Sets the name of the variable exported by this tag */
      public void setVar(String var) {
          this.var = var;
      }
      
      /** Sets the class name of the object to instantiate */
      public void setClassName(String className) {
          this.className = className;
      }
      
      /**
       * Return the class loader to be used for instantiating application objects
       * when required.  This is determined based upon the following rules:
       * <ul>
       * <li>The class loader set by <code>setClassLoader()</code>, if any</li>
       * <li>The thread context class loader, if it exists and the
       *     <code>useContextClassLoader</code> property is set to true</li>
       * <li>The class loader used to load the XMLParser class itself.
       * </ul>
       */
      public ClassLoader getClassLoader() {
          if (this.classLoader != null) {
              return (this.classLoader);
          }
          if (this.useContextClassLoader) {
              ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
              if (classLoader != null) {
                  return (classLoader);
              }
          }
          return (this.getClass().getClassLoader());
      }
  
      /**
       * Set the class loader to be used for instantiating application objects
       * when required.
       *
       * @param classLoader The new class loader to use, or <code>null</code>
       *  to revert to the standard rules
       */
      public void setClassLoader(ClassLoader classLoader) {
          this.classLoader = classLoader;
      }
  
      /**
       * Return the boolean as to whether the context classloader should be used.
       */
      public boolean getUseContextClassLoader() {
          return useContextClassLoader;
      }
  
      /**
       * Determine whether to use the Context ClassLoader (the one found by
       * calling <code>Thread.currentThread().getContextClassLoader()</code>)
       * to resolve/load classes.  If not
       * using Context ClassLoader, then the class-loading defaults to
       * using the calling-class' ClassLoader.
       *
       * @param boolean determines whether to use JellyContext ClassLoader.
       */
      public void setUseContextClassLoader(boolean use) {
          useContextClassLoader = use;
      }
  
      
      // Tag interface
      //------------------------------------------------------------------------- 
      public void doTag(XMLOutput output) throws Exception {
          if ( var == null ) {
              throw new MissingAttributeException( "var" );
          }
          if ( className == null ) {
              throw new MissingAttributeException( "className" );
          }
          Class theClass = getClassLoader().loadClass( className );
          Object object = theClass.newInstance();
          context.setVariable(var, object);
      }
  }
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ojb/BrokerTag.java
  
  Index: BrokerTag.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:  
   *       "This product includes software developed by the 
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written 
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  package org.apache.commons.jelly.tags.ojb;
  
  import ojb.broker.PersistenceBroker;
  import ojb.broker.PersistenceBrokerException;
  import ojb.broker.PersistenceBrokerFactory;
  
  import org.apache.commons.jelly.JellyContext;
  import org.apache.commons.jelly.JellyException;
  import org.apache.commons.jelly.TagSupport;
  import org.apache.commons.jelly.XMLOutput;
  
  /**
   * <p>Tag handler for &lt;Driver&gt; in JSTL, used to create
   * a simple DataSource for prototyping.</p>
   * 
    * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
    * @version $Revision: 1.4 $
   */
  public class BrokerTag extends TagSupport {
      
      /** The variable name to export. */
      private String var;
  
      /** The persistence broker instance */
      private PersistenceBroker broker;
      
      public BrokerTag() {
      }
  
  
      // Tag interface
      //------------------------------------------------------------------------- 
      public void doTag(XMLOutput output) throws Exception {
          if ( var == null ) {
              var = "org.apache.commons.jelly.ojb.Broker";
          }
          if ( broker != null ) {
              context.setVariable(var, broker);            
              getBody().run(context, output);                
          }
          else {
              broker = PersistenceBrokerFactory.createPersistenceBroker();            
              context.setVariable(var, broker);            
              
              try {
                  getBody().run(context, output);                
              }
              finally {            
                  broker.clearCache();
                  PersistenceBrokerFactory.releaseInstance(broker);
                  broker = null;
                  context.removeVariable(var);            
              }
          }
      }
  
      // Properties
      //-------------------------------------------------------------------------                
      /** Sets the variable name to define for this expression
       */
      public void setVar(String var) {
          this.var = var;
      }
      
      /** @return the persistence broker instance */
      public PersistenceBroker getBroker() {
          return broker;
      }
      
      /** Sets the persistence broker instance */
      public void setBroker(PersistenceBroker broker) {
          this.broker = broker;
      }    
  }
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ojb/StoreTag.java
  
  Index: StoreTag.java
  ===================================================================
  /*
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999 The Apache Software Foundation.  All rights 
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer. 
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:  
   *       "This product includes software developed by the 
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written 
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   *
   */
  package org.apache.commons.jelly.tags.ojb;
  
  import ojb.broker.PersistenceBroker;
  import ojb.broker.PersistenceBrokerException;
  import ojb.broker.PersistenceBrokerFactory;
  
  import org.apache.commons.jelly.JellyContext;
  import org.apache.commons.jelly.JellyException;
  import org.apache.commons.jelly.TagSupport;
  import org.apache.commons.jelly.XMLOutput;
  
  /**
   * <p>This Store tag will store the given object in ObjectBridge using
   * the given broker or it will use the parent broker tags broker instance.</p>
   * 
   * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
   * @version $Revision: 1.4 $
   */
  public class StoreTag extends TagSupport {
      
      /** the value to persist */
      private Object value;
      
      /** The persistence broker instance */
      private PersistenceBroker broker;
      
      public StoreTag() {
      }
  
  
      // Tag interface
      //------------------------------------------------------------------------- 
      public void doTag(XMLOutput output) throws Exception {
          if ( value == null ) {
              throw new JellyException( "No value is supplied!" );
          }
          getBroker().store( value );
      }
  
      // Properties
      //-------------------------------------------------------------------------                
  
      /** Sets the value to be persisted */
      public void setValue(Object value) {
          this.value = value;
      }    
      
      /** @return the persistence broker instance */
      public PersistenceBroker getBroker() {
          if (broker == null) {
              BrokerTag brokerTag = (BrokerTag) findAncestorWithClass( BrokerTag.class );
              if ( brokerTag != null ) {
                  broker = brokerTag.getBroker();
              }
              else {
                  broker = (PersistenceBroker) context.getVariable( 
                      "org.apache.commons.jelly.ojb.Broker" 
                  );
              }
          }
          return broker;
      }
      
      /** Sets the persistence broker instance */
      public void setBroker(PersistenceBroker broker) {
          this.broker = broker;
      }    
  }
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ojb/package.html
  
  Index: package.html
  ===================================================================
  <html>
  <head>
  </head>
  <body>
  
    <p>A variety of tags for working with the 
    	<a href="http://objectbridge.sourceforge.net/">ObjectBridge</a> persistence engine
    </p>
  </body>
  </html>
  
  
  
  1.1                  jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/ojb/OjbTagLibrary.java
  
  Index: OjbTagLibrary.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/jelly/src/java/org/apache/commons/jelly/tags/core/CoreTagLibrary.java,v 1.5 2002/04/26 12:20:12 jstrachan Exp $
   * $Revision: 1.5 $
   * $Date: 2002/04/26 12:20:12 $
   *
   * ====================================================================
   *
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 1999-2002 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   *
   * 3. The end-user documentation included with the redistribution, if
   *    any, must include the following acknowlegement:
   *       "This product includes software developed by the
   *        Apache Software Foundation (http://www.apache.org/)."
   *    Alternately, this acknowlegement may appear in the software itself,
   *    if and wherever such third-party acknowlegements normally appear.
   *
   * 4. The names "The Jakarta Project", "Commons", and "Apache Software
   *    Foundation" must not be used to endorse or promote products derived
   *    from this software without prior written permission. For written
   *    permission, please contact apache@apache.org.
   *
   * 5. Products derived from this software may not be called "Apache"
   *    nor may "Apache" appear in their names without prior written
   *    permission of the Apache Group.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * ====================================================================
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * <http://www.apache.org/>.
   * 
   * $Id: CoreTagLibrary.java,v 1.5 2002/04/26 12:20:12 jstrachan Exp $
   */
  
  package org.apache.commons.jelly.tags.ojb;
  
  import org.apache.commons.jelly.tags.core.CoreTagLibrary;
  
  /** Describes the Taglib. This class could be generated by XDoclet
    *
    * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
    * @version $Revision: 1.5 $
    */
  
  public class OjbTagLibrary extends CoreTagLibrary {
  
      public OjbTagLibrary() {
          registerTag("broker", BrokerTag.class);
          registerTag("store", StoreTag.class);
          //registerTag("delete", DeleteTag.class);
          //registerTag("query", QueryTag.class);
          //registerTag("transaction", TransactionTag.class);
      }
  
  }
  
  
  

--
To unsubscribe, e-mail:   <mailto:commons-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:commons-dev-help@jakarta.apache.org>


Mime
View raw message