You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mo...@apache.org on 2003/01/25 20:31:48 UTC

cvs commit: jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util AvailableTag.java FileTag.java LoadTextTag.java PropertiesTag.java ReplaceTag.java SleepTag.java TokenizeTag.java

morgand     2003/01/25 11:31:48

  Modified:    jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util
                        AvailableTag.java FileTag.java LoadTextTag.java
                        PropertiesTag.java ReplaceTag.java SleepTag.java
                        TokenizeTag.java
  Log:
  converted util taglib from Exception to JellyTagException
  
  Revision  Changes    Path
  1.2       +9 -5      jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/AvailableTag.java
  
  Index: AvailableTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/AvailableTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AvailableTag.java	6 Jan 2003 16:15:46 -0000	1.1
  +++ AvailableTag.java	25 Jan 2003 19:31:48 -0000	1.2
  @@ -61,8 +61,10 @@
   import java.io.File;
   import java.io.IOException;
   import java.io.InputStream;
  +import java.net.MalformedURLException;
   import java.net.URL;
   
  +import org.apache.commons.jelly.JellyTagException;
   import org.apache.commons.jelly.TagSupport;
   import org.apache.commons.jelly.XMLOutput;
   
  @@ -84,22 +86,24 @@
   
       // Tag interface
       //------------------------------------------------------------------------- 
  -    public void doTag(final XMLOutput output) throws Exception {
  +    public void doTag(final XMLOutput output) throws JellyTagException {
       	boolean available = false;
       	
       	if (file != null) {
       		available = file.exists();
       	}
       	else if (uri != null) {
  -    		URL url = context.getResource(uri);
  -    		String fileName = url.getFile();
               try {
  +                URL url = context.getResource(uri);
  +    		    String fileName = url.getFile();
                   InputStream is = url.openStream();
                   available = (is != null);
                   is.close();
  +            } catch (MalformedURLException e) {
  +                throw new JellyTagException(e);
               } catch (IOException ioe) {
                   available = false;
  -            }
  +            } 
       	}
       	
       	if (available) {
  
  
  
  1.3       +3 -2      jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/FileTag.java
  
  Index: FileTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/FileTag.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FileTag.java	19 Jan 2003 15:14:26 -0000	1.2
  +++ FileTag.java	25 Jan 2003 19:31:48 -0000	1.3
  @@ -60,6 +60,7 @@
   
   import java.io.File;
   
  +import org.apache.commons.jelly.JellyTagException;
   import org.apache.commons.jelly.MissingAttributeException;
   import org.apache.commons.jelly.TagSupport;
   import org.apache.commons.jelly.XMLOutput;
  @@ -80,7 +81,7 @@
   
       // Tag interface
       //------------------------------------------------------------------------- 
  -    public void doTag(final XMLOutput output) throws Exception {
  +    public void doTag(final XMLOutput output) throws MissingAttributeException, JellyTagException {
           boolean available = false;
   
           if (name == null) {
  
  
  
  1.2       +29 -13    jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/LoadTextTag.java
  
  Index: LoadTextTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/LoadTextTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LoadTextTag.java	6 Jan 2003 16:15:46 -0000	1.1
  +++ LoadTextTag.java	25 Jan 2003 19:31:48 -0000	1.2
  @@ -63,12 +63,14 @@
   
   import java.io.BufferedReader;
   import java.io.File;
  +import java.io.FileNotFoundException;
   import java.io.FileReader;
   import java.io.InputStream;
   import java.io.InputStreamReader;
  +import java.io.IOException;
   import java.io.Reader;
   
  -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;
  @@ -96,29 +98,43 @@
   
       // Tag interface
       //------------------------------------------------------------------------- 
  -    public void doTag(XMLOutput output) throws Exception {
  +    public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException {
           if (var == null) {
               throw new MissingAttributeException("var");
           }
           if (file == null && uri == null) {
  -            throw new JellyException( "This tag must have a 'file' or 'uri' specified" );
  +            throw new JellyTagException( "This tag must have a 'file' or 'uri' specified" );
           }
           Reader reader = null;
           if (file != null) {
               if (! file.exists()) {
  -                throw new JellyException( "The file: " + file + " does not exist" );
  +                throw new JellyTagException( "The file: " + file + " does not exist" );
  +            }
  +            
  +            try {
  +                reader = new FileReader(file);
  +            } catch (FileNotFoundException e) {
  +                throw new JellyTagException("could not find the file",e);
               }
  -            reader = new FileReader(file);
           }   
           else {
               InputStream in = context.getResourceAsStream(uri);
               if (in == null) {
  -                throw new JellyException( "Could not find uri: " + uri );
  +                throw new JellyTagException( "Could not find uri: " + uri );
               }
               // @todo should we allow an encoding to be specified?
               reader = new InputStreamReader(in);
           }
  -        String text = loadText(reader);
  +        
  +        String text = null;
  +        
  +        try {
  +            text = loadText(reader);
  +        } 
  +        catch (IOException e) {
  +            throw new JellyTagException(e);
  +        }
  +        
           context.setVariable(var, text);
       }
   
  @@ -179,7 +195,7 @@
       /**
        * Loads all the text from the given Reader
        */
  -    protected String loadText(Reader reader) throws Exception {
  +    protected String loadText(Reader reader) throws IOException {
           StringBuffer buffer = new StringBuffer();
           
           // @todo its probably more efficient to use a fixed char[] buffer instead
  
  
  
  1.2       +21 -8     jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/PropertiesTag.java
  
  Index: PropertiesTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/PropertiesTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PropertiesTag.java	6 Jan 2003 16:15:46 -0000	1.1
  +++ PropertiesTag.java	25 Jan 2003 19:31:48 -0000	1.2
  @@ -60,11 +60,13 @@
   
   import java.io.File;
   import java.io.FileInputStream;
  +import java.io.FileNotFoundException;
   import java.io.InputStream;
  +import java.io.IOException;
   import java.util.Enumeration;
   import java.util.Properties;
   
  -import org.apache.commons.jelly.JellyException;
  +import org.apache.commons.jelly.JellyTagException;
   import org.apache.commons.jelly.TagSupport;
   import org.apache.commons.jelly.XMLOutput;
   
  @@ -85,26 +87,37 @@
   
       // Tag interface
       //------------------------------------------------------------------------- 
  -    public void doTag(final XMLOutput output) throws Exception {
  +    public void doTag(final XMLOutput output) throws JellyTagException {
           if (file == null && uri == null) {
  -            throw new JellyException("This tag must define a 'file' or 'uri' attribute");
  +            throw new JellyTagException("This tag must define a 'file' or 'uri' attribute");
           }
           InputStream is = null;
           if (file != null) {
               File f = new File(file);
               if (!f.exists()) {
  -                throw new JellyException("file: " + file + " does not exist!");
  +                throw new JellyTagException("file: " + file + " does not exist!");
  +            }
  +            
  +            try {
  +                is = new FileInputStream(f);
  +            } catch (FileNotFoundException e) {
  +                throw new JellyTagException(e);
               }
  -            is = new FileInputStream(f);
           }
           else {
               is = context.getResourceAsStream(uri);
               if (is == null) {
  -                throw new JellyException( "Could not find: " + uri );
  +                throw new JellyTagException( "Could not find: " + uri );
               }
           }
           Properties props = new Properties();
  -        props.load(is);
  +        
  +        try {
  +            props.load(is);
  +        } catch (IOException e) {
  +            throw new JellyTagException("properties tag could not load from file",e);
  +        }
  +        
           if (var != null) {
               context.setVariable(var, props);
           }
  
  
  
  1.2       +9 -3      jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/ReplaceTag.java
  
  Index: ReplaceTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/ReplaceTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ReplaceTag.java	6 Jan 2003 16:15:46 -0000	1.1
  +++ ReplaceTag.java	25 Jan 2003 19:31:48 -0000	1.2
  @@ -58,13 +58,15 @@
   
   package org.apache.commons.jelly.tags.util;
   
  -import org.apache.commons.jelly.expression.Expression;
  +import org.apache.commons.jelly.JellyTagException;
   import org.apache.commons.jelly.MissingAttributeException;
   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;
   
  +import org.xml.sax.SAXException;
   
   /**
    * A tag that replaces occurrences of strings in its body (or value)
  @@ -90,7 +92,7 @@
       
       // Tag interface
       //------------------------------------------------------------------------- 
  -    public void doTag(XMLOutput output) throws Exception {
  +    public void doTag(XMLOutput output) throws MissingAttributeException, JellyTagException {
           // check required properties
           if (oldChar == null) {
               throw new MissingAttributeException("oldChar must be provided");
  @@ -114,7 +116,11 @@
               if ( var != null ) {
                   context.setVariable(var, stringAnswer);
               } else {
  -                output.write(stringAnswer);
  +                try {
  +                    output.write(stringAnswer);
  +                } catch (SAXException e) {
  +                    throw new JellyTagException(e);
  +                }
               }
           }
       }
  
  
  
  1.2       +8 -3      jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/SleepTag.java
  
  Index: SleepTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/SleepTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SleepTag.java	6 Jan 2003 16:15:46 -0000	1.1
  +++ SleepTag.java	25 Jan 2003 19:31:48 -0000	1.2
  @@ -58,6 +58,7 @@
   
   package org.apache.commons.jelly.tags.util;
   
  +import org.apache.commons.jelly.JellyTagException;
   import org.apache.commons.jelly.TagSupport;
   import org.apache.commons.jelly.XMLOutput;
   /**
  @@ -74,9 +75,13 @@
   
       // Tag interface
       //------------------------------------------------------------------------- 
  -    public void doTag(final XMLOutput output) throws Exception {
  +    public void doTag(final XMLOutput output) throws JellyTagException {
           if (millis > 0) {
  -            Thread.sleep(millis);
  +            try {
  +                Thread.sleep(millis);
  +            } catch (InterruptedException e) {
  +                throw new JellyTagException(e);
  +            }
           }
       }
   
  
  
  
  1.2       +2 -2      jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/TokenizeTag.java
  
  Index: TokenizeTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/util/src/java/org/apache/commons/jelly/tags/util/TokenizeTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TokenizeTag.java	6 Jan 2003 16:15:46 -0000	1.1
  +++ TokenizeTag.java	25 Jan 2003 19:31:48 -0000	1.2
  @@ -62,6 +62,7 @@
   import java.util.List;
   import java.util.StringTokenizer;
   
  +import org.apache.commons.jelly.JellyTagException;
   import org.apache.commons.jelly.MissingAttributeException;
   import org.apache.commons.jelly.TagSupport;
   import org.apache.commons.jelly.XMLOutput;
  @@ -79,8 +80,7 @@
       // Tag interface
       //------------------------------------------------------------------------- 
       
  -    public void doTag(final XMLOutput output) throws Exception
  -    {
  +    public void doTag(final XMLOutput output) throws MissingAttributeException, JellyTagException {
           if ( this.var == null )
           {
               throw new MissingAttributeException( "var" );
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>