From d507d57df1006fbb062dd98d0332aa6747f5c014 Mon Sep 17 00:00:00 2001 From: Sam Ruby Date: Fri, 23 Jun 2000 21:18:07 +0000 Subject: [PATCH] Fine tune startup (handle liaison being present but processor not in classpath) git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267692 13f79535-47bb-0310-9956-ffa450edef68 --- src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java | 4 ++-- .../org/apache/tools/ant/taskdefs/optional/XalanLiaison.java | 5 ++++- .../org/apache/tools/ant/taskdefs/optional/XslpLiaison.java | 5 ++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java index bb3844801..4e9c65030 100644 --- a/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java +++ b/src/main/org/apache/tools/ant/taskdefs/XSLTProcess.java @@ -127,10 +127,10 @@ public class XSLTProcess extends MatchingTask { if (liaison == null) { try { setProcessor("xslp"); - } catch (Exception e1) { + } catch (Throwable e1) { try { setProcessor("xalan"); - } catch (Exception e2) { + } catch (Throwable e2) { throw new BuildException(e2); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java b/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java index 0babef7fa..29ff7eba3 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/XalanLiaison.java @@ -71,12 +71,15 @@ public class XalanLiaison implements XSLTLiaison { XSLTProcessor processor; XSLTInputSource xslSheet; + public XalanLiaison() throws Exception { + processor = XSLTProcessorFactory.getProcessor(); + } + public void setStylesheet(String fileName) throws Exception { xslSheet = new XSLTInputSource (fileName); }; public void transform(String infile, String outfile) throws Exception { - if (processor == null) processor = XSLTProcessorFactory.getProcessor(); processor.process(new XSLTInputSource(infile), xslSheet, new XSLTResultTarget(outfile)); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java b/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java index f321bf75e..b9dbad22d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/XslpLiaison.java @@ -72,13 +72,16 @@ public class XslpLiaison implements XSLTLiaison { XSLProcessor processor; XSLStylesheet xslSheet; + public XslpLiaison() { + processor = new XSLProcessor(); + } + public void setStylesheet(String fileName) throws Exception { XSLReader xslReader = new XSLReader(); xslSheet = xslReader.read( fileName ); }; public void transform(String infile, String outfile) throws Exception { - if (processor == null) processor = new XSLProcessor(); processor.process(infile, xslSheet, new FileWriter(outfile)); }