(no commit message)
[utils] / support / general / src / main / java / org / wamblee / xml / XslTransformer.java
index 0e9ffee48867d0fa81cd6bacc1e1f0e20899025c..b3ab9eda04e516ca0afc4532dbe99826140db9ae 100644 (file)
@@ -1,21 +1,24 @@
 /*
- * Copyright 2005 the original author or authors.
+ * Copyright 2005-2010 the original author or authors.
  * 
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
  * 
- * http://www.apache.org/licenses/LICENSE-2.0
+ *      http://www.apache.org/licenses/LICENSE-2.0
  * 
  * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
-
 package org.wamblee.xml;
 
+import org.w3c.dom.Document;
+
+import org.wamblee.io.FileResource;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -33,16 +36,12 @@ import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
-import org.w3c.dom.Document;
-import org.wamblee.io.FileResource;
-
 /**
  * XSL transformer for simplified usage of XSL transformations.
- *
+ * 
  * @author Erik Brakkee
  */
 public class XslTransformer {
-
     private TransformerFactory factory;
 
     /**
@@ -65,25 +64,31 @@ public class XslTransformer {
     }
 
     /**
-     * Resolves an XSLT based on URI. 
-     * @param aXslt XSLT to resolve, 
+     * Resolves an XSLT based on URI.
+     * 
+     * @param aXslt
+     *            XSLT to resolve,
+     * 
      * @return Source for the XSLT
-     * @throws TransformerException In case the XSLT cannot be found. 
+     * 
+     * @throws TransformerException
+     *             In case the XSLT cannot be found.
      */
     public Source resolve(String aXslt) throws TransformerException {
         URIResolver resolver = factory.getURIResolver();
+
         if (resolver == null) {
             if (new File(aXslt).canRead()) {
                 try {
                     return new StreamSource(new FileResource(new File(aXslt))
-                            .getInputStream());
+                        .getInputStream());
                 } catch (IOException e) {
                     throw new TransformerException(e.getMessage(), e);
                 }
-            } else {
-                throw new TransformerException("Cannot read '" + aXslt + "'"); 
             }
+            throw new TransformerException("Cannot read '" + aXslt + "'");
         }
+
         return resolver.resolve(aXslt, "");
     }
 
@@ -95,17 +100,20 @@ public class XslTransformer {
      *            Document to transform.
      * @param aXslt
      *            XSLT to use.
+     * 
      * @return Transformed document.
+     * 
      * @throws IOException
      *             In case of problems reading resources.
      * @throws TransformerException
      *             In case transformation fails.
      */
     public Document transform(Document aDocument, Source aXslt)
-            throws IOException, TransformerException {
+        throws IOException, TransformerException {
         Source source = new DOMSource(aDocument);
         DOMResult result = new DOMResult();
         transform(source, result, aXslt);
+
         return (Document) result.getNode();
     }
 
@@ -116,17 +124,20 @@ public class XslTransformer {
      *            Document to transform.
      * @param aXslt
      *            XSLT to use.
+     * 
      * @return Transformed document.
+     * 
      * @throws IOException
      *             In case of problems reading resources.
      * @throws TransformerException
      *             In case transformation fails.
      */
     public Document transform(byte[] aDocument, Source aXslt)
-            throws IOException, TransformerException {
+        throws IOException, TransformerException {
         Source source = new StreamSource(new ByteArrayInputStream(aDocument));
         DOMResult result = new DOMResult();
         transform(source, result, aXslt);
+
         return (Document) result.getNode();
     }
 
@@ -138,14 +149,17 @@ public class XslTransformer {
      *            Document to transform.
      * @param aXslt
      *            XSL transformation.
+     * 
      * @return Transformed document.
+     * 
      */
     public String textTransform(byte[] aDocument, Source aXslt)
-            throws IOException, TransformerException {
+        throws IOException, TransformerException {
         Source source = new StreamSource(new ByteArrayInputStream(aDocument));
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         StreamResult result = new StreamResult(os);
         transform(source, result, aXslt);
+
         return new String(os.toByteArray());
     }
 
@@ -158,19 +172,20 @@ public class XslTransformer {
      *            Result of the transformation.
      * @param aXslt
      *            XSLT to use.
+     * 
      * @throws IOException
      *             In case of problems reading resources.
      * @throws TransformerException
      *             In case transformation fails.
      */
     public void transform(Source aSource, Result aResult, Source aXslt)
-            throws IOException, TransformerException {
+        throws IOException, TransformerException {
         try {
             Transformer transformer = factory.newTransformer(aXslt);
             transformer.transform(aSource, aResult);
         } catch (TransformerConfigurationException e) {
             throw new TransformerException(
-                    "Configuration problem of XSLT transformation", e);
+                "Configuration problem of XSLT transformation", e);
         }
     }
 }