geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From d...@apache.org
Subject svn commit: r502626 - in /geronimo/server/trunk: configs/client-deployer/src/plan/ configs/cxf-deployer/src/plan/ configs/j2ee-deployer/src/plan/ modules/geronimo-axis-builder/src/main/java/org/apache/geronimo/axis/builder/ modules/geronimo-cxf-builder...
Date Fri, 02 Feb 2007 15:30:45 GMT
Author: dims
Date: Fri Feb  2 07:30:44 2007
New Revision: 502626

URL: http://svn.apache.org/viewvc?view=rev&rev=502626
Log:
Fix for   GERONIMO-2791 - Switching ServiceRef naming builder

Modified:
    geronimo/server/trunk/configs/client-deployer/src/plan/plan.xml
    geronimo/server/trunk/configs/cxf-deployer/src/plan/plan.xml
    geronimo/server/trunk/configs/j2ee-deployer/src/plan/plan.xml
    geronimo/server/trunk/modules/geronimo-axis-builder/src/main/java/org/apache/geronimo/axis/builder/AxisServiceRefBuilder.java
    geronimo/server/trunk/modules/geronimo-cxf-builder/pom.xml
    geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
    geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java

Modified: geronimo/server/trunk/configs/client-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/configs/client-deployer/src/plan/plan.xml?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/configs/client-deployer/src/plan/plan.xml (original)
+++ geronimo/server/trunk/configs/client-deployer/src/plan/plan.xml Fri Feb  2 07:30:44 2007
@@ -48,7 +48,7 @@
                 <name>EnvironmentEntryBuilder</name>
             </pattern>
             <pattern>
-                <name>AxisClientServiceRefBuilder</name>
+                <name>SwitchingClientServiceRefBuilder</name>
             </pattern>
             <pattern>
                 <name>ClientEjbRefBuilder</name>
@@ -89,5 +89,24 @@
 
 
     <gbean name="ClientConfigurer" class="org.apache.geronimo.client.builder.jsr88.ClientConfigurer"/>
+
+    <gbean name="SwitchingClientServiceRefBuilder" class="org.apache.geronimo.naming.deployment.SwitchingServiceRefBuilder">
+        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
+        <references name="JAXRPCBuilder">
+            <pattern>
+                <name>AxisClientServiceRefBuilder</name>
+            </pattern>
+        </references>
+        <references name="JAXWSBuilder">
+            <pattern>
+                <name>CXFClientServiceRefBuilder</name>
+            </pattern>
+<!--
+            <pattern>
+                <name>Axis2ClientServiceRefBuilder</name>
+            </pattern>
+-->
+        </references>
+    </gbean>
 
 </module>

Modified: geronimo/server/trunk/configs/cxf-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/configs/cxf-deployer/src/plan/plan.xml?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/configs/cxf-deployer/src/plan/plan.xml (original)
+++ geronimo/server/trunk/configs/cxf-deployer/src/plan/plan.xml Fri Feb  2 07:30:44 2007
@@ -18,11 +18,11 @@
 
 <!-- $Rev$ $Date$ -->
 
-<module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+<module xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
 
     <gbean name="CXFBuilder" class="org.apache.geronimo.cxf.builder.CXFBuilder">
         <xml-attribute name="defaultEnvironment">
-            <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1">
+            <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
                 <dependencies>
                     <dependency>
                         <groupId>org.apache.geronimo.configs</groupId>
@@ -32,6 +32,42 @@
                 </dependencies>
             </environment>
         </xml-attribute>
+    </gbean>
+
+    <gbean name="CXFServiceRefBuilder" class="org.apache.geronimo.cxf.builder.CXFServiceRefBuilder">
+        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/javaee</attribute>
+        <xml-attribute name="defaultEnvironment">
+            <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.geronimo.configs</groupId>
+                        <artifactId>cxf</artifactId>
+                        <type>car</type>
+                    </dependency>
+                </dependencies>
+            </environment>
+        </xml-attribute>
+        <reference name="CXFBuilder">
+            <name>CXFBuilder</name>
+        </reference>
+    </gbean>
+
+    <gbean name="CXFClientServiceRefBuilder" class="org.apache.geronimo.cxf.builder.CXFServiceRefBuilder">
+        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/javaee</attribute>
+        <xml-attribute name="defaultEnvironment">
+            <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.geronimo.modules</groupId>
+                        <artifactId>geronimo-cxf</artifactId>
+                        <type>jar</type>
+                    </dependency>
+                </dependencies>
+            </environment>
+        </xml-attribute>
+        <reference name="CXFBuilder">
+            <name>CXFBuilder</name>
+        </reference>
     </gbean>
 
 </module>

Modified: geronimo/server/trunk/configs/j2ee-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/configs/j2ee-deployer/src/plan/plan.xml?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/configs/j2ee-deployer/src/plan/plan.xml (original)
+++ geronimo/server/trunk/configs/j2ee-deployer/src/plan/plan.xml Fri Feb  2 07:30:44 2007
@@ -117,7 +117,7 @@
                 <name>EnvironmentEntryBuilder</name>
             </pattern>
             <pattern>
-                <name>AxisServiceRefBuilder</name>
+                <name>SwitchingServiceRefBuilder</name>
             </pattern>
             <pattern>
                 <name>EjbRefBuilder</name>
@@ -143,5 +143,24 @@
     </gbean>
 
     <gbean name="EARConfigurer" class="org.apache.geronimo.j2ee.jsr88.EARConfigurer"/>
+
+    <gbean name="SwitchingServiceRefBuilder" class="org.apache.geronimo.naming.deployment.SwitchingServiceRefBuilder">
+        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
+        <references name="JAXRPCBuilder">
+            <pattern>
+                <name>AxisServiceRefBuilder</name>
+            </pattern>
+        </references>
+        <references name="JAXWSBuilder">
+            <pattern>
+                <name>CXFServiceRefBuilder</name>
+            </pattern>
+<!--
+            <pattern>
+                <name>Axis2ServiceRefBuilder</name>
+            </pattern>
+-->
+        </references>
+    </gbean>
 
 </module>

Modified: geronimo/server/trunk/modules/geronimo-axis-builder/src/main/java/org/apache/geronimo/axis/builder/AxisServiceRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-axis-builder/src/main/java/org/apache/geronimo/axis/builder/AxisServiceRefBuilder.java?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/modules/geronimo-axis-builder/src/main/java/org/apache/geronimo/axis/builder/AxisServiceRefBuilder.java
(original)
+++ geronimo/server/trunk/modules/geronimo-axis-builder/src/main/java/org/apache/geronimo/axis/builder/AxisServiceRefBuilder.java
Fri Feb  2 07:30:44 2007
@@ -38,6 +38,7 @@
 import org.apache.geronimo.kernel.config.Configuration;
 import org.apache.geronimo.kernel.repository.Environment;
 import org.apache.geronimo.naming.deployment.AbstractNamingBuilder;
+import org.apache.geronimo.naming.deployment.ServiceRefBuilder;
 import org.apache.geronimo.xbeans.geronimo.naming.GerServiceRefDocument;
 import org.apache.geronimo.xbeans.geronimo.naming.GerServiceRefType;
 import org.apache.geronimo.xbeans.j2ee.ParamValueType;
@@ -51,7 +52,7 @@
 /**
  * @version $Rev$ $Date$
  */
-public class AxisServiceRefBuilder extends AbstractNamingBuilder {
+public class AxisServiceRefBuilder extends AbstractNamingBuilder implements ServiceRefBuilder
{
     private final QNameSet serviceRefQNameSet;
     private static final QName GER_SERVICE_REF_QNAME = GerServiceRefDocument.type.getDocumentElementName();
     private static final QNameSet GER_SERVICE_REF_QNAME_SET = QNameSet.singleton(GER_SERVICE_REF_QNAME);
@@ -72,65 +73,76 @@
         List<ServiceRefType> serviceRefsUntyped = convert(specDD.selectChildren(serviceRefQNameSet),
J2EE_CONVERTER, ServiceRefType.class, ServiceRefType.type);
         XmlObject[] gerServiceRefsUntyped = plan == null? NO_REFS: plan.selectChildren(GER_SERVICE_REF_QNAME_SET);
         Map serviceRefMap = mapServiceRefs(gerServiceRefsUntyped);
-        ClassLoader cl = module.getEarContext().getClassLoader();
-
+       
         for (ServiceRefType serviceRef: serviceRefsUntyped) {
             String name = getStringValue(serviceRef.getServiceRefName());
             GerServiceRefType serviceRefType = (GerServiceRefType) serviceRefMap.get(name);
+            buildNaming(serviceRef, serviceRefType, module, componentContext);
+        }
+    }
+
+    public void buildNaming(XmlObject serviceRef, GerServiceRefType gerServiceRefType, Module
module, Map componentContext) throws DeploymentException {
+        ServiceRefType serviceRefType = 
+            (ServiceRefType)convert(serviceRef, J2EE_CONVERTER, ServiceRefType.type);
+        buildNaming(serviceRefType, gerServiceRefType, module, componentContext);
+    }
+    
+    private void buildNaming(ServiceRefType serviceRef, GerServiceRefType serviceRefType,
Module module, Map componentContext) throws DeploymentException {
+        String name = getStringValue(serviceRef.getServiceRefName());
+        ClassLoader cl = module.getEarContext().getClassLoader();
+
 //            Map credentialsNameMap = (Map) serviceRefCredentialsNameMap.get(name);
-            String serviceInterfaceName = getStringValue(serviceRef.getServiceInterface());
-            assureInterface(serviceInterfaceName, "javax.xml.rpc.Service", "[Web]Service",
cl);
-            Class serviceInterface;
+        String serviceInterfaceName = getStringValue(serviceRef.getServiceInterface());
+        assureInterface(serviceInterfaceName, "javax.xml.rpc.Service", "[Web]Service", cl);
+        Class serviceInterface;
+        try {
+            serviceInterface = cl.loadClass(serviceInterfaceName);
+        } catch (ClassNotFoundException e) {
+            throw new DeploymentException("Could not load service interface class: " + serviceInterfaceName,
e);
+        }
+        URI wsdlURI = null;
+        if (serviceRef.isSetWsdlFile()) {
             try {
-                serviceInterface = cl.loadClass(serviceInterfaceName);
-            } catch (ClassNotFoundException e) {
-                throw new DeploymentException("Could not load service interface class: "
+ serviceInterfaceName, e);
+                wsdlURI = new URI(serviceRef.getWsdlFile().getStringValue().trim());
+            } catch (URISyntaxException e) {
+                throw new DeploymentException("could not construct wsdl uri from " + serviceRef.getWsdlFile().getStringValue(),
e);
             }
-            URI wsdlURI = null;
-            if (serviceRef.isSetWsdlFile()) {
-                try {
-                    wsdlURI = new URI(serviceRef.getWsdlFile().getStringValue().trim());
-                } catch (URISyntaxException e) {
-                    throw new DeploymentException("could not construct wsdl uri from " +
serviceRef.getWsdlFile().getStringValue(), e);
-                }
+        }
+        URI jaxrpcMappingURI = null;
+        if (serviceRef.isSetJaxrpcMappingFile()) {
+            try {
+                jaxrpcMappingURI = new URI(getStringValue(serviceRef.getJaxrpcMappingFile()));
+            } catch (URISyntaxException e) {
+                throw new DeploymentException("Could not construct jaxrpc mapping uri from
" + serviceRef.getJaxrpcMappingFile(), e);
             }
-            URI jaxrpcMappingURI = null;
-            if (serviceRef.isSetJaxrpcMappingFile()) {
+        }
+        QName serviceQName = null;
+        if (serviceRef.isSetServiceQname()) {
+            serviceQName = serviceRef.getServiceQname().getQNameValue();
+        }
+        Map portComponentRefMap = new HashMap();
+        PortComponentRefType[] portComponentRefs = serviceRef.getPortComponentRefArray();
+        if (portComponentRefs != null) {
+            for (int j = 0; j < portComponentRefs.length; j++) {
+                PortComponentRefType portComponentRef = portComponentRefs[j];
+                String portComponentLink = getStringValue(portComponentRef.getPortComponentLink());
+                String serviceEndpointInterfaceType = getStringValue(portComponentRef.getServiceEndpointInterface());
+                assureInterface(serviceEndpointInterfaceType, "java.rmi.Remote", "ServiceEndpoint",
cl);
+                Class serviceEndpointClass;
                 try {
-                    jaxrpcMappingURI = new URI(getStringValue(serviceRef.getJaxrpcMappingFile()));
-                } catch (URISyntaxException e) {
-                    throw new DeploymentException("Could not construct jaxrpc mapping uri
from " + serviceRef.getJaxrpcMappingFile(), e);
-                }
-            }
-            QName serviceQName = null;
-            if (serviceRef.isSetServiceQname()) {
-                serviceQName = serviceRef.getServiceQname().getQNameValue();
-            }
-            Map portComponentRefMap = new HashMap();
-            PortComponentRefType[] portComponentRefs = serviceRef.getPortComponentRefArray();
-            if (portComponentRefs != null) {
-                for (int j = 0; j < portComponentRefs.length; j++) {
-                    PortComponentRefType portComponentRef = portComponentRefs[j];
-                    String portComponentLink = getStringValue(portComponentRef.getPortComponentLink());
-                    String serviceEndpointInterfaceType = getStringValue(portComponentRef.getServiceEndpointInterface());
-                    assureInterface(serviceEndpointInterfaceType, "java.rmi.Remote", "ServiceEndpoint",
cl);
-                    Class serviceEndpointClass;
-                    try {
-                        serviceEndpointClass = cl.loadClass(serviceEndpointInterfaceType);
-                    } catch (ClassNotFoundException e) {
-                        throw new DeploymentException("could not load service endpoint class
" + serviceEndpointInterfaceType, e);
-                    }
-                    portComponentRefMap.put(serviceEndpointClass, portComponentLink);
+                    serviceEndpointClass = cl.loadClass(serviceEndpointInterfaceType);
+                } catch (ClassNotFoundException e) {
+                    throw new DeploymentException("could not load service endpoint class
" + serviceEndpointInterfaceType, e);
                 }
+                portComponentRefMap.put(serviceEndpointClass, portComponentLink);
             }
-            ServiceRefHandlerType[] handlers = serviceRef.getHandlerArray();
-            List handlerInfos = buildHandlerInfoList(handlers, cl);
-
-//we could get a Reference or the actual serializable Service back.
-            Object ref = axisBuilder.createService(serviceInterface, wsdlURI, jaxrpcMappingURI,
serviceQName, portComponentRefMap, handlerInfos, serviceRefType, module, cl);
-            getJndiContextMap(componentContext).put(ENV + name, ref);
         }
+        ServiceRefHandlerType[] handlers = serviceRef.getHandlerArray();
+        List handlerInfos = buildHandlerInfoList(handlers, cl);
 
+//we could get a Reference or the actual serializable Service back.
+        Object ref = axisBuilder.createService(serviceInterface, wsdlURI, jaxrpcMappingURI,
serviceQName, portComponentRefMap, handlerInfos, serviceRefType, module, cl);
+        getJndiContextMap(componentContext).put(ENV + name, ref);
     }
 
     public QNameSet getSpecQNameSet() {
@@ -184,8 +196,7 @@
         }
         return handlerInfos;
     }
-
-
+    
     private static Map mapServiceRefs(XmlObject[] refs) {
         Map refMap = new HashMap();
         if (refs != null) {
@@ -211,6 +222,7 @@
 
     static {
         GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(AxisServiceRefBuilder.class,
NameFactory.MODULE_BUILDER);
+        infoBuilder.addInterface(ServiceRefBuilder.class);
         infoBuilder.addAttribute("defaultEnvironment", Environment.class, true, true);
         infoBuilder.addAttribute("eeNamespaces", String[].class, true, true);
         infoBuilder.addReference("AxisBuilder", AxisBuilder.class, NameFactory.MODULE_BUILDER);

Modified: geronimo/server/trunk/modules/geronimo-cxf-builder/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-cxf-builder/pom.xml?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/modules/geronimo-cxf-builder/pom.xml (original)
+++ geronimo/server/trunk/modules/geronimo-cxf-builder/pom.xml Fri Feb  2 07:30:44 2007
@@ -57,7 +57,13 @@
             <artifactId>geronimo-j2ee</artifactId>
             <version>${version}</version>
         </dependency>
-        
+
+        <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-naming-builder</artifactId>
+            <version>${version}</version>
+        </dependency>
+
         <dependency>
             <groupId>org.apache.geronimo.modules</groupId>
             <artifactId>geronimo-cxf</artifactId>

Modified: geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
(original)
+++ geronimo/server/trunk/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
Fri Feb  2 07:30:44 2007
@@ -27,9 +27,11 @@
 import org.apache.geronimo.jaxws.PortInfo;
 import org.apache.geronimo.gbean.GBeanInfo;
 import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.j2ee.deployment.Module;
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.repository.Environment;
+import org.apache.geronimo.xbeans.geronimo.naming.GerServiceRefType;
 import org.apache.geronimo.jaxws.builder.JAXWSServiceBuilder;
 import org.apache.geronimo.cxf.CXFWebServiceContainerFactoryGBean;
 
@@ -37,11 +39,13 @@
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
 import javax.xml.transform.stream.StreamSource;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.net.URI;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -50,6 +54,10 @@
 public class CXFBuilder extends JAXWSServiceBuilder {
     private static final Log LOG = LogFactory.getLog(CXFBuilder.class);
 
+    public CXFBuilder() {
+        this(null);
+    }
+
     public CXFBuilder(Environment defaultEnvironment) {
         super(defaultEnvironment);
     }
@@ -156,6 +164,27 @@
                 // ignore
             }
         }
+    }
+
+    public Object createService(Class serviceInterface,
+                                Class serviceReference,
+                                URI wsdlURI,
+                                QName serviceQName,
+                                Map portComponentRefMap,
+                                Object object,
+                                GerServiceRefType serviceRefType,
+                                Module module,
+                                ClassLoader cl) throws DeploymentException {
+        System.out.println("createService");
+        /*
+        WSDLInfoBuilder builder = new WSDLInfoBuilder(serviceInterface, module.getModuleFile(),
wsdlURI, serviceQName, cl);
+        builder.build();
+        
+        serviceQName = builder.getServiceQName(); 
+                
+        return new CXFServiceReference(serviceInterface.getName(), wsdlURI, serviceQName,
module.getModuleName(), object, null, null);
+        */
+        return null;
     }
 
     private static String getString(String in) {

Modified: geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java?view=diff&rev=502626&r1=502625&r2=502626
==============================================================================
--- geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java
(original)
+++ geronimo/server/trunk/modules/geronimo-naming-builder/src/main/java/org/apache/geronimo/naming/deployment/AbstractNamingBuilder.java
Fri Feb  2 07:30:44 2007
@@ -69,6 +69,10 @@
         this.defaultEnvironment = defaultEnvironment;
     }
 
+    public Environment getEnvironment() {
+        return this.defaultEnvironment;
+    }
+    
     public void buildEnvironment(XmlObject specDD, XmlObject plan, Environment environment)
throws DeploymentException {
         if (willMergeEnvironment(specDD, plan)) {
             EnvironmentBuilder.mergeEnvironments(environment, defaultEnvironment);
@@ -161,19 +165,24 @@
         //there's probably a better way to say T extends XmlObject and get the type from
that
         List<T> result = new ArrayList<T>(xmlObjects.length);
         for (XmlObject xmlObject : xmlObjects) {
-            xmlObject = xmlObject.copy();
-            if (xmlObject.schemaType() != type) {
-                converter.convertElement(xmlObject);
-                xmlObject = xmlObject.changeType(type);
-            }
-            try {
-                XmlBeansUtil.validateDD(xmlObject);
-            } catch (XmlException e) {
-                throw new DeploymentException("Could not validate xmlObject of type " + type,
e);
-            }
+            xmlObject = convert(xmlObject, converter, type);
             result.add((T) xmlObject);
         }
         return result;
+    }
+
+    protected static XmlObject convert(XmlObject xmlObject, NamespaceElementConverter converter,
SchemaType type) throws DeploymentException {
+        xmlObject = xmlObject.copy();
+        if (xmlObject.schemaType() != type) {
+            converter.convertElement(xmlObject);
+            xmlObject = xmlObject.changeType(type);
+        }
+        try {
+            XmlBeansUtil.validateDD(xmlObject);
+        } catch (XmlException e) {
+            throw new DeploymentException("Could not validate xmlObject of type " + type,
e);
+        }
+        return xmlObject;
     }
 
     protected static String getStringValue(org.apache.geronimo.xbeans.javaee.String string)
{



Mime
View raw message