[jboss-cvs] JBossAS SVN: r111181 - projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 14 09:57:11 EDT 2011


Author: jesper.pedersen
Date: 2011-04-14 09:57:10 -0400 (Thu, 14 Apr 2011)
New Revision: 111181

Modified:
   projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java
   projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
Log:
Extract jndi name policy

Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java	2011-04-14 12:48:23 UTC (rev 111180)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractDsDeployer.java	2011-04-14 13:57:10 UTC (rev 111181)
@@ -181,7 +181,26 @@
       return ccm;
    }
 
+   /** Get the xAResourceRecoveryRegistry.
+    *
+    * @return the xAResourceRecoveryRegistry.
+    */
+   public XAResourceRecoveryRegistry getXAResourceRecoveryRegistry()
+   {
+      return xaResourceRecoveryRegistry;
+   }
+
    /**
+    * Set the xAResourceRecoveryRegistry.
+    *
+    * @param xAResourceRecoveryRegistry The xAResourceRecoveryRegistry to set.
+    */
+   public void setXAResourceRecoveryRegistry(XAResourceRecoveryRegistry xAResourceRecoveryRegistry)
+   {
+      xaResourceRecoveryRegistry = xAResourceRecoveryRegistry;
+   }
+
+   /**
    *
    * create objects and inject value for this depployment. it is a general method returning a {@link CommonDeployment}
    * to be used to exchange objects needed to real injection in the container
@@ -224,14 +243,8 @@
                   {
                      try
                      {
-                        String jndiName = dataSource.getJndiName();
+                        String jndiName = buildJndiName(dataSource.getJndiName(), dataSource.isUseJavaContext());
 
-                        if (dataSource.isUseJavaContext() != null && dataSource.isUseJavaContext().booleanValue() &&
-                            !jndiName.startsWith("java:/"))
-                        {
-                           jndiName = "java:/" + jndiName;
-                        }
-
                         org.jboss.jca.core.api.management.DataSource mgtDataSource =
                            new org.jboss.jca.core.api.management.DataSource(false);
                         Object cf = deployDataSource(dataSource, jndiName, 
@@ -324,6 +337,29 @@
    }
 
    /**
+    * Build the jndi name
+    * @param jndiName The jndi name
+    * @param javaContext The java context
+    * @return The value
+    */
+   protected String buildJndiName(String jndiName, Boolean javaContext)
+   {
+      if (javaContext != null)
+      {
+         if (javaContext.booleanValue() && !jndiName.startsWith("java:/"))
+         {
+            jndiName = "java:/" + jndiName;
+         }
+         else if (!javaContext.booleanValue() && jndiName.startsWith("java:/"))
+         {
+            jndiName = jndiName.substring(7);
+         }
+      }
+
+      return jndiName;
+   }
+
+   /**
     * Deploy a datasource
     * @param ds The datasource
     * @param jndiName The JNDI name
@@ -869,23 +905,4 @@
     * @exception DeployException Thrown if the security domain can't be resolved
     */
    protected abstract SubjectFactory getSubjectFactory(String securityDomain) throws DeployException;
-
-   /** Get the xAResourceRecoveryRegistry.
-    *
-    * @return the xAResourceRecoveryRegistry.
-    */
-   public final XAResourceRecoveryRegistry getXAResourceRecoveryRegistry()
-   {
-      return xaResourceRecoveryRegistry;
-   }
-
-   /**
-    * Set the xAResourceRecoveryRegistry.
-    *
-    * @param xAResourceRecoveryRegistry The xAResourceRecoveryRegistry to set.
-    */
-   public final void setXAResourceRecoveryRegistry(XAResourceRecoveryRegistry xAResourceRecoveryRegistry)
-   {
-      xaResourceRecoveryRegistry = xAResourceRecoveryRegistry;
-   }
 }

Modified: projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java
===================================================================
--- projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java	2011-04-14 12:48:23 UTC (rev 111180)
+++ projects/jboss-jca/trunk/deployers/src/main/java/org/jboss/jca/deployers/common/AbstractResourceAdapterDeployer.java	2011-04-14 13:57:10 UTC (rev 111181)
@@ -655,25 +655,11 @@
                                  {
                                     if (aoRaXml != null)
                                     {
-                                       jndiName = aoRaXml.getJndiName();
-
-                                       if (aoRaXml.isUseJavaContext() != null &&
-                                           aoRaXml.isUseJavaContext().booleanValue() &&
-                                           !jndiName.startsWith("java:/"))
-                                       {
-                                          jndiName = "java:/" + jndiName;
-                                       }
+                                       jndiName = buildJndiName(aoRaXml.getJndiName(), aoRaXml.isUseJavaContext());
                                     }
                                     else
                                     {
-                                       jndiName = ijAO.getJndiName();
-
-                                       if (ijAO.isUseJavaContext() != null &&
-                                           ijAO.isUseJavaContext().booleanValue() &&
-                                           !jndiName.startsWith("java:/"))
-                                       {
-                                          jndiName = "java:/" + jndiName;
-                                       }
+                                       jndiName = buildJndiName(ijAO.getJndiName(), ijAO.isUseJavaContext());
                                     }
 
                                     bindAdminObject(url, deploymentName, ao, jndiName);
@@ -1084,25 +1070,11 @@
                         {
                            if (cdRaXml != null)
                            {
-                              jndiName = cdRaXml.getJndiName();
-
-                              if (cdRaXml.isUseJavaContext() != null &&
-                                  cdRaXml.isUseJavaContext().booleanValue() &&
-                                  !jndiName.startsWith("java:/"))
-                              {
-                                 jndiName = "java:/" + jndiName;
-                              }
+                              jndiName = buildJndiName(cdRaXml.getJndiName(), cdRaXml.isUseJavaContext());
                            }
                            else
                            {
-                              jndiName = ijCD.getJndiName();
-
-                              if (ijCD.isUseJavaContext() != null &&
-                                  ijCD.isUseJavaContext().booleanValue() &&
-                                  !jndiName.startsWith("java:/"))
-                              {
-                                 jndiName = "java:/" + jndiName;
-                              }
+                              jndiName = buildJndiName(ijCD.getJndiName(), ijCD.isUseJavaContext());
                            }
 
                            bindConnectionFactory(url, deploymentName, cf, jndiName);
@@ -1546,25 +1518,11 @@
                                     {
                                        if (cdRaXml != null)
                                        {
-                                          jndiName = cdRaXml.getJndiName();
-
-                                          if (cdRaXml.isUseJavaContext() != null &&
-                                              cdRaXml.isUseJavaContext().booleanValue() &&
-                                              !jndiName.startsWith("java:/"))
-                                          {
-                                             jndiName = "java:/" + jndiName;
-                                          }
+                                          jndiName = buildJndiName(cdRaXml.getJndiName(), cdRaXml.isUseJavaContext());
                                        }
                                        else
                                        {
-                                          jndiName = ijCD.getJndiName();
-
-                                          if (ijCD.isUseJavaContext() != null &&
-                                              ijCD.isUseJavaContext().booleanValue() &&
-                                              !jndiName.startsWith("java:/"))
-                                          {
-                                             jndiName = "java:/" + jndiName;
-                                          }
+                                          jndiName = buildJndiName(ijCD.getJndiName(), ijCD.isUseJavaContext());
                                        }
 
                                        bindConnectionFactory(url, deploymentName, cf, jndiName);
@@ -1782,6 +1740,29 @@
    }
 
    /**
+    * Build the jndi name
+    * @param jndiName The jndi name
+    * @param javaContext The java context
+    * @return The value
+    */
+   protected String buildJndiName(String jndiName, Boolean javaContext)
+   {
+      if (javaContext != null)
+      {
+         if (javaContext.booleanValue() && !jndiName.startsWith("java:/"))
+         {
+            jndiName = "java:/" + jndiName;
+         }
+         else if (!javaContext.booleanValue() && jndiName.startsWith("java:/"))
+         {
+            jndiName = jndiName.substring(7);
+         }
+      }
+
+      return jndiName;
+   }
+
+   /**
     * Get a subject factory
     * @param securityDomain The security domain
     * @return The subject factory; must return <code>null</code> if security domain isn't defined



More information about the jboss-cvs-commits mailing list