morgand 2003/01/25 16:20:40 Modified: jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean DynabeanTag.java DynaclassTag.java PropertyTag.java SetTag.java Log: converted dynabean taglib from Exception to JellyTagException Revision Changes Path 1.2 +18 -11 jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/DynabeanTag.java Index: DynabeanTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/DynabeanTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DynabeanTag.java 15 Jan 2003 15:18:32 -0000 1.1 +++ DynabeanTag.java 26 Jan 2003 00:20:39 -0000 1.2 @@ -63,6 +63,7 @@ import org.apache.commons.beanutils.DynaBean; import org.apache.commons.beanutils.DynaClass; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; @@ -83,7 +84,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException { if (dynaClass == null) { throw new MissingAttributeException( "dynaclass" ); @@ -93,11 +94,17 @@ throw new MissingAttributeException( "var" ); } - // Create dynabean instance for this dynaclass - DynaBean dynaBean = dynaClass.newInstance(); - - // Place new dynabean in context as a variable - context.setVariable(getVar(), dynaBean); + try { + // Create dynabean instance for this dynaclass + DynaBean dynaBean = dynaClass.newInstance(); + + // Place new dynabean in context as a variable + context.setVariable(getVar(), dynaBean); + } catch (IllegalAccessException e) { + throw new JellyTagException(e); + } catch (InstantiationException e) { + throw new JellyTagException(e); + } } // Properties 1.2 +8 -8 jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/DynaclassTag.java Index: DynaclassTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/DynaclassTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DynaclassTag.java 15 Jan 2003 15:18:32 -0000 1.1 +++ DynaclassTag.java 26 Jan 2003 00:20:39 -0000 1.2 @@ -66,7 +66,7 @@ import org.apache.commons.beanutils.BasicDynaClass; import org.apache.commons.beanutils.DynaClass; import org.apache.commons.beanutils.DynaProperty; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; @@ -94,7 +94,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException { if (name == null) { throw new MissingAttributeException("name"); @@ -113,11 +113,11 @@ new DynaProperty[propList.size()]); if (props == null) { - throw new JellyException("No properties list"); + throw new JellyTagException("No properties list"); } if (props.length == 0) { - throw new JellyException("No properties"); + throw new JellyTagException("No properties"); } // Create the dynaclass with name and properties 1.2 +8 -8 jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/PropertyTag.java Index: PropertyTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/PropertyTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PropertyTag.java 15 Jan 2003 15:18:32 -0000 1.1 +++ PropertyTag.java 26 Jan 2003 00:20:39 -0000 1.2 @@ -62,7 +62,7 @@ package org.apache.commons.jelly.tags.dynabean; import org.apache.commons.beanutils.DynaProperty; -import org.apache.commons.jelly.JellyException; +import org.apache.commons.jelly.JellyTagException; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; @@ -89,14 +89,14 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag (XMLOutput output) throws Exception { + public void doTag (XMLOutput output) throws MissingAttributeException, JellyTagException { // Check that this tag is used inside the body of // a DynaClass tag, so that it can access the // context of that tag DynaclassTag parentTag = (DynaclassTag) findAncestorWithClass( DynaclassTag.class ); if ( parentTag == null ) { - throw new JellyException( "This tag must be enclosed inside a <dynaclass> tag" ); + throw new JellyTagException( "This tag must be enclosed inside a <dynaclass> tag" ); } // Check property name @@ -140,7 +140,7 @@ propClass = Class.forName(type); } catch (Exception e) { - throw new JellyException + throw new JellyTagException ("Class " + type + " not found by Class.forName"); } 1.2 +9 -9 jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/SetTag.java Index: SetTag.java =================================================================== RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/dynabean/src/java/org/apache/commons/jelly/tags/dynabean/SetTag.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SetTag.java 15 Jan 2003 15:18:32 -0000 1.1 +++ SetTag.java 26 Jan 2003 00:20:39 -0000 1.2 @@ -64,7 +64,7 @@ import java.util.Map; import org.apache.commons.beanutils.BeanUtils; -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; @@ -101,7 +101,7 @@ // Tag interface //------------------------------------------------------------------------- - public void doTag(XMLOutput output) throws Exception { + public void doTag(XMLOutput output) throws JellyTagException { Object answer = null; if ( value != null ) { answer = value.evaluate(context); @@ -141,10 +141,10 @@ } else { if ( target == null ) { - throw new JellyException( "Either a 'var' or a 'target' attribute must be defined for this tag" ); + throw new JellyTagException( "Either a 'var' or a 'target' attribute must be defined for this tag" ); } if ( property == null ) { - throw new JellyException( "You must define a 'property' attribute if you specify a 'target'" ); + throw new JellyTagException( "You must define a 'property' attribute if you specify a 'target'" ); } setPropertyValue( target, property, answer ); } @@ -186,7 +186,7 @@ // Implementation methods //------------------------------------------------------------------------- - protected void setPropertyValue( Object target, String property, Object value ) throws Exception { + protected void setPropertyValue( Object target, String property, Object value ) { try { if ( target instanceof Map ) { Map map = (Map) target;
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>