morgand 2003/01/25 16:07:23 Modified: jelly/jelly-tags/define build.xml jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define AttributeTag.java BeanTag.java ClassLoaderTag.java DefineTagSupport.java DynaBeanTag.java ExtendTag.java InvokeBodyTag.java InvokeTag.java JellyBeanTag.java ScriptTag.java SuperTag.java TagTag.java TaglibTag.java jelly/jelly-tags/dynabean build.xml Log: converted define taglib from Exception to JellyTagException Revision Changes Path 1.2 +151 -185 jakarta-commons-sandbox/jelly/jelly-tags/define/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/build.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- build.xml 16 Jan 2003 08:06:15 -0000 1.1 +++ build.xml 26 Jan 2003 00:07:22 -0000 1.2 @@ -1,234 +1,200 @@ <?xml version="1.0" encoding="UTF-8"?> <project default="jar" name="commons-jelly-tags-define" basedir="."> - - <property name="defaulttargetdir" value="target"></property> - <property name="classesdir" value="target/classes"></property> - <property name="testclassesdir" value="target/test-classes"></property> - <property name="testreportdir" value="target/test-reports"></property> - - - - - - - - - - - <property name="resourcedir" value="."></property> - - <property name="distdir" value="dist"></property> - <property name="javadocdir" value="target/docs/apidocs"></property> - <property name="final.name" value="commons-jelly-tags-define-1.0-SNAPSHOT"></property> - + <property name="defaulttargetdir" value="target"> + </property> + <property name="libdir" value="target/lib"> + </property> + <property name="classesdir" value="target/classes"> + </property> + <property name="testclassesdir" value="target/test-classes"> + </property> + <property name="testreportdir" value="target/test-reports"> + </property> + <property name="distdir" value="dist"> + </property> + <property name="javadocdir" value="dist/docs/api"> + </property> + <property name="final.name" value="commons-jelly-tags-define-1.0-SNAPSHOT"> + </property> <target name="init" description="o Initializes some properties"> - <mkdir dir="lib"></mkdir> + <mkdir dir="${libdir}"> + </mkdir> <condition property="noget"> - <equals arg2="only" arg1="${build.sysclasspath}"></equals> + <equals arg2="only" arg1="${build.sysclasspath}"> + </equals> </condition> </target> - <target name="compile" description="o Compile the code" depends="get-deps"> - - <mkdir dir="${classesdir}"></mkdir> - + <mkdir dir="${classesdir}"> + </mkdir> <javac destdir="${classesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> <src> - <pathelement location="src/java"></pathelement> + <pathelement location="src/java"> + </pathelement> </src> <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> </fileset> </classpath> </javac> - - - - <copy todir="${classesdir}"> - - - - <fileset dir="src/java"> - - - <include name="**/*.properties"></include> - - + <include name="**/*.properties"> + </include> </fileset> </copy> - - - - - - <copy todir="${testclassesdir}"> - - - - <fileset dir="src/test"> - - - <include name="**/*.jelly"></include> - - <include name="**/*.xml"></include> - - <include name="**/*.xsl"></include> - - <include name="**/*.rng"></include> - - <include name="**/*.dtd"></include> - - <include name="**/*.properties"></include> - - <include name="**/*.html"></include> - - + <include name="**/*.jelly"> + </include> + <include name="**/*.xml"> + </include> + <include name="**/*.xsl"> + </include> + <include name="**/*.rng"> + </include> + <include name="**/*.dtd"> + </include> + <include name="**/*.properties"> + </include> + <include name="**/*.html"> + </include> </fileset> </copy> - - - </target> - <target name="jar" description="o Create the jar" depends="compile,test"> - - <jar jarfile="target/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}"></jar> - + <jar jarfile="target/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}"> + </jar> </target> - <target name="clean" description="o Clean up the generated directories"> - <delete dir="${defaulttargetdir}"></delete> - <delete dir="${distdir}"></delete> + <delete dir="${defaulttargetdir}"> + </delete> + <delete dir="${distdir}"> + </delete> </target> - <target name="dist" description="o Create a distribution" depends="jar, javadoc"> - <mkdir dir="dist"></mkdir> + <mkdir dir="dist"> + </mkdir> <copy todir="dist"> - <fileset dir="${defaulttargetdir}"></fileset> + <fileset dir="${defaulttargetdir}" includes="*.jar"> + </fileset> + <fileset dir="${basedir}" includes="LICENSE*, README*"> + </fileset> </copy> </target> - <target name="test" description="o Run the test cases" if="test.failure" depends="internal-test"> - <fail message="There were test failures."></fail> + <fail message="There were test failures."> + </fail> </target> <target name="internal-test" depends="compile-tests"> - - <mkdir dir="${testreportdir}"></mkdir> - <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true"> - - <sysproperty key="basedir" value="."></sysproperty> - <formatter type="xml"></formatter> - <formatter usefile="false" type="plain"></formatter> - <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> - </fileset> - <pathelement path="${testclassesdir}"></pathelement> - <pathelement path="${classesdir}"></pathelement> - </classpath> - <batchtest todir="${testreportdir}"> - <fileset dir="src/test"> - - <include name="**/Test*.java"></include> - - - - - - </fileset> - </batchtest> - </junit> - + <mkdir dir="${testreportdir}"> + </mkdir> + <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true"> + <sysproperty key="basedir" value="."> + </sysproperty> + <formatter type="xml"> + </formatter> + <formatter usefile="false" type="plain"> + </formatter> + <classpath> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> + </fileset> + <pathelement path="${testclassesdir}"> + </pathelement> + <pathelement path="${classesdir}"> + </pathelement> + </classpath> + <batchtest todir="${testreportdir}"> + <fileset dir="src/test"> + <include name="**/Test*.java"> + </include> + </fileset> + </batchtest> + </junit> </target> - <target name="compile-tests" depends="compile"> - - <mkdir dir="${testclassesdir}"></mkdir> - <javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> - <src> - <pathelement location="src/test"></pathelement> - </src> - <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> - </fileset> - <pathelement path="${classesdir}"></pathelement> - </classpath> - </javac> - - - - - + <mkdir dir="${testclassesdir}"> + </mkdir> + <javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> + <src> + <pathelement location="src/test"> + </pathelement> + </src> + <classpath> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> + </fileset> + <pathelement path="${classesdir}"> + </pathelement> + </classpath> + </javac> </target> - <target name="javadoc" description="o Generate javadoc" depends="jar"> - - - <mkdir dir="${javadocdir}"></mkdir> - - + <mkdir dir="${javadocdir}"> + </mkdir> <tstamp> - <format pattern="2002-yyyy" property="year"></format> + <format pattern="2002-yyyy" property="year"> + </format> </tstamp> - - <property name="copyright" value="Copyright &copy; Apache Software Foundation. All Rights Reserved."></property> - - <property name="title" value="commons-jelly-tags-define 1.0-SNAPSHOT API"></property> - + <property name="copyright" value="Copyright &copy; Apache Software Foundation. All Rights Reserved."> + </property> + <property name="title" value="commons-jelly-tags-define 1.0-SNAPSHOT API"> + </property> <javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="src/java" packagenames="org.apache.commons.jelly.tags.define.*"> <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> </fileset> - <pathelement location="target/${final.name}.jar"></pathelement> + <pathelement location="target/${final.name}.jar"> + </pathelement> </classpath> </javadoc> - </target> - <target name="get-deps" unless="noget" depends="init"> - - - <get dest="lib/commons-jexl-1.0-beta-1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jexl/jars/commons-jexl-1.0-beta-1.jar"></get> - <get dest="lib/xml-apis-1.0.b2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xml-apis/jars/xml-apis-1.0.b2.jar"></get> - <get dest="lib/commons-beanutils-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-beanutils/jars/commons-beanutils-SNAPSHOT.jar"></get> - <get dest="lib/commons-collections-2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collections-2.1.jar"></get> - <get dest="lib/commons-logging-1.0.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.jar"></get> - <get dest="lib/dom4j-1.4-dev-8.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/dom4j/jars/dom4j-1.4-dev-8.jar"></get> - <get dest="lib/jaxp-1.2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/jaxp/jars/jaxp-1.2.jar"></get> - <get dest="lib/xerces-2.2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xerces/jars/xerces-2.2.1.jar"></get> - <get dest="lib/commons-jelly-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-SNAPSHOT.jar"></get> - - <get dest="lib/junit-3.8.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar"></get> - <get dest="lib/ant-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar"></get> - <get dest="lib/ant-optional-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-optional-1.5.jar"></get> - </target> - - - - - - - - - - + <get dest="${libdir}/commons-jexl-1.0-beta-1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jexl/jars/commons-jexl-1.0-beta-1.jar"> + </get> + <get dest="${libdir}/xml-apis-1.0.b2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xml-apis/jars/xml-apis-1.0.b2.jar"> + </get> + <get dest="${libdir}/commons-beanutils-1.6.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-beanutils/jars/commons-beanutils-1.6.jar"> + </get> + <get dest="${libdir}/commons-collections-2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collections-2.1.jar"> + </get> + <get dest="${libdir}/commons-logging-1.0.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.jar"> + </get> + <get dest="${libdir}/dom4j-1.4-dev-8.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/dom4j/jars/dom4j-1.4-dev-8.jar"> + </get> + <get dest="${libdir}/xerces-2.2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xerces/jars/xerces-2.2.1.jar"> + </get> + <get dest="${libdir}/commons-jelly-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/commons-jelly-tags-dynabean-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-tags-dynabean-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/commons-jelly-tags-junit-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-tags-junit-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/commons-jelly-tags-log-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-tags-log-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/commons-jelly-tags-xml-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-tags-xml-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/commons-cli-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-cli/jars/commons-cli-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/junit-3.8.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar"> + </get> + <get dest="${libdir}/ant-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar"> + </get> + <get dest="${libdir}/ant-optional-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-optional-1.5.jar"> + </get> + </target> <target name="install-maven"> - - - - <get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${maven.repo.remote}/maven/maven-install-latest.jar"></get> - - <unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar"></unjar> - - </target> - -</project> - \ No newline at end of file + <get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${maven.repo.remote}/maven/maven-install-latest.jar"> + </get> + <unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar"> + </unjar> + </target> +</project> \ No newline at end of file 1.2 +8 -8 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/AttributeTag.java Index: AttributeTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/AttributeTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AttributeTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ AttributeTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,7 +61,7 @@ */ package org.apache.commons.jelly.tags.define; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; import org.apache.commons.jelly.expression.Expression; @@ -98,10 +98,10 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { BeanTag tag = (BeanTag) findAncestorWithClass( BeanTag.class ); if ( tag == null ) { - throw new JellyException( "This tag should be nested inside a <define:bean> or <define:jellybean> tag" ); + throw new JellyTagException( "This tag should be nested inside a <define:bean> or <define:jellybean> tag" ); } tag.addAttribute( attribute ); 1.2 +8 -7 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/BeanTag.java Index: BeanTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/BeanTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- BeanTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ BeanTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -66,7 +66,7 @@ import java.util.HashMap; import java.util.Map; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.Tag; import org.apache.commons.jelly.XMLOutput; @@ -121,7 +121,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException { invokeBody(output); if (name == null) { @@ -146,7 +146,7 @@ } catch (ClassNotFoundException e3) { log.error( "Could not load class: " + className + " exception: " + e, e ); - throw new JellyException( + throw new JellyTagException( "Could not find class: " + className + " using ClassLoader: " @@ -164,6 +164,7 @@ return new DynamicBeanTag(beanClass, beanAttributes, varAttribute, invokeMethod); } }; + getTagLibrary().registerBeanTag(name, factory); // now lets clear the attributes for next invocation and help the GC @@ -228,7 +229,7 @@ /** * Extracts the invoke method for the class if one is used. */ - protected Method getInvokeMethod( Class theClass ) throws Exception { + protected Method getInvokeMethod( Class theClass ) { return null; } } 1.2 +14 -7 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/ClassLoaderTag.java Index: ClassLoaderTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/ClassLoaderTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ClassLoaderTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ ClassLoaderTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -62,9 +62,11 @@ package org.apache.commons.jelly.tags.define; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.XMLOutput; import org.apache.commons.logging.Log; @@ -123,7 +125,7 @@ // Implementation methods //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException { if ( getVar() == null ) { throw new MissingAttributeException( "var" ); } @@ -136,9 +138,14 @@ parent = getClass().getClassLoader(); } - URLClassLoader newClassLoader = new URLClassLoader( - new URL[] { new URL(getUrl()) }, - parent ); + URLClassLoader newClassLoader = null; + + try { + newClassLoader = + new URLClassLoader( new URL[] { new URL(getUrl()) }, parent ); + } catch (MalformedURLException e) { + throw new JellyTagException(e); + } log.debug("Storing the new classloader in " + getVar()); 1.2 +6 -6 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/DefineTagSupport.java Index: DefineTagSupport.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/DefineTagSupport.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DefineTagSupport.java 15 Jan 2003 14:58:01 -0000 1.1 +++ DefineTagSupport.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -62,7 +62,7 @@ package org.apache.commons.jelly.tags.define; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.impl.DynamicTagLibrary; @@ -81,11 +81,11 @@ * @return the current dynamic tag library instance or throws a JellyException * if one is not available */ - protected DynamicTagLibrary getTagLibrary() throws JellyException { + protected DynamicTagLibrary getTagLibrary() throws JellyTagException { TaglibTag tag = (TaglibTag) findAncestorWithClass(TaglibTag.class); if ( tag == null ) { - throw new JellyException( "<define:tag> must be inside <define:taglib>" ); + throw new JellyTagException( "<define:tag> must be inside <define:taglib>" ); } return tag.getTagLibrary(); } 1.2 +5 -4 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/DynaBeanTag.java Index: DynaBeanTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/DynaBeanTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DynaBeanTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ DynaBeanTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -66,6 +66,7 @@ import java.util.Map; import org.apache.commons.beanutils.DynaClass; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.Tag; import org.apache.commons.jelly.XMLOutput; @@ -115,7 +116,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException { invokeBody(output); if (name == null) { 1.2 +10 -10 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/ExtendTag.java Index: ExtendTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/ExtendTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ExtendTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ ExtendTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,7 +61,7 @@ */ package org.apache.commons.jelly.tags.define; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.Script; import org.apache.commons.jelly.XMLOutput; import org.apache.commons.jelly.impl.DynamicTagLibrary; @@ -86,23 +86,23 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { DynamicTagLibrary library = getTagLibrary(); DynamicTagLibrary owner = library.find(getName()); if (owner == null) { - throw new JellyException( + throw new JellyTagException( "Cannot extend " + getName() + ": dynamic tag not defined"); } if (owner == library) { // disallow extension of tags defined within the same tag // library - throw new JellyException("Cannot extend " + getName() + + throw new JellyTagException("Cannot extend " + getName() + ": dynamic tag defined locally"); } superScript = owner.getDynamicTag(name); if (superScript == null) { // tag doesn't define a script - disallow this for the moment. - throw new JellyException("Cannot extend " + getName() + + throw new JellyTagException("Cannot extend " + getName() + ": tag is not a dynamic tag"); } 1.2 +8 -8 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/InvokeBodyTag.java Index: InvokeBodyTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/InvokeBodyTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InvokeBodyTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ InvokeBodyTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,7 +61,7 @@ */ package org.apache.commons.jelly.tags.define; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.Script; import org.apache.commons.jelly.Tag; import org.apache.commons.jelly.TagSupport; @@ -88,7 +88,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { // Try find find the body from the reserved 'org.apache.commons.jelly.body' variable Script script = (Script) context.getVariable("org.apache.commons.jelly.body"); if (script != null) { @@ -99,7 +99,7 @@ // nested dynamic tags. A better way is required. Tag tag = findAncestorWithClass(this, DynamicTag.class); if (tag == null) { - throw new JellyException("Cannot invoke body, no dynamic tag is defined in this block"); + throw new JellyTagException("Cannot invoke body, no dynamic tag is defined in this block"); } else { tag.invokeBody(output); 1.2 +7 -6 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/InvokeTag.java Index: InvokeTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/InvokeTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- InvokeTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ InvokeTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,6 +61,7 @@ */ package org.apache.commons.jelly.tags.define; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.Script; import org.apache.commons.jelly.TagSupport; @@ -97,7 +98,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException { if ( script == null ) { throw new MissingAttributeException("script"); } 1.2 +5 -4 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/JellyBeanTag.java Index: JellyBeanTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/JellyBeanTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- JellyBeanTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ JellyBeanTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -65,6 +65,7 @@ import java.lang.reflect.Method; import org.apache.commons.beanutils.MethodUtils; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -116,7 +117,7 @@ // Implementation methods //------------------------------------------------------------------------- - protected Method getInvokeMethod( Class theClass ) throws Exception { + protected Method getInvokeMethod( Class theClass ) { Method invokeMethod = MethodUtils.getAccessibleMethod( theClass, 1.2 +8 -8 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/ScriptTag.java Index: ScriptTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/ScriptTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ScriptTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ ScriptTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,7 +61,7 @@ */ package org.apache.commons.jelly.tags.define; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; @@ -82,9 +82,9 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { if ( var == null ) { - throw new JellyException( "<define:script> must have a var attribute" ); + throw new JellyTagException( "<define:script> must have a var attribute" ); } context.setVariable( var, getBody() ); } 1.2 +8 -8 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/SuperTag.java Index: SuperTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/SuperTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SuperTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ SuperTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,7 +61,7 @@ */ package org.apache.commons.jelly.tags.define; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; @@ -80,10 +80,10 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { ExtendTag tag = (ExtendTag) findAncestorWithClass(ExtendTag.class); if (tag == null) { - throw new JellyException( + throw new JellyTagException( "<define:super> must be inside a <define:extend>"); } 1.2 +7 -6 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/TagTag.java Index: TagTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/TagTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TagTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ TagTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,6 +61,7 @@ */ package org.apache.commons.jelly.tags.define; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.XMLOutput; /** @@ -82,7 +83,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { getTagLibrary().registerDynamicTag( getName(), getBody() ); } 1.2 +7 -6 jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/TaglibTag.java Index: TaglibTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/define/src/java/org/apache/commons/jelly/tags/define/TaglibTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TaglibTag.java 15 Jan 2003 14:58:01 -0000 1.1 +++ TaglibTag.java 26 Jan 2003 00:07:23 -0000 1.2 @@ -61,6 +61,7 @@ */ package org.apache.commons.jelly.tags.define; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; import org.apache.commons.jelly.impl.DynamicTagLibrary; @@ -90,7 +91,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { String uri = getUri(); tagLibrary = new DynamicTagLibrary( uri ); 1.2 +143 -185 jakarta-commons-sandbox/jelly/jelly-tags/dynabean/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/dynabean/build.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- build.xml 16 Jan 2003 08:06:15 -0000 1.1 +++ build.xml 26 Jan 2003 00:07:23 -0000 1.2 @@ -1,234 +1,192 @@ <?xml version="1.0" encoding="UTF-8"?> <project default="jar" name="commons-jelly-tags-dynabean" basedir="."> - - <property name="defaulttargetdir" value="target"></property> - <property name="classesdir" value="target/classes"></property> - <property name="testclassesdir" value="target/test-classes"></property> - <property name="testreportdir" value="target/test-reports"></property> - - - - - - - - - - - <property name="resourcedir" value="."></property> - - <property name="distdir" value="dist"></property> - <property name="javadocdir" value="target/docs/apidocs"></property> - <property name="final.name" value="commons-jelly-tags-dynabean-1.0-SNAPSHOT"></property> - + <property name="defaulttargetdir" value="target"> + </property> + <property name="libdir" value="target/lib"> + </property> + <property name="classesdir" value="target/classes"> + </property> + <property name="testclassesdir" value="target/test-classes"> + </property> + <property name="testreportdir" value="target/test-reports"> + </property> + <property name="distdir" value="dist"> + </property> + <property name="javadocdir" value="dist/docs/api"> + </property> + <property name="final.name" value="commons-jelly-tags-dynabean-1.0-SNAPSHOT"> + </property> <target name="init" description="o Initializes some properties"> - <mkdir dir="lib"></mkdir> + <mkdir dir="${libdir}"> + </mkdir> <condition property="noget"> - <equals arg2="only" arg1="${build.sysclasspath}"></equals> + <equals arg2="only" arg1="${build.sysclasspath}"> + </equals> </condition> </target> - <target name="compile" description="o Compile the code" depends="get-deps"> - - <mkdir dir="${classesdir}"></mkdir> - + <mkdir dir="${classesdir}"> + </mkdir> <javac destdir="${classesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> <src> - <pathelement location="src/java"></pathelement> + <pathelement location="src/java"> + </pathelement> </src> <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> </fileset> </classpath> </javac> - - - - <copy todir="${classesdir}"> - - - - <fileset dir="src/java"> - - - <include name="**/*.properties"></include> - - + <include name="**/*.properties"> + </include> </fileset> </copy> - - - - - - <copy todir="${testclassesdir}"> - - - - <fileset dir="src/test"> - - - <include name="**/*.jelly"></include> - - <include name="**/*.xml"></include> - - <include name="**/*.xsl"></include> - - <include name="**/*.rng"></include> - - <include name="**/*.dtd"></include> - - <include name="**/*.properties"></include> - - <include name="**/*.html"></include> - - + <include name="**/*.jelly"> + </include> + <include name="**/*.xml"> + </include> + <include name="**/*.xsl"> + </include> + <include name="**/*.rng"> + </include> + <include name="**/*.dtd"> + </include> + <include name="**/*.properties"> + </include> + <include name="**/*.html"> + </include> </fileset> </copy> - - - </target> - <target name="jar" description="o Create the jar" depends="compile,test"> - - <jar jarfile="target/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}"></jar> - + <jar jarfile="target/${final.name}.jar" excludes="**/package.html" basedir="${classesdir}"> + </jar> </target> - <target name="clean" description="o Clean up the generated directories"> - <delete dir="${defaulttargetdir}"></delete> - <delete dir="${distdir}"></delete> + <delete dir="${defaulttargetdir}"> + </delete> + <delete dir="${distdir}"> + </delete> </target> - <target name="dist" description="o Create a distribution" depends="jar, javadoc"> - <mkdir dir="dist"></mkdir> + <mkdir dir="dist"> + </mkdir> <copy todir="dist"> - <fileset dir="${defaulttargetdir}"></fileset> + <fileset dir="${defaulttargetdir}" includes="*.jar"> + </fileset> + <fileset dir="${basedir}" includes="LICENSE*, README*"> + </fileset> </copy> </target> - <target name="test" description="o Run the test cases" if="test.failure" depends="internal-test"> - <fail message="There were test failures."></fail> + <fail message="There were test failures."> + </fail> </target> <target name="internal-test" depends="compile-tests"> - - <mkdir dir="${testreportdir}"></mkdir> - <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true"> - - <sysproperty key="basedir" value="."></sysproperty> - <formatter type="xml"></formatter> - <formatter usefile="false" type="plain"></formatter> - <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> - </fileset> - <pathelement path="${testclassesdir}"></pathelement> - <pathelement path="${classesdir}"></pathelement> - </classpath> - <batchtest todir="${testreportdir}"> - <fileset dir="src/test"> - - <include name="**/Test*.java"></include> - - - - - - </fileset> - </batchtest> - </junit> - + <mkdir dir="${testreportdir}"> + </mkdir> + <junit dir="./" failureproperty="test.failure" printSummary="yes" fork="true" haltonerror="true"> + <sysproperty key="basedir" value="."> + </sysproperty> + <formatter type="xml"> + </formatter> + <formatter usefile="false" type="plain"> + </formatter> + <classpath> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> + </fileset> + <pathelement path="${testclassesdir}"> + </pathelement> + <pathelement path="${classesdir}"> + </pathelement> + </classpath> + <batchtest todir="${testreportdir}"> + <fileset dir="src/test"> + <include name="**/Test*.java"> + </include> + </fileset> + </batchtest> + </junit> </target> - <target name="compile-tests" depends="compile"> - - <mkdir dir="${testclassesdir}"></mkdir> - <javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> - <src> - <pathelement location="src/test"></pathelement> - </src> - <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> - </fileset> - <pathelement path="${classesdir}"></pathelement> - </classpath> - </javac> - - - - - + <mkdir dir="${testclassesdir}"> + </mkdir> + <javac destdir="${testclassesdir}" deprecation="true" debug="true" optimize="false" excludes="**/package.html"> + <src> + <pathelement location="src/test"> + </pathelement> + </src> + <classpath> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> + </fileset> + <pathelement path="${classesdir}"> + </pathelement> + </classpath> + </javac> </target> - <target name="javadoc" description="o Generate javadoc" depends="jar"> - - - <mkdir dir="${javadocdir}"></mkdir> - - + <mkdir dir="${javadocdir}"> + </mkdir> <tstamp> - <format pattern="2002-yyyy" property="year"></format> + <format pattern="2002-yyyy" property="year"> + </format> </tstamp> - - <property name="copyright" value="Copyright &copy; Apache Software Foundation. All Rights Reserved."></property> - - <property name="title" value="commons-jelly-tags-dynabean 1.0-SNAPSHOT API"></property> - + <property name="copyright" value="Copyright &copy; Apache Software Foundation. All Rights Reserved."> + </property> + <property name="title" value="commons-jelly-tags-dynabean 1.0-SNAPSHOT API"> + </property> <javadoc use="true" private="true" destdir="${javadocdir}" author="true" version="true" sourcepath="src/java" packagenames="org.apache.commons.jelly.tags.dynabean.*"> <classpath> - <fileset dir="lib"> - <include name="*.jar"></include> + <fileset dir="${libdir}"> + <include name="*.jar"> + </include> </fileset> - <pathelement location="target/${final.name}.jar"></pathelement> + <pathelement location="target/${final.name}.jar"> + </pathelement> </classpath> </javadoc> - </target> - <target name="get-deps" unless="noget" depends="init"> - - - <get dest="lib/commons-jexl-1.0-beta-1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jexl/jars/commons-jexl-1.0-beta-1.jar"></get> - <get dest="lib/xml-apis-1.0.b2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xml-apis/jars/xml-apis-1.0.b2.jar"></get> - <get dest="lib/commons-beanutils-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-beanutils/jars/commons-beanutils-SNAPSHOT.jar"></get> - <get dest="lib/commons-collections-2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collections-2.1.jar"></get> - <get dest="lib/commons-logging-1.0.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.jar"></get> - <get dest="lib/dom4j-1.4-dev-8.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/dom4j/jars/dom4j-1.4-dev-8.jar"></get> - <get dest="lib/jaxp-1.2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/jaxp/jars/jaxp-1.2.jar"></get> - <get dest="lib/xerces-2.2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xerces/jars/xerces-2.2.1.jar"></get> - <get dest="lib/commons-jelly-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-SNAPSHOT.jar"></get> - - <get dest="lib/junit-3.8.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar"></get> - <get dest="lib/ant-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar"></get> - <get dest="lib/ant-optional-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-optional-1.5.jar"></get> - </target> - - - - - - - - - - + <get dest="${libdir}/commons-jexl-1.0-beta-1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jexl/jars/commons-jexl-1.0-beta-1.jar"> + </get> + <get dest="${libdir}/xml-apis-1.0.b2.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xml-apis/jars/xml-apis-1.0.b2.jar"> + </get> + <get dest="${libdir}/commons-beanutils-1.6.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-beanutils/jars/commons-beanutils-1.6.jar"> + </get> + <get dest="${libdir}/commons-collections-2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collections-2.1.jar"> + </get> + <get dest="${libdir}/commons-logging-1.0.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.jar"> + </get> + <get dest="${libdir}/dom4j-1.4-dev-8.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/dom4j/jars/dom4j-1.4-dev-8.jar"> + </get> + <get dest="${libdir}/xerces-2.2.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/xerces/jars/xerces-2.2.1.jar"> + </get> + <get dest="${libdir}/commons-jelly-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/commons-jelly-tags-junit-SNAPSHOT.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/commons-jelly/jars/commons-jelly-tags-junit-SNAPSHOT.jar"> + </get> + <get dest="${libdir}/junit-3.8.1.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/junit/jars/junit-3.8.1.jar"> + </get> + <get dest="${libdir}/ant-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-1.5.jar"> + </get> + <get dest="${libdir}/ant-optional-1.5.jar" usetimestamp="true" ignoreerrors="true" src="http://www.ibiblio.org/maven/ant/jars/ant-optional-1.5.jar"> + </get> + </target> <target name="install-maven"> - - - - <get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${maven.repo.remote}/maven/maven-install-latest.jar"></get> - - <unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar"></unjar> - - </target> - -</project> - \ No newline at end of file + <get dest="${user.home}/maven-install-latest.jar" usetimestamp="true" src="${maven.repo.remote}/maven/maven-install-latest.jar"> + </get> + <unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar"> + </unjar> + </target> +</project> \ No newline at end of file
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>