geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From djen...@apache.org
Subject svn commit: r952721 - in /geronimo/server/trunk/plugins: connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ j2ee/geronimo-naming-builder/src/main/xsd/
Date Tue, 08 Jun 2010 16:20:49 GMT
Author: djencks
Date: Tue Jun  8 16:20:48 2010
New Revision: 952721

URL: http://svn.apache.org/viewvc?rev=952721&view=rev
Log:
GERONIMO-5360 support binding References in jndi

Modified:
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java
    geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java
    geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/xsd/geronimo-naming-1.2.xsd

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java?rev=952721&r1=952720&r2=952721&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java
(original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java
Tue Jun  8 16:20:48 2010
@@ -25,7 +25,9 @@ import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
+import javax.naming.RefAddr;
 import javax.naming.Reference;
+import javax.naming.StringRefAddr;
 import javax.xml.namespace.QName;
 
 import org.apache.geronimo.gbean.annotation.GBean;
@@ -227,6 +229,18 @@ public class AdminObjectRefBuilder exten
         } catch (ClassNotFoundException e) {
             throw new DeploymentException("Could not load resource-env-ref entry class "
+ type, e);
         }
+        if (gerResourceEnvRef != null && gerResourceEnvRef.isSetReferenceClass())
{
+            String clazz = gerResourceEnvRef.getReferenceClass();
+            RefAddr addr = null;
+            if (gerResourceEnvRef.isSetStringAddrType()) {
+                String refAddrType = getStringValue(gerResourceEnvRef.getStringAddrType());
+                String refAddr = getStringValue(gerResourceEnvRef.getStringAddr());
+                addr = new StringRefAddr(refAddrType, refAddr);
+            }
+            String objectFactory = getStringValue(gerResourceEnvRef.getObjectFactory());
+            String objectFactoryLocation = getStringValue(gerResourceEnvRef.getObjectFactoryLocation());
+            return new Reference(clazz, addr, objectFactory, objectFactoryLocation);
+        }
 
         if (type.equals("javax.transaction.UserTransaction")) {
             return new UserTransactionReference();
@@ -249,6 +263,9 @@ public class AdminObjectRefBuilder exten
         if ("javax.validation.ValidatorFactory".equals(type)) {
             return new JndiReference("java:comp/ValidatorFactory");
         }
+        if ("javax.transaction.TransactionSynchronizationRegistry".equals(type)) {
+            return new JndiReference("java:comp/TransactionSynchronizationRegistry");
+        }
         try {
             AbstractNameQuery containerId = getAdminObjectContainerId(name, gerResourceEnvRef);
             ResourceReferenceFactory<RuntimeException> ref = buildAdminObjectReference(module,
containerId, iface);
@@ -258,6 +275,10 @@ public class AdminObjectRefBuilder exten
         }
     }
 
+    private String getStringValue(String string) {
+        return string == null? null: string.trim();
+    }
+
     private Object buildMessageReference(Module module, String linkName, String type, GerMessageDestinationType
destination)
             throws DeploymentException {
         Bundle bundle = module.getEarContext().getDeploymentBundle();
@@ -441,7 +462,8 @@ public class AdminObjectRefBuilder exten
                         resourceType.equals("javax.ejb.TimerService") ||
                         resourceType.equals("javax.validation.Validator") ||
                         resourceType.equals("javax.validation.ValidatorFactory") ||
-                        resourceType.equals("javax.transaction.UserTransaction")) {
+                        resourceType.equals("javax.transaction.UserTransaction") ||
+                        resourceType.equals("javax.transaction.TransactionSynchronizationRegistry"))
{
                     //mapped resource-env-ref
                     addResourceEnvRef(annotatedApp, resourceName, resourceType, method, field,
annotation);
                     return true;

Modified: geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java?rev=952721&r1=952720&r2=952721&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java
(original)
+++ geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java
Tue Jun  8 16:20:48 2010
@@ -100,7 +100,7 @@ public class ResourceRefBuilder extends 
             @ParamAttribute(name = "defaultEnvironment")Environment defaultEnvironment,
             @ParamAttribute(name = "corbaEnvironment")Environment corbaEnvironment,
             @ParamAttribute(name = "eeNamespaces")String[] eeNamespaces,
-            @ParamReference(name = "CorbaGBeanNameSource")Collection<CorbaGBeanNameSource>
corbaGBeanNameSourceCollection) {
+            @ParamReference(name = "CorbaGBeanNameSource", namingType = "") Collection<CorbaGBeanNameSource>
corbaGBeanNameSourceCollection) {
         super(defaultEnvironment);
 
         resourceRefQNameSet = buildQNameSet(eeNamespaces, "resource-ref");

Modified: geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/xsd/geronimo-naming-1.2.xsd
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/xsd/geronimo-naming-1.2.xsd?rev=952721&r1=952720&r2=952721&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/xsd/geronimo-naming-1.2.xsd
(original)
+++ geronimo/server/trunk/plugins/j2ee/geronimo-naming-builder/src/main/xsd/geronimo-naming-1.2.xsd
Tue Jun  8 16:20:48 2010
@@ -767,6 +767,52 @@
                         </xsd:annotation>
                     </xsd:element>
                 </xsd:sequence>
+                <xsd:sequence>
+                    <xsd:element name="reference-class" type="xsd:string">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element class is used to specify the class of the
+                                Object referred to by a Reference.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:sequence minOccurs="0">
+                        <xsd:element name="string-addr-type" type="xsd:string">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The addrType for a StringRefAddr
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                        <xsd:element name="string-addr" type="xsd:string" minOccurs="0">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The addr for a StringRefAddr
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                    </xsd:sequence>
+                    <xsd:element name="object-factory" type="xsd:string" minOccurs="0">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element object-factory is used to specify an
+                                ObjectFactory class to use in a Reference. This must
+                                be registered so the osgi object factory locator can
+                                find it.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:element name="object-factory-location" type="xsd:string" minOccurs="0">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element object-factory is used to specify an
+                                ObjectFactory class to use in a Reference. This must
+                                be registered so the osgi object factory locator can
+                                find it.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                </xsd:sequence>
             </xsd:choice>
         </xsd:sequence>
     </xsd:complexType>



Mime
View raw message