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/26 10:01:28 UTC
cvs commit: jakarta-commons-sandbox/jelly/jelly-tags/velocity/src/java/org/apache/commons/jelly/tags/velocity MergeTag.java VelocityTagSupport.java
morgand 2003/01/26 01:01:28
Modified: jelly/jelly-tags/velocity/src/java/org/apache/commons/jelly/tags/velocity
MergeTag.java VelocityTagSupport.java
Log:
converted velocity taglib from Exception to JellyTagException
Revision Changes Path
1.2 +36 -12 jakarta-commons-sandbox/jelly/jelly-tags/velocity/src/java/org/apache/commons/jelly/tags/velocity/MergeTag.java
Index: MergeTag.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/velocity/src/java/org/apache/commons/jelly/tags/velocity/MergeTag.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- MergeTag.java 7 Jan 2003 03:33:31 -0000 1.1
+++ MergeTag.java 26 Jan 2003 09:01:28 -0000 1.2
@@ -56,10 +56,15 @@
* ====================================================================
*/
-import org.apache.commons.jelly.JellyException;
+import org.apache.commons.jelly.JellyTagException;
import org.apache.commons.jelly.XMLOutput;
+import org.apache.velocity.exception.MethodInvocationException;
+import org.apache.velocity.exception.ParseErrorException;
+import org.apache.velocity.exception.ResourceNotFoundException;
+
import java.io.FileOutputStream;
+import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer;
@@ -86,21 +91,26 @@
// -- Tag interface -----------------------------------------------------
- public void doTag( final XMLOutput output ) throws Exception
+ public void doTag( final XMLOutput output ) throws JellyTagException
{
if ( basedir == null || template == null )
{
- throw new JellyException(
+ throw new JellyTagException(
"This tag must define 'basedir' and 'template'" );
}
if ( name != null )
{
- Writer writer = new OutputStreamWriter(
- new FileOutputStream( name ),
- outputEncoding == null ? ENCODING : outputEncoding );
- mergeTemplate( writer );
- writer.close();
+ try {
+ Writer writer = new OutputStreamWriter(
+ new FileOutputStream( name ),
+ outputEncoding == null ? ENCODING : outputEncoding );
+ mergeTemplate( writer );
+ writer.close();
+ }
+ catch (IOException e) {
+ throw new JellyTagException(e);
+ }
}
else if ( var != null )
{
@@ -110,7 +120,7 @@
}
else
{
- throw new JellyException(
+ throw new JellyTagException(
"This tag must define either 'name' or 'var'" );
}
}
@@ -207,16 +217,30 @@
* @param writer The output writer used to write the merged results.
* @throws Exception If an exception occurs during the merge.
*/
- private void mergeTemplate( Writer writer ) throws Exception
+ private void mergeTemplate( Writer writer ) throws JellyTagException
{
JellyContextAdapter adapter = new JellyContextAdapter( getContext() );
adapter.setReadOnly( readOnly );
- getVelocityEngine( basedir ).mergeTemplate(
+ try {
+ getVelocityEngine( basedir ).mergeTemplate(
template,
inputEncoding == null ? ENCODING : inputEncoding,
adapter,
writer );
+ }
+ catch (ResourceNotFoundException e) {
+ throw new JellyTagException(e);
+ }
+ catch (ParseErrorException e) {
+ throw new JellyTagException(e);
+ }
+ catch (MethodInvocationException e) {
+ throw new JellyTagException(e);
+ }
+ catch (Exception e) {
+ throw new JellyTagException(e);
+ }
}
}
1.2 +10 -3 jakarta-commons-sandbox/jelly/jelly-tags/velocity/src/java/org/apache/commons/jelly/tags/velocity/VelocityTagSupport.java
Index: VelocityTagSupport.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/jelly/jelly-tags/velocity/src/java/org/apache/commons/jelly/tags/velocity/VelocityTagSupport.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- VelocityTagSupport.java 7 Jan 2003 03:33:31 -0000 1.1
+++ VelocityTagSupport.java 26 Jan 2003 09:01:28 -0000 1.2
@@ -56,6 +56,7 @@
* ====================================================================
*/
+import org.apache.commons.jelly.JellyTagException;
import org.apache.commons.jelly.TagSupport;
import org.apache.velocity.app.VelocityEngine;
@@ -82,7 +83,7 @@
* @return A VelocityEngine with a file resource loader configured
* for the specified base directory.
*/
- public VelocityEngine getVelocityEngine( String basedir ) throws Exception
+ public VelocityEngine getVelocityEngine( String basedir ) throws JellyTagException
{
VelocityEngine ve = ( VelocityEngine ) getContext().getVariable(
keyName( basedir ) );
@@ -92,7 +93,13 @@
ve = new VelocityEngine();
ve.setProperty( VelocityEngine.RUNTIME_LOG_LOGSYSTEM, this );
ve.setProperty( VelocityEngine.FILE_RESOURCE_LOADER_PATH, basedir );
- ve.init();
+
+ try {
+ ve.init();
+ }
+ catch (Exception e) {
+ throw new JellyTagException(e);
+ }
getContext().setVariable( keyName( basedir ), ve );
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>