[jbossws-commits] JBossWS SVN: r4023 - in trunk: integration/jboss40/src/main/resources and 33 other directories.

jbossws-commits at lists.jboss.org jbossws-commits at lists.jboss.org
Sat Jul 28 03:14:07 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-07-28 03:14:06 -0400 (Sat, 28 Jul 2007)
New Revision: 4023

Added:
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/JBossHttpServer.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultExtensible.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeployment.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeploymentModelFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultLifecycleHandlerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultService.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContext.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContextFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/DefaultResourceInjectorFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfig.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfigMBean.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/EndpointMetricsImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/Extensible.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContext.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContextFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServer.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java
Removed:
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java
   trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicArchiveDeployment.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeployment.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeploymentAspectManager.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicEndpoint.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicExtendible.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicLifecycleHandler.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicService.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentModelFactoryImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerFactoryImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/ResourceInjectorFactoryImpl.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicEndpointMetrics.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfig.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfigMBean.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Extendible.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java
   trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java
   trunk/integration/xfire/src/main/resources/jbossws-xfire.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpContext.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpServer.java
Modified:
   trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerFactoryImpl.java
   trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceContextFactoryImpl.java
   trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java
   trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java
   trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java
   trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java
   trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointServlet.java
   trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java
   trunk/integration/native/src/main/resources/jbossws-native-config.xml
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentModelFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/ContextServlet.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/framework/transport/jms/JMSTransportSupport.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployment.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentModelFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Endpoint.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/LifecycleHandlerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Service.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/DefaultInvocationHandlerJAXWS.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/RequestHandlerFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/ResourceInjectorFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/SecurityAdaptorFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/WebServiceContextFactory.java
   trunk/integration/spi/src/main/java/org/jboss/wsf/test/TestDeployerJBoss.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointServlet.java
   trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/RequestHandlerFactoryImpl.java
   trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/CXFServletExt.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointServlet.java
   trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerFactoryImpl.java
   trunk/integration/xfire/src/main/resources/jbossws-xfire-config.xml
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceObjectFactoryJAXRPC.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/EndpointImpl.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/PortComponentLinkServlet.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/ReceiveUsernameOperation.java
   trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
   trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/addressrewrite/AddressRewriteTestCase.java
   trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/binding/BindingCustomizationTestCase.java
   trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java
   trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointTestCase.java
Log:
Add SPI HTTPServer, HTTPContext

Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerFactoryImpl.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,7 +29,7 @@
  */
 public class InvocationHandlerFactoryImpl extends InvocationHandlerFactory
 {
-   public InvocationHandler createInvocationHandler(InvocationType type)
+   public InvocationHandler newInvocationHandler(InvocationType type)
    {
       InvocationHandler handler = null;
 

Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceContextFactoryImpl.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceContextFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceContextFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -31,7 +31,7 @@
  */
 public class WebServiceContextFactoryImpl extends WebServiceContextFactory
 {
-   public ExtendableWebServiceContext createWebServiceContext(InvocationType type, MessageContext messageContext)
+   public ExtendableWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext)
    {
       ExtendableWebServiceContext context = null;
 

Modified: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml	2007-07-28 07:14:06 UTC (rev 4023)
@@ -70,10 +70,10 @@
   <!-- 
     Each DeploymentAspectManger maintains a list of DeploymentAspects
   -->
-  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.framework.deployment.BasicDeploymentAspectManager">
+  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
     <property name="name">WSDeploymentAspectManagerJSE</property>
   </bean>
-  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.BasicDeploymentAspectManager">
+  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
     <property name="name">WSDeploymentAspectManagerEJB</property>
   </bean>
   
@@ -148,7 +148,7 @@
     <property name="applicationMetaDataAdapterEJB3"><inject bean="WSApplicationMetaDataAdapterEJB3"/></property>
     <property name="webMetaDataAdapter"><inject bean="WSWebMetaDataAdapter"/></property>
   </bean>
-  <bean name="WSEndpointMetrics" class="org.jboss.wsf.framework.management.BasicEndpointMetrics"/>
+  <bean name="WSEndpointMetrics" class="org.jboss.wsf.framework.management.EndpointMetricsImpl"/>
   <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
   <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
   <bean name="WSServiceRefMetaDataAdapter" class="org.jboss.wsf.container.jboss40.ServiceRefMetaDataAdapter"/>

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -58,7 +58,7 @@
       if(null == deploymentAspectManager)
       {
          SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-         deploymentAspectManager = spiProvider.getSPI(DeploymentAspectManagerFactory.class).createDeploymentAspectManager(getDeploymentType());
+         deploymentAspectManager = spiProvider.getSPI(DeploymentAspectManagerFactory.class).getDeploymentAspectManager(getDeploymentType());
       }
 
       return deploymentAspectManager;
@@ -80,11 +80,11 @@
       try
       {
          DeploymentModelFactory factory = getDeploymentModelFactory();
-         ArchiveDeployment dep = (ArchiveDeployment)factory.createDeployment(di.shortName, di.annotationsCl);
+         ArchiveDeployment dep = (ArchiveDeployment)factory.newDeployment(di.shortName, di.annotationsCl);
          if (di.parent != null)
          {
             DeploymentInfo parentInfo = di.parent;
-            ArchiveDeployment parentDep = (ArchiveDeployment)factory.createDeployment(parentInfo.shortName, parentInfo.annotationsCl);
+            ArchiveDeployment parentDep = (ArchiveDeployment)factory.newDeployment(parentInfo.shortName, parentInfo.annotationsCl);
             dep.setParent(parentDep);
          }
          return dep;
@@ -99,7 +99,7 @@
    {
       try
       {
-         return getDeploymentModelFactory().createEndpoint();
+         return getDeploymentModelFactory().newEndpoint();
       }
       catch (Exception ex)
       {

Deleted: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.container.jboss42;
-
-import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.common.KernelAwareSPIFactory;
-import org.jboss.logging.Logger;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 23, 2007
- */
-public class DeploymentAspectManagerFactoryImpl extends DeploymentAspectManagerFactory
-{
-   private static final Logger log = Logger.getLogger(DeploymentAspectManagerFactoryImpl.class);
-
-   public DeploymentAspectManager createDeploymentAspectManager(Deployment.DeploymentType deploymentType)
-   {
-      String beanName;
-
-      if(deploymentType.toString().indexOf("EJB")!=-1)
-         beanName = "WSDeploymentAspectManagerEJB";
-      else
-         beanName = "WSDeploymentAspectManagerJSE";
-
-      log.debug("DeploymentAspectManager for " + deploymentType +": " +beanName);
-
-      return new KernelAwareSPIFactory().getKernelProvidedSPI(
-        beanName, DeploymentAspectManager.class
-      );
-   }
-}

Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java	                        (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/DeploymentAspectManagerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.container.jboss42;
+
+import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.common.KernelAwareSPIFactory;
+import org.jboss.logging.Logger;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 23, 2007
+ */
+public class DeploymentAspectManagerFactoryImpl extends DeploymentAspectManagerFactory
+{
+   private static final Logger log = Logger.getLogger(DeploymentAspectManagerFactoryImpl.class);
+
+   public DeploymentAspectManager getDeploymentAspectManager(Deployment.DeploymentType deploymentType)
+   {
+      String beanName;
+
+      if(deploymentType.toString().indexOf("EJB")!=-1)
+         beanName = "WSDeploymentAspectManagerEJB";
+      else
+         beanName = "WSDeploymentAspectManagerJSE";
+
+      log.debug("DeploymentAspectManager for " + deploymentType +": " +beanName);
+
+      return new KernelAwareSPIFactory().getKernelProvidedSPI(
+        beanName, DeploymentAspectManager.class
+      );
+   }
+}

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -161,7 +161,7 @@
          throw new IllegalStateException("Cannot obtain MessageContext");
 
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).createSecurityAdapter();
+      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
       Principal principal = securityAdaptor.getPrincipal();
       Object credential = securityAdaptor.getCredential();
 

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -132,7 +132,7 @@
          {
             EJBContext ejbCtx = beanCtx.getEJBContext();
             SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-            ExtendableWebServiceContext wsContext = spiProvider.getSPI(WebServiceContextFactory.class).createWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext);
+            ExtendableWebServiceContext wsContext = spiProvider.getSPI(WebServiceContextFactory.class).newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext);
             wsContext.addAttachment(EJBContext.class, ejbCtx);
             beanProp.set(beanCtx.getInstance(), wsContext);
          }

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,7 +29,7 @@
  */
 public class InvocationHandlerFactoryImpl extends InvocationHandlerFactory
 {
-   public InvocationHandler createInvocationHandler(InvocationType type)
+   public InvocationHandler newInvocationHandler(InvocationType type)
    {
      InvocationHandler handler = null;
 

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -30,7 +30,7 @@
  */
 public class SecurityAdapterFactoryImpl extends SecurityAdaptorFactory
 {
-   public SecurityAdaptor createSecurityAdapter()
+   public SecurityAdaptor newSecurityAdapter()
    {
       return new SecurityAdaptorImpl(); 
    }

Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -31,7 +31,7 @@
  */
 public class WebServiceContextFactoryImpl extends WebServiceContextFactory
 {
-   public ExtendableWebServiceContext createWebServiceContext(InvocationType type, MessageContext messageContext)
+   public ExtendableWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext)
    {
       ExtendableWebServiceContext context = null;
 

Modified: trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
===================================================================
--- trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml	2007-07-28 07:14:06 UTC (rev 4023)
@@ -70,10 +70,10 @@
   <!-- 
     Each DeploymentAspectManger maintains a list of DeploymentAspects
   -->
-  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.framework.deployment.BasicDeploymentAspectManager">
+  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
     <property name="name">WSDeploymentAspectManagerJSE</property>
   </bean>
-  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.BasicDeploymentAspectManager">
+  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
     <property name="name">WSDeploymentAspectManagerEJB</property>
   </bean>
   
@@ -147,7 +147,7 @@
     <property name="applicationMetaDataAdapterEJB3"><inject bean="WSApplicationMetaDataAdapterEJB3"/></property>
     <property name="webMetaDataAdapter"><inject bean="WSWebMetaDataAdapter"/></property>
   </bean>
-  <bean name="WSEndpointMetrics" class="org.jboss.wsf.framework.management.BasicEndpointMetrics"/>
+  <bean name="WSEndpointMetrics" class="org.jboss.wsf.framework.management.EndpointMetricsImpl"/>
   <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
   <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
   <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.container.jboss42.DefaultWebAppDesciptorModifierImpl"/>

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -51,7 +51,7 @@
       if(null == deploymentAspectManager)
       {
          SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-         deploymentAspectManager = spiProvider.getSPI(DeploymentAspectManagerFactory.class).createDeploymentAspectManager(getDeploymentType());
+         deploymentAspectManager = spiProvider.getSPI(DeploymentAspectManagerFactory.class).getDeploymentAspectManager(getDeploymentType());
       }
 
       return deploymentAspectManager;
@@ -73,11 +73,11 @@
       try
       {
          DeploymentModelFactory factory = getDeploymentModelFactory();
-         ArchiveDeployment dep = (ArchiveDeployment)factory.createDeployment(unit.getSimpleName(), unit.getClassLoader());
+         ArchiveDeployment dep = (ArchiveDeployment)factory.newDeployment(unit.getSimpleName(), unit.getClassLoader());
          if (unit.getParent() != null)
          {
             DeploymentUnit parentUnit = unit.getParent();
-            ArchiveDeployment parentDep = (ArchiveDeployment)factory.createDeployment(parentUnit.getSimpleName(), parentUnit.getClassLoader());
+            ArchiveDeployment parentDep = (ArchiveDeployment)factory.newDeployment(parentUnit.getSimpleName(), parentUnit.getClassLoader());
             dep.setParent(parentDep);
          }
          return dep;
@@ -92,7 +92,7 @@
    {
       try
       {
-         return getDeploymentModelFactory().createEndpoint();
+         return getDeploymentModelFactory().newEndpoint();
       }
       catch (Exception ex)
       {

Deleted: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,58 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.container.jboss50;
-
-import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.common.KernelAwareSPIFactory;
-import org.jboss.logging.Logger;
-
-/**
- * A DeploymentAspectManagerFactory that retrieves a configured
- * {@link DeploymentAspectManager} from MC kernel.
- *
- * @see org.jboss.wsf.framework.deployment.DeploymentAspectInstaller
- *
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 20, 2007
- */
-public class DeploymentAspectManagerFactoryImpl extends DeploymentAspectManagerFactory
-{
-   private static final Logger log = Logger.getLogger(DeploymentAspectManagerFactoryImpl.class);
-
-   public DeploymentAspectManager createDeploymentAspectManager(Deployment.DeploymentType deploymentType)
-   {
-      String beanName;
-
-      if(deploymentType.toString().indexOf("EJB")!=-1)
-         beanName = "WSDeploymentAspectManagerEJB";
-      else
-         beanName = "WSDeploymentAspectManagerJSE";
-
-      log.debug("DeploymentAspectManager for " + deploymentType +": " +beanName);
-
-      return new KernelAwareSPIFactory().getKernelProvidedSPI(
-        beanName, DeploymentAspectManager.class
-      );
-   }
-}

Added: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java	                        (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/DeploymentAspectManagerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.container.jboss50;
+
+import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.common.KernelAwareSPIFactory;
+import org.jboss.logging.Logger;
+
+/**
+ * A DeploymentAspectManagerFactory that retrieves a configured
+ * {@link DeploymentAspectManager} from MC kernel.
+ *
+ * @see org.jboss.wsf.framework.deployment.DeploymentAspectInstaller
+ *
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 20, 2007
+ */
+public class DeploymentAspectManagerFactoryImpl extends DeploymentAspectManagerFactory
+{
+   private static final Logger log = Logger.getLogger(DeploymentAspectManagerFactoryImpl.class);
+
+   public DeploymentAspectManager getDeploymentAspectManager(Deployment.DeploymentType deploymentType)
+   {
+      String beanName;
+
+      if(deploymentType.toString().indexOf("EJB")!=-1)
+         beanName = "WSDeploymentAspectManagerEJB";
+      else
+         beanName = "WSDeploymentAspectManagerJSE";
+
+      log.debug("DeploymentAspectManager for " + deploymentType +": " +beanName);
+
+      return new KernelAwareSPIFactory().getKernelProvidedSPI(
+        beanName, DeploymentAspectManager.class
+      );
+   }
+}

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -158,7 +158,7 @@
          throw new IllegalStateException("Cannot obtain MessageContext");
 
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).createSecurityAdapter();
+      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
       SecurityContext sc = SecurityContextAssociation.getSecurityContext();
       Principal principal = securityAdaptor.getPrincipal();
       Object credential = securityAdaptor.getCredential();

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -132,7 +132,7 @@
          {
             EJBContext ejbCtx = beanCtx.getEJBContext();
             SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-            ExtendableWebServiceContext wsContext = spiProvider.getSPI(WebServiceContextFactory.class).createWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext);
+            ExtendableWebServiceContext wsContext = spiProvider.getSPI(WebServiceContextFactory.class).newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext);
             wsContext.addAttachment(EJBContext.class, ejbCtx);
             beanProp.set(beanCtx.getInstance(), wsContext);
          }

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -31,7 +31,7 @@
  */
 public class InvocationHandlerFactoryImpl extends InvocationHandlerFactory
 {
-   public InvocationHandler createInvocationHandler(InvocationType type)
+   public InvocationHandler newInvocationHandler(InvocationType type)
    {
       InvocationHandler handler = null;
 

Added: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/JBossHttpServer.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/JBossHttpServer.java	                        (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/JBossHttpServer.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,234 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.container.jboss50;
+
+//$Id: JBossHttpServer.java 1786 2007-01-04 14:30:04Z thomas.diesler at jboss.com $
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map;
+
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.common.DOMWriter;
+import org.jboss.wsf.framework.DefaultExtensible;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpContextFactory;
+import org.jboss.wsf.spi.http.HttpServer;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.w3c.dom.Element;
+
+/**
+ * A Tomcat HTTP Server
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public class JBossHttpServer extends DefaultExtensible implements HttpServer
+{
+   private static final String MAIN_DEPLOYER = "jboss.system:service=MainDeployer";
+
+   /** Start an instance of this HTTP server */
+   public void start()
+   {
+      // verify required properties
+   }
+
+   /** Create an HTTP context */
+   public HttpContext createContext(String contextRoot)
+   {
+      SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+      HttpContext httpContext = spiProvider.getSPI(HttpContextFactory.class).newHttpContext(this, contextRoot);
+      return httpContext;
+   }
+
+   /** Publish an JAXWS endpoint to the HTTP server */
+   public void publish(HttpContext context, Endpoint endpoint)
+   {
+      Class implClass = getImplementorClass(endpoint);
+      String implName = implClass.getName();
+
+      try
+      {
+         Element webDoc = createWebAppDescriptor(context, endpoint);
+         Element jbossDoc = createJBossWebAppDescriptor(context, endpoint);
+
+         File tmpWar = null;
+         try
+         {
+            SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+            ServerConfig serverConfig = spiProvider.getSPI(ServerConfigFactory.class).getServerConfig();
+            File tmpDir = new File(serverConfig.getServerTempDir().getCanonicalPath() + "/jbossws");
+
+            String deploymentName = implName.substring(implName.lastIndexOf(".") + 1);
+            tmpWar = File.createTempFile(deploymentName, ".war", tmpDir);
+            tmpWar.delete();
+            File webInf = new File(tmpWar, "WEB-INF");
+            webInf.mkdirs();
+
+            File webXml = new File(webInf, "web.xml");
+            FileWriter fw = new FileWriter(webXml);
+            new DOMWriter(fw).setPrettyprint(true).print(webDoc);
+            fw.close();
+
+            File jbossWebXml = new File(webInf, "jboss-web.xml");
+            fw = new FileWriter(jbossWebXml);
+            new DOMWriter(fw).setPrettyprint(true).print(jbossDoc);
+            fw.close();
+         }
+         catch (IOException e)
+         {
+            throw new WebServiceException("Failed to create webservice war", e);
+         }
+
+         Map<String, Object> epProps = endpoint.getProperties();
+         epProps.put("jbossws-endpoint-war-url", tmpWar);
+
+         URL tmpURL = tmpWar.toURL();
+         MBeanServerConnection server = getServer();
+         server.invoke(new ObjectName(MAIN_DEPLOYER), "deploy", new Object[] { tmpURL }, new String[] { "java.net.URL" });
+      }
+      catch (RuntimeException rte)
+      {
+         throw rte;
+      }
+      catch (Exception ex)
+      {
+         throw new WebServiceException(ex);
+      }
+   }
+
+   /** Destroys an JAXWS endpoint on the HTTP server */
+   public void destroy(HttpContext context, Endpoint endpoint)
+   {
+      Map<String, Object> epProps = endpoint.getProperties();
+      File tmpWar = (File)epProps.get("jbossws-endpoint-war-url");
+      if (tmpWar == null)
+         throw new IllegalStateException("Cannot find endpoint war property");
+
+      try
+      {
+         URL tmpURL = tmpWar.toURL();
+         MBeanServerConnection server = getServer();
+         server.invoke(new ObjectName(MAIN_DEPLOYER), "undeploy", new Object[] { tmpURL }, new String[] { "java.net.URL" });
+
+         tmpWar.delete();
+      }
+      catch (RuntimeException rte)
+      {
+         throw rte;
+      }
+      catch (Exception ex)
+      {
+         throw new WebServiceException(ex);
+      }
+   }
+
+   private Class getImplementorClass(Endpoint endpoint)
+   {
+      Object implementor = endpoint.getImplementor();
+      Class implClass = (implementor instanceof Class ? (Class)implementor : implementor.getClass());
+      return implClass;
+   }
+
+   private MBeanServerConnection getServer() throws NamingException
+   {
+      InitialContext iniCtx = new InitialContext();
+      MBeanServerConnection server = (MBeanServerConnection)iniCtx.lookup("jmx/invoker/RMIAdaptor");
+      return server;
+   }
+
+   private Element createWebAppDescriptor(HttpContext context, Endpoint endpoint)
+   {
+      Class implClass = getImplementorClass(endpoint);
+      String implName = implClass.getName();
+
+      Element webApp = DOMUtils.createElement("web-app");
+
+      /*
+       <servlet>
+       <servlet-name>
+       <servlet-class>
+       </servlet>
+       */
+      Element servlet = (Element)webApp.appendChild(DOMUtils.createElement("servlet"));
+      Element servletName = (Element)servlet.appendChild(DOMUtils.createElement("servlet-name"));
+      servletName.appendChild(DOMUtils.createTextNode("JAXWSEndpoint"));
+      Element servletClass = (Element)servlet.appendChild(DOMUtils.createElement("servlet-class"));
+      servletClass.appendChild(DOMUtils.createTextNode(implName));
+
+      /*
+       <servlet-mapping>
+       <servlet-name>
+       <url-pattern>
+       </servlet-mapping>
+       */
+      Element servletMapping = (Element)webApp.appendChild(DOMUtils.createElement("servlet-mapping"));
+      servletName = (Element)servletMapping.appendChild(DOMUtils.createElement("servlet-name"));
+      servletName.appendChild(DOMUtils.createTextNode("JAXWSEndpoint"));
+      Element urlPatternElement = (Element)servletMapping.appendChild(DOMUtils.createElement("url-pattern"));
+
+      String urlPattern = "/*";
+      urlPatternElement.appendChild(DOMUtils.createTextNode(urlPattern));
+
+      // Add security-constraint in generated web.xml for Endpoint API
+      // FIXME: JBWS-1069
+
+      return webApp;
+   }
+
+   private Element createJBossWebAppDescriptor(HttpContext context, Endpoint endpoint)
+   {
+      /* Create a jboss-web
+       <jboss-web>
+       <security-domain>java:/jaas/cts</security-domain>
+       <context-root>/ws/ejbN/</context-root>
+       </jboss-web>
+       */
+      Element jbossWeb = DOMUtils.createElement("jboss-web");
+
+      // Get the context root for this deployment
+      String contextRoot = context.getContextRoot();
+      if (contextRoot == null)
+         throw new WebServiceException("Cannot obtain context root");
+
+      Element root = (Element)jbossWeb.appendChild(DOMUtils.createElement("context-root"));
+      root.appendChild(DOMUtils.createTextNode(contextRoot));
+
+      // Add security-constraint in generated web.xml for Endpoint API
+      // FIXME: JBWS-1069
+
+      return jbossWeb;
+   }
+}
+

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -30,7 +30,7 @@
  */
 public class SecurityAdapterFactoryImpl extends SecurityAdaptorFactory
 {
-   public SecurityAdaptor createSecurityAdapter()
+   public SecurityAdaptor newSecurityAdapter()
    {
       return new SecurityAdaptorImpl();
    }

Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -31,7 +31,7 @@
  */
 public class WebServiceContextFactoryImpl extends WebServiceContextFactory
 {
-   public ExtendableWebServiceContext createWebServiceContext(InvocationType type, MessageContext messageContext)
+   public ExtendableWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext)
    {
       ExtendableWebServiceContext context = null;
 

Modified: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml	2007-07-28 07:14:06 UTC (rev 4023)
@@ -124,10 +124,10 @@
   <!-- 
     Each DeploymentAspectManger maintains a list of DeploymentAspects
   -->
-  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.framework.deployment.BasicDeploymentAspectManager">
+  <bean name="WSDeploymentAspectManagerJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
     <property name="name">WSDeploymentAspectManagerJSE</property>
   </bean>
-  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.BasicDeploymentAspectManager">
+  <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
     <property name="name">WSDeploymentAspectManagerEJB</property>
   </bean>
   
@@ -193,7 +193,7 @@
   </bean>
   
   <!-- Deployment aspect helper beans -->
-  <bean name="WSEndpointMetrics" class="org.jboss.wsf.framework.management.BasicEndpointMetrics"/>
+  <bean name="WSEndpointMetrics" class="org.jboss.wsf.framework.management.EndpointMetricsImpl"/>
   <bean name="WSSecurityHandlerEJB21" class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB21"/>
   <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB3"/>
   <bean name="WSWebAppDesciptorModifier" class="org.jboss.wsf.container.jboss50.DefaultWebAppDesciptorModifierImpl"/>

Deleted: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.stack.jbws;
-
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.common.KernelAwareSPIFactory;
-
-/**
- * An EndpointRegistryFactory implementation that retrieves
- * the registry from MC kernel.
- *
- * @see EndpointRegistry.BEAN_NAME
- *
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 23, 2007
- */
-public class EndpointRegistryFactoryImpl extends EndpointRegistryFactory
-{
-   public EndpointRegistry createEndpointRegistry()
-   {
-      return new KernelAwareSPIFactory().getKernelProvidedSPI(
-        EndpointRegistry.BEAN_NAME, EndpointRegistry.class
-      );
-   }
-}

Added: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java	                        (rev 0)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointRegistryFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.stack.jbws;
+
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.common.KernelAwareSPIFactory;
+
+/**
+ * An EndpointRegistryFactory implementation that retrieves
+ * the registry from MC kernel.
+ *
+ * @see EndpointRegistry.BEAN_NAME
+ *
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 23, 2007
+ */
+public class EndpointRegistryFactoryImpl extends EndpointRegistryFactory
+{
+   public EndpointRegistry getEndpointRegistry()
+   {
+      return new KernelAwareSPIFactory().getKernelProvidedSPI(
+        EndpointRegistry.BEAN_NAME, EndpointRegistry.class
+      );
+   }
+}

Modified: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointServlet.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointServlet.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EndpointServlet.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -66,7 +66,7 @@
    {
       super.init(servletConfig);
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
    }
 
    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException

Modified: trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java
===================================================================
--- trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/RequestHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -30,7 +30,7 @@
  */
 public class RequestHandlerFactoryImpl extends RequestHandlerFactory
 {
-   public RequestHandler createRequestHandler()
+   public RequestHandler newRequestHandler()
    {
       return new RequestHandlerImpl(); 
    }

Modified: trunk/integration/native/src/main/resources/jbossws-native-config.xml
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native-config.xml	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/native/src/main/resources/jbossws-native-config.xml	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,6 +1,6 @@
 
   <!-- An abstraction of server configuration aspects. -->  
-  <bean name="WSServerConfig" class="org.jboss.wsf.framework.management.BasicServerConfig">
+  <bean name="WSServerConfig" class="org.jboss.wsf.framework.management.DefaultServerConfig">
     <!--
         The WSDL, that is a required deployment artifact for an endpoint, has a <soap:address>
         element which points to the location of the endpoint. JBoss supports rewriting of that SOAP address.

Deleted: trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1 +0,0 @@
-org.jboss.wsf.framework.deployment.LifecycleHandlerFactoryImpl
\ No newline at end of file

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultExtensible.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultExtensible.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultExtensible.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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;
+
+//$Id: BasicDeploymentContext.java 3959 2007-07-20 14:44:19Z heiko.braun at jboss.com $
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.wsf.spi.Extensible;
+
+/**
+ * A general extendible artifact 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class DefaultExtensible implements Extensible
+{
+   private Map<Class, Object> attachments = new HashMap<Class, Object>();
+   private Map<String, Object> properties = new HashMap<String, Object>();
+   
+   public Collection<Object> getAttachments()
+   {
+      return attachments.values();
+   }
+   
+   public <T> T getAttachment(Class<T> clazz)
+   {
+      return (T)attachments.get(clazz);
+   }
+   
+   public <T> T addAttachment(Class<T> clazz, Object obj)
+   {
+      return (T)attachments.put(clazz, obj);
+   }
+
+   public <T> T removeAttachment(Class<T> key)
+   {
+      return (T)attachments.remove(key);
+   }
+   
+   public Set<String> getProperties()
+   {
+      return properties.keySet();
+   }
+
+   public Object getProperty(String key)
+   {
+      return properties.get(key);
+   }
+
+   public void removeProperty(String key)
+   {
+      properties.remove(key);
+   }
+
+   public void setProperty(String key, Object value)
+   {
+      properties.put(key, value);
+   }
+
+   public void setProperties(Map<String, Object> props)
+   {
+      properties.putAll(props);
+   }
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -23,12 +23,19 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.wsf.common.ServiceLoader;
+import org.jboss.wsf.framework.deployment.DefaultDeploymentModelFactory;
+import org.jboss.wsf.framework.deployment.DefaultLifecycleHandlerFactory;
+import org.jboss.wsf.framework.http.DefaultHttpContext;
+import org.jboss.wsf.framework.http.DefaultHttpContextFactory;
+import org.jboss.wsf.framework.invocation.DefaultResourceInjectorFactory;
 import org.jboss.wsf.spi.SPIProvider;
 import org.jboss.wsf.spi.SPIProviderResolver;
 import org.jboss.wsf.spi.WSFException;
 import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
 import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
 import org.jboss.wsf.spi.deployment.LifecycleHandlerFactory;
+import org.jboss.wsf.spi.http.HttpContextFactory;
+import org.jboss.wsf.spi.http.HttpServerFactory;
 import org.jboss.wsf.spi.invocation.InvocationHandlerFactory;
 import org.jboss.wsf.spi.invocation.RequestHandlerFactory;
 import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
@@ -68,36 +75,40 @@
 
          if (DeploymentModelFactory.class.equals(spiType))
          {
-            returnType = (T)loadService(spiType, "org.jboss.wsf.framework.deployment.DeploymentModelFactoryImpl");
+            returnType = (T)loadService(spiType, DefaultDeploymentModelFactory.class.getName());
          }
-         else if (ResourceInjectorFactory.class.equals(spiType))
+         else if (HttpContextFactory.class.equals(spiType))
          {
-            returnType = (T)loadService(spiType, "org.jboss.wsf.framework.invocation.ResourceInjectorFactoryImpl");
+            returnType = (T)loadService(spiType, DefaultHttpContextFactory.class.getName());
          }
          else if (LifecycleHandlerFactory.class.equals(spiType))
          {
-            returnType = (T)loadService(spiType, "org.jboss.wsf.framework.deployment.LifecycleHandlerFactoryImpl");
+            returnType = (T)loadService(spiType, DefaultLifecycleHandlerFactory.class.getName());
          }
+         else if (ResourceInjectorFactory.class.equals(spiType))
+         {
+            returnType = (T)loadService(spiType, DefaultResourceInjectorFactory.class.getName());
+         }
 
          // SPI provided by either container or stack integration
 
-         else if (InvocationHandlerFactory.class.equals(spiType))
+         else if (DeploymentAspectManagerFactory.class.equals(spiType))
          {
             returnType = (T)loadService(spiType, null);
          }
-         else if (DeploymentAspectManagerFactory.class.equals(spiType))
+         else if (EndpointRegistryFactory.class.equals(spiType))
          {
             returnType = (T)loadService(spiType, null);
          }
-         else if (RequestHandlerFactory.class.equals(spiType))
+         else if (HttpServerFactory.class.equals(spiType))
          {
             returnType = (T)loadService(spiType, null);
          }
-         else if (EndpointRegistryFactory.class.equals(spiType))
+         else if (InvocationHandlerFactory.class.equals(spiType))
          {
             returnType = (T)loadService(spiType, null);
          }
-         else if (ServerConfigFactory.class.equals(spiType))
+         else if (RequestHandlerFactory.class.equals(spiType))
          {
             returnType = (T)loadService(spiType, null);
          }
@@ -105,6 +116,10 @@
          {
             returnType = (T)loadService(spiType, null);
          }
+         else if (ServerConfigFactory.class.equals(spiType))
+         {
+            returnType = (T)loadService(spiType, null);
+         }
          else if (WebServiceContextFactory.class.equals(spiType))
          {
             returnType = (T)loadService(spiType, null);

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicArchiveDeployment.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,125 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+//$Id: BasicDeployment.java 3995 2007-07-26 08:52:45Z thomas.diesler at jboss.com $
+
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+
+
+/**
+ * A general web service deployment that is based on an archive. 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class ArchiveDeploymentImpl extends DefaultDeployment implements ArchiveDeployment
+{
+   // The optional parent
+   private ArchiveDeployment parent;
+   // The root file for this deployment
+   private UnifiedVirtualFile rootFile;
+
+   ArchiveDeploymentImpl(String simpleName, ClassLoader classLoader)
+   {
+      super(simpleName, classLoader);
+   }
+
+   public ArchiveDeployment getParent()
+   {
+      return parent;
+   }
+
+   public void setParent(ArchiveDeployment parent)
+   {
+      this.parent = parent;
+   }
+
+   public UnifiedVirtualFile getRootFile()
+   {
+      return rootFile;
+   }
+
+   public void setRootFile(UnifiedVirtualFile rootFile)
+   {
+      this.rootFile = rootFile;
+   }
+
+   public String getCanonicalName()
+   {
+      String name = getSimpleName();
+      if (getParent() != null)
+         name = getParent().getCanonicalName() + "/" + name;
+      return name;
+   }
+
+   public URL getMetaDataFileURL(String resourcePath) throws IOException
+   {
+      URL resourceURL = null;
+      if (resourcePath != null && resourcePath.length() > 0)
+      {
+         if (resourcePath.startsWith("/"))
+            resourcePath = resourcePath.substring(1);
+
+         try
+         {
+            // assign an absolute URL 
+            resourceURL = new URL(resourcePath);
+         }
+         catch (MalformedURLException ex)
+         {
+            // ignore
+         }
+
+         if (resourceURL == null && getRootFile() != null)
+         {
+            UnifiedVirtualFile vfResource = getRootFile().findChild(resourcePath);
+            resourceURL = vfResource.toURL();
+         }
+
+         /*
+         if (resourceURL == null)
+         {
+            String deploymentPath = getUrl().toExternalForm();
+
+            if (deploymentPath.startsWith("jar:") && deploymentPath.endsWith("!/") == false)
+               deploymentPath += "!/";
+
+            if (deploymentPath.startsWith("war:") && deploymentPath.endsWith("!/") == false)
+               deploymentPath += "!/";
+
+            if (deploymentPath.endsWith("/") == false)
+               deploymentPath += "/";
+
+            // assign a relative URL
+            resourceURL = new URL(deploymentPath + resourcePath);
+         }
+         */
+      }
+      return resourceURL;
+   }
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentModelFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentModelFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentModelFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -32,18 +32,18 @@
  */
 public class ArchiveDeploymentModelFactory extends DeploymentModelFactory
 {
-   public Deployment createDeployment(String simpleName, ClassLoader initialLoader)
+   public Deployment newDeployment(String simpleName, ClassLoader initialLoader)
    {
-      return new BasicArchiveDeployment(simpleName, initialLoader);
+      return new ArchiveDeploymentImpl(simpleName, initialLoader);
    }
 
-   public Service createService()
+   public Service newService()
    {
-      return new BasicService();
+      return new DefaultService();
    }
 
-   public Endpoint createEndpoint()
+   public Endpoint newEndpoint()
    {
-      return new BasicEndpoint();
+      return new DefaultEndpoint();
    }
 }

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicArchiveDeployment.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicArchiveDeployment.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicArchiveDeployment.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,125 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-//$Id: BasicDeployment.java 3995 2007-07-26 08:52:45Z thomas.diesler at jboss.com $
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.jboss.ws.integration.UnifiedVirtualFile;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-
-
-/**
- * A general web service deployment that is based on an archive. 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicArchiveDeployment extends BasicDeployment implements ArchiveDeployment
-{
-   // The optional parent
-   private ArchiveDeployment parent;
-   // The root file for this deployment
-   private UnifiedVirtualFile rootFile;
-
-   BasicArchiveDeployment(String simpleName, ClassLoader classLoader)
-   {
-      super(simpleName, classLoader);
-   }
-
-   public ArchiveDeployment getParent()
-   {
-      return parent;
-   }
-
-   public void setParent(ArchiveDeployment parent)
-   {
-      this.parent = parent;
-   }
-
-   public UnifiedVirtualFile getRootFile()
-   {
-      return rootFile;
-   }
-
-   public void setRootFile(UnifiedVirtualFile rootFile)
-   {
-      this.rootFile = rootFile;
-   }
-
-   public String getCanonicalName()
-   {
-      String name = getSimpleName();
-      if (getParent() != null)
-         name = getParent().getCanonicalName() + "/" + name;
-      return name;
-   }
-
-   public URL getMetaDataFileURL(String resourcePath) throws IOException
-   {
-      URL resourceURL = null;
-      if (resourcePath != null && resourcePath.length() > 0)
-      {
-         if (resourcePath.startsWith("/"))
-            resourcePath = resourcePath.substring(1);
-
-         try
-         {
-            // assign an absolute URL 
-            resourceURL = new URL(resourcePath);
-         }
-         catch (MalformedURLException ex)
-         {
-            // ignore
-         }
-
-         if (resourceURL == null && getRootFile() != null)
-         {
-            UnifiedVirtualFile vfResource = getRootFile().findChild(resourcePath);
-            resourceURL = vfResource.toURL();
-         }
-
-         /*
-         if (resourceURL == null)
-         {
-            String deploymentPath = getUrl().toExternalForm();
-
-            if (deploymentPath.startsWith("jar:") && deploymentPath.endsWith("!/") == false)
-               deploymentPath += "!/";
-
-            if (deploymentPath.startsWith("war:") && deploymentPath.endsWith("!/") == false)
-               deploymentPath += "!/";
-
-            if (deploymentPath.endsWith("/") == false)
-               deploymentPath += "/";
-
-            // assign a relative URL
-            resourceURL = new URL(deploymentPath + resourcePath);
-         }
-         */
-      }
-      return resourceURL;
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeployment.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeployment.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeployment.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,120 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Service;
-
-//$Id$
-
-/**
- * A general web service deployment dep. 
- * 
- * It has no notion of J2EE deployment packages. 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicDeployment extends BasicExtendible implements Deployment
-{
-   // The name for this deployment
-   private String simpleName;
-   // A deployment has one service
-   private Service service;
-   // The type of this deployment
-   private DeploymentType type;
-   // The state for this deployment
-   private DeploymentState state;
-   // The deployment class loader
-   private ClassLoader initialLoader;
-   // The runtime class loader
-   private ClassLoader runtimeLoader;
-
-   BasicDeployment(String name, ClassLoader classLoader)
-   {
-      simpleName = name;
-      state = DeploymentState.UNDEFINED;
-      initialLoader = classLoader;
-      setService(new BasicService());
-   }
-
-   public String getSimpleName()
-   {
-      return simpleName;
-   }
-
-   public void setSimpleName(String name)
-   {
-      this.simpleName = name;
-   }
-
-   public void setInitialClassLoader(ClassLoader classLoader)
-   {
-      this.initialLoader = classLoader;
-   }
-
-   public ClassLoader getInitialClassLoader()
-   {
-      return initialLoader;
-   }
-
-   public void setRuntimeClassLoader(ClassLoader classLoader)
-   {
-      this.runtimeLoader = classLoader;
-   }
-
-   public ClassLoader getRuntimeClassLoader()
-   {
-      return runtimeLoader;
-   }
-
-   public Service getService()
-   {
-      return service;
-   }
-
-   public void setService(Service service)
-   {
-      service.setDeployment(this);
-      this.service = service;
-   }
-
-   public DeploymentState getState()
-   {
-      return state;
-   }
-
-   public void setState(DeploymentState deploymentState)
-   {
-      this.state = deploymentState;
-   }
-
-   public DeploymentType getType()
-   {
-      return type;
-   }
-
-   public void setType(DeploymentType deploymentType)
-   {
-      this.type = deploymentType;
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeploymentAspectManager.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeploymentAspectManager.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeploymentAspectManager.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,258 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-
-/**
- * A general service deployment manger.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicDeploymentAspectManager implements DeploymentAspectManager
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(BasicDeploymentAspectManager.class);
-
-   private String name;
-   private Set<DeploymentAspect> unsortedAspects = new HashSet<DeploymentAspect>();
-   private List<DeploymentAspect> sortedAspects;
-
-   public String getName()
-   {
-      return name;
-   }
-
-   public void setName(String name)
-   {
-      this.name = name;
-   }
-
-   public List<DeploymentAspect> getDeploymentAspects()
-   {
-      if (sortedAspects == null)
-      {
-         sortedAspects = new ArrayList<DeploymentAspect>();
-         List<DeploymentAspect> allAspects = new ArrayList<DeploymentAspect>(unsortedAspects);
-
-         // Add aspects with no requirements first
-         Iterator<DeploymentAspect> itAll = allAspects.iterator();
-         while (itAll.hasNext())
-         {
-            DeploymentAspect aspect = itAll.next();
-            if (aspect.getRequires() == null)
-            {
-               sortedAspects.add(aspect);
-               itAll.remove();
-            }
-         }
-
-         // Add aspects that have requirements that already added aspects provide
-         itAll = allAspects.iterator();
-         while (itAll.hasNext())
-         {
-            DeploymentAspect aspect = itAll.next();
-            int index = getAspectIndex(aspect);
-            if (index != -1)
-            {
-               sortedAspects.add(index, aspect);
-               itAll.remove();
-
-               itAll = allAspects.iterator();
-            }
-         }
-
-         // Add LAST_DEPLOYMENT_ASPECT
-         itAll = allAspects.iterator();
-         while (itAll.hasNext())
-         {
-            DeploymentAspect aspect = itAll.next();
-            if (LAST_DEPLOYMENT_ASPECT.equals(aspect.getRequires()))
-            {
-               sortedAspects.add(aspect);
-               itAll.remove();
-            }
-         }
-
-         if (allAspects.size() != 0)
-         {
-            Set<String> providedConditions = new HashSet<String>();
-            for (int i = 0; i < sortedAspects.size(); i++)
-            {
-               DeploymentAspect sortedAspect = sortedAspects.get(i);
-               providedConditions.addAll(sortedAspect.getProvidesAsSet());
-            }
-
-            throw new IllegalStateException("Cannot add: " + allAspects + "\n provided: " + providedConditions);
-         }
-
-         for (DeploymentAspect aspect : sortedAspects)
-            log.debug(name + ": " + aspect);
-      }
-
-      return sortedAspects;
-   }
-
-   private int getAspectIndex(DeploymentAspect aspect)
-   {
-      int index = -1;
-      Set<String> providedConditions = new HashSet<String>();
-      for (int i = 0; i < sortedAspects.size(); i++)
-      {
-         DeploymentAspect sortedAspect = sortedAspects.get(i);
-         providedConditions.addAll(sortedAspect.getProvidesAsSet());
-         if (providedConditions.containsAll(aspect.getRequiresAsSet()))
-         {
-            index = i + 1;
-            break;
-         }
-      }
-      return index;
-   }
-
-   public void addDeploymentAspect(DeploymentAspect aspect)
-   {
-      if (sortedAspects != null)
-         throw new IllegalStateException("Cannot add deployment aspects to an already sorted list: " + sortedAspects);
-
-      unsortedAspects.add(aspect);
-   }
-
-   /**
-    * 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)
-   {
-      // create the deployment
-      Set<String> providedConditions = new HashSet<String>();
-      for (int i = 0; i < getDeploymentAspects().size(); i++)
-      {
-         DeploymentAspect aspect = getDeploymentAspects().get(i);
-
-         // Check that all required aspects are met 
-         Set<String> requiredSet = aspect.getRequiresAsSet();
-         requiredSet.remove(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);
-
-         providedConditions.addAll(aspect.getProvidesAsSet());
-      }
-
-      dep.setState(DeploymentState.CREATED);
-
-      // start the deployment
-      for (int i = 0; i < getDeploymentAspects().size(); i++)
-      {
-         DeploymentAspect aspect = getDeploymentAspects().get(i);
-         try
-         {
-            logInvocation(aspect, "Start");
-            aspect.start(dep);
-         }
-         catch (RuntimeException rte)
-         {
-            while (i-- >= 0)
-            {
-               // destroy the deployment
-               failsafeDestroy(aspect, dep);
-            }
-            throw rte;
-         }
-      }
-
-      dep.setState(DeploymentState.STARTED);
-   }
-
-   public void undeploy(Deployment dep)
-   {
-      // stop the deployment
-      for (int i = getDeploymentAspects().size(); 0 < i; i--)
-      {
-         DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
-         failsafeStop(aspect, dep);
-      }
-
-      dep.setState(DeploymentState.STOPPED);
-
-      // destroy the deployment
-      for (int i = getDeploymentAspects().size(); 0 < i; i--)
-      {
-         DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
-         failsafeDestroy(aspect, dep);
-      }
-
-      dep.setState(DeploymentState.DESTROYED);
-   }
-
-   private void failsafeStop(DeploymentAspect aspect, Deployment dep)
-   {
-      try
-      {
-         logInvocation(aspect, "Stop");
-         aspect.stop(dep);
-      }
-      catch (RuntimeException rte)
-      {
-         WSFDeploymentException.rethrow(rte);
-      }
-   }
-
-   private void failsafeDestroy(DeploymentAspect aspect, Deployment dep)
-   {
-      try
-      {
-         logInvocation(aspect, "Destroy");
-         aspect.destroy(dep);
-      }
-      catch (RuntimeException rte)
-      {
-         WSFDeploymentException.rethrow(rte);
-      }
-   }
-
-   private void logInvocation(DeploymentAspect aspect, String method)
-   {
-      String name = aspect.getClass().getName();
-      name = name.substring(name.lastIndexOf(".") + 1);
-      log.debug(name + ":" + method);
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicEndpoint.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicEndpoint.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicEndpoint.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,242 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.management.ObjectName;
-
-import org.jboss.wsf.spi.binding.BindingCustomization;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.LifecycleHandler;
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-import org.jboss.wsf.spi.invocation.RequestHandler;
-import org.jboss.wsf.spi.management.EndpointMetrics;
-
-/**
- * A general JAXWS endpoint.
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicEndpoint extends BasicExtendible implements Endpoint
-{
-   private Service service;
-   private ObjectName name;
-   private String shortName;
-   private String urlPattern;
-   private String targetBean;
-   private EndpointState state;
-   private RequestHandler requestHandler;
-   private InvocationHandler invocationHandler;
-   private LifecycleHandler lifecycleHandler;
-   private EndpointMetrics metrics;
-   private List<BindingCustomization> bindingCustomizsations = new ArrayList<BindingCustomization>();
-   private String address;
-
-   BasicEndpoint()
-   {
-      this.state = EndpointState.UNDEFINED;
-   }
-
-   public Service getService()
-   {
-      return service;
-   }
-
-   public void setService(Service service)
-   {
-      assertEndpointSetterAccess();
-      this.service = service;
-   }
-
-   public String getTargetBeanName()
-   {
-      return targetBean;
-   }
-
-   public void setTargetBeanName(String targetBean)
-   {
-      assertEndpointSetterAccess();
-      this.targetBean = targetBean;
-   }
-
-   public String getAddress()
-   {
-      return this.address;
-   }
-
-   public void setAddress(String address)
-   {
-      this.address = address;
-   }
-
-   public Class getTargetBeanClass()
-   {
-      if (targetBean == null)
-         throw new IllegalStateException("Target bean not set");
-
-      ClassLoader classLoader = service.getDeployment().getRuntimeClassLoader();
-      if (classLoader == null)
-         classLoader = service.getDeployment().getInitialClassLoader();
-      
-      if (classLoader == null)
-         throw new IllegalStateException("Deployment classloader not set");
-
-      Class beanClass;
-      try
-      {
-         beanClass = classLoader.loadClass(targetBean);
-      }
-      catch (ClassNotFoundException ex)
-      {
-         throw new WSFDeploymentException(ex);
-      }
-      return beanClass;
-   }
-
-   public ObjectName getName()
-   {
-      return name;
-   }
-
-   public void setName(ObjectName name)
-   {
-      assertEndpointSetterAccess();
-      this.name = name;
-   }
-
-   public String getShortName()
-   {
-      return shortName;
-   }
-
-   public void setShortName(String shortName)
-   {
-      assertEndpointSetterAccess();
-      this.shortName = shortName;
-   }
-
-   public String getURLPattern()
-   {
-      return urlPattern;
-   }
-
-   public void setURLPattern(String urlPattern)
-   {
-      assertEndpointSetterAccess();
-      this.urlPattern = urlPattern;
-   }
-
-   public EndpointState getState()
-   {
-      return state;
-   }
-
-   public void setState(EndpointState state)
-   {
-      this.state = state;
-   }
-
-   public RequestHandler getRequestHandler()
-   {
-      return requestHandler;
-   }
-
-   public void setRequestHandler(RequestHandler handler)
-   {
-      assertEndpointSetterAccess();
-      this.requestHandler = handler;
-   }
-
-   public LifecycleHandler getLifecycleHandler()
-   {
-      return lifecycleHandler;
-   }
-
-   public void setLifecycleHandler(LifecycleHandler handler)
-   {
-      assertEndpointSetterAccess();
-      this.lifecycleHandler = handler;
-   }
-
-   public InvocationHandler getInvocationHandler()
-   {
-      return invocationHandler;
-   }
-
-   public void setInvocationHandler(InvocationHandler handler)
-   {
-      assertEndpointSetterAccess();
-      this.invocationHandler = handler;
-   }
-
-   public EndpointMetrics getEndpointMetrics()
-   {
-      return metrics;
-   }
-
-   public void setEndpointMetrics(EndpointMetrics metrics)
-   {
-      assertEndpointSetterAccess();
-      metrics.setEndpoint(this);
-      this.metrics = metrics;
-
-   }
-
-   @Override
-   public <T> T addAttachment(Class<T> clazz, Object obj)
-   {
-      assertEndpointSetterAccess();
-      return super.addAttachment(clazz, obj);
-   }
-
-   @Override
-   public <T> T removeAttachment(Class<T> key)
-   {
-      assertEndpointSetterAccess();
-      return super.removeAttachment(key);
-   }
-
-   @Override
-   public void removeProperty(String key)
-   {
-      assertEndpointSetterAccess();
-      super.removeProperty(key);
-   }
-
-   @Override
-   public void setProperty(String key, Object value)
-   {
-      assertEndpointSetterAccess();
-      super.setProperty(key, value);
-   }
-
-   private void assertEndpointSetterAccess()
-   {
-      if (state == EndpointState.STARTED)
-         throw new IllegalStateException("Cannot modify endpoint properties in state: " + state);
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicExtendible.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicExtendible.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicExtendible.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,83 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-//$Id: BasicDeploymentContext.java 3959 2007-07-20 14:44:19Z heiko.braun at jboss.com $
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.wsf.spi.deployment.Extendible;
-
-/**
- * A general extendible artifact 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicExtendible implements Extendible
-{
-   private Map<Class, Object> attachments = new HashMap<Class, Object>();
-   private Map<String, Object> properties = new HashMap<String, Object>();
-   
-   public Collection<Object> getAttachments()
-   {
-      return attachments.values();
-   }
-   
-   public <T> T getAttachment(Class<T> clazz)
-   {
-      return (T)attachments.get(clazz);
-   }
-   
-   public <T> T addAttachment(Class<T> clazz, Object obj)
-   {
-      return (T)attachments.put(clazz, obj);
-   }
-
-   public <T> T removeAttachment(Class<T> key)
-   {
-      return (T)attachments.remove(key);
-   }
-   
-   public Set<String> getProperties()
-   {
-      return properties.keySet();
-   }
-
-   public Object getProperty(String key)
-   {
-      return properties.get(key);
-   }
-
-   public void removeProperty(String key)
-   {
-      properties.remove(key);
-   }
-
-   public void setProperty(String key, Object value)
-   {
-      properties.put(key, value);
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicLifecycleHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicLifecycleHandler.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicLifecycleHandler.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,90 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-//$Id$
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Endpoint.EndpointState;
-import org.jboss.wsf.spi.deployment.LifecycleHandler;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-
-/**
- * A basic lifecycle handler
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 31-Oct-2006
- */
-public class BasicLifecycleHandler implements LifecycleHandler
-{
-   // provide logging
-   protected final Logger log = Logger.getLogger(getClass());
-
-   public void create(Endpoint ep)
-   {
-      log.debug("Create: " + ep.getName());
-
-      InvocationHandler invHandler = ep.getInvocationHandler();
-      if (invHandler == null)
-         throw new IllegalStateException("Invocation handler not available");
-
-      invHandler.init(ep);
-      
-      ep.setState(EndpointState.CREATED);
-   }
-
-   public void start(Endpoint ep)
-   {
-      log.debug("Start: " + ep.getName());
-
-      EndpointState state = ep.getState();
-      if (state == EndpointState.UNDEFINED || state == EndpointState.DESTROYED)
-         throw new IllegalStateException("Cannot start endpoint in state: " + state);
-
-      if (ep.getEndpointMetrics() != null)
-         ep.getEndpointMetrics().start();
-
-      ep.setState(EndpointState.STARTED);
-   }
-
-   public void stop(Endpoint ep)
-   {
-      log.debug("Stop: " + ep.getName());
-
-      EndpointState state = ep.getState();
-      if (state != EndpointState.STARTED)
-         throw new IllegalStateException("Cannot stop endpoint in state: " + state);
-
-      if (ep.getEndpointMetrics() != null)
-         ep.getEndpointMetrics().stop();
-
-      ep.setState(EndpointState.STOPPED);
-   }
-
-   public void destroy(Endpoint ep)
-   {
-      log.debug("Destroy: " + ep.getName());
-
-      ep.setState(EndpointState.DESTROYED);
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicService.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicService.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicService.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,95 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-// $Id$
-
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-import java.util.LinkedList;
-import java.util.List;
-
-
-/**
- * A general service.
- * 
- * Maintains a named set of Endpoints 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public class BasicService extends BasicExtendible implements Service
-{
-   private Deployment dep;
-   private List<Endpoint> endpoints = new LinkedList<Endpoint>();
-   private String contextRoot;
-
-   BasicService()
-   {
-   }
-
-   public Deployment getDeployment()
-   {
-      return dep;
-   }
-
-   public void setDeployment(Deployment dep)
-   {
-      this.dep = dep;
-   }
-   
-   public void addEndpoint(Endpoint endpoint)
-   {
-      endpoints.add(endpoint);
-   }
-
-   public List<Endpoint> getEndpoints()
-   {
-      return endpoints;
-   }
-
-   public Endpoint getEndpointByName(String shortName)
-   {
-      Endpoint retEndpoint = null;
-      for (Endpoint ep : endpoints)
-      {
-         if (ep.getShortName().equals(shortName))
-         {
-            retEndpoint = ep;
-            break;
-         }
-      }
-      return retEndpoint;
-   }
-   
-   public String getContextRoot()
-   {
-      return contextRoot;
-   }
-
-   public void setContextRoot(String contextRoot)
-   {
-      this.contextRoot = contextRoot;
-   }
-}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeployment.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeployment.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeployment.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeployment.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+import org.jboss.wsf.framework.DefaultExtensible;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Service;
+
+//$Id$
+
+/**
+ * A general web service deployment dep. 
+ * 
+ * It has no notion of J2EE deployment packages. 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class DefaultDeployment extends DefaultExtensible implements Deployment
+{
+   // The name for this deployment
+   private String simpleName;
+   // A deployment has one service
+   private Service service;
+   // The type of this deployment
+   private DeploymentType type;
+   // The state for this deployment
+   private DeploymentState state;
+   // The deployment class loader
+   private ClassLoader initialLoader;
+   // The runtime class loader
+   private ClassLoader runtimeLoader;
+
+   DefaultDeployment(String name, ClassLoader classLoader)
+   {
+      simpleName = name;
+      state = DeploymentState.UNDEFINED;
+      initialLoader = classLoader;
+      setService(new DefaultService());
+   }
+
+   public String getSimpleName()
+   {
+      return simpleName;
+   }
+
+   public void setSimpleName(String name)
+   {
+      this.simpleName = name;
+   }
+
+   public void setInitialClassLoader(ClassLoader classLoader)
+   {
+      this.initialLoader = classLoader;
+   }
+
+   public ClassLoader getInitialClassLoader()
+   {
+      return initialLoader;
+   }
+
+   public void setRuntimeClassLoader(ClassLoader classLoader)
+   {
+      this.runtimeLoader = classLoader;
+   }
+
+   public ClassLoader getRuntimeClassLoader()
+   {
+      return runtimeLoader;
+   }
+
+   public Service getService()
+   {
+      return service;
+   }
+
+   public void setService(Service service)
+   {
+      service.setDeployment(this);
+      this.service = service;
+   }
+
+   public DeploymentState getState()
+   {
+      return state;
+   }
+
+   public void setState(DeploymentState deploymentState)
+   {
+      this.state = deploymentState;
+   }
+
+   public DeploymentType getType()
+   {
+      return type;
+   }
+
+   public void setType(DeploymentType deploymentType)
+   {
+      this.type = deploymentType;
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeploymentModelFactory.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentModelFactoryImpl.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeploymentModelFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultDeploymentModelFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 18, 2007
+ */
+public class DefaultDeploymentModelFactory extends DeploymentModelFactory
+{
+   public Deployment newDeployment(String simpleName, ClassLoader initialLoader)
+   {
+      return new DefaultDeployment(simpleName, initialLoader);
+   }
+
+   public Service newService()
+   {
+      return new DefaultService();
+   }
+
+   public Endpoint newEndpoint()
+   {
+      return new DefaultEndpoint();
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicEndpoint.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultEndpoint.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,243 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.management.ObjectName;
+
+import org.jboss.wsf.framework.DefaultExtensible;
+import org.jboss.wsf.spi.binding.BindingCustomization;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.LifecycleHandler;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.RequestHandler;
+import org.jboss.wsf.spi.management.EndpointMetrics;
+
+/**
+ * A general JAXWS endpoint.
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class DefaultEndpoint extends DefaultExtensible implements Endpoint
+{
+   private Service service;
+   private ObjectName name;
+   private String shortName;
+   private String urlPattern;
+   private String targetBean;
+   private EndpointState state;
+   private RequestHandler requestHandler;
+   private InvocationHandler invocationHandler;
+   private LifecycleHandler lifecycleHandler;
+   private EndpointMetrics metrics;
+   private List<BindingCustomization> bindingCustomizsations = new ArrayList<BindingCustomization>();
+   private String address;
+
+   DefaultEndpoint()
+   {
+      this.state = EndpointState.UNDEFINED;
+   }
+
+   public Service getService()
+   {
+      return service;
+   }
+
+   public void setService(Service service)
+   {
+      assertEndpointSetterAccess();
+      this.service = service;
+   }
+
+   public String getTargetBeanName()
+   {
+      return targetBean;
+   }
+
+   public void setTargetBeanName(String targetBean)
+   {
+      assertEndpointSetterAccess();
+      this.targetBean = targetBean;
+   }
+
+   public String getAddress()
+   {
+      return this.address;
+   }
+
+   public void setAddress(String address)
+   {
+      this.address = address;
+   }
+
+   public Class getTargetBeanClass()
+   {
+      if (targetBean == null)
+         throw new IllegalStateException("Target bean not set");
+
+      ClassLoader classLoader = service.getDeployment().getRuntimeClassLoader();
+      if (classLoader == null)
+         classLoader = service.getDeployment().getInitialClassLoader();
+      
+      if (classLoader == null)
+         throw new IllegalStateException("Deployment classloader not set");
+
+      Class beanClass;
+      try
+      {
+         beanClass = classLoader.loadClass(targetBean);
+      }
+      catch (ClassNotFoundException ex)
+      {
+         throw new WSFDeploymentException(ex);
+      }
+      return beanClass;
+   }
+
+   public ObjectName getName()
+   {
+      return name;
+   }
+
+   public void setName(ObjectName name)
+   {
+      assertEndpointSetterAccess();
+      this.name = name;
+   }
+
+   public String getShortName()
+   {
+      return shortName;
+   }
+
+   public void setShortName(String shortName)
+   {
+      assertEndpointSetterAccess();
+      this.shortName = shortName;
+   }
+
+   public String getURLPattern()
+   {
+      return urlPattern;
+   }
+
+   public void setURLPattern(String urlPattern)
+   {
+      assertEndpointSetterAccess();
+      this.urlPattern = urlPattern;
+   }
+
+   public EndpointState getState()
+   {
+      return state;
+   }
+
+   public void setState(EndpointState state)
+   {
+      this.state = state;
+   }
+
+   public RequestHandler getRequestHandler()
+   {
+      return requestHandler;
+   }
+
+   public void setRequestHandler(RequestHandler handler)
+   {
+      assertEndpointSetterAccess();
+      this.requestHandler = handler;
+   }
+
+   public LifecycleHandler getLifecycleHandler()
+   {
+      return lifecycleHandler;
+   }
+
+   public void setLifecycleHandler(LifecycleHandler handler)
+   {
+      assertEndpointSetterAccess();
+      this.lifecycleHandler = handler;
+   }
+
+   public InvocationHandler getInvocationHandler()
+   {
+      return invocationHandler;
+   }
+
+   public void setInvocationHandler(InvocationHandler handler)
+   {
+      assertEndpointSetterAccess();
+      this.invocationHandler = handler;
+   }
+
+   public EndpointMetrics getEndpointMetrics()
+   {
+      return metrics;
+   }
+
+   public void setEndpointMetrics(EndpointMetrics metrics)
+   {
+      assertEndpointSetterAccess();
+      metrics.setEndpoint(this);
+      this.metrics = metrics;
+
+   }
+
+   @Override
+   public <T> T addAttachment(Class<T> clazz, Object obj)
+   {
+      assertEndpointSetterAccess();
+      return super.addAttachment(clazz, obj);
+   }
+
+   @Override
+   public <T> T removeAttachment(Class<T> key)
+   {
+      assertEndpointSetterAccess();
+      return super.removeAttachment(key);
+   }
+
+   @Override
+   public void removeProperty(String key)
+   {
+      assertEndpointSetterAccess();
+      super.removeProperty(key);
+   }
+
+   @Override
+   public void setProperty(String key, Object value)
+   {
+      assertEndpointSetterAccess();
+      super.setProperty(key, value);
+   }
+
+   private void assertEndpointSetterAccess()
+   {
+      if (state == EndpointState.STARTED)
+         throw new IllegalStateException("Cannot modify endpoint properties in state: " + state);
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultLifecycleHandlerFactory.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerFactoryImpl.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultLifecycleHandlerFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultLifecycleHandlerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+import org.jboss.wsf.spi.deployment.LifecycleHandlerFactory;
+import org.jboss.wsf.spi.deployment.LifecycleHandler;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 23, 2007
+ */
+public class DefaultLifecycleHandlerFactory extends LifecycleHandlerFactory
+{
+   public LifecycleHandler newLifecylceHandler()
+   {
+      return new LifecycleHandlerImpl();  
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultService.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicService.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultService.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DefaultService.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+// $Id$
+
+import org.jboss.wsf.framework.DefaultExtensible;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+import java.util.LinkedList;
+import java.util.List;
+
+
+/**
+ * A general service.
+ * 
+ * Maintains a named set of Endpoints 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class DefaultService extends DefaultExtensible implements Service
+{
+   private Deployment dep;
+   private List<Endpoint> endpoints = new LinkedList<Endpoint>();
+   private String contextRoot;
+
+   DefaultService()
+   {
+   }
+
+   public Deployment getDeployment()
+   {
+      return dep;
+   }
+
+   public void setDeployment(Deployment dep)
+   {
+      this.dep = dep;
+   }
+   
+   public void addEndpoint(Endpoint endpoint)
+   {
+      endpoints.add(endpoint);
+   }
+
+   public List<Endpoint> getEndpoints()
+   {
+      return endpoints;
+   }
+
+   public Endpoint getEndpointByName(String shortName)
+   {
+      Endpoint retEndpoint = null;
+      for (Endpoint ep : endpoints)
+      {
+         if (ep.getShortName().equals(shortName))
+         {
+            retEndpoint = ep;
+            break;
+         }
+      }
+      return retEndpoint;
+   }
+   
+   public String getContextRoot()
+   {
+      return contextRoot;
+   }
+
+   public void setContextRoot(String contextRoot)
+   {
+      this.contextRoot = contextRoot;
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicDeploymentAspectManager.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentAspectManagerImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,258 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+
+/**
+ * A general service deployment manger.
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public class DeploymentAspectManagerImpl implements DeploymentAspectManager
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(DeploymentAspectManagerImpl.class);
+
+   private String name;
+   private Set<DeploymentAspect> unsortedAspects = new HashSet<DeploymentAspect>();
+   private List<DeploymentAspect> sortedAspects;
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public List<DeploymentAspect> getDeploymentAspects()
+   {
+      if (sortedAspects == null)
+      {
+         sortedAspects = new ArrayList<DeploymentAspect>();
+         List<DeploymentAspect> allAspects = new ArrayList<DeploymentAspect>(unsortedAspects);
+
+         // Add aspects with no requirements first
+         Iterator<DeploymentAspect> itAll = allAspects.iterator();
+         while (itAll.hasNext())
+         {
+            DeploymentAspect aspect = itAll.next();
+            if (aspect.getRequires() == null)
+            {
+               sortedAspects.add(aspect);
+               itAll.remove();
+            }
+         }
+
+         // Add aspects that have requirements that already added aspects provide
+         itAll = allAspects.iterator();
+         while (itAll.hasNext())
+         {
+            DeploymentAspect aspect = itAll.next();
+            int index = getAspectIndex(aspect);
+            if (index != -1)
+            {
+               sortedAspects.add(index, aspect);
+               itAll.remove();
+
+               itAll = allAspects.iterator();
+            }
+         }
+
+         // Add LAST_DEPLOYMENT_ASPECT
+         itAll = allAspects.iterator();
+         while (itAll.hasNext())
+         {
+            DeploymentAspect aspect = itAll.next();
+            if (LAST_DEPLOYMENT_ASPECT.equals(aspect.getRequires()))
+            {
+               sortedAspects.add(aspect);
+               itAll.remove();
+            }
+         }
+
+         if (allAspects.size() != 0)
+         {
+            Set<String> providedConditions = new HashSet<String>();
+            for (int i = 0; i < sortedAspects.size(); i++)
+            {
+               DeploymentAspect sortedAspect = sortedAspects.get(i);
+               providedConditions.addAll(sortedAspect.getProvidesAsSet());
+            }
+
+            throw new IllegalStateException("Cannot add: " + allAspects + "\n provided: " + providedConditions);
+         }
+
+         for (DeploymentAspect aspect : sortedAspects)
+            log.debug(name + ": " + aspect);
+      }
+
+      return sortedAspects;
+   }
+
+   private int getAspectIndex(DeploymentAspect aspect)
+   {
+      int index = -1;
+      Set<String> providedConditions = new HashSet<String>();
+      for (int i = 0; i < sortedAspects.size(); i++)
+      {
+         DeploymentAspect sortedAspect = sortedAspects.get(i);
+         providedConditions.addAll(sortedAspect.getProvidesAsSet());
+         if (providedConditions.containsAll(aspect.getRequiresAsSet()))
+         {
+            index = i + 1;
+            break;
+         }
+      }
+      return index;
+   }
+
+   public void addDeploymentAspect(DeploymentAspect aspect)
+   {
+      if (sortedAspects != null)
+         throw new IllegalStateException("Cannot add deployment aspects to an already sorted list: " + sortedAspects);
+
+      unsortedAspects.add(aspect);
+   }
+
+   /**
+    * 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)
+   {
+      // create the deployment
+      Set<String> providedConditions = new HashSet<String>();
+      for (int i = 0; i < getDeploymentAspects().size(); i++)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i);
+
+         // Check that all required aspects are met 
+         Set<String> requiredSet = aspect.getRequiresAsSet();
+         requiredSet.remove(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);
+
+         providedConditions.addAll(aspect.getProvidesAsSet());
+      }
+
+      dep.setState(DeploymentState.CREATED);
+
+      // start the deployment
+      for (int i = 0; i < getDeploymentAspects().size(); i++)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i);
+         try
+         {
+            logInvocation(aspect, "Start");
+            aspect.start(dep);
+         }
+         catch (RuntimeException rte)
+         {
+            while (i-- >= 0)
+            {
+               // destroy the deployment
+               failsafeDestroy(aspect, dep);
+            }
+            throw rte;
+         }
+      }
+
+      dep.setState(DeploymentState.STARTED);
+   }
+
+   public void undeploy(Deployment dep)
+   {
+      // stop the deployment
+      for (int i = getDeploymentAspects().size(); 0 < i; i--)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+         failsafeStop(aspect, dep);
+      }
+
+      dep.setState(DeploymentState.STOPPED);
+
+      // destroy the deployment
+      for (int i = getDeploymentAspects().size(); 0 < i; i--)
+      {
+         DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+         failsafeDestroy(aspect, dep);
+      }
+
+      dep.setState(DeploymentState.DESTROYED);
+   }
+
+   private void failsafeStop(DeploymentAspect aspect, Deployment dep)
+   {
+      try
+      {
+         logInvocation(aspect, "Stop");
+         aspect.stop(dep);
+      }
+      catch (RuntimeException rte)
+      {
+         WSFDeploymentException.rethrow(rte);
+      }
+   }
+
+   private void failsafeDestroy(DeploymentAspect aspect, Deployment dep)
+   {
+      try
+      {
+         logInvocation(aspect, "Destroy");
+         aspect.destroy(dep);
+      }
+      catch (RuntimeException rte)
+      {
+         WSFDeploymentException.rethrow(rte);
+      }
+   }
+
+   private void logInvocation(DeploymentAspect aspect, String method)
+   {
+      String name = aspect.getClass().getName();
+      name = name.substring(name.lastIndexOf(".") + 1);
+      log.debug(name + ":" + method);
+   }
+}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentModelFactoryImpl.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentModelFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/DeploymentModelFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 18, 2007
- */
-public class DeploymentModelFactoryImpl extends DeploymentModelFactory
-{
-   public Deployment createDeployment(String simpleName, ClassLoader initialLoader)
-   {
-      return new BasicDeployment(simpleName, initialLoader);
-   }
-
-   public Service createService()
-   {
-      return new BasicService();
-   }
-
-   public Endpoint createEndpoint()
-   {
-      return new BasicEndpoint();
-   }
-}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointHandlerDeploymentAspect.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -75,12 +75,12 @@
 
    private RequestHandler getRequestHandler(Deployment dep)
    {
-      return spiProvider.getSPI(RequestHandlerFactory.class).createRequestHandler();
+      return spiProvider.getSPI(RequestHandlerFactory.class).newRequestHandler();
    }
 
    private LifecycleHandler getLifecycleHandler(Deployment dep)
    {
-      return spiProvider.getSPI(LifecycleHandlerFactory.class).createLifecylceHandler();
+      return spiProvider.getSPI(LifecycleHandlerFactory.class).newLifecylceHandler();
    }
 
    private InvocationHandler getInvocationHandler(Endpoint ep)
@@ -100,7 +100,7 @@
       }
 
       InvocationType type = InvocationType.valueOf(key);
-      InvocationHandler invocationHandler = spiProvider.getSPI(InvocationHandlerFactory.class).createInvocationHandler(type);
+      InvocationHandler invocationHandler = spiProvider.getSPI(InvocationHandlerFactory.class).newInvocationHandler(type);
       return invocationHandler;
    }
 }
\ No newline at end of file

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointRegistryDeploymentAspect.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -40,7 +40,7 @@
    public void create(Deployment dep)
    {
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      EndpointRegistry registry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      EndpointRegistry registry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
       for (Endpoint ep : dep.getService().getEndpoints())
       {
          registry.register(ep);
@@ -50,7 +50,7 @@
    public void destroy(Deployment dep)
    {
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      EndpointRegistry registry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      EndpointRegistry registry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
             
       for (Endpoint ep : dep.getService().getEndpoints())
       {

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerFactoryImpl.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.deployment;
-
-import org.jboss.wsf.spi.deployment.LifecycleHandlerFactory;
-import org.jboss.wsf.spi.deployment.LifecycleHandler;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 23, 2007
- */
-public class LifecycleHandlerFactoryImpl extends LifecycleHandlerFactory
-{
-   public LifecycleHandler createLifecylceHandler()
-   {
-      return new BasicLifecycleHandler();  
-   }
-}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerImpl.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/BasicLifecycleHandler.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerImpl.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/LifecycleHandlerImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.deployment;
+
+//$Id$
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Endpoint.EndpointState;
+import org.jboss.wsf.spi.deployment.LifecycleHandler;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+
+/**
+ * A basic lifecycle handler
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 31-Oct-2006
+ */
+public class LifecycleHandlerImpl implements LifecycleHandler
+{
+   // provide logging
+   protected final Logger log = Logger.getLogger(getClass());
+
+   public void create(Endpoint ep)
+   {
+      log.debug("Create: " + ep.getName());
+
+      InvocationHandler invHandler = ep.getInvocationHandler();
+      if (invHandler == null)
+         throw new IllegalStateException("Invocation handler not available");
+
+      invHandler.init(ep);
+      
+      ep.setState(EndpointState.CREATED);
+   }
+
+   public void start(Endpoint ep)
+   {
+      log.debug("Start: " + ep.getName());
+
+      EndpointState state = ep.getState();
+      if (state == EndpointState.UNDEFINED || state == EndpointState.DESTROYED)
+         throw new IllegalStateException("Cannot start endpoint in state: " + state);
+
+      if (ep.getEndpointMetrics() != null)
+         ep.getEndpointMetrics().start();
+
+      ep.setState(EndpointState.STARTED);
+   }
+
+   public void stop(Endpoint ep)
+   {
+      log.debug("Stop: " + ep.getName());
+
+      EndpointState state = ep.getState();
+      if (state != EndpointState.STARTED)
+         throw new IllegalStateException("Cannot stop endpoint in state: " + state);
+
+      if (ep.getEndpointMetrics() != null)
+         ep.getEndpointMetrics().stop();
+
+      ep.setState(EndpointState.STOPPED);
+   }
+
+   public void destroy(Endpoint ep)
+   {
+      log.debug("Destroy: " + ep.getName());
+
+      ep.setState(EndpointState.DESTROYED);
+   }
+}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContext.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContext.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContext.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.http;
+
+//$Id: HttpContext.java 1757 2006-12-22 15:40:24Z thomas.diesler at jboss.com $
+
+import org.jboss.wsf.framework.DefaultExtensible;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpServer;
+
+/**
+ * An abstract HTTP Context
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public class DefaultHttpContext extends DefaultExtensible implements HttpContext
+{
+   private HttpServer server;
+   private String contextRoot;
+
+   DefaultHttpContext(HttpServer server, String contextRoot)
+   {
+      this.server = server;
+      this.contextRoot = contextRoot;
+   }
+
+   public HttpServer getHttpServer()
+   {
+      return server;
+   }
+
+   public String getContextRoot()
+   {
+      return contextRoot;
+   }
+}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContextFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContextFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/http/DefaultHttpContextFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.http;
+
+//$Id: HttpContext.java 1757 2006-12-22 15:40:24Z thomas.diesler at jboss.com $
+
+import org.jboss.wsf.spi.SPIView;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpServer;
+
+/**
+ * A factory for an abstract HTTP Context
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public class DefaultHttpContextFactory implements SPIView
+{
+   public HttpContext newHttpContext(HttpServer server, String contextRoot)
+   {
+      return new DefaultHttpContext(server, contextRoot);
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/DefaultResourceInjectorFactory.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/ResourceInjectorFactoryImpl.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/DefaultResourceInjectorFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/DefaultResourceInjectorFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.invocation;
+
+import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
+import org.jboss.wsf.spi.invocation.ResourceInjector;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 19, 2007
+ */
+public class DefaultResourceInjectorFactory extends ResourceInjectorFactory
+{
+   public ResourceInjector newResourceInjector()
+   {
+      return new WebServiceContextInjector(); 
+   }
+}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/ResourceInjectorFactoryImpl.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/ResourceInjectorFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/invocation/ResourceInjectorFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.invocation;
-
-import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
-import org.jboss.wsf.spi.invocation.ResourceInjector;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 19, 2007
- */
-public class ResourceInjectorFactoryImpl extends ResourceInjectorFactory
-{
-   public ResourceInjector createResourceInjector()
-   {
-      return new WebServiceContextInjector(); 
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicEndpointMetrics.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicEndpointMetrics.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicEndpointMetrics.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,172 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.management;
-
-// $Id$
-
-import java.util.Date;
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.management.EndpointMetrics;
-
-/**
- * Service Endpoint Metrics
- *
- * @author Thomas.Diesler at jboss.org
- * @since 14-Dec-2005
- */
-public class BasicEndpointMetrics implements EndpointMetrics
-{
-   private Endpoint endpoint;
-
-   private Date startTime;
-   private Date stopTime;
-   private long requestCount;
-   private long responseCount;
-   private long faultCount;
-   private long maxProcessingTime;
-   private long minProcessingTime;
-   private long avgProcessingTime;
-   private long totalProcessingTime;
-
-   public Endpoint getEndpoint()
-   {
-      return endpoint;
-   }
-
-   public void setEndpoint(Endpoint endpoint)
-   {
-      this.endpoint = endpoint;
-   }
-
-   public void start()
-   {
-      startTime = new Date();
-      stopTime = null;
-      requestCount = 0;
-      responseCount = 0;
-      faultCount = 0;
-      maxProcessingTime = 0;
-      minProcessingTime = 0;
-      avgProcessingTime = 0;
-      totalProcessingTime = 0;
-   }
-
-   public void stop()
-   {
-      stopTime = new Date();
-   }
-
-   public long processRequestMessage()
-   {
-      requestCount++;
-      return System.currentTimeMillis();
-   }
-
-   public void processResponseMessage(long beginTime)
-   {
-      responseCount++;
-      processAnyMessage(beginTime);
-   }
-
-   public void processFaultMessage(long beginTime)
-   {
-      faultCount++;
-      processAnyMessage(beginTime);
-   }
-
-   private void processAnyMessage(long beginTime)
-   {
-      if (beginTime > 0)
-      {
-         long procTime = System.currentTimeMillis() - beginTime;
-
-         if (minProcessingTime == 0)
-            minProcessingTime = procTime;
-
-         maxProcessingTime = Math.max(maxProcessingTime, procTime);
-         minProcessingTime = Math.min(minProcessingTime, procTime);
-         totalProcessingTime = totalProcessingTime + procTime;
-         avgProcessingTime = totalProcessingTime / (responseCount + faultCount);
-      }
-   }
-
-   public Date getStartTime()
-   {
-      return startTime;
-   }
-
-   public Date getStopTime()
-   {
-      return stopTime;
-   }
-
-   public long getMinProcessingTime()
-   {
-      return minProcessingTime;
-   }
-
-   public long getMaxProcessingTime()
-   {
-      return maxProcessingTime;
-   }
-
-   public long getAverageProcessingTime()
-   {
-      return avgProcessingTime;
-   }
-
-   public long getTotalProcessingTime()
-   {
-      return totalProcessingTime;
-   }
-
-   public long getRequestCount()
-   {
-      return requestCount;
-   }
-
-   public long getFaultCount()
-   {
-      return faultCount;
-   }
-
-   public long getResponseCount()
-   {
-      return responseCount;
-   }
-
-   public String toString()
-   {
-      StringBuilder buffer = new StringBuilder("\nEndpoint Metrics: " + endpoint.getName());
-      buffer.append("\n  startTime=" + startTime);
-      buffer.append("\n  stopTime=" + stopTime);
-      buffer.append("\n  requestCount=" + requestCount);
-      buffer.append("\n  responseCount=" + responseCount);
-      buffer.append("\n  faultCount=" + faultCount);
-      buffer.append("\n  maxProcessingTime=" + maxProcessingTime);
-      buffer.append("\n  minProcessingTime=" + minProcessingTime);
-      buffer.append("\n  avgProcessingTime=" + avgProcessingTime);
-      buffer.append("\n  totalProcessingTime=" + totalProcessingTime);
-      return buffer.toString();
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfig.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfig.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfig.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,240 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.management;
-
-//$Id$
-
-import java.io.File;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.Iterator;
-import java.util.Set;
-
-import javax.management.AttributeNotFoundException;
-import javax.management.JMException;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.ObjectName;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.common.ObjectNameFactory;
-
-/**
- * Basic implementation of a ServerConfig 
- *
- * @author Thomas.Diesler at jboss.org
- * @author darran.lofthouse at jboss.com
- * @since 08-May-2006
- */
-public class BasicServerConfig implements BasicServerConfigMBean
-{
-   private static final Logger log = Logger.getLogger(BasicServerConfig.class);
-
-   // The webservice host name that will be used when updating the wsdl
-   private String webServiceHost = UNDEFINED_HOSTNAME;
-   // The webservice port that will be used when updating the wsdl
-   private int webServicePort;
-   // The webservice port that will be used when updating the wsdl
-   private int webServiceSecurePort;
-   // Whether we should always modify the soap address to the deployed endpoing location
-   private boolean modifySOAPAddress;
-   // The MBeanServer
-   private MBeanServer server;
-
-   public String getWebServiceHost()
-   {
-      return webServiceHost;
-   }
-
-   public void setWebServiceHost(String host) throws UnknownHostException
-   {
-      if (host == null || host.trim().length() == 0)
-      {
-         log.debug("Using undefined host: " + UNDEFINED_HOSTNAME);
-         host = UNDEFINED_HOSTNAME;
-      }
-      if ("0.0.0.0".equals(host))
-      {
-         InetAddress localHost = InetAddress.getLocalHost();
-         log.debug("Using local host: " + localHost.getHostName());
-         host = localHost.getHostName();
-      }
-      this.webServiceHost = host;
-   }
-
-   public void setWebServicePort(int port)
-   {
-      this.webServicePort = port;
-   }
-
-   public void setWebServiceSecurePort(int port)
-   {
-      this.webServiceSecurePort = port;
-   }
-
-   public boolean isModifySOAPAddress()
-   {
-      return modifySOAPAddress;
-   }
-
-   public void setModifySOAPAddress(boolean modify)
-   {
-      this.modifySOAPAddress = modify;
-   }
-
-   public File getServerTempDir()
-   {
-      try
-      {
-         MBeanServer server = getMBeanServer();
-         ObjectName oname = ObjectNameFactory.create("jboss.system:type=ServerConfig");
-         File tmpdir = (File)server.getAttribute(oname, "ServerTempDir");
-         return tmpdir;
-      }
-      catch (JMException e)
-      {
-         return null;
-      }
-   }
-
-   public File getServerDataDir()
-   {
-      try
-      {
-         MBeanServer server = getMBeanServer();
-         ObjectName oname = ObjectNameFactory.create("jboss.system:type=ServerConfig");
-         File tmpdir = (File)server.getAttribute(oname, "ServerDataDir");
-         return tmpdir;
-      }
-      catch (JMException e)
-      {
-         return null;
-      }
-   }
-
-   public int getWebServicePort()
-   {
-      if (webServicePort <= 0)
-         webServicePort = getConnectorPort("HTTP/1.1", false);
-
-      int localPort = webServicePort;
-      if (localPort <= 0)
-      {
-         // Do not initialize webServicePort with the default, the connector port may become available later 
-         log.warn("Unable to calculate 'WebServicePort', using default '8080'");
-         localPort = 8080;
-      }
-
-      return localPort;
-   }
-
-   public int getWebServiceSecurePort()
-   {
-      if (webServiceSecurePort <= 0)
-         webServiceSecurePort = getConnectorPort("HTTP/1.1", true);
-
-      int localPort = webServiceSecurePort;
-      if (localPort <= 0)
-      {
-         // Do not initialize webServiceSecurePort with the default, the connector port may become available later 
-         log.warn("Unable to calculate 'WebServiceSecurePort', using default '8443'");
-         localPort = 8443;
-      }
-
-      return localPort;
-   }
-
-   public void create() throws Exception
-   {
-      MBeanServer server = getMBeanServer();
-      if (server != null)
-      {
-         server.registerMBean(this, BasicServerConfigMBean.OBJECT_NAME);
-      }
-   }
-
-   public void destroy() throws Exception
-   {
-      MBeanServer server = getMBeanServer();
-      if (server != null)
-      {
-         server.unregisterMBean(BasicServerConfigMBean.OBJECT_NAME);
-      }
-   }
-
-   private int getConnectorPort(final String protocol, final boolean secure)
-   {
-      int port = -1;
-
-      try
-      {
-         MBeanServer server = getMBeanServer();
-         ObjectName connectors = new ObjectName("jboss.web:type=Connector,*");
-
-         Set connectorNames = server.queryNames(connectors, null);
-         for (Object current : connectorNames)
-         {
-            ObjectName currentName = (ObjectName)current;
-
-            try
-            {
-               int connectorPort = (Integer)server.getAttribute(currentName, "port");
-               boolean connectorSecure = (Boolean)server.getAttribute(currentName, "secure");
-               String connectorProtocol = (String)server.getAttribute(currentName, "protocol");
-
-               if (protocol.equals(connectorProtocol) && secure == connectorSecure)
-               {
-                  if (port > -1)
-                  {
-                     log.warn("Found multiple connectors for protocol='" + protocol + "' and secure='" + secure + "', using first port found '" + port + "'");
-                  }
-                  else
-                  {
-                     port = connectorPort;
-                  }
-               }
-            }
-            catch (AttributeNotFoundException ignored)
-            {
-            }
-         }
-
-         return port;
-      }
-      catch (JMException e)
-      {
-         return -1;
-      }
-   }
-
-   private MBeanServer getMBeanServer()
-   {
-      if (server == null)
-      {
-         for (Iterator i = MBeanServerFactory.findMBeanServer(null).iterator(); i.hasNext();)
-         {
-            server = (MBeanServer)i.next();
-         }
-      }
-      return server;
-   }
-}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfigMBean.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfigMBean.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfigMBean.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,33 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.management;
-
-import javax.management.ObjectName;
-
-import org.jboss.wsf.spi.management.ServerConfig;
-import org.jboss.wsf.common.ObjectNameFactory;
-
-public interface BasicServerConfigMBean extends ServerConfig
-{
-   /** The object name in the MBean server */
-   ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=ServerConfig");
-}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/ContextServlet.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/ContextServlet.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/ContextServlet.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -60,7 +60,7 @@
    {
       super.init(config);
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();      
+      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();      
    }
 
    /** Process GET requests.

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfig.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfig.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfig.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfig.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,240 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.management;
+
+//$Id$
+
+import java.io.File;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Iterator;
+import java.util.Set;
+
+import javax.management.AttributeNotFoundException;
+import javax.management.JMException;
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.ObjectName;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.common.ObjectNameFactory;
+
+/**
+ * Basic implementation of a ServerConfig 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @author darran.lofthouse at jboss.com
+ * @since 08-May-2006
+ */
+public class DefaultServerConfig implements DefaultServerConfigMBean
+{
+   private static final Logger log = Logger.getLogger(DefaultServerConfig.class);
+
+   // The webservice host name that will be used when updating the wsdl
+   private String webServiceHost = UNDEFINED_HOSTNAME;
+   // The webservice port that will be used when updating the wsdl
+   private int webServicePort;
+   // The webservice port that will be used when updating the wsdl
+   private int webServiceSecurePort;
+   // Whether we should always modify the soap address to the deployed endpoing location
+   private boolean modifySOAPAddress;
+   // The MBeanServer
+   private MBeanServer server;
+
+   public String getWebServiceHost()
+   {
+      return webServiceHost;
+   }
+
+   public void setWebServiceHost(String host) throws UnknownHostException
+   {
+      if (host == null || host.trim().length() == 0)
+      {
+         log.debug("Using undefined host: " + UNDEFINED_HOSTNAME);
+         host = UNDEFINED_HOSTNAME;
+      }
+      if ("0.0.0.0".equals(host))
+      {
+         InetAddress localHost = InetAddress.getLocalHost();
+         log.debug("Using local host: " + localHost.getHostName());
+         host = localHost.getHostName();
+      }
+      this.webServiceHost = host;
+   }
+
+   public void setWebServicePort(int port)
+   {
+      this.webServicePort = port;
+   }
+
+   public void setWebServiceSecurePort(int port)
+   {
+      this.webServiceSecurePort = port;
+   }
+
+   public boolean isModifySOAPAddress()
+   {
+      return modifySOAPAddress;
+   }
+
+   public void setModifySOAPAddress(boolean modify)
+   {
+      this.modifySOAPAddress = modify;
+   }
+
+   public File getServerTempDir()
+   {
+      try
+      {
+         MBeanServer server = getMBeanServer();
+         ObjectName oname = ObjectNameFactory.create("jboss.system:type=ServerConfig");
+         File tmpdir = (File)server.getAttribute(oname, "ServerTempDir");
+         return tmpdir;
+      }
+      catch (JMException e)
+      {
+         return null;
+      }
+   }
+
+   public File getServerDataDir()
+   {
+      try
+      {
+         MBeanServer server = getMBeanServer();
+         ObjectName oname = ObjectNameFactory.create("jboss.system:type=ServerConfig");
+         File tmpdir = (File)server.getAttribute(oname, "ServerDataDir");
+         return tmpdir;
+      }
+      catch (JMException e)
+      {
+         return null;
+      }
+   }
+
+   public int getWebServicePort()
+   {
+      if (webServicePort <= 0)
+         webServicePort = getConnectorPort("HTTP/1.1", false);
+
+      int localPort = webServicePort;
+      if (localPort <= 0)
+      {
+         // Do not initialize webServicePort with the default, the connector port may become available later 
+         log.warn("Unable to calculate 'WebServicePort', using default '8080'");
+         localPort = 8080;
+      }
+
+      return localPort;
+   }
+
+   public int getWebServiceSecurePort()
+   {
+      if (webServiceSecurePort <= 0)
+         webServiceSecurePort = getConnectorPort("HTTP/1.1", true);
+
+      int localPort = webServiceSecurePort;
+      if (localPort <= 0)
+      {
+         // Do not initialize webServiceSecurePort with the default, the connector port may become available later 
+         log.warn("Unable to calculate 'WebServiceSecurePort', using default '8443'");
+         localPort = 8443;
+      }
+
+      return localPort;
+   }
+
+   public void create() throws Exception
+   {
+      MBeanServer server = getMBeanServer();
+      if (server != null)
+      {
+         server.registerMBean(this, DefaultServerConfigMBean.OBJECT_NAME);
+      }
+   }
+
+   public void destroy() throws Exception
+   {
+      MBeanServer server = getMBeanServer();
+      if (server != null)
+      {
+         server.unregisterMBean(DefaultServerConfigMBean.OBJECT_NAME);
+      }
+   }
+
+   private int getConnectorPort(final String protocol, final boolean secure)
+   {
+      int port = -1;
+
+      try
+      {
+         MBeanServer server = getMBeanServer();
+         ObjectName connectors = new ObjectName("jboss.web:type=Connector,*");
+
+         Set connectorNames = server.queryNames(connectors, null);
+         for (Object current : connectorNames)
+         {
+            ObjectName currentName = (ObjectName)current;
+
+            try
+            {
+               int connectorPort = (Integer)server.getAttribute(currentName, "port");
+               boolean connectorSecure = (Boolean)server.getAttribute(currentName, "secure");
+               String connectorProtocol = (String)server.getAttribute(currentName, "protocol");
+
+               if (protocol.equals(connectorProtocol) && secure == connectorSecure)
+               {
+                  if (port > -1)
+                  {
+                     log.warn("Found multiple connectors for protocol='" + protocol + "' and secure='" + secure + "', using first port found '" + port + "'");
+                  }
+                  else
+                  {
+                     port = connectorPort;
+                  }
+               }
+            }
+            catch (AttributeNotFoundException ignored)
+            {
+            }
+         }
+
+         return port;
+      }
+      catch (JMException e)
+      {
+         return -1;
+      }
+   }
+
+   private MBeanServer getMBeanServer()
+   {
+      if (server == null)
+      {
+         for (Iterator i = MBeanServerFactory.findMBeanServer(null).iterator(); i.hasNext();)
+         {
+            server = (MBeanServer)i.next();
+         }
+      }
+      return server;
+   }
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfigMBean.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicServerConfigMBean.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfigMBean.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/DefaultServerConfigMBean.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.management;
+
+import javax.management.ObjectName;
+
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.common.ObjectNameFactory;
+
+public interface DefaultServerConfigMBean extends ServerConfig
+{
+   /** The object name in the MBean server */
+   ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=ServerConfig");
+}

Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/EndpointMetricsImpl.java (from rev 4022, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/BasicEndpointMetrics.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/EndpointMetricsImpl.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/management/EndpointMetricsImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,172 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.management;
+
+// $Id$
+
+import java.util.Date;
+
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.management.EndpointMetrics;
+
+/**
+ * Service Endpoint Metrics
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 14-Dec-2005
+ */
+public class EndpointMetricsImpl implements EndpointMetrics
+{
+   private Endpoint endpoint;
+
+   private Date startTime;
+   private Date stopTime;
+   private long requestCount;
+   private long responseCount;
+   private long faultCount;
+   private long maxProcessingTime;
+   private long minProcessingTime;
+   private long avgProcessingTime;
+   private long totalProcessingTime;
+
+   public Endpoint getEndpoint()
+   {
+      return endpoint;
+   }
+
+   public void setEndpoint(Endpoint endpoint)
+   {
+      this.endpoint = endpoint;
+   }
+
+   public void start()
+   {
+      startTime = new Date();
+      stopTime = null;
+      requestCount = 0;
+      responseCount = 0;
+      faultCount = 0;
+      maxProcessingTime = 0;
+      minProcessingTime = 0;
+      avgProcessingTime = 0;
+      totalProcessingTime = 0;
+   }
+
+   public void stop()
+   {
+      stopTime = new Date();
+   }
+
+   public long processRequestMessage()
+   {
+      requestCount++;
+      return System.currentTimeMillis();
+   }
+
+   public void processResponseMessage(long beginTime)
+   {
+      responseCount++;
+      processAnyMessage(beginTime);
+   }
+
+   public void processFaultMessage(long beginTime)
+   {
+      faultCount++;
+      processAnyMessage(beginTime);
+   }
+
+   private void processAnyMessage(long beginTime)
+   {
+      if (beginTime > 0)
+      {
+         long procTime = System.currentTimeMillis() - beginTime;
+
+         if (minProcessingTime == 0)
+            minProcessingTime = procTime;
+
+         maxProcessingTime = Math.max(maxProcessingTime, procTime);
+         minProcessingTime = Math.min(minProcessingTime, procTime);
+         totalProcessingTime = totalProcessingTime + procTime;
+         avgProcessingTime = totalProcessingTime / (responseCount + faultCount);
+      }
+   }
+
+   public Date getStartTime()
+   {
+      return startTime;
+   }
+
+   public Date getStopTime()
+   {
+      return stopTime;
+   }
+
+   public long getMinProcessingTime()
+   {
+      return minProcessingTime;
+   }
+
+   public long getMaxProcessingTime()
+   {
+      return maxProcessingTime;
+   }
+
+   public long getAverageProcessingTime()
+   {
+      return avgProcessingTime;
+   }
+
+   public long getTotalProcessingTime()
+   {
+      return totalProcessingTime;
+   }
+
+   public long getRequestCount()
+   {
+      return requestCount;
+   }
+
+   public long getFaultCount()
+   {
+      return faultCount;
+   }
+
+   public long getResponseCount()
+   {
+      return responseCount;
+   }
+
+   public String toString()
+   {
+      StringBuilder buffer = new StringBuilder("\nEndpoint Metrics: " + endpoint.getName());
+      buffer.append("\n  startTime=" + startTime);
+      buffer.append("\n  stopTime=" + stopTime);
+      buffer.append("\n  requestCount=" + requestCount);
+      buffer.append("\n  responseCount=" + responseCount);
+      buffer.append("\n  faultCount=" + faultCount);
+      buffer.append("\n  maxProcessingTime=" + maxProcessingTime);
+      buffer.append("\n  minProcessingTime=" + minProcessingTime);
+      buffer.append("\n  avgProcessingTime=" + avgProcessingTime);
+      buffer.append("\n  totalProcessingTime=" + totalProcessingTime);
+      return buffer.toString();
+   }
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/transport/jms/JMSTransportSupport.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/transport/jms/JMSTransportSupport.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/transport/jms/JMSTransportSupport.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -126,7 +126,7 @@
    protected void processSOAPMessage(String fromName, InputStream inputStream, OutputStream outStream) throws SOAPException, IOException, RemoteException
    {
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      EndpointRegistry epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      EndpointRegistry epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
 
       Endpoint endpoint = getEndpointForDestination(epRegistry, fromName);
 

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/Extensible.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/Extensible.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/Extensible.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi;
+
+//$Id: Deployment.java 3999 2007-07-26 11:33:20Z thomas.diesler at jboss.com $
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * A general extendible artifact 
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public interface Extensible
+{
+   /** Add arbitrary attachments */
+   <T> T addAttachment(Class<T> key, Object value);
+   
+   /** Get arbitrary attachments */
+   <T> Collection<T> getAttachments();
+   
+   /** Get an arbitrary attachment */
+   <T> T getAttachment(Class<T> key);
+   
+   /** Remove arbitrary attachments */
+   <T> T removeAttachment(Class<T> key);
+
+   /** Get an property */
+   Object getProperty(String key);
+   
+   /** Set a property */
+   void setProperty(String key, Object value);
+   
+   /** Remove a property */
+   void removeProperty(String key);
+   
+   /** Get the set of property names */
+   Set<String> getProperties();
+   
+   /** Set a map of properties */
+   void setProperties(Map<String, Object> props);
+}
\ No newline at end of file

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployment.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployment.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployment.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -21,6 +21,8 @@
  */
 package org.jboss.wsf.spi.deployment;
 
+import org.jboss.wsf.spi.Extensible;
+
 // $Id$
 
 /**
@@ -31,7 +33,7 @@
  * @author Thomas.Diesler at jboss.com
  * @since 20-Apr-2007 
  */
-public interface Deployment extends Extendible
+public interface Deployment extends Extensible
 {
    public enum DeploymentType
    {

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.spi.deployment;
-
-import org.jboss.wsf.spi.SPIView;
-
-/**
- * Creates DeploymentAspectManager's by {@link org.jboss.wsf.spi.deployment.Deployment.DeploymentType}
- * 
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 20, 2007
- */
-public abstract class DeploymentAspectManagerFactory implements SPIView
-{
-   public abstract DeploymentAspectManager createDeploymentAspectManager(Deployment.DeploymentType deploymentType);
-}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManagerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,35 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.deployment;
+
+import org.jboss.wsf.spi.SPIView;
+
+/**
+ * Creates DeploymentAspectManager's by {@link org.jboss.wsf.spi.deployment.Deployment.DeploymentType}
+ * 
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 20, 2007
+ */
+public abstract class DeploymentAspectManagerFactory implements SPIView
+{
+   public abstract DeploymentAspectManager getDeploymentAspectManager(Deployment.DeploymentType deploymentType);
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentModelFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentModelFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentModelFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,8 +29,8 @@
  */
 public abstract class DeploymentModelFactory implements SPIView
 {
-   public abstract Deployment createDeployment(String simpleName, ClassLoader initialLoader);
-   public abstract Service createService();
-   public abstract Endpoint createEndpoint();
+   public abstract Deployment newDeployment(String simpleName, ClassLoader initialLoader);
+   public abstract Service newService();
+   public abstract Endpoint newEndpoint();
 
 }

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Endpoint.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Endpoint.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Endpoint.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -25,6 +25,7 @@
 
 import javax.management.ObjectName;
 
+import org.jboss.wsf.spi.Extensible;
 import org.jboss.wsf.spi.invocation.InvocationHandler;
 import org.jboss.wsf.spi.invocation.RequestHandler;
 import org.jboss.wsf.spi.management.EndpointMetrics;
@@ -35,7 +36,7 @@
  * @author Thomas.Diesler at jboss.com
  * @since 20-Apr-2007 
  */
-public interface Endpoint extends Extendible
+public interface Endpoint extends Extensible
 {
    static final String SEPID_DOMAIN = "jboss.ws";
    static final String SEPID_PROPERTY_CONTEXT = "context";

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Extendible.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Extendible.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Extendible.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.spi.deployment;
-
-//$Id: Deployment.java 3999 2007-07-26 11:33:20Z thomas.diesler at jboss.com $
-
-import java.util.Collection;
-import java.util.Set;
-
-/**
- * A general extendible artifact 
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public interface Extendible
-{
-   /** Add arbitrary attachments */
-   <T> T addAttachment(Class<T> key, Object value);
-   
-   /** Get arbitrary attachments */
-   <T> Collection<T> getAttachments();
-   
-   /** Get an arbitrary attachment */
-   <T> T getAttachment(Class<T> key);
-   
-   /** Remove arbitrary attachments */
-   <T> T removeAttachment(Class<T> key);
-
-   /** Get an context property */
-   Object getProperty(String key);
-   
-   /** Set an context property */
-   void setProperty(String key, Object value);
-   
-   /** Remove an context property */
-   void removeProperty(String key);
-   
-   /** Get the set of context property names */
-   Set<String> getProperties();
-}
\ No newline at end of file

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/LifecycleHandlerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/LifecycleHandlerFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/LifecycleHandlerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,5 +29,5 @@
  */
 public abstract class LifecycleHandlerFactory implements SPIView
 {
-   public abstract LifecycleHandler createLifecylceHandler();
+   public abstract LifecycleHandler newLifecylceHandler();
 }

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Service.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Service.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Service.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -25,6 +25,8 @@
 
 import java.util.List;
 
+import org.jboss.wsf.spi.Extensible;
+
 /**
  * A general service deployment.
  * 
@@ -33,7 +35,7 @@
  * @author Thomas.Diesler at jboss.com
  * @since 20-Apr-2007 
  */
-public interface Service extends Extendible
+public interface Service extends Extensible
 {
    /** Get the deployment this service belongs to */
    Deployment getDeployment();

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContext.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContext.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContext.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.http;
+
+import org.jboss.wsf.spi.Extensible;
+
+// $Id: HttpContext.java 1757 2006-12-22 15:40:24Z thomas.diesler at jboss.com $
+
+/**
+ * An abstract HTTP Context
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public interface HttpContext extends Extensible
+{
+   HttpServer getHttpServer();
+
+   String getContextRoot();
+}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContextFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContextFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpContextFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.http;
+
+import org.jboss.wsf.spi.SPIView;
+
+// $Id: HttpContext.java 1757 2006-12-22 15:40:24Z thomas.diesler at jboss.com $
+
+/**
+ * A factory for an abstract HTTP Context
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public abstract class HttpContextFactory implements SPIView
+{
+   public abstract HttpContext newHttpContext(HttpServer server, String contextRoot);
+}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServer.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServer.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServer.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.http;
+
+// $Id: HttpServer.java 3959 2007-07-20 14:44:19Z heiko.braun at jboss.com $
+
+import javax.xml.ws.Endpoint;
+
+import org.jboss.wsf.spi.Extensible;
+
+/**
+ * An abstract HTTP Server
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public interface HttpServer extends Extensible
+{
+   /** Start an instance of this HTTP server */
+   void start();
+
+   /** Create an HTTP context */
+   HttpContext createContext(String string);
+
+   /** Publish an JAXWS endpoint to the HTTP server */
+   void publish(HttpContext context, Endpoint endpoint);
+
+   /** Destroys an JAXWS endpoint on the HTTP server */
+   void destroy(HttpContext context, Endpoint endpoint);
+}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServerFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/http/HttpServerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.http;
+
+import org.jboss.wsf.spi.SPIView;
+
+// $Id: HttpContext.java 1757 2006-12-22 15:40:24Z thomas.diesler at jboss.com $
+
+/**
+ * A factory for an abstract HTTP server
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public abstract class HttpServerFactory implements SPIView
+{
+   public abstract HttpServer newHttpServer();
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/DefaultInvocationHandlerJAXWS.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/DefaultInvocationHandlerJAXWS.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/DefaultInvocationHandlerJAXWS.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -80,7 +80,7 @@
          {
             SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
             ResourceInjectorFactory factory = spiProvider.getSPI(ResourceInjectorFactory.class);
-            ResourceInjector injector = factory.createResourceInjector();
+            ResourceInjector injector = factory.newResourceInjector();
             injector.inject(targetBean, wsContext);
          }
 

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -33,5 +33,5 @@
  */
 public abstract class InvocationHandlerFactory implements SPIView
 {
-   public abstract InvocationHandler createInvocationHandler(InvocationType type);
+   public abstract InvocationHandler newInvocationHandler(InvocationType type);
 }

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/RequestHandlerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/RequestHandlerFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/RequestHandlerFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,5 +29,5 @@
  */
 public abstract class RequestHandlerFactory implements SPIView
 {
-   public abstract RequestHandler createRequestHandler();
+   public abstract RequestHandler newRequestHandler();
 }

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/ResourceInjectorFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/ResourceInjectorFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/ResourceInjectorFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,5 +29,5 @@
  */
 public abstract class ResourceInjectorFactory implements SPIView
 {
-   public abstract ResourceInjector createResourceInjector();
+   public abstract ResourceInjector newResourceInjector();
 }

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/SecurityAdaptorFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/SecurityAdaptorFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/SecurityAdaptorFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -35,5 +35,5 @@
  */
 public abstract class SecurityAdaptorFactory implements SPIView
 {
-   public abstract SecurityAdaptor createSecurityAdapter();
+   public abstract SecurityAdaptor newSecurityAdapter();
 }

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/WebServiceContextFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/WebServiceContextFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/WebServiceContextFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -31,5 +31,5 @@
  */
 public abstract class WebServiceContextFactory implements SPIView
 {
-   public abstract ExtendableWebServiceContext createWebServiceContext(InvocationType type, MessageContext messageContext);
+   public abstract ExtendableWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext);
 }

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,41 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.spi.management;
-
-//$Id$
-
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.registry.KernelRegistry;
-import org.jboss.kernel.spi.registry.KernelRegistryEntry;
-import org.jboss.ws.integration.KernelLocator;
-import org.jboss.wsf.spi.SPIView;
-
-/**
- * Get the endpoint registry from the kernel
- * 
- * @author Thomas.Diesler at jboss.com
- * @since 20-Apr-2007 
- */
-public abstract class EndpointRegistryFactory implements SPIView
-{
-   public abstract EndpointRegistry createEndpointRegistry();
-}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/EndpointRegistryFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.management;
+
+//$Id$
+
+import org.jboss.wsf.spi.SPIView;
+
+/**
+ * Get the endpoint registry from the kernel
+ * 
+ * @author Thomas.Diesler at jboss.com
+ * @since 20-Apr-2007 
+ */
+public abstract class EndpointRegistryFactory implements SPIView
+{
+   public abstract EndpointRegistry getEndpointRegistry();
+}

Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,37 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.spi.management;
-
-//$Id$
-
-import org.jboss.wsf.spi.SPIView;
-
-/**
- * Factory to container independent config 
- *
- * @author Thomas.Diesler at jboss.org 
- * @since 08-May-2006
- */
-public abstract class ServerConfigFactory implements SPIView
-{
-   public abstract ServerConfig getServerConfig();
-}

Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java	                        (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/management/ServerConfigFactory.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.spi.management;
+
+//$Id$
+
+import org.jboss.wsf.spi.SPIView;
+
+/**
+ * Factory to container independent config 
+ *
+ * @author Thomas.Diesler at jboss.org 
+ * @since 08-May-2006
+ */
+public abstract class ServerConfigFactory implements SPIView
+{
+   public abstract ServerConfig getServerConfig();
+}

Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/test/TestDeployerJBoss.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/test/TestDeployerJBoss.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/test/TestDeployerJBoss.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -81,7 +81,7 @@
       Object prevPassword = null;
 
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).createSecurityAdapter();
+      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
       if (username != null || password != null)
       {
          prevUsername = securityAdaptor.getPrincipal();

Deleted: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.stack.sunri;
-
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.common.KernelAwareSPIFactory;
-
-/**
- * An EndpointRegistryFactory implementation that retrieves
- * the registry from MC kernel.
- *
- * @see EndpointRegistry.BEAN_NAME
- *
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 23, 2007
- */
-public class EndpointRegistryFactoryImpl extends EndpointRegistryFactory
-{
-   public EndpointRegistry createEndpointRegistry()
-   {
-      return new KernelAwareSPIFactory().getKernelProvidedSPI(
-        EndpointRegistry.BEAN_NAME, EndpointRegistry.class
-      );
-   }
-}

Added: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java	                        (rev 0)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointRegistryFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.stack.sunri;
+
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.common.KernelAwareSPIFactory;
+
+/**
+ * An EndpointRegistryFactory implementation that retrieves
+ * the registry from MC kernel.
+ *
+ * @see EndpointRegistry.BEAN_NAME
+ *
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 23, 2007
+ */
+public class EndpointRegistryFactoryImpl extends EndpointRegistryFactory
+{
+   public EndpointRegistry getEndpointRegistry()
+   {
+      return new KernelAwareSPIFactory().getKernelProvidedSPI(
+        EndpointRegistry.BEAN_NAME, EndpointRegistry.class
+      );
+   }
+}

Modified: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointServlet.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointServlet.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/EndpointServlet.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -53,7 +53,7 @@
    {
       super.init(servletConfig);
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
    }
 
    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException

Modified: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/RequestHandlerFactoryImpl.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/RequestHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/RequestHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -30,7 +30,7 @@
  */
 public class RequestHandlerFactoryImpl extends RequestHandlerFactory
 {
-   public RequestHandler createRequestHandler()
+   public RequestHandler newRequestHandler()
    {
       return new RequestHandlerImpl();  
    }

Modified: trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml
===================================================================
--- trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,6 +1,6 @@
 
   <!-- An abstraction of server configuration aspects. -->  
-  <bean name="WSServerConfig" class="org.jboss.wsf.framework.management.BasicServerConfig">
+  <bean name="WSServerConfig" class="org.jboss.wsf.framework.management.DefaultServerConfig">
     <!--
         The WSDL, that is a required deployment artifact for an endpoint, has a <soap:address>
         element which points to the location of the endpoint. JBoss supports rewriting of that SOAP address.

Deleted: trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory
===================================================================
--- trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1 +0,0 @@
-org.jboss.wsf.framework.deployment.LifecycleHandlerFactoryImpl
\ No newline at end of file

Modified: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/CXFServletExt.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/CXFServletExt.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/CXFServletExt.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -75,7 +75,7 @@
 
       // Init the Endpoint
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
       
       ServletContext context = servletConfig.getServletContext();
       String contextPath = context.getContextPath();

Deleted: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,45 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.stack.xfire;
-
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.common.KernelAwareSPIFactory;
-
-/**
- * An EndpointRegistryFactory implementation that retrieves
- * the registry from MC kernel.
- *
- * @see EndpointRegistry.BEAN_NAME
- * 
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 23, 2007
- */
-public class EndpointRegistryFactoryImpl extends EndpointRegistryFactory
-{
-   public EndpointRegistry createEndpointRegistry()
-   {
-      return new KernelAwareSPIFactory().getKernelProvidedSPI(
-        EndpointRegistry.BEAN_NAME, EndpointRegistry.class
-      );
-   }
-}

Added: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java	                        (rev 0)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointRegistryFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -0,0 +1,45 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt 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.stack.xfire;
+
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.common.KernelAwareSPIFactory;
+
+/**
+ * An EndpointRegistryFactory implementation that retrieves
+ * the registry from MC kernel.
+ *
+ * @see EndpointRegistry.BEAN_NAME
+ * 
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 23, 2007
+ */
+public class EndpointRegistryFactoryImpl extends EndpointRegistryFactory
+{
+   public EndpointRegistry getEndpointRegistry()
+   {
+      return new KernelAwareSPIFactory().getKernelProvidedSPI(
+        EndpointRegistry.BEAN_NAME, EndpointRegistry.class
+      );
+   }
+}

Modified: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointServlet.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointServlet.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/EndpointServlet.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -53,7 +53,7 @@
    {
       super.init(servletConfig);
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
    }
 
    public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException

Modified: trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerFactoryImpl.java
===================================================================
--- trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerFactoryImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/RequestHandlerFactoryImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -30,7 +30,7 @@
  */
 public class RequestHandlerFactoryImpl extends RequestHandlerFactory
 {
-   public RequestHandler createRequestHandler()
+   public RequestHandler newRequestHandler()
    {
       return new RequestHandlerImpl();  
    }

Modified: trunk/integration/xfire/src/main/resources/jbossws-xfire-config.xml
===================================================================
--- trunk/integration/xfire/src/main/resources/jbossws-xfire-config.xml	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/xfire/src/main/resources/jbossws-xfire-config.xml	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,6 +1,6 @@
   
   <!-- An abstraction of server configuration aspects. -->  
-  <bean name="WSServerConfig" class="org.jboss.wsf.framework.management.BasicServerConfig">
+  <bean name="WSServerConfig" class="org.jboss.wsf.framework.management.DefaultServerConfig">
     <!--
         The WSDL, that is a required deployment artifact for an endpoint, has a <soap:address>
         element which points to the location of the endpoint. JBoss supports rewriting of that SOAP address.

Deleted: trunk/integration/xfire/src/main/resources/jbossws-xfire.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory
===================================================================
--- trunk/integration/xfire/src/main/resources/jbossws-xfire.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/integration/xfire/src/main/resources/jbossws-xfire.jar/META-INF/services/org.jboss.wsf.spi.deployment.LifecycleHandlerFactory	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1 +0,0 @@
-org.jboss.wsf.framework.deployment.LifecycleHandlerFactoryImpl
\ No newline at end of file

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceObjectFactoryJAXRPC.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceObjectFactoryJAXRPC.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceObjectFactoryJAXRPC.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -186,7 +186,7 @@
             try
             {
                SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-               EndpointRegistry epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();
+               EndpointRegistry epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();
                Endpoint endpoint = epRegistry.resolve( new PortComponentResolver(pcLink) );
                if (endpoint == null)
                   throw new WSException("Cannot resolve port-component-link: " + pcLink);

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/EndpointImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/EndpointImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/EndpointImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -41,10 +41,12 @@
 import org.jboss.logging.Logger;
 import org.jboss.util.NotImplementedException;
 import org.jboss.ws.core.jaxws.binding.BindingProviderImpl;
-import org.jboss.ws.core.server.HttpContext;
-import org.jboss.ws.core.server.HttpServer;
 import org.jboss.wsf.spi.SPIProvider;
 import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpContextFactory;
+import org.jboss.wsf.spi.http.HttpServer;
+import org.jboss.wsf.spi.http.HttpServerFactory;
 import org.jboss.wsf.spi.management.ServerConfigFactory;
 import org.w3c.dom.Element;
 
@@ -120,7 +122,8 @@
       checkPublishEndpointPermission();
 
       // Create and start the HTTP server
-      HttpServer httpServer = HttpServer.create();
+      SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+      HttpServer httpServer = spiProvider.getSPI(HttpServerFactory.class).newHttpServer();
       httpServer.setProperties(properties);
       httpServer.start();
 

Deleted: trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpContext.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpContext.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpContext.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.ws.core.server;
-
-// $Id$
-
-/**
- * An abstract HTTP Context
- *
- * @author Thomas.Diesler at jboss.org
- * @since 07-Jul-2006
- */
-public class HttpContext
-{
-   private HttpServer server;
-   private String contextRoot;
-   
-   public HttpContext(HttpServer server, String contextRoot)
-   {
-      this.server = server;
-      this.contextRoot = contextRoot;
-   }
-   
-   public HttpServer getHttpServer()
-   {
-      return server;
-   }
-
-   public String getContextRoot()
-   {
-      return contextRoot;
-   }
-}

Deleted: trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpServer.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpServer.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/HttpServer.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -1,92 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt 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.ws.core.server;
-
-// $Id$
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.xml.ws.Endpoint;
-
-import org.jboss.wsf.common.ServiceLoader;
-
-/**
- * An abstract HTTP Server
- *
- * @author Thomas.Diesler at jboss.org
- * @since 07-Jul-2006
- */
-public abstract class HttpServer
-{
-   public static String HTTP_SERVER_PROPERTY = HttpServer.class.getName();
-
-   private Map<String, Object> properties = new HashMap<String, Object>();
-
-   // Hide constructor
-   protected HttpServer ()
-   {
-   }
-
-   /**
-    * Create an instance of an HTTP server. 
-    * The discovery algorithm is described in {@link FactoryFinder.find(String,String)}
-    */
-   public static HttpServer create()
-   {
-      HttpServer server = (HttpServer) ServiceLoader.loadService(HTTP_SERVER_PROPERTY, null);
-      return server;
-   }
-
-   /** Start an instance of this HTTP server */
-   public abstract void start();
-
-   /** Create an HTTP context */
-   public abstract HttpContext createContext(String string);
-
-   /** Publish an JAXWS endpoint to the HTTP server */
-   public abstract void publish(HttpContext context, Endpoint endpoint);
-
-   /** Destroys an JAXWS endpoint on the HTTP server */
-   public abstract void destroy(HttpContext context, Endpoint endpoint);
-
-   public Map<String, Object> getProperties()
-   {
-      return properties;
-   }
-
-   public void setProperties(Map<String, Object> map)
-   {
-      properties = map;
-   }
-
-   public void setProperty(String key, Object value)
-   {
-      properties.put(key, value);
-   }
-
-   public Object getProperty(String key)
-   {
-      return properties.get(key);
-   }
-
-}

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/PortComponentLinkServlet.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/PortComponentLinkServlet.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/PortComponentLinkServlet.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -67,7 +67,7 @@
    {
       super.init(config);
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).createEndpointRegistry();      
+      epRegistry = spiProvider.getSPI(EndpointRegistryFactory.class).getEndpointRegistry();      
    }
 
    /**

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/ServiceEndpointInvoker.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -279,7 +279,7 @@
             if (msgContext.get(MessageContext.SERVLET_REQUEST) != null)
             {
                SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-               wsContext = spiProvider.getSPI(WebServiceContextFactory.class).createWebServiceContext(
+               wsContext = spiProvider.getSPI(WebServiceContextFactory.class).newWebServiceContext(
                  InvocationType.JAXWS_JSE, (SOAPMessageContextJAXWS)msgContext
                );
             }

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/ReceiveUsernameOperation.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/ReceiveUsernameOperation.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/ReceiveUsernameOperation.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -47,7 +47,7 @@
    {
       UsernameToken user = (UsernameToken)token;
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).createSecurityAdapter();
+      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
       securityAdaptor.setPrincipal(new SimplePrincipal(user.getUsername()));
       securityAdaptor.setCredential(user.getPassword());
    }

Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -98,7 +98,7 @@
 
       SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
       DeploymentModelFactory factory = spiProvider.getSPI(DeploymentModelFactory.class);
-      Deployment dep = factory.createDeployment("wsprovide-deployment", loader);
+      Deployment dep = factory.newDeployment("wsprovide-deployment", loader);
 
       builder.buildWebServiceMetaData(dep, umd, endpointClass, null);
       try

Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/addressrewrite/AddressRewriteTestCase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/addressrewrite/AddressRewriteTestCase.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxrpc/addressrewrite/AddressRewriteTestCase.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -29,7 +29,7 @@
 import javax.xml.rpc.Service;
 import javax.xml.rpc.ServiceFactory;
 
-import org.jboss.wsf.framework.management.BasicServerConfigMBean;
+import org.jboss.wsf.framework.management.DefaultServerConfigMBean;
 import org.jboss.wsf.test.JBossWSTest;
 
 /**
@@ -51,14 +51,14 @@
    {
       wsdlLocation = "http://" + getServerHost() + ":8080/jaxrpc-addressrewrite/ValidURL?wsdl";
       wsdlLocationSec = "http://" + getServerHost() + ":8080/jaxrpc-addressrewrite-sec/ValidURL?wsdl";
-      modifySOAPAddress = (Boolean)getServer().getAttribute(BasicServerConfigMBean.OBJECT_NAME, "ModifySOAPAddress");
-      webServiceHost = (String)getServer().getAttribute(BasicServerConfigMBean.OBJECT_NAME, "WebServiceHost");
+      modifySOAPAddress = (Boolean)getServer().getAttribute(DefaultServerConfigMBean.OBJECT_NAME, "ModifySOAPAddress");
+      webServiceHost = (String)getServer().getAttribute(DefaultServerConfigMBean.OBJECT_NAME, "WebServiceHost");
    }
 
    public void tearDown() throws Exception
    {
       Attribute attr = new Attribute("ModifySOAPAddress", modifySOAPAddress);
-      getServer().setAttribute(BasicServerConfigMBean.OBJECT_NAME, attr);
+      getServer().setAttribute(DefaultServerConfigMBean.OBJECT_NAME, attr);
    }
 
    public void testRewrite() throws Exception
@@ -158,6 +158,6 @@
    private void setModifySOAPAddress(Boolean value) throws Exception
    {
       Attribute attr = new Attribute("ModifySOAPAddress", value);
-      getServer().setAttribute(BasicServerConfigMBean.OBJECT_NAME, attr);
+      getServer().setAttribute(DefaultServerConfigMBean.OBJECT_NAME, attr);
    }
 }
\ No newline at end of file

Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/binding/BindingCustomizationTestCase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/binding/BindingCustomizationTestCase.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/binding/BindingCustomizationTestCase.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -49,7 +49,7 @@
 
    public void testCustomizationWriteAccess() throws Exception
    {
-      Endpoint endpoint = deploymentModelFactory.createEndpoint();
+      Endpoint endpoint = deploymentModelFactory.newEndpoint();
       JAXBBindingCustomization jaxbCustomization = new JAXBBindingCustomization();
       jaxbCustomization.put(JAXBBindingCustomization.DEFAULT_NAMESPACE_REMAP, "http://org.jboss.bindingCustomization");
       endpoint.addAttachment(BindingCustomization.class, jaxbCustomization);
@@ -70,7 +70,7 @@
 
    public void testCustomizationReadAccess() throws Exception
    {
-      Endpoint endpoint = deploymentModelFactory.createEndpoint();
+      Endpoint endpoint = deploymentModelFactory.newEndpoint();
       JAXBBindingCustomization jaxbCustomization = new JAXBBindingCustomization();
       jaxbCustomization.put(JAXBBindingCustomization.DEFAULT_NAMESPACE_REMAP, "http://org.jboss.bindingCustomization");
       endpoint.addAttachment(BindingCustomization.class, jaxbCustomization);

Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointServlet.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -35,8 +35,11 @@
 import javax.xml.ws.Service;
 import javax.xml.ws.soap.SOAPBinding;
 
-import org.jboss.ws.core.server.HttpContext;
-import org.jboss.ws.core.server.HttpServer;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpServer;
+import org.jboss.wsf.spi.http.HttpServerFactory;
 
 /**
  * Test Endpoint deployment
@@ -58,11 +61,12 @@
       endpoint = Endpoint.create(SOAPBinding.SOAP11HTTP_BINDING, epImpl);
 
       // Create and start the HTTP server
-      HttpServer server = HttpServer.create();
-      server.start();
+      SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+      HttpServer httpServer = spiProvider.getSPI(HttpServerFactory.class).newHttpServer();
+      httpServer.start();
       
       // Create the context and publish the endpoint
-      HttpContext context = server.createContext("/jaxws-endpoint");
+      HttpContext context = httpServer.createContext("/jaxws-endpoint");
       endpoint.publish(context);
    }
    

Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointTestCase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointTestCase.java	2007-07-27 13:54:43 UTC (rev 4022)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/endpoint/EndpointTestCase.java	2007-07-28 07:14:06 UTC (rev 4023)
@@ -80,7 +80,7 @@
       if (isTargetJBoss50())
       {
          System.out.println("FIXME: [JBWEB-68] Servlet.init(ServletConfig) not called");
-         return;
+         //return;
       }
       
       URL wsdlURL = new URL("http://" + getServerHost() + ":8080/jaxws-endpoint?wsdl");
@@ -94,7 +94,7 @@
       if (isTargetJBoss50())
       {
          System.out.println("FIXME: [JBWEB-68] Servlet.init(ServletConfig) not called");
-         return;
+         //return;
       }
       
       // Create the port
@@ -113,7 +113,7 @@
       if (isTargetJBoss50())
       {
          System.out.println("FIXME: [JBWEB-68] Servlet.init(ServletConfig) not called");
-         return;
+         //return;
       }
 
       URL url = new URL("http://" + getServerHost() + ":8080/jaxws-endpoint-servlet?param=hello-world");




More information about the jbossws-commits mailing list