[jboss-cvs] JBossAS SVN: r112387 - projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 28 07:16:28 EDT 2011


Author: jeff.zhang
Date: 2011-10-28 07:16:28 -0400 (Fri, 28 Oct 2011)
New Revision: 112387

Added:
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoryConverter.java
Modified:
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoriesImpl.java
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DataSourceConverter.java
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DatasourcesImpl.java
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyCfParser.java
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/Main.java
Log:
[JBJCA-679] use transformer for pretty print xml

Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoriesImpl.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoriesImpl.java	2011-10-28 09:36:13 UTC (rev 112386)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoriesImpl.java	2011-10-28 11:16:28 UTC (rev 112387)
@@ -23,7 +23,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-
 /**
  * A ConnectionFactoriesImpl .
  * 
@@ -52,7 +51,7 @@
    public String toString()
    {
       StringBuilder out = new StringBuilder();
-      out.append("<resource-adapters>\n");
+      out.append("<resource-adapters>");
 
       for (ConnectionFactory cf : noTxConnectionFactory)
       {
@@ -63,8 +62,8 @@
       {
          out.append(cf.toString());
       }
-
-      out.append("\n</resource-adapters>\n");
+      out.append("</resource-adapters>");
+      
       return out.toString();
    }
 

Added: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoryConverter.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoryConverter.java	                        (rev 0)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/ConnectionFactoryConverter.java	2011-10-28 11:16:28 UTC (rev 112387)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2011, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.jca.as.converters;
+
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
+/**
+ * ConnectionFactoryConverter
+ * 
+ * @author Jeff Zhang
+ * @version $Revision: $
+ */
+public class ConnectionFactoryConverter
+{
+
+   /**
+    * ConnectionFactoryConverter constructor
+    */
+   public ConnectionFactoryConverter()
+   {
+   }
+
+   /**
+    * convert 
+    * @param in inputStream
+    * @param out outputStream
+    * @throws Exception exception
+    */
+   public void convert(InputStream in, OutputStream out) throws Exception
+   {
+      LegacyCfParser parser = new LegacyCfParser();
+      ConnectionFactories ds = parser.parse(in);
+
+      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+      DocumentBuilder db = dbf.newDocumentBuilder();
+      Document doc = db.parse(new InputSource(new StringReader(ds.toString())));
+
+      TransformerFactory tfactory = TransformerFactory.newInstance();
+      Transformer serializer;
+
+      serializer = tfactory.newTransformer();
+      //Setup indenting to "pretty print"
+      serializer.setOutputProperty(OutputKeys.INDENT, "yes");
+      serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
+
+      serializer.transform(new DOMSource(doc), new StreamResult(out));
+
+   }
+}

Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DataSourceConverter.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DataSourceConverter.java	2011-10-28 09:36:13 UTC (rev 112386)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DataSourceConverter.java	2011-10-28 11:16:28 UTC (rev 112387)
@@ -21,6 +21,21 @@
  */
 package org.jboss.jca.as.converters;
 
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.StringReader;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.transform.OutputKeys;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
+
 /**
  * DataSourceConverter
  * 
@@ -29,23 +44,38 @@
  */
 public class DataSourceConverter
 {
-   private DataSources dss;
-   
+
    /**
     * DataSourceConverter constructor
-    * @param dss DataSources
     */
-   public DataSourceConverter(DataSources dss)
+   public DataSourceConverter()
    {
-      this.dss = dss;
    }
-   
+
    /**
-    * convert DataSources to string
-    * @return xml string
+    * convert 
+    * @param in inputStream
+    * @param out outputStream
+    * @throws Exception exception
     */
-   public String convert()
+   public void convert(InputStream in, OutputStream out) throws Exception
    {
-      return dss.toString();
+      LegacyDsParser parser = new LegacyDsParser();
+      DataSources ds = parser.parse(in);
+
+      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+      DocumentBuilder db = dbf.newDocumentBuilder();
+      Document doc = db.parse(new InputSource(new StringReader(ds.toString())));
+
+      TransformerFactory tfactory = TransformerFactory.newInstance();
+      Transformer serializer;
+
+      serializer = tfactory.newTransformer();
+      //Setup indenting to "pretty print"
+      serializer.setOutputProperty(OutputKeys.INDENT, "yes");
+      serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
+
+      serializer.transform(new DOMSource(doc), new StreamResult(out));
+
    }
 }

Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DatasourcesImpl.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DatasourcesImpl.java	2011-10-28 09:36:13 UTC (rev 112386)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/DatasourcesImpl.java	2011-10-28 11:16:28 UTC (rev 112387)
@@ -31,7 +31,6 @@
  */
 public class DatasourcesImpl implements DataSources
 {
-   
    private List<NoTxDataSource> noTxDatasource;
    private List<LocalTxDataSource> localTxDatasource;
    private List<XaDataSource> xaDataSource;
@@ -56,10 +55,9 @@
    public String toString()
    {
       StringBuilder out = new StringBuilder();
-      out.append("<datasources>\n");
+      out.append("<datasources>");
       for (DataSource ds : noTxDatasource)
       {
-         
          out.append(ds.toString());
       }
       for (DataSource ds : localTxDatasource)
@@ -70,7 +68,7 @@
       {
          out.append(ds.toString());
       }
-      out.append("\n</datasources>\n");
+      out.append("</datasources>");
       return out.toString();
    }
 

Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyCfParser.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyCfParser.java	2011-10-28 09:36:13 UTC (rev 112386)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/LegacyCfParser.java	2011-10-28 11:16:28 UTC (rev 112387)
@@ -260,7 +260,7 @@
                   }
                   case CONNECTION_DEFINITION : {
                      elementAsString(reader);
-                     connectionDefinition = "FIXME_MCF_CLASS_NAME";// we can't use the old -ds.xml definition.
+                     connectionDefinition = "FIXME_MCF_CLASS_NAME";
                      break;
                   }
                   case JNDI_NAME : {
@@ -390,7 +390,7 @@
                   }
                   case CONNECTION_DEFINITION : {
                      elementAsString(reader);
-                     connectionDefinition = "FIXME_MCF_CLASS_NAME";// we can't use the old -ds.xml definition.
+                     connectionDefinition = "FIXME_MCF_CLASS_NAME";
                      break;
                   }
                   case JNDI_NAME : {

Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/Main.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/Main.java	2011-10-28 09:36:13 UTC (rev 112386)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/converters/Main.java	2011-10-28 11:16:28 UTC (rev 112387)
@@ -24,7 +24,6 @@
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.nio.charset.Charset;
 
 /**
  * Converter main class
@@ -33,9 +32,6 @@
  */
 public class Main
 {
-   /** New line character */
-   private static final String NEW_LINE = System.getProperty("line.separator");
-
    /** Exit codes */
    private static final int SUCCESS = 0;
    private static final int ERROR = 1;
@@ -44,7 +40,6 @@
    /**
     * Main
     * @param args args 
-    * @throws Exception exception
     */
    public static void main(String[] args)
    {
@@ -70,28 +65,19 @@
             System.exit(OTHER);
          }
 
-         String outxml = "";
-
          in = new FileInputStream(oldDsFilename);
-
+         out = new FileOutputStream(newFilename);
          if (option.equals("-ds"))
          {
-            LegacyDsParser parser = new LegacyDsParser();
-            DataSources ds = parser.parse(in);
-            outxml = ds.toString();
+            DataSourceConverter converter = new DataSourceConverter();
+            converter.convert(in, out);
          }
          else if (option.equals("-ra"))
          {
-            LegacyCfParser parser = new LegacyCfParser();
-            ConnectionFactories cfs = parser.parse(in);
-            outxml = cfs.toString();
+            ConnectionFactoryConverter converter = new ConnectionFactoryConverter();
+            converter.convert(in, out);
          }
-         
-         out = new FileOutputStream(newFilename);
-         out.write(outxml.getBytes(Charset.forName("UTF-8")));
-         out.flush();
 
-         System.out.println(NEW_LINE);
          System.out.println("Done.");
          System.exit(SUCCESS);
       }



More information about the jboss-cvs-commits mailing list