Speed up XMLStreamNormalizedNodeStreamWriter.toString() 95/71795/1
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 4 May 2018 12:52:50 +0000 (14:52 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 4 May 2018 12:58:16 +0000 (14:58 +0200)
We already have a TransformerFactory, no need to create a new one,
which speeds up processing. Also change the thrown exception to
IllegalStateException, as we do not really expect this to fail.

Change-Id: I6710893ec7324a7cba26b13e8d7cdb9c2414167e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
yang/yang-data-codec-xml/src/main/java/org/opendaylight/yangtools/yang/data/codec/xml/XMLStreamNormalizedNodeStreamWriter.java

index 52925eaf1b65b37cc9e2f9dc729ff250e369a5ea..eed3926b7c78e961f875939e977f842459f280e3 100644 (file)
@@ -270,7 +270,7 @@ public abstract class XMLStreamNormalizedNodeStreamWriter<T> implements Normaliz
 
     public static String toString(final Element xml) {
         try {
-            final Transformer transformer = TransformerFactory.newInstance().newTransformer();
+            final Transformer transformer = TRANSFORMER_FACTORY.newTransformer();
             transformer.setOutputProperty(OutputKeys.INDENT, "yes");
 
             final StreamResult result = new StreamResult(new StringWriter());
@@ -278,8 +278,8 @@ public abstract class XMLStreamNormalizedNodeStreamWriter<T> implements Normaliz
             transformer.transform(source, result);
 
             return result.getWriter().toString();
-        } catch (IllegalArgumentException | TransformerFactoryConfigurationError | TransformerException e) {
-            throw new RuntimeException("Unable to serialize xml element " + xml, e);
+        } catch (IllegalArgumentException | TransformerException e) {
+            throw new IllegalStateException("Unable to serialize xml element " + xml, e);
         }
     }