Author: heiko.braun(a)jboss.com
Date: 2008-04-16 04:19:10 -0400 (Wed, 16 Apr 2008)
New Revision: 6444
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultWSFRuntimeLocator.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/DefaultTransportManagerFactory.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpDeamon.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpListenerRef.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpTransportManager.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/TJWSHttpDeamon.java
framework/trunk/framework/src/test/
framework/trunk/framework/src/test/java/
framework/trunk/framework/src/test/java/org/
framework/trunk/framework/src/test/java/org/jboss/
framework/trunk/framework/src/test/java/org/jboss/test/
framework/trunk/framework/src/test/java/org/jboss/test/ws/
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TJWSHttpDeamonTestCase.java
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TestSampleServlet.java
framework/trunk/framework/src/test/resources/
Modified:
framework/trunk/framework.iml
framework/trunk/framework/pom.xml
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextPropertiesDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextRootDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAddressDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointLifecycleDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointMetricsDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointNameDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRecordProcessorDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/URLPatternDeploymentAspect.java
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/WebAppGeneratorDeploymentAspect.java
Log:
Merge
https://svn.jboss.org/repos/jbossws/framework/branches/hbraun -r 6276
Modified: framework/trunk/framework/pom.xml
===================================================================
--- framework/trunk/framework/pom.xml 2008-04-16 07:48:06 UTC (rev 6443)
+++ framework/trunk/framework/pom.xml 2008-04-16 08:19:10 UTC (rev 6444)
@@ -17,7 +17,7 @@
<jbossws-common>3.0.0-SNAPSHOT</jbossws-common>
<jbossws-spi>3.0.0-SNAPSHOT</jbossws-spi>
<!--
http://jira.codehaus.org/browse/MANTRUN-88 -->
-
<jboss.local.repository>/home/tdiesler/svn/jboss.local.repository</jboss.local.repository>
+
<jboss.local.repository>/home/hbraun/dev/prj/jboss.local.repository</jboss.local.repository>
</properties>
<!-- Dependencies -->
@@ -52,6 +52,12 @@
<artifactId>wsdl4j</artifactId>
<version>1.6.1</version>
</dependency>
+ <dependency>
+ <groupId>tjws</groupId>
+ <artifactId>webserver</artifactId>
+ <version>1.3.3</version>
+ </dependency>
+
</dependencies>
<!-- Plugins -->
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultSPIProvider.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -29,10 +29,14 @@
import org.jboss.wsf.framework.http.DefaultHttpServerFactory;
import org.jboss.wsf.framework.invocation.DefaultResourceInjectorFactory;
import org.jboss.wsf.framework.management.DefaultEndpointMetricsFactory;
+import org.jboss.wsf.framework.management.ServerConfigFactoryImpl;
import org.jboss.wsf.framework.serviceref.DefaultServiceRefHandlerFactory;
import org.jboss.wsf.framework.serviceref.DefaultServiceRefMetaDataParserFactory;
+import org.jboss.wsf.framework.transport.DefaultTransportManagerFactory;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.WSFRuntimeLocator;
+import org.jboss.wsf.spi.transport.TransportManagerFactory;
import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
import org.jboss.wsf.spi.deployment.LifecycleHandlerFactory;
@@ -107,6 +111,18 @@
{
returnType = (T)loadService(spiType,
DefaultServiceRefMetaDataParserFactory.class.getName());
}
+ else if (TransportManagerFactory.class.equals(spiType))
+ {
+ returnType = (T)loadService(spiType,
DefaultTransportManagerFactory.class.getName());
+ }
+ else if (ServerConfigFactory.class.equals(spiType))
+ {
+ returnType = (T)loadService(spiType, ServerConfigFactoryImpl.class.getName());
+ }
+ else if (WSFRuntimeLocator.class.equals(spiType))
+ {
+ returnType = (T)loadService(spiType, DefaultWSFRuntimeLocator.class.getName());
+ }
// SPI provided by either container or stack integration
@@ -126,10 +142,7 @@
{
returnType = (T)loadService(spiType, null);
}
- else if (ServerConfigFactory.class.equals(spiType))
- {
- returnType = (T)loadService(spiType, null);
- }
+
else if (ServiceRefBinderFactory.class.equals(spiType))
{
returnType = (T)loadService(spiType, null);
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultWSFRuntimeLocator.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultWSFRuntimeLocator.java
(rev 0)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultWSFRuntimeLocator.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.wsf.framework;
+
+import org.jboss.wsf.spi.WSFRuntimeLocator;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.common.KernelAwareSPIFactory;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class DefaultWSFRuntimeLocator implements WSFRuntimeLocator
+{
+
+ public WSFRuntime locateRuntime(String runtimeName)
+ {
+ return new KernelAwareSPIFactory().getKernelProvidedSPI(
+ runtimeName, WSFRuntime.class
+ );
+ }
+}
Property changes on:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/DefaultWSFRuntimeLocator.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextPropertiesDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextPropertiesDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextPropertiesDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -23,6 +23,7 @@
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.WSFRuntime;
import java.util.Iterator;
import java.util.Map;
@@ -50,7 +51,7 @@
}
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
if (contextProperties != null)
{
@@ -63,4 +64,4 @@
}
}
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextRootDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextRootDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/ContextRootDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -30,6 +30,7 @@
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.spi.WSFRuntime;
/**
* A deployer that assigns the context root to the service
@@ -40,7 +41,7 @@
public class ContextRootDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
String contextRoot = dep.getService().getContextRoot();
if (contextRoot == null)
@@ -106,4 +107,4 @@
}
return contextRoot;
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -26,6 +26,7 @@
import java.util.Vector;
import javax.management.ObjectName;
+import javax.management.MalformedObjectNameException;
import org.jboss.wsf.spi.deployment.AbstractExtensible;
import org.jboss.wsf.spi.deployment.Endpoint;
@@ -62,6 +63,9 @@
DefaultEndpoint(String targetBean)
{
+ if(null==targetBean)
+ throw new IllegalArgumentException("targetBean name cannot be null");
+
this.targetBean = targetBean;
this.state = EndpointState.UNDEFINED;
}
@@ -128,6 +132,22 @@
public ObjectName getName()
{
+ if(null==name)
+ {
+ // build implicit name
+ try
+ {
+ name = new ObjectName(
+ Endpoint.SEPID_DOMAIN,
+ Endpoint.SEPID_PROPERTY_ENDPOINT, targetBean
+ );
+
+ } catch (MalformedObjectNameException e)
+ {
+ //
+ }
+ }
+
return name;
}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -35,11 +35,15 @@
import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
import org.jboss.wsf.spi.deployment.WSFDeploymentException;
import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+import org.jboss.wsf.spi.WSFRuntime;
/**
- * A general service deployment manger.
+ * Process an ordered chain of {@link
org.jboss.wsf.spi.deployment.DeploymentAspect}'s
+ * on a {@link org.jboss.wsf.spi.deployment.DeploymentLifecycle}
*
* @author Thomas.Diesler(a)jboss.com
+ * @author Heiko.Braun(a)jboss.com
+ *
* @since 20-Apr-2007
*/
public class DeploymentAspectManagerImpl implements DeploymentAspectManager
@@ -84,18 +88,19 @@
// Debug the aspect list
StringBuilder builder = new StringBuilder("setDeploymentAspects on " +
name);
for (DeploymentAspect aspect : aspects)
- builder.append("\n " + aspect.getClass().getName() + " provides:
" + aspect.getProvidesAsSet() + " requires: " +
aspect.getRequiresAsSet());
+ builder.append("\n ")
+ .append(aspect.getClass().getName())
+ .append(" provides: ")
+ .append(aspect.getProvidesAsSet())
+ .append(" requires: ")
+ .append(aspect.getRequiresAsSet()
+ );
log.debug(builder);
}
- /**
- * Iterate over the registered deployers calls create on each.
- * Iterate over the registered deployers again and calls start on each.
- * If start fails it automaticall calls destroy in the reverse order
- * starting with the deployer that failed
- */
- public void deploy(Deployment dep)
+
+ public void create(Deployment dep, WSFRuntime runtime)
{
// create the deployment
Set<String> providedConditions = new HashSet<String>();
@@ -103,25 +108,34 @@
{
DeploymentAspect aspect = getDeploymentAspects().get(i);
- // Check that all required aspects are met
+ // Check that all required aspects are met
/*
TODO: This should done by adding all provided conditions to the Deployment
when being executed. Otherwise we will miss the parent provided conditions
here
-
+
Set<String> requiredSet = aspect.getRequiresAsSet();
requiredSet.remove(DeploymentAspect.LAST_DEPLOYMENT_ASPECT);
if (providedConditions.containsAll(requiredSet) == false)
throw new IllegalStateException("Required conditions '" +
aspect.getRequires() + "' not satisfied by '" + providedConditions +
"' for: " + aspect);
*/
- logInvocation(aspect, "Create");
- aspect.create(dep);
+ logInvocation(aspect, "Create");
+ aspect.create(dep, runtime);
providedConditions.addAll(aspect.getProvidesAsSet());
}
dep.setState(DeploymentState.CREATED);
+ }
+ /**
+ * Iterate over the registered deployers calls create on each.
+ * Iterate over the registered deployers again and calls start on each.
+ * If start fails it automaticall calls destroy in the reverse order
+ * starting with the deployer that failed
+ */
+ public void start(Deployment dep, WSFRuntime runtime)
+ {
// start the deployment
for (int i = 0; i < getDeploymentAspects().size(); i++)
{
@@ -129,14 +143,14 @@
try
{
logInvocation(aspect, "Start");
- aspect.start(dep);
+ aspect.start(dep, runtime);
}
catch (RuntimeException rte)
{
while (i-- >= 0)
{
// destroy the deployment
- failsafeDestroy(aspect, dep);
+ failsafeDestroy(aspect, dep, runtime);
}
throw rte;
}
@@ -145,33 +159,37 @@
dep.setState(DeploymentState.STARTED);
}
- public void undeploy(Deployment dep)
+ public void stop(Deployment dep, WSFRuntime runtime)
{
// stop the deployment
for (int i = getDeploymentAspects().size(); 0 < i; i--)
{
DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
- failsafeStop(aspect, dep);
+ failsafeStop(aspect, dep, runtime);
}
dep.setState(DeploymentState.STOPPED);
+ }
+
+ public void destroy(Deployment dep, WSFRuntime runtime)
+ {
// destroy the deployment
for (int i = getDeploymentAspects().size(); 0 < i; i--)
{
DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
- failsafeDestroy(aspect, dep);
+ failsafeDestroy(aspect, dep, runtime);
}
dep.setState(DeploymentState.DESTROYED);
}
- private void failsafeStop(DeploymentAspect aspect, Deployment dep)
+ private void failsafeStop(DeploymentAspect aspect, Deployment dep, WSFRuntime
runtime)
{
try
{
logInvocation(aspect, "Stop");
- aspect.stop(dep);
+ aspect.stop(dep, runtime);
}
catch (RuntimeException rte)
{
@@ -179,12 +197,12 @@
}
}
- private void failsafeDestroy(DeploymentAspect aspect, Deployment dep)
+ private void failsafeDestroy(DeploymentAspect aspect, Deployment dep, WSFRuntime
runtime)
{
try
{
logInvocation(aspect, "Destroy");
- aspect.destroy(dep);
+ aspect.destroy(dep, runtime);
}
catch (RuntimeException rte)
{
@@ -198,4 +216,9 @@
name = name.substring(name.lastIndexOf(".") + 1);
log.debug(name + ":" + method);
}
+
+ public String toString()
+ {
+ return this.name + " :" + super.toString();
+ }
}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -30,6 +30,7 @@
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.WSFRuntime;
/**
* A deployment aspect for JAXWS Endpoint API endpoints.
@@ -40,7 +41,7 @@
public class EndpointAPIDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
dep.setType(DeploymentType.JAXWS_JSE);
@@ -78,4 +79,4 @@
}
}
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAddressDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAddressDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointAddressDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -25,6 +25,7 @@
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
@@ -40,7 +41,7 @@
public class EndpointAddressDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
String contextRoot = dep.getService().getContextRoot();
if (contextRoot == null)
@@ -66,4 +67,4 @@
ep.setAddress("http://" + hostAndPort + contextRoot + urlPattern);
}
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -25,6 +25,7 @@
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Endpoint;
@@ -56,7 +57,7 @@
}
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
for (Endpoint ep : dep.getService().getEndpoints())
{
@@ -111,4 +112,4 @@
InvocationHandler invocationHandler =
spiProvider.getSPI(InvocationHandlerFactory.class).newInvocationHandler(type);
return invocationHandler;
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointLifecycleDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointLifecycleDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointLifecycleDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -22,6 +22,7 @@
package org.jboss.wsf.framework.deployment;
import org.jboss.wsf.spi.deployment.*;
+import org.jboss.wsf.spi.WSFRuntime;
//$Id$
@@ -35,7 +36,7 @@
public class EndpointLifecycleDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
for (Endpoint ep : dep.getService().getEndpoints())
{
@@ -44,7 +45,7 @@
}
@Override
- public void start(Deployment dep)
+ public void start(Deployment dep, WSFRuntime runtime)
{
for (Endpoint ep : dep.getService().getEndpoints())
{
@@ -53,7 +54,7 @@
}
@Override
- public void stop(Deployment dep)
+ public void stop(Deployment dep, WSFRuntime runtime)
{
Service service = dep.getService();
if (service != null)
@@ -68,7 +69,7 @@
}
@Override
- public void destroy(Deployment dep)
+ public void destroy(Deployment dep, WSFRuntime runtime)
{
Service service = dep.getService();
if (service != null)
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointMetricsDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointMetricsDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointMetricsDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -25,6 +25,7 @@
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
import org.jboss.wsf.spi.management.EndpointMetrics;
import org.jboss.wsf.spi.management.EndpointMetricsFactory;
import org.jboss.wsf.spi.deployment.DeploymentAspect;
@@ -40,7 +41,7 @@
public class EndpointMetricsDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
SPIProvider provider = SPIProviderResolver.getInstance().getProvider();
EndpointMetricsFactory factory = provider.getSPI(EndpointMetricsFactory.class);
@@ -50,4 +51,4 @@
ep.setEndpointMetrics(metrics);
}
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointNameDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointNameDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointNameDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -29,6 +29,7 @@
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.WSFRuntime;
import org.jboss.wsf.common.ObjectNameFactory;
/**
@@ -40,7 +41,7 @@
public class EndpointNameDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
String contextRoot = dep.getService().getContextRoot();
if (contextRoot == null || contextRoot.startsWith("/") == false)
@@ -67,4 +68,4 @@
ep.setName(ObjectNameFactory.create(name.toString()));
}
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRecordProcessorDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRecordProcessorDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRecordProcessorDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -35,6 +35,7 @@
import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.management.recording.RecordProcessor;
+import org.jboss.wsf.spi.WSFRuntime;
/**
* A deployer that sets the record processors for each endpoint
@@ -53,7 +54,7 @@
}
@Override
- public void create(Deployment dep)
+ public void start(Deployment dep, WSFRuntime runtime)
{
for (Endpoint ep : dep.getService().getEndpoints())
{
@@ -79,7 +80,7 @@
}
@Override
- public void destroy(Deployment dep)
+ public void destroy(Deployment dep, WSFRuntime runtime)
{
for (Endpoint ep : dep.getService().getEndpoints())
{
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -21,13 +21,10 @@
*/
package org.jboss.wsf.framework.deployment;
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.WSFRuntime;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
/**
* A deployer that registers the endpoints
@@ -37,27 +34,19 @@
*/
public class EndpointRegistryDeploymentAspect extends DeploymentAspect
{
- private EndpointRegistry registry;
-
- public void create(Deployment dep)
- {
- SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- if (registry == null)
- registry =
spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
+ public void create(Deployment dep, WSFRuntime runtime)
+ {
for (Endpoint ep : dep.getService().getEndpoints())
{
- registry.register(ep);
+ runtime.getEndpointRegistry().register(ep);
}
}
- public void destroy(Deployment dep)
+ public void destroy(Deployment dep, WSFRuntime runtime)
{
- SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- if (registry == null)
- registry =
spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
for (Endpoint ep : dep.getService().getEndpoints())
{
- registry.unregister(ep);
+ runtime.getEndpointRegistry().unregister(ep);
}
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/URLPatternDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/URLPatternDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/URLPatternDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -30,6 +30,7 @@
import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.spi.WSFRuntime;
/**
* A deployer that assigns the URLPattern to endpoints.
@@ -40,7 +41,7 @@
public class URLPatternDeploymentAspect extends DeploymentAspect
{
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
for (Endpoint ep : dep.getService().getEndpoints())
{
@@ -100,4 +101,4 @@
String urlPattern = ep.getShortName();
return urlPattern;
}
-}
\ No newline at end of file
+}
Modified:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/WebAppGeneratorDeploymentAspect.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/WebAppGeneratorDeploymentAspect.java 2008-04-16
07:48:06 UTC (rev 6443)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/deployment/WebAppGeneratorDeploymentAspect.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -36,6 +36,7 @@
import org.dom4j.io.XMLWriter;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
import org.jboss.wsf.spi.annotation.WebContext;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
import org.jboss.wsf.spi.deployment.Deployment;
@@ -71,7 +72,7 @@
}
@Override
- public void create(Deployment dep)
+ public void create(Deployment dep, WSFRuntime runtime)
{
String typeStr = dep.getType().toString();
if (typeStr.endsWith("EJB21"))
@@ -281,4 +282,4 @@
return document;
}
-}
\ No newline at end of file
+}
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/DefaultTransportManagerFactory.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/DefaultTransportManagerFactory.java
(rev 0)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/DefaultTransportManagerFactory.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.wsf.framework.transport;
+
+import org.jboss.wsf.spi.transport.TransportManagerFactory;
+import org.jboss.wsf.spi.transport.TransportManager;
+import org.jboss.wsf.spi.transport.Protocol;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class DefaultTransportManagerFactory implements TransportManagerFactory
+{
+
+ public TransportManager createTransportManager(Protocol protocol)
+ {
+ TransportManager manager = null;
+
+ switch(protocol)
+ {
+ case HTTP:
+ manager = new HttpTransportManager();
+ break;
+ default:
+ throw new IllegalArgumentException("No TransportManager for protocol:
" + protocol);
+ }
+
+ return manager;
+ }
+}
Property changes on:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/DefaultTransportManagerFactory.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpDeamon.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpDeamon.java
(rev 0)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpDeamon.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,43 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.wsf.framework.transport;
+
+import javax.servlet.Servlet;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public interface HttpDeamon
+{
+
+ int DEFAULT_PORT = 20000;
+
+ int getPort();
+
+ void start();
+
+ void stop();
+
+ void addServletContext(String contextPath, String urlPattern, Servlet servletClass);
+
+ void removeServletContext(String contextPath, String urlPattern);
+}
Property changes on:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpDeamon.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpListenerRef.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpListenerRef.java
(rev 0)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpListenerRef.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.wsf.framework.transport;
+
+import org.jboss.wsf.spi.transport.ListenerRef;
+import org.jboss.wsf.spi.transport.Protocol;
+
+import java.net.URI;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class HttpListenerRef implements ListenerRef
+{
+ private String webContext;
+ private String urlPattern;
+ private URI address;
+
+ public HttpListenerRef(String webContext, String urlPattern, URI address)
+ {
+ if(!webContext.startsWith("/"))
+ webContext = "/"+webContext;
+
+ if(!urlPattern.startsWith("/"))
+ urlPattern = "/"+urlPattern;
+
+ this.webContext = webContext;
+ this.urlPattern = urlPattern;
+ this.address = address;
+ }
+
+ public Protocol getProtocol()
+ {
+ return Protocol.HTTP;
+ }
+
+ public URI getAddress()
+ {
+ return address;
+ }
+
+ public String getUUID()
+ {
+ return this.webContext+this.urlPattern;
+ }
+
+
+ public String toString()
+ {
+ return getAddress().toString();
+ }
+}
Property changes on:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpListenerRef.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpTransportManager.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpTransportManager.java
(rev 0)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpTransportManager.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,174 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.wsf.framework.transport;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.EndpointAssociation;
+import org.jboss.wsf.spi.invocation.RequestHandler;
+import org.jboss.wsf.spi.transport.HttpSpec;
+import org.jboss.wsf.spi.transport.ListenerRef;
+import org.jboss.wsf.spi.transport.TransportManager;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class HttpTransportManager implements TransportManager<HttpSpec>
+{
+ private HttpDeamon httpDeamon;
+
+ public static final int DEFAULT_PORT = 20000;
+ public static final String DEFAULT_HOST = "localhost";
+
+ private int port;
+ private String host;
+
+ public HttpTransportManager(String host, int port)
+ {
+ this.host = host;
+ this.port = port;
+
+ this.httpDeamon = TJWSHttpDeamon.getInstance(DEFAULT_PORT);
+ this.httpDeamon.start();
+ }
+
+ public HttpTransportManager()
+ {
+ this(DEFAULT_HOST, DEFAULT_PORT);
+ }
+
+ public ListenerRef createListener(Endpoint endpoint, HttpSpec transportProperties)
+ {
+ Servlet listener = new EndpointServlet(endpoint);
+ this.httpDeamon.addServletContext(
+ transportProperties.getWebContext(),
+ transportProperties.getUrlPattern(),
+ listener
+ );
+
+ return createListenerRef(transportProperties);
+ }
+
+ private ListenerRef createListenerRef(HttpSpec transportProperties)
+ {
+
+ assert transportProperties.getWebContext().startsWith("/");
+ assert transportProperties.getUrlPattern()!=null;
+
+ try
+ {
+ String ctx = transportProperties.getWebContext();
+ String urlPattern = transportProperties.getUrlPattern();
+
+ URI address = new URI("http://"+host+":"+port + ctx +
urlPattern);
+ return new HttpListenerRef(ctx, urlPattern, address);
+ } catch (URISyntaxException e)
+ {
+ throw new RuntimeException("Failed to create ListenerRef");
+ }
+ }
+
+ public void destroyListener(ListenerRef ref)
+ {
+ String context = ref.getUUID().substring(0,
ref.getUUID().lastIndexOf("/"));
+ String urlPattern =
ref.getUUID().substring(ref.getUUID().lastIndexOf("/"));
+ this.httpDeamon.removeServletContext(context, urlPattern);
+ }
+
+ /**
+ * Core listener component
+ */
+ public class EndpointServlet extends HttpServlet
+ {
+ // provide logging
+ private final Logger log = Logger.getLogger(EndpointServlet.class);
+
+ protected Endpoint endpoint;
+ //protected EndpointRegistry epRegistry;
+
+ private boolean started;
+
+ public void init(ServletConfig servletConfig) throws ServletException
+ {
+ super.init(servletConfig);
+ /*SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ epRegistry =
spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();*/
+ }
+
+ public EndpointServlet(Endpoint endpoint)
+ {
+ if(null==endpoint.getName())
+ throw new IllegalArgumentException("Endpoint objectName is null");
+
+ this.endpoint = endpoint;
+ }
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException
+ {
+ response.setContentType("text/plain");
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.getWriter().println(endpoint.getName());
+ }
+
+ public void service(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException
+ {
+ // arguable solution ...
+ // the endpoint should be started when the transport listener is created
+ if(!started) startEndpoint();
+
+ try
+ {
+ EndpointAssociation.setEndpoint(endpoint);
+ RequestHandler requestHandler = endpoint.getRequestHandler();
+ requestHandler.handleHttpRequest(endpoint, req, res, getServletContext());
+ }
+ finally
+ {
+ EndpointAssociation.removeEndpoint();
+ }
+ }
+
+ private void startEndpoint()
+ {
+ // Start the endpoint
+ Deployment dep = endpoint.getService().getDeployment();
+ if (dep.getType() == Deployment.DeploymentType.JAXRPC_JSE ||
+ dep.getType() == Deployment.DeploymentType.JAXWS_JSE)
+ {
+ if (endpoint.getState() == Endpoint.EndpointState.CREATED)
+ endpoint.getLifecycleHandler().start(endpoint);
+ }
+ }
+ }
+}
Property changes on:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/HttpTransportManager.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/TJWSHttpDeamon.java
===================================================================
---
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/TJWSHttpDeamon.java
(rev 0)
+++
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/TJWSHttpDeamon.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,231 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.wsf.framework.transport;
+
+import Acme.Serve.Serve;
+import org.jboss.logging.Logger;
+
+import javax.servlet.Servlet;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Properties;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantLock;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class TJWSHttpDeamon implements HttpDeamon
+{
+ private int port;
+ private Acme.Serve.Serve server;
+
+ private static final Logger LOG = Logger.getLogger(TJWSHttpDeamon.class);
+ private static final Lock CLASS_LOCK = new ReentrantLock();
+ private static HttpDeamon INSTANCE = null;
+
+ private boolean started = false;
+
+ private Map<String, Servlet> servlets = new HashMap<String, Servlet>();
+
+ private TJWSHttpDeamon(int port)
+ {
+ this.port = port;
+ server = new Acme.Serve.Serve();
+
+ Properties properties = new java.util.Properties();
+ properties.put("port", port);
+ properties.setProperty(Acme.Serve.Serve.ARG_NOHUP, "nohup");
+
+ server.arguments = properties;
+ server.addDefaultServlets(null);
+ server.addServlet("/", new HelloServlet("JBossWS
HttpDeamon"));
+ }
+
+ public int getPort()
+ {
+ return this.port;
+ }
+
+ public void start()
+ {
+ CLASS_LOCK.lock();
+ try
+ {
+ if(!started)
+ {
+ Thread t = new Thread( new DoServe(server));
+ t.start();
+ started = true;
+ }
+
+ } finally
+ {
+ CLASS_LOCK.unlock();
+ }
+ }
+
+ public void stop()
+ {
+ try
+ {
+ server.notifyStop();
+ } catch (IOException e)
+ {
+ //
+ }
+
+ server.destroyAllServlets();
+ }
+
+ public void addServletContext(String contextPath, String urlPattern, Servlet servlet)
+ {
+ CLASS_LOCK.lock();
+
+ try
+ {
+ if(!contextPath.startsWith("/"))
+ contextPath = "/"+contextPath;
+
+ // TODO: urlpattern not used?
+
+ server.addServlet(contextPath, servlet);
+
+ // remeber servlet, required for subsequent remove
+ servlets.put(contextPath, servlet);
+ }
+ finally
+ {
+ CLASS_LOCK.unlock();
+ }
+ }
+
+ public void removeServletContext(String contextPath, String urlPattern)
+ {
+ CLASS_LOCK.lock();
+
+ try
+ {
+ Servlet servlet = servlets.remove(contextPath);
+ if(servlet!=null)
+ {
+ // TJWS is missing a removeContext method
+ server.destroyAllServlets();
+ for(String ctx : servlets.keySet())
+ {
+ server.addServlet(ctx, servlets.get(ctx));
+ }
+
+ server.addServlet("/", new HelloServlet("JBossWS
HttpDeamon"));
+ }
+
+ } finally
+ {
+ CLASS_LOCK.unlock();
+ }
+
+ }
+
+ // TODO: Move to factory base class
+ public static HttpDeamon getInstance(int port)
+ {
+ CLASS_LOCK.lock();
+ try
+ {
+ if (INSTANCE == null)
+ {
+ INSTANCE = new TJWSHttpDeamon(port);
+
+ try
+ {
+ INSTANCE.start();
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Failed to start HttpDeamon", e);
+ }
+
+ Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
+ public void run()
+ {
+ try
+ {
+ INSTANCE.stop();
+ } catch (Exception e)
+ {
+ //
+ }
+ }
+ }, "HttpDeamonShutDownHook"));
+ }
+ else
+ {
+ LOG.warn("There is already a HttpDeamon running on port: " +
INSTANCE.getPort());
+ }
+
+ return INSTANCE;
+ }
+ finally
+ {
+ CLASS_LOCK.unlock();
+ }
+ }
+
+ public static class HelloServlet extends HttpServlet
+ {
+ String greeting="Hello";
+ public HelloServlet()
+ {}
+
+ public HelloServlet(String hi)
+ {greeting=hi;}
+
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException
+ {
+ response.setContentType("text/plain");
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.getWriter().println(greeting);
+ }
+ }
+
+ private class DoServe implements Runnable
+ {
+ private Acme.Serve.Serve server;
+
+
+ public void run()
+ {
+ this.server.serve();
+ }
+
+ public DoServe(Serve server)
+ {
+ this.server = server;
+ }
+ }
+}
Property changes on:
framework/trunk/framework/src/main/java/org/jboss/wsf/framework/transport/TJWSHttpDeamon.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TJWSHttpDeamonTestCase.java
===================================================================
---
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TJWSHttpDeamonTestCase.java
(rev 0)
+++
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TJWSHttpDeamonTestCase.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.test.ws.framework.transport;
+
+import org.jboss.wsf.framework.transport.HttpDeamon;
+import org.jboss.wsf.framework.transport.TJWSHttpDeamon;
+
+import java.io.IOException;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.net.URLConnection;
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class TJWSHttpDeamonTestCase extends TestCase
+{
+ private static HttpDeamon SERVER =
TJWSHttpDeamon.getInstance(HttpDeamon.DEFAULT_PORT);
+
+ public void testRootContext() throws Exception
+ {
+ String response = GETRequest("");
+ assertEquals("JBossWS HttpDeamon", response.toString());
+ }
+
+ public void testContextCreation() throws Exception
+ {
+ SERVER.addServletContext("/endpoint", "/*", new
TestSampleServlet());
+ assertEquals("I'm a web service endpoint",
GETRequest("endpoint"));
+ }
+
+ public static String GETRequest(String context)
+ throws IOException
+ {
+ if(context.startsWith("/"))
+ context = context.substring(1);
+
+ URLConnection con = new
URL("http://localhost:20000/"+context).openConnection();
+ con.connect();
+
+ BufferedReader in = new BufferedReader(
+ new InputStreamReader(
+ con.getInputStream()
+ )
+ );
+
+ String inputLine;
+ StringBuffer sb = new StringBuffer();
+ while ((inputLine = in.readLine()) != null)
+ sb.append(inputLine);
+ in.close();
+ return sb.toString();
+ }
+}
Property changes on:
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TJWSHttpDeamonTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Added:
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TestSampleServlet.java
===================================================================
---
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TestSampleServlet.java
(rev 0)
+++
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TestSampleServlet.java 2008-04-16
08:19:10 UTC (rev 6444)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, 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.test.ws.framework.transport;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+import java.io.IOException;
+
+/**
+ * @author Heiko.Braun <heiko.braun(a)jboss.com>
+ */
+public class TestSampleServlet extends HttpServlet
+{
+ protected void doGet(HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException
+ {
+ response.setContentType("text/html");
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.getWriter().println("I'm a web service endpoint");
+ }
+}
\ No newline at end of file
Property changes on:
framework/trunk/framework/src/test/java/org/jboss/test/ws/framework/transport/TestSampleServlet.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: framework/trunk/framework.iml
===================================================================
--- framework/trunk/framework.iml 2008-04-16 07:48:06 UTC (rev 6443)
+++ framework/trunk/framework.iml 2008-04-16 08:19:10 UTC (rev 6444)
@@ -4,156 +4,347 @@
<component name="NewModuleRootManager"
inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/src/main/java"
isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/java"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/framework/src/main/etc"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/framework/src/main/java"
isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/framework/src/test/java"
isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/framework/src/test/resources"
isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="spi" />
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep:
org.jboss:jboss-common-core:jar:2.2.1.GA:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jboss-logging-spi.jar!/"
/>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-common-core/2.2.1.GA/jboss-common-core-2.2.1.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: tjws:webserver:jar:1.3.3:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jboss-xml-binding.jar!/"
/>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/tjws/webserver/1.3.3/webserver-1.3.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: log4j:log4j:jar:1.2.14:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jboss-common-core.jar!/"
/>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep:
jboss:jboss-common-logging-spi:jar:2.0.4.GA:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/activation.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-common-logging-spi/2.0.4.GA/jboss-common-logging-spi-2.0.4.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep:
javax.annotation:jsr250-api:jar:1.0:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jbossws-common-src.zip!/"
/>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep:
oswego-concurrent:concurrent:jar:1.3.4:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jaxrpc-api.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/oswego-concurrent/concurrent/1.3.4/concurrent-1.3.4.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: javax.ejb:ejb-api:jar:3.0:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/thirdparty/jboss-common-core-sources.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/ejb/ejb-api/3.0/ejb-api-3.0.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: javax.xml.soap:saaj-api:jar:1.3:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jbossws-common.jar!/"
/>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/soap/saaj-api/1.3/saaj-api-1.3.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: junit:junit:jar:3.8.1:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jsr181-api.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: ant:ant-junit:jar:1.6.5:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jaxws-api.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/ant/ant-junit/1.6.5/ant-junit-1.6.5.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: org.jboss:jboss-test:jar:1.0.4.GA:compile">
<CLASSES>
- <root
url="jar://$MODULE_DIR$/thirdparty/jboss-xml-binding-sources.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jboss-test/1.0.4.GA/jboss-test-1.0.4.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: apache-xerces:xml-apis:jar:2.7.1:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/saaj-api.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/apache-xerces/xml-apis/2.7.1/xml-apis-2.7.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: javax.servlet:servlet-api:jar:2.5:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jaxb-api.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep:
org.jboss.ws:jbossws-common:jar:3.0.0-SNAPSHOT:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/jboss-javaee.jar!/"
/>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/ws/jbossws-common/3.0.0-SNAPSHOT/jbossws-common-3.0.0-SNAPSHOT.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep:
jboss:jboss-logging-spi:jar:2.0.3.GA:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/dom4j.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-logging-spi/2.0.3.GA/jboss-logging-spi-2.0.3.GA.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
- <library>
+ <library name="M2 Dep: wsdl4j:wsdl4j:jar:1.6.1:compile">
<CLASSES>
- <root url="jar://$MODULE_DIR$/thirdparty/junit.jar!/" />
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar!/"
/>
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="spi" />
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
apache-httpclient:commons-httpclient:jar:2.0.2:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/apache-httpclient/commons-httpclient/2.0.2/commons-httpclient-2.0.2.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.xml.bind:jaxb-api:jar:2.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/bind/jaxb-api/2.1/jaxb-api-2.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: xml-apis:xml-apis:jar:1.0.b2:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
javax.activation:activation:jar:1.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/activation/activation/1.1/activation-1.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
org.jboss.microcontainer:jboss-dependency:jar:2.0.0.Beta4:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-dependency/2.0.0.Beta4/jboss-dependency-2.0.0.Beta4.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: dom4j:dom4j:jar:1.6.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: apache-slide:webdavlib:jar:2.0:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/apache-slide/webdavlib/2.0/webdavlib-2.0.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
jboss:jboss-common-core:jar:2.0.4.GA:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-common-core/2.0.4.GA/jboss-common-core-2.0.4.GA.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
org.jboss.microcontainer:jboss-container:jar:2.0.0.Beta4:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-container/2.0.0.Beta4/jboss-container-2.0.0.Beta4.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
jboss:jboss-common-logging-log4j:jar:2.0.4.GA:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/jboss-common-logging-log4j/2.0.4.GA/jboss-common-logging-log4j-2.0.4.GA.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
wutka-dtdparser:dtdparser121:jar:1.2.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/wutka-dtdparser/dtdparser121/1.2.1/dtdparser121-1.2.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
jboss.profiler.jvmti:jboss-profiler-jvmti:jar:1.0.0.CR5:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/jboss/profiler/jvmti/jboss-profiler-jvmti/1.0.0.CR5/jboss-profiler-jvmti-1.0.0.CR5.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss:jbossxb:jar:2.0.0.CR4:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/jbossxb/2.0.0.CR4/jbossxb-2.0.0.CR4.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: org.jboss:javassist:jar:3.6-beta:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/javassist/3.6-beta/javassist-3.6-beta.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: gnu-getopt:getopt:jar:1.0.13:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/gnu-getopt/getopt/1.0.13/getopt-1.0.13.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: ant:ant:jar:1.6.5:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/ant/ant/1.6.5/ant-1.6.5.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
apache-xerces:xercesImpl:jar:2.7.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/apache-xerces/xercesImpl/2.7.1/xercesImpl-2.7.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.xml:jaxrpc-api:jar:1.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/jaxrpc-api/1.1/jaxrpc-api-1.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
javax.xml.stream:stax-api:jar:1.0-2:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep:
org.jboss.microcontainer:jboss-kernel:jar:2.0.0.Beta4:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/org/jboss/microcontainer/jboss-kernel/2.0.0.Beta4/jboss-kernel-2.0.0.Beta4.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library name="M2 Dep: javax.xml.ws:jaxws-api:jar:2.1:compile">
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../.m2/repository/javax/xml/ws/jaxws-api/2.1/jaxws-api-2.1.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
</module>