You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/04/21 20:27:35 UTC
svn commit: r164095 - in /geronimo/trunk/modules:
axis-builder/src/java/org/apache/geronimo/axis/builder/
j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/ jetty-builder/
jetty-builder/src/java/org/apache/geronimo/jetty/deployment/
jetty-builder/src/test/org/apache/geronimo/jetty/deployment/
Author: djencks
Date: Thu Apr 21 11:27:34 2005
New Revision: 164095
URL: http://svn.apache.org/viewcvs?rev=164095&view=rev
Log:
geronimo-635. make jetty usable without web services
Added:
geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableServiceReferenceBuilder.java
geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableWebServiceBuilder.java
geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/WebServiceBuilder.java
- copied, changed from r164082, geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/POJOWebServiceBuilder.java
Removed:
geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/POJOWebServiceBuilder.java
Modified:
geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
geronimo/trunk/modules/jetty-builder/project.xml
geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java
geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java
Modified: geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java?rev=164095&r1=164094&r2=164095&view=diff
==============================================================================
--- geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java (original)
+++ geronimo/trunk/modules/axis-builder/src/java/org/apache/geronimo/axis/builder/AxisBuilder.java Thu Apr 21 11:27:34 2005
@@ -79,8 +79,8 @@
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.POJOWebServiceBuilder;
import org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.ClassLoaderReference;
import org.apache.geronimo.kernel.StoredObject;
@@ -93,13 +93,17 @@
/**
* @version $Rev: $ $Date: $
*/
-public class AxisBuilder implements ServiceReferenceBuilder, POJOWebServiceBuilder {
+public class AxisBuilder implements ServiceReferenceBuilder, WebServiceBuilder {
private static final Class[] SERVICE_CONSTRUCTOR_TYPES = new Class[]{Map.class, Map.class};
private static final SOAPConstants SOAP_VERSION = SOAPConstants.SOAP11_CONSTANTS;
-
//WebServiceBuilder
+
+ public Map parseWebServiceDescriptor(URL wsDDUrl, JarFile moduleFile, boolean isEJB) throws DeploymentException {
+ return WSDescriptorParser.parseWebServiceDescriptor(wsDDUrl, moduleFile, isEJB);
+ }
+
public void configurePOJO(GBeanData targetGBean, JarFile moduleFile, Object portInfoObject, String seiClassName, ClassLoader classLoader) throws DeploymentException {
PortInfo portInfo = (PortInfo) portInfoObject;
ServiceInfo serviceInfo = AxisServiceBuilder.createServiceInfo(portInfo, classLoader);
@@ -346,7 +350,7 @@
}
HeavyweightTypeInfoBuilder builder = new HeavyweightTypeInfoBuilder(classLoader, schemaInfoBuilder.getSchemaTypeKeyToSchemaTypeMap(), wrapperElementQNames);
List typeInfo = builder.buildTypeInfo(mapping);
-
+
seiFactory = createSEIFactory(serviceName, portName, enhancedServiceEndpointClass, serviceImpl, typeInfo, location, operationInfos, handlerInfos, credentialsName, context, classLoader);
seiPortNameToFactoryMap.put(portName, seiFactory);
seiClassNameToFactoryMap.put(serviceEndpointInterface.getName(), seiFactory);
@@ -369,12 +373,12 @@
}
LightweightTypeInfoBuilder builder = new LightweightTypeInfoBuilder(classLoader, schemaInfoBuilder.getSchemaTypeKeyToSchemaTypeMap(), Collections.EMPTY_SET);
List typeInfo = builder.buildTypeInfo(mapping);
-
+
seiFactory = createSEIFactory(serviceName, portName, enhancedServiceEndpointClass, serviceImpl, typeInfo, location, operationInfos, handlerInfos, credentialsName, context, classLoader);
seiPortNameToFactoryMap.put(portName, seiFactory);
seiClassNameToFactoryMap.put(serviceEndpointInterface.getName(), seiFactory);
}
-
+
private Class getServiceEndpointInterfaceLightweight(PortType portType, JavaWsdlMappingType mappings, ClassLoader classLoader) throws DeploymentException {
QName portTypeQName = portType.getQName();
String portTypeNamespace = portTypeQName.getNamespaceURI();
@@ -463,7 +467,7 @@
static {
GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(AxisBuilder.class, NameFactory.MODULE_BUILDER);
infoBuilder.addInterface(ServiceReferenceBuilder.class);
- infoBuilder.addInterface(POJOWebServiceBuilder.class);
+ infoBuilder.addInterface(WebServiceBuilder.class);
GBEAN_INFO = infoBuilder.getBeanInfo();
}
Added: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableServiceReferenceBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableServiceReferenceBuilder.java?rev=164095&view=auto
==============================================================================
--- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableServiceReferenceBuilder.java (added)
+++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableServiceReferenceBuilder.java Thu Apr 21 11:27:34 2005
@@ -0,0 +1,50 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.j2ee.deployment;
+
+import java.net.URI;
+import java.util.Map;
+import java.util.List;
+import javax.xml.namespace.QName;
+
+import org.apache.geronimo.deployment.DeploymentContext;
+import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+
+/**
+ * @version $Rev: $ $Date: $
+ */
+public class UnavailableServiceReferenceBuilder implements ServiceReferenceBuilder {
+
+ public Object createService(Class serviceInterface, URI wsdlURI, URI jaxrpcMappingURI, QName serviceQName, Map portComponentRefMap, List handlerInfos, Map portLocationMap, Map credentialsNameMap, DeploymentContext deploymentContext, Module module, ClassLoader classLoader) throws DeploymentException {
+ throw new DeploymentException("Service references are not available in this configuration");
+ }
+
+ public static final GBeanInfo GBEAN_INFO;
+
+ static {
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(UnavailableServiceReferenceBuilder.class);
+ infoBuilder.addInterface(ServiceReferenceBuilder.class);
+ GBEAN_INFO = infoBuilder.getBeanInfo();
+ }
+
+ public static GBeanInfo getGBeanInfo() {
+ return GBEAN_INFO;
+ }
+
+}
Added: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableWebServiceBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableWebServiceBuilder.java?rev=164095&view=auto
==============================================================================
--- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableWebServiceBuilder.java (added)
+++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/UnavailableWebServiceBuilder.java Thu Apr 21 11:27:34 2005
@@ -0,0 +1,58 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.geronimo.j2ee.deployment;
+
+import java.util.jar.JarFile;
+import java.util.Map;
+import java.util.HashMap;
+import java.net.URL;
+
+import org.apache.geronimo.gbean.GBeanData;
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.common.DeploymentException;
+
+/**
+ * @version $Rev: $ $Date: $
+ */
+public class UnavailableWebServiceBuilder implements WebServiceBuilder {
+
+ public Map parseWebServiceDescriptor(URL wsDDUrl, JarFile moduleFile, boolean isEJB) throws DeploymentException {
+ return new HashMap();
+ }
+
+ public void configurePOJO(GBeanData targetGBean, JarFile moduleFile, Object portInfo, String seiClassName, ClassLoader classLoader) throws DeploymentException {
+ throw new DeploymentException("Web services are not available in this configuration");
+ }
+
+ public void configureEJB(GBeanData targetGBean, Object portInfoObject, String seiClassName) throws DeploymentException {
+ throw new DeploymentException("Web services are not available in this configuration");
+ }
+
+ public static final GBeanInfo GBEAN_INFO;
+
+ static {
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(UnavailableWebServiceBuilder.class);
+ infoBuilder.addInterface(WebServiceBuilder.class);
+ GBEAN_INFO = infoBuilder.getBeanInfo();
+ }
+
+ public static GBeanInfo getGBeanInfo() {
+ return GBEAN_INFO;
+ }
+
+}
Copied: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/WebServiceBuilder.java (from r164082, geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/POJOWebServiceBuilder.java)
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/WebServiceBuilder.java?p2=geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/WebServiceBuilder.java&p1=geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/POJOWebServiceBuilder.java&r1=164082&r2=164095&rev=164095&view=diff
==============================================================================
--- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/POJOWebServiceBuilder.java (original)
+++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/WebServiceBuilder.java Thu Apr 21 11:27:34 2005
@@ -19,11 +19,15 @@
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.gbean.GBeanData;
import java.util.jar.JarFile;
+import java.util.Map;
+import java.net.URL;
/**
* @version $Rev: $ $Date: $
*/
-public interface POJOWebServiceBuilder {
+public interface WebServiceBuilder {
+
+ Map parseWebServiceDescriptor(URL wsDDUrl, JarFile moduleFile, boolean isEJB) throws DeploymentException;
//obviously these need the deployment descriptors, but I'm not sure in what form yet.
/**
Modified: geronimo/trunk/modules/jetty-builder/project.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/project.xml?rev=164095&r1=164094&r2=164095&view=diff
==============================================================================
--- geronimo/trunk/modules/jetty-builder/project.xml (original)
+++ geronimo/trunk/modules/jetty-builder/project.xml Thu Apr 21 11:27:34 2005
@@ -172,13 +172,6 @@
<version>${pom.currentVersion}</version>
</dependency>
- <!--todo put WSDescriptorParser somewhere else and remove this dependency-->
- <dependency>
- <groupId>geronimo</groupId>
- <artifactId>geronimo-axis-builder</artifactId>
- <version>${pom.currentVersion}</version>
- </dependency>
-
<dependency>
<groupId>geronimo-spec</groupId>
<artifactId>geronimo-spec-jta</artifactId>
Modified: geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java?rev=164095&r1=164094&r2=164095&view=diff
==============================================================================
--- geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java (original)
+++ geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java Thu Apr 21 11:27:34 2005
@@ -47,8 +47,6 @@
import javax.servlet.Servlet;
import javax.transaction.UserTransaction;
-import org.apache.geronimo.axis.builder.PortInfo;
-import org.apache.geronimo.axis.builder.WSDescriptorParser;
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.deployment.service.ServiceConfigBuilder;
import org.apache.geronimo.deployment.util.DeploymentUtil;
@@ -60,7 +58,7 @@
import org.apache.geronimo.j2ee.deployment.EARContext;
import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.ModuleBuilder;
-import org.apache.geronimo.j2ee.deployment.POJOWebServiceBuilder;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
import org.apache.geronimo.j2ee.deployment.WebModule;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
@@ -128,7 +126,7 @@
private final ObjectName defaultFilterMappings;
private final ObjectName pojoWebServiceTemplate;
- private final POJOWebServiceBuilder pojoWebServiceBuilder;
+ private final WebServiceBuilder webServiceBuilder;
private final List defaultWelcomeFiles;
private final Integer defaultSessionTimeoutSeconds;
@@ -144,7 +142,7 @@
ObjectName defaultFilters,
ObjectName defaultFilterMappings,
ObjectName pojoWebServiceTemplate,
- POJOWebServiceBuilder pojoWebServiceBuilder,
+ WebServiceBuilder webServiceBuilder,
Repository repository,
Kernel kernel) {
this.defaultParentId = defaultParentId;
@@ -154,7 +152,7 @@
this.defaultFilters = defaultFilters;
this.defaultFilterMappings = defaultFilterMappings;
this.pojoWebServiceTemplate = pojoWebServiceTemplate;
- this.pojoWebServiceBuilder = pojoWebServiceBuilder;
+ this.webServiceBuilder = webServiceBuilder;
this.repository = repository;
this.kernel = kernel;
@@ -206,7 +204,7 @@
Map portMap = Collections.EMPTY_MAP;
try {
URL wsDDUrl = DeploymentUtil.createJarURL(moduleFile, "WEB-INF/webservices.xml");
- portMap = WSDescriptorParser.parseWebServiceDescriptor(wsDDUrl, moduleFile, false);
+ portMap = webServiceBuilder.parseWebServiceDescriptor(wsDDUrl, moduleFile, false);
} catch (MalformedURLException e) {
//no descriptor
}
@@ -802,11 +800,11 @@
}
servletData.setName(servletObjectName);
//let the web service builder deal with configuring the gbean with the web service stack
- PortInfo portInfo = (PortInfo) portMap.get(servletName);
+ Object portInfo = portMap.get(servletName);
if (portInfo == null) {
throw new DeploymentException("No web service deployment info for servlet name " + servletName);
}
- pojoWebServiceBuilder.configurePOJO(servletData, moduleFile, portInfo, servletClassName, webClassLoader);
+ webServiceBuilder.configurePOJO(servletData, moduleFile, portInfo, servletClassName, webClassLoader);
}
} else if (servletType.isSetJspFile()) {
servletData = new GBeanData(servletObjectName, JettyServletHolder.GBEAN_INFO);
@@ -1227,7 +1225,7 @@
infoBuilder.addAttribute("defaultFilters", ObjectName.class, true);
infoBuilder.addAttribute("defaultFilterMappings", ObjectName.class, true);
infoBuilder.addAttribute("pojoWebServiceTemplate", ObjectName.class, true);
- infoBuilder.addReference("WebServiceBuilder", POJOWebServiceBuilder.class, NameFactory.MODULE_BUILDER);
+ infoBuilder.addReference("WebServiceBuilder", WebServiceBuilder.class, NameFactory.MODULE_BUILDER);
infoBuilder.addReference("Repository", Repository.class, NameFactory.GERONIMO_SERVICE);
infoBuilder.addAttribute("kernel", Kernel.class, false);
infoBuilder.addInterface(ModuleBuilder.class);
Modified: geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java?rev=164095&r1=164094&r2=164095&view=diff
==============================================================================
--- geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java (original)
+++ geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/JettyModuleBuilderTest.java Thu Apr 21 11:27:34 2005
@@ -47,7 +47,7 @@
import org.apache.geronimo.j2ee.deployment.RefContext;
import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder;
import org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder;
-import org.apache.geronimo.j2ee.deployment.POJOWebServiceBuilder;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
@@ -241,7 +241,7 @@
ObjectName defaultServlets = ObjectName.getInstance("test:name=test,type=none,*");
ObjectName pojoWebServiceTemplate = null;
- POJOWebServiceBuilder pojoWebServiceBuilder = null;
+ WebServiceBuilder webServiceBuilder = null;
serverInfoName = new ObjectName("geronimo.system:name=ServerInfo");
serverInfoGBean = new GBeanData(serverInfoName, ServerInfo.GBEAN_INFO);
@@ -257,7 +257,7 @@
start(securityServiceGBean);
- builder = new JettyModuleBuilder(new URI("null"), new Integer(1800), Collections.EMPTY_LIST, containerName, defaultServlets, null, null, pojoWebServiceTemplate, pojoWebServiceBuilder, null, kernel);
+ builder = new JettyModuleBuilder(new URI("null"), new Integer(1800), Collections.EMPTY_LIST, containerName, defaultServlets, null, null, pojoWebServiceTemplate, webServiceBuilder, null, kernel);
container = new GBeanData(containerName, JettyContainerImpl.GBEAN_INFO);
Modified: geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java?rev=164095&r1=164094&r2=164095&view=diff
==============================================================================
--- geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java (original)
+++ geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java Thu Apr 21 11:27:34 2005
@@ -9,15 +9,15 @@
import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppDocument;
import org.apache.geronimo.xbeans.geronimo.jetty.JettyWebAppType;
import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefType;
-import org.apache.geronimo.j2ee.deployment.POJOWebServiceBuilder;
+import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
/**
*/
public class PlanParsingTest extends TestCase {
ObjectName jettyContainerObjectName = JMXUtil.getObjectName("test:type=JettyContainer");
ObjectName pojoWebServiceTemplate = null;
- POJOWebServiceBuilder pojoWebServiceBuilder = null;
- private JettyModuleBuilder builder = new JettyModuleBuilder(null, new Integer(1800), null, jettyContainerObjectName, null, null, null, pojoWebServiceTemplate, pojoWebServiceBuilder, null, null);
+ WebServiceBuilder webServiceBuilder = null;
+ private JettyModuleBuilder builder = new JettyModuleBuilder(null, new Integer(1800), null, jettyContainerObjectName, null, null, null, pojoWebServiceTemplate, webServiceBuilder, null, null);
private File basedir = new File(System.getProperty("basedir", "."));
public void testResourceRef() throws Exception {