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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Nov 6 10:22:16 EST 2011


Author: jeff.zhang
Date: 2011-11-06 10:22:16 -0500 (Sun, 06 Nov 2011)
New Revision: 112432

Added:
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java
Modified:
   projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/Main.java
Log:
[JBJCA-696] resource-adapters output

Modified: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/Main.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/Main.java	2011-11-05 16:06:43 UTC (rev 112431)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/Main.java	2011-11-06 15:22:16 UTC (rev 112432)
@@ -21,7 +21,12 @@
  */
 package org.jboss.jca.as.rarinfo;
 
+import org.jboss.jca.common.api.metadata.Defaults;
+import org.jboss.jca.common.api.metadata.common.CommonAdminObject;
+import org.jboss.jca.common.api.metadata.common.CommonConnDef;
+import org.jboss.jca.common.api.metadata.common.TransactionSupportEnum;
 import org.jboss.jca.common.api.metadata.ra.AdminObject;
+import org.jboss.jca.common.api.metadata.ra.ConfigProperty;
 import org.jboss.jca.common.api.metadata.ra.ConnectionDefinition;
 import org.jboss.jca.common.api.metadata.ra.Connector;
 import org.jboss.jca.common.api.metadata.ra.Connector.Version;
@@ -29,13 +34,20 @@
 import org.jboss.jca.common.api.metadata.ra.ResourceAdapter;
 import org.jboss.jca.common.api.metadata.ra.ResourceAdapter1516;
 import org.jboss.jca.common.api.metadata.ra.ra10.ResourceAdapter10;
+import org.jboss.jca.common.metadata.common.CommonAdminObjectImpl;
+import org.jboss.jca.common.metadata.common.CommonConnDefImpl;
 import org.jboss.jca.common.metadata.ra.RaParser;
 import org.jboss.jca.validator.Validation;
 
 import java.io.File;
 import java.io.InputStream;
 import java.io.PrintStream;
+import java.io.StringReader;
+import java.util.ArrayList;
 import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
@@ -48,8 +60,6 @@
 import javax.xml.transform.stream.StreamResult;
 
 import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
 import org.xml.sax.InputSource;
 
 /**
@@ -104,7 +114,6 @@
          boolean hasRaXml = false;
          boolean exsitNativeFile = false;
          Connector connector = null;
-         Node raNode = null;
 
          Enumeration zipEntries = zipFile.entries();
 
@@ -122,13 +131,7 @@
                RaParser parser = new RaParser();
                connector = parser.parse(raIn);
                raIn.close();
-               
-               DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
-               DocumentBuilder db = dbf.newDocumentBuilder();
-               Document doc = db.parse(new InputSource(zipFile.getInputStream(ze)));
-               NodeList raList = doc.getElementsByTagName("resourceadapter");
-               if (raList != null && raList.getLength() > 0)
-                  raNode = raList.item(0);
+
             }
          }
 
@@ -208,6 +211,12 @@
          else
             out.println("No");
          
+         String classname = "";
+         Map<String, String> raConfigProperties = null;
+         TransactionSupportEnum transSupport = TransactionSupportEnum.NoTransaction;
+         List<CommonAdminObject> adminObjects = null;
+         List<CommonConnDef> connDefs = null;
+
          if (connector.getVersion() != Version.V_10)
          {
             ResourceAdapter1516 ra1516 = (ResourceAdapter1516)ra;
@@ -219,17 +228,53 @@
             out.println("Managed-connection-factory:");
             if (ra1516.getOutboundResourceadapter() != null)
             {
+               if (ra1516.getOutboundResourceadapter().getConnectionDefinitions() != null)
+                  connDefs = new ArrayList<CommonConnDef>();
                for (ConnectionDefinition mcf : ra1516.getOutboundResourceadapter().getConnectionDefinitions())
                {
-                  out.println("  Class: " + mcf.getManagedConnectionFactoryClass());
+                  classname = mcf.getManagedConnectionFactoryClass().toString();
+                  out.println("  Class: " + classname);
+                  
+                  Map<String, String> configProperty = null;
+                  if (mcf.getConfigProperties() != null)
+                     configProperty = new HashMap<String, String>();
+                  for (ConfigProperty cp : mcf.getConfigProperties())
+                  {
+                     configProperty.put(cp.getConfigPropertyName().toString(), cp.getConfigPropertyValue().toString());
+                  }
+                  String poolName = classname.substring(classname.lastIndexOf('.') + 1);
+                  CommonConnDefImpl connImpl = new CommonConnDefImpl(configProperty, classname, 
+                        "java:jboss/eis/" + poolName, poolName, 
+                        Defaults.ENABLED, Defaults.USE_JAVA_CONTEXT, Defaults.USE_CCM, 
+                        null, null, null, null, null);
+                  connDefs.add(connImpl);
                }
+               
+               transSupport = ra1516.getOutboundResourceadapter().getTransactionSupport();
             }
-            
+
             out.println();
             out.println("Admin-object:");
+            
+            if (ra1516.getAdminObjects() != null)
+            {
+               adminObjects = new ArrayList<CommonAdminObject>();
+            }
             for (AdminObject ao : ra1516.getAdminObjects())
             {
-               out.println("  Class: " + ao.getAdminobjectClass());
+               String aoClassname = ao.getAdminobjectClass().toString();
+               out.println("  Class: " + aoClassname);
+               String poolName = classname.substring(aoClassname.lastIndexOf('.') + 1);
+               Map<String, String> configProperty = null;
+               if (ao.getConfigProperties() != null)
+                  configProperty = new HashMap<String, String>();
+               for (ConfigProperty cp : ao.getConfigProperties())
+               {
+                  configProperty.put(cp.getConfigPropertyName().toString(), cp.getConfigPropertyValue().toString());
+               }
+               CommonAdminObjectImpl aoImpl = new CommonAdminObjectImpl(configProperty, aoClassname,
+                     "java:jboss/eis/" + poolName, poolName, Defaults.ENABLED, Defaults.USE_JAVA_CONTEXT);
+               adminObjects.add(aoImpl);
             }
             
             out.println();
@@ -242,6 +287,17 @@
                   out.println("  Class: " + ml.getActivationspec().getActivationspecClass());
                }
             }
+            
+            
+            if (ra1516.getConfigProperties() != null)
+            {
+               raConfigProperties = new HashMap<String, String>();
+               for (ConfigProperty cp : ra1516.getConfigProperties())
+               {
+                  raConfigProperties.put(cp.getConfigPropertyName().toString(), cp.getConfigPropertyValue().toString());
+               }
+            }
+
          }
          else
          {
@@ -249,10 +305,38 @@
 
             ResourceAdapter10 ra10 = (ResourceAdapter10)ra;
             out.println("  Class: " + ra10.getManagedConnectionFactoryClass());
+            
+            classname = ra10.getManagedConnectionFactoryClass().toString();
+            transSupport = ra10.getTransactionSupport();
+            
+            Map<String, String> configProperty = null;
+            if (ra10.getConfigProperties() != null)
+               configProperty = new HashMap<String, String>();
+            for (ConfigProperty cp : ra10.getConfigProperties())
+            {
+               configProperty.put(cp.getConfigPropertyName().toString(), cp.getConfigPropertyValue().toString());
+            }
+            String poolName = classname.substring(classname.lastIndexOf('.') + 1);
+            CommonConnDefImpl connImpl = new CommonConnDefImpl(configProperty, classname, 
+                  "java:jboss/eis/" + poolName, poolName, 
+                  Defaults.ENABLED, Defaults.USE_JAVA_CONTEXT, Defaults.USE_CCM, 
+                  null, null, null, null, null);
+            connDefs = new ArrayList<CommonConnDef>();
+            connDefs.add(connImpl);
          }
          
-         if (raNode != null)
+
+         RaImpl raImpl = new RaImpl(rarFile, transSupport, connDefs, adminObjects, raConfigProperties);
+         raImpl.buildResourceAdapterImpl();
+
+         String raString = "<resource-adapters>" + raImpl.toString() + "</resource-adapters>";
+         if (!raString.equals(""))
          {
+
+            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+            DocumentBuilder db = dbf.newDocumentBuilder();
+            Document doc = db.parse(new InputSource(new StringReader(raString)));
+            
             out.println();
             out.println("Deployment descriptor:");
 
@@ -264,7 +348,7 @@
             serializer.setOutputProperty(OutputKeys.INDENT, "yes");
             serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
 
-            serializer.transform(new DOMSource(raNode), new StreamResult(out));
+            serializer.transform(new DOMSource(doc), new StreamResult(out));
          }
 
          System.out.println("Done.");

Added: projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java
===================================================================
--- projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java	                        (rev 0)
+++ projects/jboss-jca/trunk/as/src/main/java/org/jboss/jca/as/rarinfo/RaImpl.java	2011-11-06 15:22:16 UTC (rev 112432)
@@ -0,0 +1,84 @@
+/*
+ * 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.rarinfo;
+
+import org.jboss.jca.common.api.metadata.common.CommonAdminObject;
+import org.jboss.jca.common.api.metadata.common.CommonConnDef;
+import org.jboss.jca.common.api.metadata.common.TransactionSupportEnum;
+
+import org.jboss.jca.common.metadata.resourceadapter.ResourceAdapterImpl;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * A Resource Adpater impl.
+ * 
+ * @author Jeff Zhang
+ * @version $Revision: $
+ */
+public class RaImpl
+{
+   private ResourceAdapterImpl raImpl = null;
+
+   private TransactionSupportEnum transactionSupport;
+   private List<CommonConnDef> connectionDefinitions;
+   private List<CommonAdminObject> adminObjects;
+   private Map<String, String> raConfigProperties;
+   private String rarName;
+
+
+   /**
+    * RaImpl 
+    * @param rarName rarName
+    * @param transactionSupport transactionSupport
+    * @param connectionDefinitions connectionDefinitions
+    * @param adminObjects adminObjects
+    * @param raConfigProperties raConfigProperties
+    */
+   public RaImpl(String rarName, TransactionSupportEnum transactionSupport, List<CommonConnDef> connectionDefinitions,
+         List<CommonAdminObject> adminObjects, Map<String, String> raConfigProperties)
+   {
+      this.rarName = rarName;
+      this.transactionSupport = transactionSupport;
+      this.connectionDefinitions = connectionDefinitions;
+      this.raConfigProperties = raConfigProperties;
+      this.adminObjects = adminObjects;
+   }
+   
+   /**
+    * buildResourceAdapterImpl
+    * @throws Exception exception
+    */
+   public void buildResourceAdapterImpl()  throws Exception
+   {
+      raImpl = new ResourceAdapterImpl(rarName, transactionSupport, connectionDefinitions, adminObjects,
+            raConfigProperties, null, null);
+   }
+   
+   @Override
+   public String toString()
+   {
+      String out = raImpl.toString();
+      return out;
+   }
+}



More information about the jboss-cvs-commits mailing list