summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/gnu/xml/transform
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/gnu/xml/transform')
-rw-r--r--libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java2
-rw-r--r--libjava/classpath/gnu/xml/transform/ForEachNode.java2
-rw-r--r--libjava/classpath/gnu/xml/transform/TransformerImpl.java19
3 files changed, 18 insertions, 5 deletions
diff --git a/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java b/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java
index 38b605a07ed..041809bdf1a 100644
--- a/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java
+++ b/libjava/classpath/gnu/xml/transform/ApplyTemplatesNode.java
@@ -80,7 +80,7 @@ final class ApplyTemplatesNode
List sortKeys2 = new ArrayList(len);
for (int i = 0; i < len; i++)
sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet));
- len = withParams.size();
+ len = withParams != null ? withParams.size() : 0;
List withParams2 = new ArrayList(len);
for (int i = 0; i < len; i++)
withParams2.add(((WithParam) withParams.get(i)).clone(stylesheet));
diff --git a/libjava/classpath/gnu/xml/transform/ForEachNode.java b/libjava/classpath/gnu/xml/transform/ForEachNode.java
index c8f51a6febb..25b824534c9 100644
--- a/libjava/classpath/gnu/xml/transform/ForEachNode.java
+++ b/libjava/classpath/gnu/xml/transform/ForEachNode.java
@@ -67,7 +67,7 @@ final class ForEachNode
TemplateNode clone(Stylesheet stylesheet)
{
- int len = sortKeys.size();
+ int len = sortKeys != null ? sortKeys.size() : 0;
List sortKeys2 = new ArrayList(len);
for (int i = 0; i < len; i++)
sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet));
diff --git a/libjava/classpath/gnu/xml/transform/TransformerImpl.java b/libjava/classpath/gnu/xml/transform/TransformerImpl.java
index 6a0a5be1643..732a911bd8c 100644
--- a/libjava/classpath/gnu/xml/transform/TransformerImpl.java
+++ b/libjava/classpath/gnu/xml/transform/TransformerImpl.java
@@ -238,7 +238,7 @@ class TransformerImpl
outputProperties.getProperty(OutputKeys.CDATA_SECTION_ELEMENTS);
boolean indent =
"yes".equals(outputProperties.getProperty(OutputKeys.INDENT));
- if (created)
+ if (created && parent instanceof DomDocument)
{
// Discover document element
DomDocument resultDoc = (DomDocument) parent;
@@ -320,7 +320,7 @@ class TransformerImpl
}
if (indent)
{
- if (created)
+ if (created && parent instanceof DomDocument)
{
DomDocument domDoc = (DomDocument) parent;
domDoc.setBuilding(true);
@@ -332,7 +332,7 @@ class TransformerImpl
(Document) parent :
parent.getOwnerDocument();
reindent(resultDoc, parent, 0);
- if (created)
+ if (created && parent instanceof DomDocument)
{
DomDocument domDoc = (DomDocument) parent;
domDoc.setBuilding(false);
@@ -576,6 +576,19 @@ class TransformerImpl
}
catch (IOException e)
{
+ if (errorListener != null)
+ {
+ try
+ {
+ errorListener.error(new TransformerException(e));
+ }
+ catch (TransformerException e2)
+ {
+ e2.printStackTrace(System.err);
+ }
+ }
+ else
+ e.printStackTrace(System.err);
}
}
}
OpenPOWER on IntegriCloud