[jboss-cvs] JBossAS SVN: r74688 - in branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50: deployer and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 17 09:52:54 EDT 2008


Author: richard.opalka at jboss.com
Date: 2008-06-17 09:52:54 -0400 (Tue, 17 Jun 2008)
New Revision: 74688

Added:
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/BareWSFRuntime.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/WebServiceContextFactoryImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/BareTransportManagerFactory.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EJBHttpTransportManager.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/NoopHttpTransportManager.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WSFRuntimeDelegateHttpServer.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppGenerator.java
Removed:
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookEJB.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractInvocationHandler.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractWebServiceDeployer.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataAdapter.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHook.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHookPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeploymentAspectHttpServer.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXRPC.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXWS.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPreJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPreJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JSEArchiveMetaDataAdapter.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RewriteResults.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RuntimeLoaderDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdaptorImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandler.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB3.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ServiceEndpointInterceptor.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeployingHttpServer.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppGeneratorDeploymentAspect.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifier.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifierImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerEJB.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPostJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPreJSE.java
   branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceMainDeployer.java
Log:
[JBAS-5293] sync AS trunk webservice java sources with our QA branch 

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,122 +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.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.*;
-
-//$Id: AbstractDeployerHook.java 4239 2007-08-07 19:13:42Z heiko.braun at jboss.com $
-
-
-/**
- * An abstract web service deployer.
- * 
- * @author Thomas.Diesler at jboss.org
- * @author Heiko.Braun at jboss.com
- * 
- * @since 25-Apr-2007
- */
-public abstract class AbstractDeployerHook implements DeployerHook
-{
-   // provide logging
-   protected final Logger log = Logger.getLogger(getClass());
-
-   private DeploymentAspectManager deploymentAspectManager;
-   private DeploymentModelFactory deploymentModelFactory;
-
-   protected String deploymentManagerName;
-
-   /** MC provided property **/
-   public void setDeploymentManagerName(String deploymentManagerName)
-   {
-      this.deploymentManagerName = deploymentManagerName;
-   }
-
-   public DeploymentAspectManager getDeploymentAspectManager()
-   {
-      if(null == deploymentAspectManager)
-      {
-         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-         deploymentAspectManager = spiProvider.getSPI(DeploymentAspectManagerFactory.class).getDeploymentAspectManager( deploymentManagerName );
-      }
-
-      return deploymentAspectManager;
-   }
-
-   public DeploymentModelFactory getDeploymentModelFactory()
-   {
-      if(null == deploymentModelFactory)
-      {
-         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-         deploymentModelFactory = spiProvider.getSPI(DeploymentModelFactory.class);
-      }
-
-      return deploymentModelFactory;
-   }
-
-   public ArchiveDeployment newDeployment(DeploymentUnit unit)
-   {
-      try
-      {
-         DeploymentModelFactory factory = getDeploymentModelFactory();
-         ArchiveDeployment dep = (ArchiveDeployment)factory.newDeployment(unit.getSimpleName(), unit.getClassLoader());
-         if (unit.getParent() != null)
-         {
-            DeploymentUnit parentUnit = unit.getParent();
-            ArchiveDeployment parentDep = (ArchiveDeployment)factory.newDeployment(parentUnit.getSimpleName(), parentUnit.getClassLoader());
-            dep.setParent(parentDep);
-         }
-         return dep;
-      }
-      catch (Exception ex)
-      {
-         throw new WSFDeploymentException("Cannot load spi.deployment.Deployment class", ex);
-      }
-   }
-
-   public Endpoint newEndpoint(String targetBean)
-   {
-      try
-      {
-         return getDeploymentModelFactory().newEndpoint(targetBean);
-      }
-      catch (Exception ex)
-      {
-         throw new WSFDeploymentException("Cannot load spi.deployment.Endpoint class", ex);
-      }
-   }
-
-   /** Return true if this deployment should be ignored
-    */
-   public boolean ignoreDeployment(DeploymentUnit unit)
-   {
-      String name = unit.getName();
-      return (name.startsWith("jboss:id=") && name.indexOf("service=jacc") > 0);
-   }
-
-   /** Get the deployment type this deployer can handle
-    */
-   public abstract Deployment.DeploymentType getDeploymentType();
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookEJB.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookEJB.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookEJB.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,34 +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;
-
-//$Id: AbstractDeployerHookEJB.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
-
-/**
- * An abstract deployer for EJB Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public abstract class AbstractDeployerHookEJB extends ArchiveDeployerHook
-{
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractDeployerHookJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,66 +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;
-
-//$Id: AbstractDeployerHookJSE.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
-
-import java.util.List;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.metadata.javaee.spec.ParamValueMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ServletMetaData;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * An abstract deployer for JSE Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public abstract class AbstractDeployerHookJSE extends ArchiveDeployerHook
-{
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
-      boolean isGenerated = Boolean.TRUE.equals(unit.getAttachment(WebMetaDataModifier.PROPERTY_GENERATED_WEBAPP));
-      return webMetaData != null && isGenerated == false;
-   }
-
-   protected String getTargetBean(ServletMetaData servlet)
-   {
-      String endpointClass = servlet.getServletClass();
-      List<ParamValueMetaData> initParams = servlet.getInitParam();
-      if (initParams != null)
-      {
-         for (ParamValueMetaData param : initParams)
-         {
-            if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(param.getParamName()))
-            {
-               endpointClass = param.getParamValue();
-               break;
-            }
-         }
-      }
-      return endpointClass;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractInvocationHandler.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractInvocationHandler.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractInvocationHandler.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,55 +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;
-
-// $Id: InvocationHandlerEJB3.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
-
-import java.lang.reflect.Method;
-
-import org.jboss.wsf.common.JavaUtils;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-
-/**
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public abstract class AbstractInvocationHandler extends InvocationHandler
-{
-   protected Method getImplMethod(Class implClass, Method seiMethod) throws ClassNotFoundException, NoSuchMethodException
-   {
-      String methodName = seiMethod.getName();
-      Class[] paramTypes = seiMethod.getParameterTypes();
-      for (int i = 0; i < paramTypes.length; i++)
-      {
-         Class paramType = paramTypes[i];
-         if (JavaUtils.isPrimitive(paramType) == false)
-         {
-            String paramTypeName = paramType.getName();
-            paramType = JavaUtils.loadJavaType(paramTypeName);
-            paramTypes[i] = paramType;
-         }
-      }
-
-      Method implMethod = implClass.getMethod(methodName, paramTypes);
-      return implMethod;
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractWebServiceDeployer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractWebServiceDeployer.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/AbstractWebServiceDeployer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,72 +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;
-
-// $Id: AbstractWebServiceDeployer.java 4276 2007-08-09 08:34:58Z thomas.diesler at jboss.com $
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-
-/**
- * This deployer that calls the registered DeployerHooks
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 24-Apr-2007
- */
-public abstract class AbstractWebServiceDeployer<T> extends AbstractComponentDeployer
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(AbstractWebServiceDeployer.class);
-
-   protected List<DeployerHook> deployerHooks = new LinkedList<DeployerHook>();
-
-   public void addDeployerHook(DeployerHook deployer)
-   {
-      log.debug("Add deployer hook: " + deployer);
-      deployerHooks.add(deployer);
-   }
-
-   public void removeDeployerHook(DeployerHook deployer)
-   {
-      log.debug("Remove deployer hook: " + deployer);
-      deployerHooks.remove(deployer);
-   }
-
-   @Override
-   public void internalDeploy(DeploymentUnit unit) throws DeploymentException
-   {
-      for (DeployerHook deployer : deployerHooks)
-         deployer.deploy(unit);
-   }
-
-   @Override
-   public void internalUndeploy(DeploymentUnit unit)
-   {
-      for (DeployerHook deployer : deployerHooks)
-         deployer.undeploy(unit);
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,151 +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;
-
-//$Id: ArchiveDeployerHook.java 4278 2007-08-09 09:13:34Z thomas.diesler at jboss.com $
-
-import java.net.URL;
-
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.wsf.common.DOMUtils;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-import org.jboss.xb.binding.ObjectModelFactory;
-import org.jboss.xb.binding.Unmarshaller;
-import org.jboss.xb.binding.UnmarshallerFactory;
-import org.w3c.dom.Element;
-
-/**
- * An abstract web service deployer.
- * 
- *    deploy(unit) 
- *      if(isWebServiceDeployment)
- *        dep = createDeployment(unit)
- *        deploy(dep)
- *
- *    undeploy(unit)
- *      dep = getDeployment(unit) 
- *      undeploy(dep)
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public abstract class ArchiveDeployerHook extends AbstractDeployerHook
-{
-
-   /** Depending on the type of deployment, this method should return true
-    *  if the deployment contains web service endpoints.
-    */
-   public abstract boolean isWebServiceDeployment(DeploymentUnit unit);
-
-   /** Create the Deployment for a given DeploymentUnit
-    */
-   public abstract Deployment createDeployment(DeploymentUnit unit);
-
-   /** Get the Deployment for a given DeploymentUnit
-    */
-   public Deployment getDeployment(DeploymentUnit unit)
-   {
-      Deployment dep = unit.getAttachment(Deployment.class);
-      return (dep != null && dep.getType() == getDeploymentType() ? dep : null);
-   }
-
-   public void deploy(DeploymentUnit unit) throws DeploymentException
-   {
-      if (ignoreDeployment(unit))
-         return;
-
-      if (isWebServiceDeployment(unit))
-      {
-         log.debug("deploy: " + unit.getName());
-         Deployment dep = getDeployment(unit);
-         if (dep == null)
-         {
-            dep = createDeployment(unit);
-            dep.addAttachment(DeploymentUnit.class, unit);
-         }
-
-         getDeploymentAspectManager().deploy(dep);
-         unit.addAttachment(Deployment.class, dep);
-      }
-   }
-
-   public void undeploy(DeploymentUnit unit)
-   {
-      if (ignoreDeployment(unit))
-         return;
-
-      Deployment dep = getDeployment(unit);
-      if (dep != null)
-      {
-         log.debug("undeploy: " + unit.getName());
-         getDeploymentAspectManager().undeploy(dep);
-      }
-   }
-
-   /** Unmrashall the webservices.xml if there is one
-    */
-   protected WebservicesMetaData getWebservicesMetaData(DeploymentUnit unit)
-   {
-      WebservicesMetaData wsMetaData = unit.getAttachment(WebservicesMetaData.class);
-      UnifiedVirtualFile vfWebservices = getWebservicesFile(unit);
-      if (wsMetaData == null && vfWebservices != null)
-      {
-         try
-         {
-            URL wsURL = vfWebservices.toURL();
-            Element root = DOMUtils.parse(wsURL.openStream());
-            String namespaceURI = root.getNamespaceURI();
-            if (namespaceURI.equals("http://java.sun.com/xml/ns/j2ee"))
-            {
-               Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
-               ObjectModelFactory factory = new WebservicesFactory(wsURL);
-               wsMetaData = (WebservicesMetaData)unmarshaller.unmarshal(wsURL.openStream(), factory, null);
-               unit.addAttachment(WebservicesMetaData.class, wsMetaData);
-            }
-         }
-         catch (Exception ex)
-         {
-            throw new WSFDeploymentException(ex);
-         }
-      }
-      return wsMetaData;
-   }
-
-   private UnifiedVirtualFile getWebservicesFile(DeploymentUnit unit)
-   {
-      UnifiedVirtualFile wsFile = null;
-      if (unit instanceof VFSDeploymentUnit)
-      {
-         VirtualFile vf = ((VFSDeploymentUnit)unit).getMetaDataFile("webservices.xml");
-         wsFile = vf != null ? new VirtualFileAdaptor(vf) : null;
-      }
-      return wsFile;
-   }
-}

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/BareWSFRuntime.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/BareWSFRuntime.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/BareWSFRuntime.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,145 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.invocation.InvocationHandlerFactory;
+import org.jboss.wsf.spi.invocation.RequestHandlerFactory;
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.spi.transport.TransportManagerFactory;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class BareWSFRuntime implements WSFRuntime
+{
+   private static final Logger log = Logger.getLogger(BareWSFRuntime.class);
+ 
+   private String runtimeName;
+
+   private DeploymentAspectManager deploymentManager;
+
+   private EndpointRegistry endpointRegistry;
+
+   private RequestHandlerFactory requestHandlerFactory;
+
+   private InvocationHandlerFactory invocationHandlerFactory;
+
+   private TransportManagerFactory transportManagerFactory;
+
+   public BareWSFRuntime(String runtimeName)
+   {
+      this.runtimeName = runtimeName;
+   }
+  
+   // ---------------------------------------------------------------------------------
+
+   public void create(Deployment deployment)
+   {
+      deploymentManager.create(deployment, this);
+   }
+
+   public void start(Deployment deployment)
+   {
+      deploymentManager.start(deployment, this);
+   }
+
+   public void stop(Deployment deployment)
+   {
+      deploymentManager.stop(deployment, this);
+   }
+
+   public void destroy(Deployment deployment)
+   {
+      deploymentManager.destroy(deployment, this);
+   }
+
+   // ---------------------------------------------------------------------------------
+
+   public void setTransportManagerFactory(TransportManagerFactory factory)
+   {
+      assert factory!=null;
+      log.debug(runtimeName + " -> TransportManagerFactory: " + factory);
+      this.transportManagerFactory = factory;
+   }
+
+   public TransportManagerFactory getTransportManagerFactory()
+   {
+      return this.transportManagerFactory;
+   }
+
+   public void setEndpointRegistry(EndpointRegistry endpointRegistry)
+   {
+      assert endpointRegistry!=null;
+      log.debug(runtimeName + " -> EndpointRegistry: " + endpointRegistry);
+      this.endpointRegistry = endpointRegistry;
+   }
+
+   public EndpointRegistry getEndpointRegistry()
+   {
+      return this.endpointRegistry;
+   }
+
+   public void setDeploymentAspectManager(DeploymentAspectManager deploymentManager)
+   {
+      assert deploymentManager!=null;
+      log.debug(runtimeName + " -> DeploymentAspectManager: " + deploymentManager);
+      this.deploymentManager = deploymentManager;
+   }
+
+   public DeploymentAspectManager getDeploymentAspectManager()
+   {
+      return this.deploymentManager;
+   }
+
+   public void setRequestHandlerFactory(RequestHandlerFactory factory)
+   {
+      assert factory!=null;
+      log.debug(runtimeName + " -> RequestHandlerFactory: "+ factory);
+      this.requestHandlerFactory = factory;
+   }
+
+   public RequestHandlerFactory getRequestHandlerFactory()
+   {
+      return this.requestHandlerFactory;
+   }
+
+   public void setInvocationHandlerFactory(InvocationHandlerFactory factory)
+   {
+      assert factory!=null;
+      log.debug(runtimeName + " -> InvocationHandlerFactory: "+ factory);
+      this.invocationHandlerFactory = factory;
+   }
+
+   public InvocationHandlerFactory getInvocationHandlerFactory()
+   {
+      return this.invocationHandlerFactory;
+   }
+
+   public String toString()
+   {
+      return this.runtimeName+ ": " + super.toString();
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/BareWSFRuntime.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataAdapter.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataAdapter.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataAdapter.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,114 +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;
-
-//$Id: ContainerMetaDataAdapter.java 4022 2007-07-27 13:54:43Z heiko.braun at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
-import org.jboss.ejb3.Ejb3Deployment;
-
-import java.net.URL;
-
-/**
- * Build container independent deployment info.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 05-May-2006
- */
-public class ContainerMetaDataAdapter
-{
-   // logging support
-   private static Logger log = Logger.getLogger(ContainerMetaDataAdapter.class);
-
-   private EJBArchiveMetaDataAdapterEJB3 ejbMetaDataAdapterEJB3 = new EJBArchiveMetaDataAdapterEJB3();
-   private EJBArchiveMetaDataAdapterEJB21 ejbMetaDataAdapterEJB21 = new EJBArchiveMetaDataAdapterEJB21();
-   private JSEArchiveMetaDataAdapter webMetaDataAdapter = new JSEArchiveMetaDataAdapter();
-
-   public void setEjbMetaDataAdapterEJB21(EJBArchiveMetaDataAdapterEJB21 adapter)
-   {
-      this.ejbMetaDataAdapterEJB21 = adapter;
-   }
-
-   public void setEjbMetaDataAdapterEJB3(EJBArchiveMetaDataAdapterEJB3 adapter)
-   {
-      this.ejbMetaDataAdapterEJB3 = adapter;
-   }
-
-   public void setWebMetaDataAdapter(JSEArchiveMetaDataAdapter adapter)
-   {
-      this.webMetaDataAdapter = adapter;
-   }
-
-   public void buildContainerMetaData(Deployment dep, DeploymentUnit unit)
-   {
-      dep.addAttachment(DeploymentUnit.class, unit);
-
-      try
-      {
-         // JSE endpoints
-         if (unit.getAttachment(JBossWebMetaData.class) != null)
-         {
-            JSEArchiveMetaData webMetaData = webMetaDataAdapter.buildMetaData(dep, unit);
-            if (webMetaData != null)
-               dep.addAttachment(JSEArchiveMetaData.class, webMetaData);
-
-            if (dep instanceof ArchiveDeployment)
-            {
-               URL webURL = ((ArchiveDeployment)dep).getRootFile().toURL();
-               dep.setProperty(WebMetaDataModifier.PROPERTY_WEBAPP_URL, webURL);
-            }
-         }
-         
-         // EJB3 endpoints
-         else if (unit.getAttachment(Ejb3Deployment.class) != null)
-         {
-            EJBArchiveMetaData ejbMetaData = ejbMetaDataAdapterEJB3.buildMetaData(dep, unit);
-            if (ejbMetaData != null)
-               dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
-         }
-         
-         // EJB21 endpoints
-         else if (unit.getAttachment(JBossMetaData.class) != null)
-         {
-            EJBArchiveMetaData ejbMetaData = ejbMetaDataAdapterEJB21.buildMetaData(dep, unit);
-            if (ejbMetaData != null)
-               dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
-         }
-      }
-      catch (RuntimeException rte)
-      {
-         throw rte;
-      }
-      catch (Exception ex)
-      {
-         throw new IllegalStateException(ex);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataDeploymentAspect.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ContainerMetaDataDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,54 +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;
-
-//$Id: UnifiedDeploymentInfoDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ContainerMetaDataDeploymentAspect extends DeploymentAspect
-{
-   private ContainerMetaDataAdapter metaDataAdapter = new ContainerMetaDataAdapter();
-
-   public void setMetaDataAdapter(ContainerMetaDataAdapter adapter)
-   {
-      this.metaDataAdapter = adapter;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
-      if (unit == null)
-         throw new IllegalStateException("Cannot obtain deployment unit");
-
-      metaDataAdapter.buildContainerMetaData(dep, unit);
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHook.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHook.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHook.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,40 +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;
-
-//$Id: DeployerHook.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
-
-import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-
-/**
- * An interface for all web service deployer hooks 
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 24-Apr-2007
- */
-public interface DeployerHook
-{
-   void deploy(DeploymentUnit unit) throws DeploymentException;
-
-   void undeploy(DeploymentUnit unit);
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHookPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHookPostJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeployerHookPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,61 +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;
-
-// $Id: DeployerHookPostJSE.java 4276 2007-08-09 08:34:58Z thomas.diesler at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * @author Heiko.Braun at jboss.com
- * @author Thomas.Diesler at jboss.com
- */
-public abstract class DeployerHookPostJSE extends AbstractDeployerHookJSE
-{
-   /**
-    * The deployment should be created in phase 1.
-    */
-   public Deployment createDeployment(DeploymentUnit unit)
-   {
-      Deployment dep = unit.getAttachment(Deployment.class);
-      if (null == dep)
-         throw new IllegalStateException("spi.Deployment missing. It should be created in Phase 1");
-
-      return dep;
-   }
-
-   /**
-    * A phase 2 deployer hook needs to reject first-place
-    * JSE deployments and wait for those that are re-written.
-    * We rely on the fact that spi.Deployment is created in phase 1.    
-    */
-   @Override
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      if (super.isWebServiceDeployment(unit) == false)
-         return false;
-
-      Deployment deployment = unit.getAttachment(Deployment.class);
-      return deployment != null;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeploymentAspectHttpServer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeploymentAspectHttpServer.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DeploymentAspectHttpServer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,123 +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;
-
-//$Id: JBossHttpServer.java 1786 2007-01-04 14:30:04Z thomas.diesler at jboss.com $
-
-import javax.xml.ws.Endpoint;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.AbstractExtensible;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
-import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
-import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.http.HttpContext;
-import org.jboss.wsf.spi.http.HttpContextFactory;
-import org.jboss.wsf.spi.http.HttpServer;
-
-/**
- * A HTTP Server that uses DeploymentAspects
- *
- * @author Thomas.Diesler at jboss.org
- * @since 07-Jul-2006
- */
-public class DeploymentAspectHttpServer extends AbstractExtensible implements HttpServer
-{
-   /** 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);
-
-      try
-      {
-         // Get the deployment model factory
-         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-         DeploymentModelFactory depModelFactory = spiProvider.getSPI(DeploymentModelFactory.class);
-
-         // Create/Setup the deployment
-         Deployment dep = depModelFactory.newDeployment("endpoint-deployment", implClass.getClassLoader());
-         dep.setRuntimeClassLoader(dep.getInitialClassLoader());
-
-         // Create/Setup the service
-         Service service = dep.getService();
-         service.setContextRoot(context.getContextRoot());
-
-         // Create/Setup the endpoint
-         org.jboss.wsf.spi.deployment.Endpoint ep = depModelFactory.newEndpoint(implClass.getName());
-         service.addEndpoint(ep);
-
-         // Deploy using deployment aspects
-         DeploymentAspectManagerFactory depManagerFactory = spiProvider.getSPI(DeploymentAspectManagerFactory.class);
-         DeploymentAspectManager depManager = depManagerFactory.getDeploymentAspectManager("WSDeploymentAspectManagerEndpointAPI");
-         depManager.deploy(dep);
-      }
-      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)
-   {
-      try
-      {
-      }
-      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;
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/DynamicEndpointDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50;
-
-// $Id$
-
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.client.spi.DeploymentFactory;
-import org.jboss.deployers.spi.attachments.MutableAttachments;
-import org.jboss.deployers.structure.spi.ClassLoaderFactory;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-
-/**
- * Deploy the generated webapp to JBoss
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public class DynamicEndpointDeploymentAspect extends DeploymentAspect
-{
-   // provide logging
-   private static Logger log = Logger.getLogger(DynamicEndpointDeploymentAspect.class);
-
-   private DeploymentFactory factory = new DeploymentFactory();
-   private WebMetaDataModifier webMetaDataModifier;
-   private DeployerClient mainDeployer;
-
-   public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
-   {
-      this.webMetaDataModifier = webMetaDataModifier;
-   }
-
-   public void setMainDeployer(DeployerClient mainDeployer)
-   {
-      this.mainDeployer = mainDeployer;
-   }
-
-   public void create(Deployment dep)
-   {
-      JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
-      if (jbwmd == null)
-         throw new WebServiceException("Cannot find web meta data");
-
-      try
-      {
-         webMetaDataModifier.modifyMetaData(dep);
-
-         AbstractDeployment deployment = createSimpleDeployment(dep.getSimpleName());
-         MutableAttachments mutableAttachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
-         mutableAttachments.addAttachment(WebMetaDataModifier.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
-         mutableAttachments.addAttachment(ClassLoaderFactory.class, new ContextClassLoaderFactory());
-         mutableAttachments.addAttachment(JBossWebMetaData.class, jbwmd);
-         mainDeployer.deploy(deployment);
-      }
-      catch (Exception ex)
-      {
-         WSFDeploymentException.rethrow(ex);
-      }
-   }
-
-   public void destroy(Deployment dep)
-   {
-      try
-      {
-         AbstractDeployment deployment = createSimpleDeployment(dep.getSimpleName());
-         mainDeployer.undeploy(deployment);
-      }
-      catch (Exception ex)
-      {
-         WSFDeploymentException.rethrow(ex);
-      }
-   }
-   
-   private AbstractDeployment createSimpleDeployment(String name)
-   {
-      AbstractDeployment unit = new AbstractDeployment(name);
-      // There is one top level deployment
-      factory.addContext(unit, "");
-      return unit;
-   }
-
-   private static class ContextClassLoaderFactory implements ClassLoaderFactory
-   {
-      public ClassLoader createClassLoader(DeploymentUnit unit) throws Exception
-      {
-         return Thread.currentThread().getContextClassLoader();
-      }
-
-      public void removeClassLoader(DeploymentUnit unit) throws Exception
-      {
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,176 +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;
-
-// $Id: EJBArchiveMetaDataAdapterEJB21.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
-import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
-import org.jboss.metadata.javaee.spec.PortComponent;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.EJBSecurityMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.MDBMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.SLSBMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
-
-/**
- * Build container independent application meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 05-May-2006
- */
-public class EJBArchiveMetaDataAdapterEJB21
-{
-   // logging support
-   private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB21.class);
-
-   public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
-   {
-      JBossMetaData jbossMetaData = unit.getAttachment(JBossMetaData.class);
-      dep.addAttachment(JBossMetaData.class, jbossMetaData);
-      
-      EJBArchiveMetaData ejbMetaData = new EJBArchiveMetaData();
-      buildEnterpriseBeansMetaData(ejbMetaData, jbossMetaData);
-      buildWebservicesMetaData(ejbMetaData, jbossMetaData);
-      ejbMetaData.setSecurityDomain(jbossMetaData.getSecurityDomain());
-      
-      return ejbMetaData;
-   }
-
-   private void buildEnterpriseBeansMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
-   {
-      List<EJBMetaData> targetBeans = new ArrayList<EJBMetaData>();
-      JBossEnterpriseBeansMetaData sourceBeans = jbossMetaData.getEnterpriseBeans();
-      Iterator<JBossEnterpriseBeanMetaData> it = sourceBeans.iterator();
-      while (it.hasNext())
-      {
-         JBossEnterpriseBeanMetaData bmd = it.next();
-         buildBeanMetaData(targetBeans, bmd);
-      }
-      ejbMetaData.setEnterpriseBeans(targetBeans);
-   }
-
-   private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
-   {
-      WebservicesMetaData webservices = jbossMetaData.getWebservices();
-      if (webservices != null)
-      {
-         String contextRoot = webservices.getContextRoot();
-         ejbMetaData.setWebServiceContextRoot(contextRoot);
-         
-         ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
-
-         WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
-         if (wsDescriptions != null)
-         {
-            if (wsDescriptions.size() > 1)
-               log.warn("Multiple <webservice-description> elements not supported");
-
-            if (wsDescriptions.size() > 0)
-            {
-               WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
-               ejbMetaData.setConfigName(wsd.getConfigName());
-               ejbMetaData.setConfigFile(wsd.getConfigFile());
-            }
-         }
-      }
-   }
-
-   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
-   {
-      return new PublishLocationAdapter()
-      {
-         public String getWsdlPublishLocationByName(String name)
-         {
-            String wsdlPublishLocation = null;
-            WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
-            if (wsDescriptions != null && wsDescriptions.get(name) != null)
-            {
-               WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
-               wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
-            }
-            return wsdlPublishLocation;
-         }
-      };
-   }
-
-   private EJBMetaData buildBeanMetaData(List<EJBMetaData> ejbBeans, JBossEnterpriseBeanMetaData jbossBeansMetaData)
-   {
-      EJBMetaData targetBean = null;
-      if (jbossBeansMetaData.isSession())
-      {
-         targetBean = new SLSBMetaData();
-         JBossSessionBeanMetaData jbossSessionBean = (JBossSessionBeanMetaData)jbossBeansMetaData;
-         
-         targetBean.setEjbName(jbossSessionBean.getEjbName());
-         targetBean.setEjbClass(jbossSessionBean.getEjbClass());
-         targetBean.setServiceEndpointInterface(jbossSessionBean.getServiceEndpoint());
-         targetBean.setHome(jbossSessionBean.getHome());
-         targetBean.setLocalHome(jbossSessionBean.getLocalHome());
-         targetBean.setJndiName(jbossSessionBean.determineJndiName());
-         targetBean.setLocalJndiName(jbossBeansMetaData.determineLocalJndiName());
-         
-         PortComponent pcmd = jbossSessionBean.getPortComponent();
-         if (pcmd != null)
-         {
-            targetBean.setPortComponentName(pcmd.getPortComponentName());
-            targetBean.setPortComponentURI(pcmd.getPortComponentURI());
-            EJBSecurityMetaData smd = new EJBSecurityMetaData();
-            smd.setAuthMethod(pcmd.getAuthMethod());
-            smd.setTransportGuarantee(pcmd.getTransportGuarantee());
-            smd.setSecureWSDLAccess(pcmd.getSecureWSDLAccess());
-            targetBean.setSecurityMetaData(smd);
-         }
-      }
-      else if (jbossBeansMetaData.isMessageDriven())
-      {
-         targetBean = new MDBMetaData();
-         JBossMessageDrivenBeanMetaData jbossMessageBean = (JBossMessageDrivenBeanMetaData)jbossBeansMetaData;
-         
-         targetBean.setEjbName(jbossMessageBean.getEjbName());
-         targetBean.setEjbClass(jbossMessageBean.getEjbClass());
-         //targetBean.setServiceEndpointInterface(???);
-         //targetBean.setJndiName(???);
-         targetBean.setLocalJndiName(jbossBeansMetaData.getLocalJndiName());
-         ((MDBMetaData)targetBean).setDestinationJndiName(jbossMessageBean.getDestinationJndiName());
-      }
-
-      if (targetBean != null)
-         ejbBeans.add(targetBean);
-      
-      return targetBean;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/EJBArchiveMetaDataAdapterEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,182 +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;
-
-// $Id: EJBArchiveMetaDataAdapterEJB3.java 4239 2007-08-07 19:13:42Z heiko.braun at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-import org.jboss.wsf.spi.metadata.j2ee.*;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
-
-import javax.ejb.ActivationConfigProperty;
-import javax.ejb.MessageDriven;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Build container independent application meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 14-Apr-2007
- */
-public class EJBArchiveMetaDataAdapterEJB3
-{
-   // logging support
-   private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB3.class);
-
-   public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
-   {
-      EJBArchiveMetaData umd = new EJBArchiveMetaData();
-
-      WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
-      buildEnterpriseBeansMetaData(umd, webServiceDeployment);
-
-      JBossMetaData jbMetaData = unit.getAttachment(JBossMetaData.class);
-      if (jbMetaData != null)
-         buildWebservicesMetaData(umd, jbMetaData);
-
-      return umd;
-   }
-
-   private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbMetaData)
-   {
-      WebservicesMetaData wsMetaData = jbMetaData.getWebservices();
-      if (wsMetaData != null)
-      {
-         String contextRoot = wsMetaData.getContextRoot();
-         ejbMetaData.setWebServiceContextRoot(contextRoot);
-
-         ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(wsMetaData));
-
-         WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
-         if (wsDescriptions != null)
-         {
-            if (wsDescriptions.size() > 1)
-               log.warn("Multiple <webservice-description> elements not supported");
-
-            if (wsDescriptions.size() > 0)
-            {
-               WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
-               ejbMetaData.setConfigName(wsd.getConfigName());
-               ejbMetaData.setConfigFile(wsd.getConfigFile());
-            }
-         }
-      }
-   }
-
-   private void buildEnterpriseBeansMetaData(EJBArchiveMetaData jarMetaData, WebServiceDeployment ejb3Deployment)
-   {
-      List<EJBMetaData> ejbMetaDataList = new ArrayList<EJBMetaData>();
-      Iterator<WebServiceDeclaration> it = ejb3Deployment.getServiceEndpoints().iterator();
-      while (it.hasNext())
-      {
-         WebServiceDeclaration container = it.next();
-
-         // TODO: Add PortComponent parsing to EJBDescriptorHandler
-         PortComponentSpec pcMetaData = container.getAnnotation(PortComponentSpec.class);
-         MessageDriven mdbMetaData = container.getAnnotation(MessageDriven.class);
-
-         EJBMetaData ejbMetaData = null;
-
-         if(mdbMetaData!=null)
-         {
-            ejbMetaData = new MDBMetaData();
-
-            ActivationConfigProperty[] props = mdbMetaData.activationConfig();
-            if (props != null)
-            {
-               String destination = getActivationProperty("destination", props);
-               if (destination != null)
-               {
-                  ((MDBMetaData)ejbMetaData).setDestinationJndiName(destination);
-               }
-            }
-         }
-         else
-         {
-            ejbMetaData = new SLSBMetaData();
-         }
-
-         if (ejbMetaData != null)
-         {
-            ejbMetaData.setEjbName(container.getComponentName());
-            ejbMetaData.setEjbClass(container.getComponentClassName());
-
-            if (pcMetaData != null)
-            {
-               ejbMetaData.setPortComponentName(pcMetaData.portComponentName());
-               ejbMetaData.setPortComponentURI(pcMetaData.portComponentURI());
-               EJBSecurityMetaData smd = new EJBSecurityMetaData();
-               smd.setAuthMethod(pcMetaData.authMethod());
-               smd.setTransportGuarantee(pcMetaData.transportGuarantee());
-               smd.setSecureWSDLAccess(pcMetaData.secureWSDLAccess());
-               ejbMetaData.setSecurityMetaData(smd);
-            }
-
-            ejbMetaDataList.add(ejbMetaData);
-         }
-      }
-
-      jarMetaData.setEnterpriseBeans(ejbMetaDataList);
-   }
-
-   private String getActivationProperty(String name, ActivationConfigProperty[] props)
-   {
-      String result = null;
-      for(ActivationConfigProperty p : props)
-      {
-         if(p.propertyName().equals(name))
-         {
-            result = p.propertyValue();
-            break;
-         }
-      }
-
-      return result;
-   }
-
-   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
-   {
-      return new PublishLocationAdapter() {
-         public String getWsdlPublishLocationByName(String name)
-         {
-            String wsdlPublishLocation = null;
-            WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
-            if (wsDescriptions != null && wsDescriptions.get(name) != null)
-            {
-               WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
-               wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
-            }
-            return wsdlPublishLocation;
-         }
-      };
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,198 +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;
-
-// $Id: InvocationHandlerEJB21.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
-
-import java.lang.reflect.Method;
-import java.security.Principal;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.xml.rpc.handler.MessageContext;
-import javax.xml.rpc.handler.soap.SOAPMessageContext;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.ejb.EjbModule;
-import org.jboss.ejb.Interceptor;
-import org.jboss.ejb.StatelessSessionContainer;
-import org.jboss.invocation.InvocationKey;
-import org.jboss.invocation.InvocationType;
-import org.jboss.invocation.PayloadKey;
-import org.jboss.logging.Logger;
-import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.security.SecurityContext;
-import org.jboss.security.SecurityContextAssociation;
-import org.jboss.wsf.common.ObjectNameFactory;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.HandlerCallback;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-import org.jboss.wsf.spi.invocation.SecurityAdaptor;
-import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
-
-/**
- * Handles invocations on EJB21 endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class InvocationHandlerEJB21 extends InvocationHandler
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);
-
-   private String jndiName;
-   private MBeanServer server;
-   private ObjectName objectName;
-
-   InvocationHandlerEJB21()
-   {
-   }
-
-   public Invocation createInvocation()
-   {
-      return new Invocation();
-   }
-
-   public void init(Endpoint ep)
-   {
-      String ejbName = ep.getShortName();
-      Deployment dep = ep.getService().getDeployment();
-      EJBArchiveMetaData apMetaData = dep.getAttachment(EJBArchiveMetaData.class);
-      EJBMetaData beanMetaData = (EJBMetaData)apMetaData.getBeanByEjbName(ejbName);
-      if (beanMetaData == null)
-         throw new WebServiceException("Cannot obtain ejb meta data for: " + ejbName);
-
-      // get the MBeanServer
-      server = MBeanServerLocator.locateJBoss();
-
-      // get the bean's JNDI name
-      jndiName = beanMetaData.getContainerObjectNameJndiName();
-      if (jndiName == null)
-         throw new WebServiceException("Cannot obtain JNDI name for: " + ejbName);
-   }
-
-   public void invoke(Endpoint ep, Invocation inv) throws Exception
-   {
-      log.debug("Invoke: " + inv.getJavaMethod().getName());
-
-      if (objectName == null)
-      {
-         objectName = ObjectNameFactory.create("jboss.j2ee:jndiName=" + jndiName + ",service=EJB");
-         if (server.isRegistered(objectName) == false)
-            throw new WebServiceException("Cannot find service endpoint target: " + objectName);
-
-         // Inject the Service endpoint interceptor
-         injectServiceEndpointInterceptor(objectName, ep.getShortName());
-      }
-
-      // invoke on the container
-      try
-      {
-         // setup the invocation
-         org.jboss.invocation.Invocation jbInv = getMBeanInvocation(inv);
-
-         String[] sig = { org.jboss.invocation.Invocation.class.getName() };
-         Object retObj = server.invoke(objectName, "invoke", new Object[] { jbInv }, sig);
-         inv.setReturnValue(retObj);
-      }
-      catch (Exception e)
-      {
-         handleInvocationException(e);
-      }
-   }
-
-   private org.jboss.invocation.Invocation getMBeanInvocation(Invocation inv)
-   {
-      // EJB2.1 endpoints will only get an JAXRPC context 
-      MessageContext msgContext = inv.getInvocationContext().getAttachment(MessageContext.class);
-      if (msgContext == null)
-         throw new IllegalStateException("Cannot obtain MessageContext");
-
-      SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
-      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
-      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
-      Principal principal = securityAdaptor.getPrincipal();
-      Object credential = securityAdaptor.getCredential();
-
-      if (principal == null && sc != null)
-         principal = sc.getUtil().getUserPrincipal();
-
-      if (credential == null && sc != null)
-         credential = sc.getUtil().getCredential();
-
-      Method method = inv.getJavaMethod();
-      Object[] args = inv.getArgs();
-      org.jboss.invocation.Invocation jbInv = new org.jboss.invocation.Invocation(null, method, args, null, principal, credential);
-
-      HandlerCallback callback = inv.getInvocationContext().getAttachment(HandlerCallback.class);
-      if (callback == null)
-         throw new IllegalStateException("Cannot obtain HandlerCallback");
-
-      jbInv.setValue(InvocationKey.SOAP_MESSAGE_CONTEXT, msgContext);
-      jbInv.setValue(InvocationKey.SOAP_MESSAGE, ((SOAPMessageContext)msgContext).getMessage());
-      jbInv.setType(InvocationType.SERVICE_ENDPOINT);
-      jbInv.setValue(HandlerCallback.class.getName(), callback, PayloadKey.TRANSIENT);
-      jbInv.setValue(Invocation.class.getName(), inv, PayloadKey.TRANSIENT);
-
-      return jbInv;
-   }
-
-   private void injectServiceEndpointInterceptor(ObjectName objectName, String ejbName)
-   {
-      // Dynamically add the service endpoint interceptor
-      // http://jira.jboss.org/jira/browse/JBWS-758
-      try
-      {
-         EjbModule ejbModule = (EjbModule)server.getAttribute(objectName, "EjbModule");
-         StatelessSessionContainer container = (StatelessSessionContainer)ejbModule.getContainer(ejbName);
-
-         boolean injectionPointFound = false;
-         Interceptor prev = container.getInterceptor();
-         while (prev != null && prev.getNext() != null)
-         {
-            Interceptor next = prev.getNext();
-            if (next.getNext() == null)
-            {
-               log.debug("Inject service endpoint interceptor after: " + prev.getClass().getName());
-               ServiceEndpointInterceptor sepInterceptor = new ServiceEndpointInterceptor();
-               prev.setNext(sepInterceptor);
-               sepInterceptor.setNext(next);
-               injectionPointFound = true;
-            }
-            prev = next;
-         }
-         if (injectionPointFound == false)
-            log.warn("Cannot service endpoint interceptor injection point");
-      }
-      catch (Exception ex)
-      {
-         log.warn("Cannot add service endpoint interceptor", ex);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,110 +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;
-
-// $Id: InvocationHandlerEJB3.java 4099 2007-08-02 13:36:49Z thomas.diesler at jboss.com $
-
-import org.jboss.dependency.spi.ControllerContext;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.integration.InvocationContextCallback;
-import org.jboss.wsf.spi.invocation.integration.ServiceEndpointContainer;
-import org.jboss.wsf.spi.util.KernelLocator;
-
-import javax.xml.ws.WebServiceException;
-import java.lang.reflect.Method;
-
-/**
- * Handles invocations on EJB3 endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @author Heiko.Braun at jboss.com
- * 
- * @since 25-Apr-2007
- */
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
-{
-
-   public static final String CONTAINER_NAME = "org.jboss.wsf.spi.invocation.ContainerName";
-
-   private String containerName;
-   private KernelController houston;
-   private ServiceEndpointContainer invocationTarget;
-
-   InvocationHandlerEJB3()
-   {
-      houston = KernelLocator.getKernel().getController();
-   }
-
-   public Invocation createInvocation()
-   {
-      return new Invocation();
-   }
-
-   public void init(Endpoint ep)
-   {
-      containerName = (String)ep.getProperty(InvocationHandlerEJB3.CONTAINER_NAME);
-      assert containerName!=null : "Target container name not set";
-
-      ControllerContext context = houston.getInstalledContext(containerName);
-      if (context == null)
-         throw new WebServiceException("Cannot find service endpoint target: " + containerName);
-      
-      assert (context.getTarget() instanceof ServiceEndpointContainer) : "Invocation target mismatch";
-      this.invocationTarget = (ServiceEndpointContainer) context.getTarget();
-   }
-   
-   public void invoke(Endpoint ep, Invocation wsInv) throws Exception
-   {
-      try
-      {                  
-         Class beanClass = invocationTarget.getServiceImplementationClass();
-         Method method = getImplMethod(beanClass, wsInv.getJavaMethod());
-         Object[] args = wsInv.getArgs();
-         InvocationContextCallback invProps = new EJB3InvocationContextCallback(wsInv);
-
-         Object retObj = invocationTarget.invokeEndpoint(method, args, invProps);
-
-         wsInv.setReturnValue(retObj);
-      }
-      catch (Throwable th)
-      {
-         handleInvocationException(th);
-      }
-   }
-
-   static class EJB3InvocationContextCallback implements InvocationContextCallback
-   {
-      private Invocation wsInv;
-
-      public EJB3InvocationContextCallback(Invocation wsInv)
-      {
-         this.wsInv = wsInv;
-      }
-
-      public <T> T get(Class<T> propertyType)
-      {
-         return wsInv.getInvocationContext().getAttachment(propertyType);
-      }
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerFactoryImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,65 +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.invocation.*;
-
-/**
- * The default invocation model factory fro AS 5.0.
- *
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 19, 2007
- */
-public class InvocationHandlerFactoryImpl extends InvocationHandlerFactory
-{
-   public InvocationHandler newInvocationHandler(InvocationType type)
-   {
-      InvocationHandler handler = null;
-
-      switch(type)
-      {
-         case JAXRPC_JSE:
-            handler = new InvocationHandlerJAXRPC();
-            break;
-         case JAXRPC_EJB21:
-            handler = new InvocationHandlerEJB21();
-            break;
-         case JAXRPC_MDB21:
-            handler = new InvocationHandlerMDB21();
-            break;
-         case JAXWS_JSE:
-            handler = new InvocationHandlerJAXWS();
-            break;
-         case JAXWS_EJB3:
-            handler = new InvocationHandlerEJB3();
-            break;
-         case JAXWS_MDB3:
-            handler = new InvocationHandlerMDB3();
-            break;
-      }
-
-      if(null == handler)
-         throw new IllegalArgumentException("Unable to resolve spi.invocation.InvocationHandler for type " +type);
-
-      return handler;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXRPC.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXRPC.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXRPC.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,72 +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;
-
-// $Id: DefaultInvocationHandlerJAXRPC.java 3959 2007-07-20 14:44:19Z heiko.braun at jboss.com $
-
-import javax.xml.rpc.server.ServiceLifecycle;
-import javax.xml.rpc.server.ServletEndpointContext;
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.InvocationContext;
-
-/**
- * Handles invocations on JSE endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class InvocationHandlerJAXRPC extends InvocationHandlerJSE
-{
-   public void invoke(Endpoint ep, Invocation epInv) throws Exception
-   {
-      try
-      {
-         Object targetBean = getTargetBean(ep, epInv);
-
-         InvocationContext invContext = epInv.getInvocationContext();
-         if (targetBean instanceof ServiceLifecycle)
-         {
-            ServletEndpointContext sepContext = invContext.getAttachment(ServletEndpointContext.class);
-            if (sepContext != null)
-               ((ServiceLifecycle)targetBean).init(sepContext);
-         }
-
-         try
-         {
-            super.invoke(ep, epInv);
-         }
-         finally
-         {
-            if (targetBean instanceof ServiceLifecycle)
-            {
-               ((ServiceLifecycle)targetBean).destroy();
-            }
-         }
-      }
-      catch (Exception e)
-      {
-         handleInvocationException(e);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXWS.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXWS.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJAXWS.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,34 +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;
-
-// $Id: DefaultInvocationHandlerJAXWS.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
-
-/**
- * Handles invocations on JSE endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class InvocationHandlerJAXWS extends InvocationHandlerJSE
-{
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,128 +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;
-
-// $Id: DefaultInvocationHandlerJAXWS.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
-
-import java.lang.reflect.Method;
-
-import javax.xml.ws.WebServiceContext;
-
-import org.jboss.wsf.common.JavaUtils;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.InvocationContext;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-import org.jboss.wsf.spi.invocation.ResourceInjector;
-import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
-
-/**
- * Handles invocations on JSE endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class InvocationHandlerJSE extends InvocationHandler
-{
-   private SPIProvider spiProvider;
-   private ResourceInjectorFactory resourceInjectorFactory;
-
-   public InvocationHandlerJSE()
-   {
-      spiProvider = SPIProviderResolver.getInstance().getProvider();
-      resourceInjectorFactory = spiProvider.getSPI(ResourceInjectorFactory.class);
-   }
-
-   public Invocation createInvocation()
-   {
-      return new Invocation();
-   }
-
-   public void init(Endpoint ep)
-   {
-   }
-
-   protected Object getTargetBean(Endpoint ep, Invocation epInv)
-   {
-      InvocationContext invCtx = epInv.getInvocationContext();
-      Object targetBean = invCtx.getTargetBean();
-      if (targetBean == null)
-      {
-         try
-         {
-            Class epImpl = ep.getTargetBeanClass();
-            targetBean = epImpl.newInstance();
-            invCtx.setTargetBean(targetBean);
-         }
-         catch (Exception ex)
-         {
-            throw new IllegalStateException("Cannot get target bean instance", ex);
-         }
-      }
-      return targetBean;
-   }
-
-   public void invoke(Endpoint ep, Invocation epInv) throws Exception
-   {
-      try
-      {
-         Object targetBean = getTargetBean(ep, epInv);
-
-         InvocationContext invContext = epInv.getInvocationContext();
-         WebServiceContext wsContext = invContext.getAttachment(WebServiceContext.class);
-         if (wsContext != null)
-         {
-            ResourceInjector injector = resourceInjectorFactory.newResourceInjector();
-            injector.inject(targetBean, wsContext);
-         }
-
-         Method method = getImplMethod(targetBean.getClass(), epInv.getJavaMethod());
-         Object retObj = method.invoke(targetBean, epInv.getArgs());
-         epInv.setReturnValue(retObj);
-      }
-      catch (Exception e)
-      {
-         handleInvocationException(e);
-      }
-   }
-
-   protected Method getImplMethod(Class implClass, Method seiMethod) throws ClassNotFoundException, NoSuchMethodException
-   {
-      String methodName = seiMethod.getName();
-      Class[] paramTypes = seiMethod.getParameterTypes();
-      for (int i = 0; i < paramTypes.length; i++)
-      {
-         Class paramType = paramTypes[i];
-         if (JavaUtils.isPrimitive(paramType) == false)
-         {
-            String paramTypeName = paramType.getName();
-            paramType = JavaUtils.loadJavaType(paramTypeName);
-            paramTypes[i] = paramType;
-         }
-      }
-
-      Method implMethod = implClass.getMethod(methodName, paramTypes);
-      return implMethod;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB21.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,88 +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;
-
-// $Id$
-
-import java.lang.reflect.Method;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.InvocationContext;
-
-/**
- * Handles invocations on MDB EJB21 endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class InvocationHandlerMDB21 extends AbstractInvocationHandler
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(InvocationHandlerMDB21.class);
-
-   public Invocation createInvocation()
-   {
-      return new Invocation();
-   }
-
-   public void init(Endpoint ep)
-   {
-
-   }
-
-   public void invoke(Endpoint ep, Invocation epInv) throws Exception
-   {
-      log.debug("Invoke: " + epInv.getJavaMethod().getName());
-
-      try
-      {
-         InvocationContext invCtx = epInv.getInvocationContext();
-         Object targetBean = invCtx.getTargetBean();
-         if (targetBean == null)
-         {
-            try
-            {
-               Class epImpl = ep.getTargetBeanClass();
-               targetBean = epImpl.newInstance();
-               invCtx.setTargetBean(targetBean);
-            }
-            catch (Exception ex)
-            {
-               throw new IllegalStateException("Canot get target bean instance", ex);
-            }
-         }
-         Class implClass = targetBean.getClass();
-         Method seiMethod = epInv.getJavaMethod();
-         Method implMethod = getImplMethod(implClass, seiMethod);
-
-         Object[] args = epInv.getArgs();
-         Object retObj = implMethod.invoke(targetBean, args);
-         epInv.setReturnValue(retObj);
-      }
-      catch (Exception e)
-      {
-         handleInvocationException(e);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB3.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/InvocationHandlerMDB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,88 +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;
-
-// $Id$
-
-import java.lang.reflect.Method;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.invocation.InvocationContext;
-
-/**
- * Handles invocations on MDB EJB3 endpoints.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class InvocationHandlerMDB3 extends AbstractInvocationHandler
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(InvocationHandlerMDB3.class);
-
-   public Invocation createInvocation()
-   {
-      return new Invocation();
-   }
-
-   public void init(Endpoint ep)
-   {
-
-   }
-
-   public void invoke(Endpoint ep, Invocation epInv) throws Exception
-   {
-      log.debug("Invoke: " + epInv.getJavaMethod().getName());
-
-      try
-      {
-         InvocationContext invCtx = epInv.getInvocationContext();
-         Object targetBean = invCtx.getTargetBean();
-         if (targetBean == null)
-         {
-            try
-            {
-               Class epImpl = ep.getTargetBeanClass();
-               targetBean = epImpl.newInstance();
-               invCtx.setTargetBean(targetBean);
-            }
-            catch (Exception ex)
-            {
-               throw new IllegalStateException("Canot get target bean instance", ex);
-            }
-         }
-         Class implClass = targetBean.getClass();
-         Method seiMethod = epInv.getJavaMethod();
-         Method implMethod = getImplMethod(implClass, seiMethod);
-
-         Object[] args = epInv.getArgs();
-         Object retObj = implMethod.invoke(targetBean, args);
-         epInv.setReturnValue(retObj);
-      }
-      catch (Exception e)
-      {
-         handleInvocationException(e);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,112 +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;
-
-//$Id: JAXRPCDeployerHookEJB21.java 4239 2007-08-07 19:13:42Z heiko.braun at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData;
-import org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-
-/**
- * A deployer JAXRPC EJB21 Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class JAXRPCDeployerHookEJB21 extends AbstractDeployerHookEJB
-{
-   /** Get the deployemnt type this deployer can handle
-    */
-   public DeploymentType getDeploymentType()
-   {
-      return DeploymentType.JAXRPC_EJB21;
-   }
-
-   @Override
-   public Deployment createDeployment(DeploymentUnit unit)
-   {
-      ArchiveDeployment dep = newDeployment(unit);
-      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
-      dep.setRuntimeClassLoader(unit.getClassLoader());
-      dep.setType(getDeploymentType());
-
-      Service service = dep.getService();
-
-      JBossMetaData jbmd = unit.getAttachment(JBossMetaData.class);
-      if (jbmd == null)
-         throw new IllegalStateException("Deployment unit does not contain application meta data");
-
-      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
-      if (wsMetaData == null)
-         throw new IllegalStateException("Deployment unit does not contain webservices meta data");
-
-      WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
-      if (webServiceDeployment == null)
-         throw new IllegalStateException("Deployment unit does not contain webServiceDeployment");
-
-      // Copy the attachments
-      dep.addAttachment(WebservicesMetaData.class, wsMetaData);
-      dep.addAttachment(JBossMetaData.class, jbmd);
-      dep.addAttachment(WebServiceDeployment.class, webServiceDeployment);      
-
-      for (WebserviceDescriptionMetaData wsd : wsMetaData.getWebserviceDescriptions())
-      {
-         for (PortComponentMetaData pcmd : wsd.getPortComponents())
-         {
-            String ejbLink = pcmd.getEjbLink();
-            if (ejbLink == null)
-               throw new IllegalStateException("ejb-link cannot be null");
-
-            JBossEnterpriseBeanMetaData beanMetaData = jbmd.getEnterpriseBean(ejbLink);
-            if (beanMetaData == null)
-               throw new IllegalStateException("Cannot obtain bean meta data for: " + ejbLink);
-
-            String ejbClass = beanMetaData.getEjbClass();
-
-            // Create the endpoint
-            Endpoint ep = newEndpoint(ejbClass);
-            ep.setShortName(ejbLink);
-            service.addEndpoint(ep);
-         }
-      }
-      return dep;
-   }
-
-   @Override
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
-      return wsMetaData != null && unit.getAllMetaData(JBossMetaData.class).size() > 0;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPostJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.wsf.container.jboss50;
-
-// $Id: JAXRPCDeployerHookPostJSE.java 4244 2007-08-08 09:19:04Z thomas.diesler at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * A deployer JAXRPC JSE Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class JAXRPCDeployerHookPostJSE extends DeployerHookPostJSE
-{
-   /** Get the deployment type this deployer can handle
-    */
-   public Deployment.DeploymentType getDeploymentType()
-   {
-      return Deployment.DeploymentType.JAXRPC_JSE;
-   }
-
-
-   @Override
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
-      return (wsMetaData!=null && super.isWebServiceDeployment(unit));    
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPreJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPreJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXRPCDeployerHookPreJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,123 +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;
-
-//$Id: JAXRPCDeployerHookPreJSE.java 4276 2007-08-09 08:34:58Z thomas.diesler at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
-import org.jboss.metadata.web.jboss.JBossServletMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ServletMetaData;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData;
-import org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * A deployer JAXRPC JSE Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class JAXRPCDeployerHookPreJSE extends AbstractDeployerHookJSE
-{
-   /** Get the deployemnt type this deployer can handle
-    */
-   public DeploymentType getDeploymentType()
-   {
-      return DeploymentType.JAXRPC_JSE;
-   }
-
-   /**
-    * Create an endpoint for every servlet-link in webservices.xml
-    */
-   @Override
-   public Deployment createDeployment(DeploymentUnit unit)
-   {
-      ArchiveDeployment dep = newDeployment(unit);
-      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
-      dep.setRuntimeClassLoader(null); 
-      dep.setType(getDeploymentType());
-
-      Service service = dep.getService();
-
-      JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
-      if (webMetaData == null)
-         throw new IllegalStateException("Deployment unit does not contain web meta data");
-
-      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
-      if (wsMetaData == null)
-         throw new IllegalStateException("Deployment unit does not contain webservices meta data");
-
-      // Copy the attachments
-      dep.addAttachment(WebservicesMetaData.class, wsMetaData);
-      dep.addAttachment(JBossWebMetaData.class, webMetaData);
-
-      for (WebserviceDescriptionMetaData wsd : wsMetaData.getWebserviceDescriptions())
-      {
-         for (PortComponentMetaData pcmd : wsd.getPortComponents())
-         {
-            String servletLink = pcmd.getServletLink();
-            if (servletLink == null)
-               throw new IllegalStateException("servlet-link cannot be null");
-
-            ServletMetaData servlet = getServletForName(webMetaData, servletLink);
-            String targetBean = getTargetBean(servlet);
-
-            // Create the endpoint
-            Endpoint ep = newEndpoint(targetBean);
-            ep.setShortName(servletLink);
-            service.addEndpoint(ep);
-         }
-      }
-
-      return dep;
-   }
-
-   private ServletMetaData getServletForName(JBossWebMetaData wmd, String servletLink)
-   {
-      for (JBossServletMetaData servlet : wmd.getServlets())
-      {
-         if (servletLink.equals(servlet.getName()))
-         {
-            return servlet;
-         }
-      }
-      throw new IllegalStateException("Cannot find servlet for link: " + servletLink);
-   }
-
-   @Override
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      if (super.isWebServiceDeployment(unit) == false)
-         return false;
-
-      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
-      return wsMetaData != null;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookEJB3.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,128 +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;
-
-//$Id: JAXWSDeployerHookEJB3.java 4239 2007-08-07 19:13:42Z heiko.braun at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Service;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceProvider;
-import java.util.Iterator;
-
-/**
- * A deployer JAXWS EJB3 Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class JAXWSDeployerHookEJB3 extends AbstractDeployerHookEJB
-{
-   /** Get the deployment type this deployer can handle
-    */
-   public DeploymentType getDeploymentType()
-   {
-      return DeploymentType.JAXWS_EJB3;
-   }
-
-   @Override
-   public Deployment createDeployment(DeploymentUnit unit)
-   {
-      ArchiveDeployment dep = newDeployment(unit);
-      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
-      dep.setRuntimeClassLoader(unit.getClassLoader());
-      dep.setType(getDeploymentType());
-
-      Service service = dep.getService();
-
-      WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
-      if (webServiceDeployment == null)
-         throw new IllegalStateException("Deployment unit does not contain webServiceDeployment");
-
-      // Copy the attachments
-      dep.addAttachment(WebServiceDeployment.class, webServiceDeployment);
-
-      Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
-      while (it.hasNext())
-      {
-         WebServiceDeclaration container = it.next();
-         if (isWebServiceBean(container))
-         {
-            String ejbName = container.getComponentName();
-            String epBean = container.getComponentClassName();
-
-            // Create the endpoint
-            Endpoint ep = newEndpoint(epBean);
-            ep.setShortName(ejbName);
-            String containName = container.getContainerName();
-            if(null==containName)
-               throw new IllegalArgumentException("Target container name not set");
-            ep.setProperty(InvocationHandlerEJB3.CONTAINER_NAME, containName);
-            service.addEndpoint(ep);
-         }
-      }
-
-      return dep;
-   }
-
-   @Override
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
-      if (null == webServiceDeployment )
-         return false;
-
-      boolean isWebServiceDeployment = false;
-
-      Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
-      while (it.hasNext())
-      {
-         WebServiceDeclaration container = it.next();
-         if (isWebServiceBean(container))
-         {
-            isWebServiceDeployment = true;
-            break;
-         }
-      }
-
-      return isWebServiceDeployment;
-   }
-
-   private boolean isWebServiceBean(WebServiceDeclaration container)
-   {
-      boolean isWebServiceBean = false;
-      boolean isWebService = container.getAnnotation(WebService.class) != null;
-      boolean isWebServiceProvider = container.getAnnotation(WebServiceProvider.class) != null;
-      isWebServiceBean = isWebService || isWebServiceProvider;
-
-      return isWebServiceBean;
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPostJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,54 +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;
-
-// $Id: JAXWSDeployerHookPostJSE.java 4244 2007-08-08 09:19:04Z thomas.diesler at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * @author Heiko.Braun at jboss.com
- * @version $Revision: 4244 $
- */
-public class JAXWSDeployerHookPostJSE extends DeployerHookPostJSE
-{
-   /** Get the deployment type this deployer can handle
-    */
-   public Deployment.DeploymentType getDeploymentType()
-   {
-      return Deployment.DeploymentType.JAXWS_JSE;
-   }
-
-   /**
-    * Reject JAX-RPC deployments.
-    *
-    * @param unit
-    * @return
-    */
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);// JAX-RPC artefact
-      return (wsMetaData == null && super.isWebServiceDeployment(unit));
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPreJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPreJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JAXWSDeployerHookPreJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,136 +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;
-
-//$Id: JAXWSDeployerHookJSE.java 4239 2007-08-07 19:13:42Z heiko.braun at jboss.com $
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ServletMetaData;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Service;
-
-import javax.jws.WebService;
-import javax.xml.ws.WebServiceProvider;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * A deployer JAXWS JSE Endpoints
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class JAXWSDeployerHookPreJSE extends AbstractDeployerHookJSE
-{
-   /** Get the deployment type this deployer can handle
-    */
-   public DeploymentType getDeploymentType()
-   {
-      return DeploymentType.JAXWS_JSE;
-   }
-
-   @Override
-   public Deployment createDeployment(DeploymentUnit unit)
-   {
-      ArchiveDeployment dep = newDeployment(unit);
-      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));     
-      dep.setType(getDeploymentType());
-
-      Service service = dep.getService();
-
-      JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
-      if (webMetaData == null)
-         throw new IllegalStateException("Deployment unit does not contain web meta data");
-
-      // Copy the attachments
-      dep.addAttachment(JBossWebMetaData.class, webMetaData);
-
-      List<ServletMetaData> servlets = getRelevantServlets(webMetaData, unit.getClassLoader());
-      for (ServletMetaData servlet : servlets)
-      {
-         String servletName = servlet.getName();
-         String targetBean = getTargetBean(servlet);
-
-         // Create the endpoint
-         Endpoint ep = newEndpoint(targetBean);
-         ep.setShortName(servletName);
-         service.addEndpoint(ep);
-      }
-
-      return dep;
-   }
-
-   @Override
-   public boolean isWebServiceDeployment(DeploymentUnit unit)
-   {
-      if (super.isWebServiceDeployment(unit) == false)
-         return false;
-
-      boolean isWebServiceDeployment = false;
-      try
-      {
-         JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
-         List<ServletMetaData> servlets = getRelevantServlets(webMetaData, unit.getClassLoader());
-         isWebServiceDeployment = servlets.size() > 0;
-      }
-      catch (Exception ex)
-      {
-         log.error("Cannot process web deployment", ex);
-      }
-
-      return isWebServiceDeployment;
-   }
-
-   private List<ServletMetaData> getRelevantServlets(JBossWebMetaData webMetaData, ClassLoader loader)
-   {
-      List<ServletMetaData> servlets = new ArrayList<ServletMetaData>();
-      for (ServletMetaData servlet : webMetaData.getServlets())
-      {
-         String servletClassName = getTargetBean(servlet);
-
-         // Skip JSPs
-         if (servletClassName == null || servletClassName.length() == 0)
-            continue;
-
-         try
-         {
-            Class<?> servletClass = loader.loadClass(servletClassName.trim());
-            boolean isWebService = servletClass.isAnnotationPresent(WebService.class);
-            boolean isWebServiceProvider = servletClass.isAnnotationPresent(WebServiceProvider.class);
-            if (isWebService || isWebServiceProvider)
-               servlets.add(servlet);
-         }
-         catch (ClassNotFoundException ex)
-         {
-            log.warn("Cannot load servlet class: " + servletClassName);
-            continue;
-         }
-      }
-      return servlets;
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JSEArchiveMetaDataAdapter.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JSEArchiveMetaDataAdapter.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/JSEArchiveMetaDataAdapter.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,206 +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;
-
-// $Id: JSEArchiveMetaDataAdapter.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
-import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
-import org.jboss.metadata.ear.jboss.JBossAppMetaData;
-import org.jboss.metadata.ear.spec.ModuleMetaData;
-import org.jboss.metadata.ear.spec.WebModuleMetaData;
-import org.jboss.metadata.javaee.spec.ParamValueMetaData;
-import org.jboss.metadata.web.jboss.JBossServletsMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
-import org.jboss.metadata.web.spec.ServletMappingMetaData;
-import org.jboss.metadata.web.spec.ServletMetaData;
-import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
-import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.JSESecurityMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData.PublishLocationAdapter;
-import org.jboss.wsf.spi.metadata.j2ee.JSESecurityMetaData.JSEResourceCollection;
-
-/**
- * Build container independent web meta data
- *
- * @author Thomas.Diesler at jboss.org
- * @since 05-May-2006
- */
-public class JSEArchiveMetaDataAdapter
-{
-   // logging support
-   private static Logger log = Logger.getLogger(JSEArchiveMetaDataAdapter.class);
-   
-   public JSEArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
-   {
-      String contextRoot = null;
-      
-      JBossWebMetaData jbossWebMetaData = unit.getAttachment(JBossWebMetaData.class);
-      dep.addAttachment(JBossWebMetaData.class, jbossWebMetaData);
-
-      if (unit.getParent() != null)
-      {
-         JBossAppMetaData appmd = unit.getParent().getAttachment(JBossAppMetaData.class);
-         if (appmd != null)
-         {
-            ModuleMetaData module = appmd.getModule(dep.getSimpleName());
-            if (module != null)
-            {
-               WebModuleMetaData web = (WebModuleMetaData) module.getValue();
-               contextRoot = web.getContextRoot();
-            }
-         }
-      }
-      
-      if (contextRoot == null)
-         contextRoot = jbossWebMetaData.getContextRoot();
-      
-      JSEArchiveMetaData umd = new JSEArchiveMetaData();
-      umd.setContextRoot(contextRoot);
-      umd.setServletMappings(getServletMappings(jbossWebMetaData));
-      umd.setServletClassNames(getServletClassMap(jbossWebMetaData));
-      umd.setSecurityDomain(jbossWebMetaData.getSecurityDomain());
-      umd.setPublishLocationAdapter(getPublishLocationAdpater(jbossWebMetaData));
-      umd.setSecurityMetaData(getSecurityMetaData(jbossWebMetaData.getSecurityContraints()));
-
-      setConfigNameAndFile(umd, jbossWebMetaData);
-      
-      return umd;
-   }
-
-   private void setConfigNameAndFile(JSEArchiveMetaData umd, JBossWebMetaData jbossWebMetaData)
-   {
-      String configName = null;
-      String configFile = null;
-      
-      WebserviceDescriptionsMetaData wsDescriptions = jbossWebMetaData.getWebserviceDescriptions();
-      if (wsDescriptions != null && wsDescriptions.size() > 1)
-         log.warn("Multiple <webservice-description> elements not supported");
-
-      if (wsDescriptions != null && wsDescriptions.size() > 0)
-      {
-         WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
-         configName = wsd.getConfigName();
-         configFile = wsd.getConfigFile();
-      }
-
-      List<ParamValueMetaData> contextParams = jbossWebMetaData.getContextParams();
-      if (contextParams != null)
-      {
-         for (ParamValueMetaData ctxParam : contextParams)
-         {
-            if (ctxParam.getParamName().equals("jbossws-config-name"))
-               configName = ctxParam.getParamValue();
-            if (ctxParam.getParamName().equals("jbossws-config-file"))
-               configFile = ctxParam.getParamValue();
-         }
-      }
-      
-      umd.setConfigName(configName);
-      umd.setConfigFile(configFile);
-   }
-
-   private PublishLocationAdapter getPublishLocationAdpater(final JBossWebMetaData wmd)
-   {
-      return new PublishLocationAdapter()
-      {
-         public String getWsdlPublishLocationByName(String name)
-         {
-            WebserviceDescriptionsMetaData wsdmd = wmd.getWebserviceDescriptions();
-            WebserviceDescriptionMetaData wsmd = wsdmd.get(name);
-            String location = null;
-            if (wsmd != null)
-               location = wsmd.getWsdlPublishLocation();
-            return location;
-         }
-      };
-   }
-
-   protected List<JSESecurityMetaData> getSecurityMetaData(final List<SecurityConstraintMetaData> securityConstraints)
-   {
-      ArrayList<JSESecurityMetaData> unifiedsecurityMetaData = new ArrayList<JSESecurityMetaData>();
-      if (securityConstraints != null)
-      {
-         for (SecurityConstraintMetaData securityMetaData : securityConstraints)
-         {
-            JSESecurityMetaData current = new JSESecurityMetaData();
-            unifiedsecurityMetaData.add(current);
-
-            current.setTransportGuarantee(securityMetaData.getTransportGuarantee().name());
-
-            WebResourceCollectionsMetaData resources = securityMetaData.getResourceCollections();
-            for (WebResourceCollectionMetaData webResource : resources)
-            {
-               JSEResourceCollection currentResource = current.addWebResource(webResource.getName());
-               for (String currentPattern : webResource.getUrlPatterns())
-               {
-                  currentResource.addPattern(currentPattern);
-               }
-            }
-         }
-      }
-      return unifiedsecurityMetaData;
-   }
-
-   private Map<String, String> getServletMappings(JBossWebMetaData wmd)
-   {
-      Map<String, String> mappings = new HashMap<String, String>();
-      List<ServletMappingMetaData> smappings = wmd.getServletMappings();
-      if (smappings != null)
-      {
-         for(ServletMappingMetaData mapping : smappings)
-         {
-            // FIXME - Add support for multiple mappings
-            mappings.put(mapping.getServletName(), mapping.getUrlPatterns().get(0));
-         }
-      }
-      return mappings;
-   }
-
-   private Map<String, String> getServletClassMap(JBossWebMetaData wmd)
-   {
-      Map<String, String> mappings = new HashMap<String, String>();
-      JBossServletsMetaData servlets = wmd.getServlets();
-      if (servlets != null)
-      {
-         for (ServletMetaData servlet : servlets)
-         {
-            // Skip JSPs
-            if (servlet.getServletClass() == null || servlet.getServletClass().length() == 0)
-               continue;
-   
-            mappings.put(servlet.getName(), servlet.getServletClass());
-         }
-      }
-      return mappings;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,57 +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;
-
-//$Id: ModifyWebMetaDataDeployer.java 3150 2007-05-20 00:29:48Z thomas.diesler at jboss.com $
-
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-
-/**
- * A deployer that modifies the web.xml meta data 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
-{
-   private WebMetaDataModifier webMetaDataModifier;
-   
-   public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
-   {
-      this.webMetaDataModifier = webMetaDataModifier;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      try
-      {
-         webMetaDataModifier.modifyMetaData(dep);
-      }
-      catch (Exception ex)
-      {
-         WSFDeploymentException.rethrow(ex);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RewriteResults.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RewriteResults.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RewriteResults.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,38 +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 java.net.URL;
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 19, 2007
- */
-public class RewriteResults
-{
-   // The URL to the rewritten web.xml
-   public URL webXML;
-   // Maps the servlet name to the target bean
-   public Map<String, String> sepTargetMap = new HashMap<String, String>();
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RuntimeLoaderDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RuntimeLoaderDeploymentAspect.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/RuntimeLoaderDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,65 +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;
-
-// $Id: RuntimeLoaderDeploymentAspect.java 4244 2007-08-08 09:19:04Z thomas.diesler at jboss.com $
-
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-
-/**
- * Determines the correct runtime loader for per deployment type
- * and makes it available through the {@link Deployment}.
- *
- * @author Heiko.Braun at jboss.com
- */
-public class RuntimeLoaderDeploymentAspect extends DeploymentAspect
-{
-
-   public void create(Deployment dep)
-   {
-      // EJB3 endpoints
-      if (dep.getAttachment(WebServiceDeployment.class) != null)
-      {
-         dep.setRuntimeClassLoader(dep.getInitialClassLoader());
-      }
-      // EJB21 endpoints
-      else if (dep.getAttachment(JBossMetaData.class) != null)
-      {
-         dep.setRuntimeClassLoader(dep.getInitialClassLoader());
-      }
-      // JSE endpoints
-      else if (dep.getAttachment(JBossWebMetaData.class) != null)
-      {
-         JBossWebMetaData webMetaData = dep.getAttachment(JBossWebMetaData.class);
-         ClassLoader classLoader = webMetaData.getContextLoader();
-         dep.setRuntimeClassLoader(classLoader);
-      }
-      else
-      {
-         throw new IllegalArgumentException("Unable to determine runtime loader");
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdapterFactoryImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50;
-
-import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
-import org.jboss.wsf.spi.invocation.SecurityAdaptor;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 24, 2007
- */
-public class SecurityAdapterFactoryImpl extends SecurityAdaptorFactory
-{
-   public SecurityAdaptor newSecurityAdapter()
-   {
-      return new SecurityAdaptorImpl();
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdaptorImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdaptorImpl.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityAdaptorImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,62 +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;
-
-// $Id: SecurityAdaptorImpl.java 3978 2007-07-24 15:09:52Z heiko.braun at jboss.com $
-
-import org.jboss.security.SecurityAssociation;
-import org.jboss.wsf.spi.invocation.SecurityAdaptor;
-
-import java.security.Principal;
-
-/**
- * A JBoss specific SecurityAssociationAdaptor 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 05-May-2006
- */
-public class SecurityAdaptorImpl implements SecurityAdaptor
-{
-   SecurityAdaptorImpl()
-   {
-   }
-
-   public Principal getPrincipal()
-   {
-      return SecurityAssociation.getPrincipal();
-   }
-   
-   public void setPrincipal(Principal pricipal)
-   {
-      SecurityAssociation.setPrincipal(pricipal);
-   }
-
-   public Object getCredential()
-   {
-      return SecurityAssociation.getCredential();
-   }
-
-   public void setCredential(Object credential)
-   {
-      SecurityAssociation.setCredential(credential);
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandler.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandler.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandler.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,42 +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;
-
-//$Id$
-
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * Handle web app security meta data 
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public interface SecurityHandler
-{
-   /** Add the security domain to jboss-web.xml */
-   void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep);
-   
-   /** Add the security roles to web.xml */
-   void addSecurityRoles(JBossWebMetaData webApp, Deployment dep);
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,68 +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;
-
-//$Id: SecurityHandlerEJB21.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
-
-import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
-
-/**
- * Handle web app security meta data for EJB21 
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public class SecurityHandlerEJB21 implements SecurityHandler
-{
-   public void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep)
-   {
-      EJBArchiveMetaData ejbMetaData = dep.getAttachment(EJBArchiveMetaData.class);
-      if (ejbMetaData == null)
-         throw new IllegalStateException("Cannot obtain application meta data");
-
-      String securityDomain = ejbMetaData.getSecurityDomain();
-      if (securityDomain != null)
-      {
-         if (securityDomain.startsWith("java:/jaas/") == false)
-            securityDomain = "java:/jaas/" + securityDomain;
-
-         jbossWeb.setSecurityDomain(securityDomain);
-      }
-   }
-
-   public void addSecurityRoles(JBossWebMetaData webApp, Deployment dep)
-   {
-      JBossMetaData jbmd = dep.getAttachment(JBossMetaData.class);
-      IAssemblyDescriptorMetaData assemblyDescriptor = jbmd.getAssemblyDescriptor();
-      if (assemblyDescriptor != null)
-      {
-         SecurityRolesMetaData securityRoles = assemblyDescriptor.getSecurityRoles();
-         if (securityRoles != null)
-            webApp.setSecurityRoles(securityRoles);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB3.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/SecurityHandlerEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,99 +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;
-
-//$Id$
-
-import org.jboss.ejb3.annotation.SecurityDomain;
-import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
-import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-
-import javax.annotation.security.RolesAllowed;
-import java.util.Iterator;
-
-/**
- * Handle web app security meta data for EJB3
- *
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public class SecurityHandlerEJB3 implements SecurityHandler
-{
-   public void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep)
-   {
-      String securityDomain = null;
-
-      WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
-      if (webServiceDeployment != null)
-      {
-         Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
-         while (it.hasNext())
-         {
-            WebServiceDeclaration container = it.next();
-            SecurityDomain anSecurityDomain = container.getAnnotation(SecurityDomain.class);
-            if (anSecurityDomain != null)
-            {
-               if (securityDomain != null && !securityDomain.equals(anSecurityDomain.value()))
-                  throw new IllegalStateException("Multiple security domains not supported");
-
-               securityDomain = anSecurityDomain.value();
-            }
-         }
-      }
-
-      if (securityDomain != null)
-      {
-         if (securityDomain.startsWith("java:/jaas/") == false)
-            securityDomain = "java:/jaas/" + securityDomain;
-
-         jbossWeb.setSecurityDomain(securityDomain);
-      }
-   }
-
-   public void addSecurityRoles(JBossWebMetaData webApp, Deployment dep)
-   {
-      WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
-      if (webServiceDeployment != null)
-      {
-         Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
-         while (it.hasNext())
-         {
-            WebServiceDeclaration container = it.next();
-            RolesAllowed anRolesAllowed = container.getAnnotation(RolesAllowed.class);
-            if (anRolesAllowed != null)
-            {
-               SecurityRolesMetaData securityRoles = webApp.getSecurityRoles();
-               for (String roleName : anRolesAllowed.value())
-               {
-                  SecurityRoleMetaData role = new SecurityRoleMetaData();
-                  role.setRoleName(roleName);
-                  securityRoles.add(role);
-               }
-            }
-         }
-      }
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ServiceEndpointInterceptor.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ServiceEndpointInterceptor.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/ServiceEndpointInterceptor.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,126 +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;
-
-// $Id: ServiceEndpointInterceptor.java 3959 2007-07-20 14:44:19Z heiko.braun at jboss.com $
-
-import org.jboss.ejb.plugins.AbstractInterceptor;
-import org.jboss.invocation.InvocationKey;
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.invocation.HandlerCallback;
-import org.jboss.wsf.spi.invocation.Invocation;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
-
-import javax.xml.rpc.handler.soap.SOAPMessageContext;
-
-/**
- * This Interceptor does the ws4ee handler processing.
- * 
- * According to the ws4ee spec the handler logic must be invoked after the container
- * applied method level security to the invocation. 
- *
- * @author Thomas.Diesler at jboss.org
- * @since 21-Sep-2005
- */
-public class ServiceEndpointInterceptor extends AbstractInterceptor
-{
-   // provide logging
-   private static Logger log = Logger.getLogger(ServiceEndpointInterceptor.class);
-
-   // Interceptor implementation --------------------------------------
-
-   /** Before and after we call the service endpoint bean, we process the handler chains.
-    */
-   public Object invoke(final org.jboss.invocation.Invocation jbInv) throws Exception
-   {
-      // If no msgContext, it's not for us
-      SOAPMessageContext msgContext = (SOAPMessageContext)jbInv.getPayloadValue(InvocationKey.SOAP_MESSAGE_CONTEXT);
-      if (msgContext == null)
-      {
-         return getNext().invoke(jbInv);
-      }
-
-      // Get the endpoint invocation 
-      Invocation wsInv = (Invocation)jbInv.getValue(Invocation.class.getName());
-
-      // Get the handler callback 
-      HandlerCallback callback = (HandlerCallback)jbInv.getValue(HandlerCallback.class.getName());
-
-      // Handlers need to be Tx. Therefore we must invoke the handler chain after the TransactionInterceptor.
-      if (callback != null && wsInv != null)
-      {
-         try
-         {
-            // call the request handlers
-            boolean handlersPass = callback.callRequestHandlerChain(wsInv, HandlerType.ENDPOINT);
-            handlersPass = handlersPass && callback.callRequestHandlerChain(wsInv, HandlerType.POST);
-
-            // Call the next interceptor in the chain
-            if (handlersPass)
-            {
-               // The SOAPContentElements stored in the EndpointInvocation might have changed after
-               // handler processing. Get the updated request payload. This should be a noop if request
-               // handlers did not modify the incomming SOAP message.
-               Object[] reqParams = wsInv.getArgs();
-               jbInv.setArguments(reqParams);
-               Object resObj = getNext().invoke(jbInv);
-
-               // Setting the message to null should trigger binding of the response message
-               msgContext.setMessage(null);
-               wsInv.setReturnValue(resObj);
-            }
-
-            // call the response handlers
-            handlersPass = callback.callResponseHandlerChain(wsInv, HandlerType.POST);
-            handlersPass = handlersPass && callback.callResponseHandlerChain(wsInv, HandlerType.ENDPOINT);
-
-            // update the return value after response handler processing
-            Object resObj = wsInv.getReturnValue();
-
-            return resObj;
-         }
-         catch (Exception ex)
-         {
-            try
-            {
-               // call the fault handlers
-               boolean handlersPass = callback.callFaultHandlerChain(wsInv, HandlerType.POST, ex);
-               handlersPass = handlersPass && callback.callFaultHandlerChain(wsInv, HandlerType.ENDPOINT, ex);
-            }
-            catch (Exception subEx)
-            {
-               log.warn("Cannot process handlerChain.handleFault, ignoring: ", subEx);
-            }
-            throw ex;
-         }
-         finally
-         {
-            // do nothing
-         }
-      }
-      else
-      {
-         log.warn("Handler callback not available");
-         return getNext().invoke(jbInv);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeployingHttpServer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeployingHttpServer.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeployingHttpServer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,247 +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;
-
-//$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.HashMap;
-import java.util.Map;
-
-import javax.xml.ws.Endpoint;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
-import org.jboss.virtual.VFS;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.wsf.common.DOMUtils;
-import org.jboss.wsf.common.DOMWriter;
-import org.jboss.wsf.spi.SPIProvider;
-import org.jboss.wsf.spi.SPIProviderResolver;
-import org.jboss.wsf.spi.deployment.AbstractExtensible;
-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 WebAppDeployingHttpServer extends AbstractExtensible implements HttpServer
-{
-   private DeployerClient mainDeployer;
-   private Map<String, Deployment> deploymentMap = new HashMap<String, Deployment>();
-
-   public void setMainDeployer(DeployerClient mainDeployer)
-   {
-      this.mainDeployer = 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");
-            tmpDir.mkdirs();
-
-            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();
-         Deployment deployment = createDeploymentContext(tmpURL);
-
-         mainDeployer.deploy(deployment);
-         deploymentMap.put(tmpURL.toExternalForm(), deployment);
-      }
-      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();
-         Deployment deployment = deploymentMap.get(tmpURL.toExternalForm());
-         if (deployment != null)
-         {
-            mainDeployer.undeploy(deployment);
-            deploymentMap.remove(tmpURL.toExternalForm());
-         }
-
-         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 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;
-   }
-
-   private Deployment createDeploymentContext(URL warURL) throws Exception
-   {
-      VirtualFile file = VFS.getRoot(warURL);
-      return VFSDeploymentFactory.getInstance().createVFSDeployment(file);
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,75 +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;
-
-// $Id$
-
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-
-/**
- * Deploy the generated webapp to JBoss
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 12-May-2006
- */
-public class WebAppDeploymentAspect extends DeploymentAspect
-{
-   // provide logging
-   private static Logger log = Logger.getLogger(WebAppDeploymentAspect.class);
-
-   private WebMetaDataModifier webMetaDataModifier;
-
-   public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
-   {
-      this.webMetaDataModifier = webMetaDataModifier;
-   }
-
-   public void create(Deployment dep)
-   {
-      JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
-      if (jbwmd == null)
-         throw new WebServiceException("Cannot find web meta data");
-
-      try
-      {
-         webMetaDataModifier.modifyMetaData(dep);
-
-         DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
-         if (unit == null)
-            throw new IllegalStateException("Cannot obtain deployment unit");
-
-         unit.addAttachment(JBossWebMetaData.class, jbwmd);
-         unit.addAttachment(WebMetaDataModifier.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
-      }
-      catch (Exception ex)
-      {
-         WSFDeploymentException.rethrow(ex);
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppGeneratorDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppGeneratorDeploymentAspect.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebAppGeneratorDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,273 +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;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.jboss.metadata.web.jboss.JBossServletMetaData;
-import org.jboss.metadata.web.jboss.JBossServletsMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.AuthConstraintMetaData;
-import org.jboss.metadata.web.spec.LoginConfigMetaData;
-import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
-import org.jboss.metadata.web.spec.ServletMappingMetaData;
-import org.jboss.metadata.web.spec.TransportGuaranteeType;
-import org.jboss.metadata.web.spec.UserDataConstraintMetaData;
-import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
-import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.deployment.ArchiveDeployment;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.WSFDeploymentException;
-import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.EJBSecurityMetaData;
-
-/**
- * A deployment aspect that generates a webapp for an EJB endpoint 
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 13-Oct-2007
- */
-public class WebAppGeneratorDeploymentAspect extends DeploymentAspect
-{
-   private SecurityHandler securityHandlerEJB21;
-   private SecurityHandler securityHandlerEJB3;
-
-   public void setSecurityHandlerEJB21(SecurityHandler handler)
-   {
-      this.securityHandlerEJB21 = handler;
-   }
-
-   public void setSecurityHandlerEJB3(SecurityHandler handler)
-   {
-      this.securityHandlerEJB3 = handler;
-   }
-
-   @Override
-   public void create(Deployment dep)
-   {
-      String typeStr = dep.getType().toString();
-      if (typeStr.endsWith("EJB21"))
-      {
-         JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB21);
-         dep.addAttachment(JBossWebMetaData.class, jbwmd);
-      }
-      else if (typeStr.endsWith("EJB3"))
-      {
-         JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB3);
-         dep.addAttachment(JBossWebMetaData.class, jbwmd);
-      }
-      else
-      {
-         JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, null);
-         dep.addAttachment(JBossWebMetaData.class, jbwmd);
-      }
-   }
-
-   protected JBossWebMetaData generatWebDeployment(ArchiveDeployment dep, SecurityHandler securityHandler)
-   {
-      JBossWebMetaData jbwmd = new JBossWebMetaData();
-      createWebAppDescriptor(dep, jbwmd, securityHandler);
-      createJBossWebAppDescriptor(dep, jbwmd, securityHandler);
-      return jbwmd;
-   }
-
-   protected void createWebAppDescriptor(Deployment dep, JBossWebMetaData jbwmd, SecurityHandler securityHandler)
-   {
-      /*
-       <servlet>
-       <servlet-name>
-       <servlet-class>
-       </servlet>
-       */
-      JBossServletsMetaData servlets = jbwmd.getServlets();
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         JBossServletMetaData servlet = new JBossServletMetaData();
-         servlet.setServletName(ep.getShortName());
-         servlet.setServletClass(ep.getTargetBeanName());
-         servlets.add(servlet);
-      }
-
-      /*
-       <servlet-mapping>
-       <servlet-name>
-       <url-pattern>
-       </servlet-mapping>
-       */
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         List<ServletMappingMetaData> servletMappings = jbwmd.getServletMappings();
-         if (servletMappings == null)
-         {
-            servletMappings = new ArrayList<ServletMappingMetaData>();
-            jbwmd.setServletMappings(servletMappings);
-         }
-         ServletMappingMetaData servletMapping = new ServletMappingMetaData();
-         servletMapping.setServletName(ep.getShortName());
-         servletMapping.setUrlPatterns(Arrays.asList(new String[] { ep.getURLPattern() }));
-         servletMappings.add(servletMapping);
-      }
-
-      String authMethod = null;
-
-      // Add web-app/security-constraint for each port component
-      for (Endpoint ep : dep.getService().getEndpoints())
-      {
-         String ejbName = ep.getShortName();
-
-         Boolean secureWSDLAccess = null;
-         String transportGuarantee = null;
-         String beanAuthMethod = null;
-
-         WebContext anWebContext = (WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
-         if (anWebContext != null)
-         {
-            if (anWebContext.authMethod().length() > 0)
-               beanAuthMethod = anWebContext.authMethod();
-            if (anWebContext.transportGuarantee().length() > 0)
-               transportGuarantee = anWebContext.transportGuarantee();
-            if (anWebContext.secureWSDLAccess())
-               secureWSDLAccess = anWebContext.secureWSDLAccess();
-         }
-
-         EJBArchiveMetaData appMetaData = dep.getAttachment(EJBArchiveMetaData.class);
-         if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
-         {
-            EJBMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
-            EJBSecurityMetaData smd = bmd.getSecurityMetaData();
-            if (smd != null)
-            {
-               beanAuthMethod = smd.getAuthMethod();
-               transportGuarantee = smd.getTransportGuarantee();
-               secureWSDLAccess = smd.getSecureWSDLAccess();
-            }
-         }
-
-         if (beanAuthMethod != null || transportGuarantee != null)
-         {
-            /*
-             <security-constraint>
-             <web-resource-collection>
-             <web-resource-name>TestUnAuthPort</web-resource-name>
-             <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
-             </web-resource-collection>
-             <auth-constraint>
-             <role-name>*</role-name>
-             </auth-constraint>
-             <user-data-constraint>
-             <transport-guarantee>NONE</transport-guarantee>
-             </user-data-constraint>
-             </security-constraint>
-             */
-            List<SecurityConstraintMetaData> securityContraints = jbwmd.getSecurityContraints();
-            if (securityContraints == null)
-            {
-               securityContraints = new ArrayList<SecurityConstraintMetaData>();
-               jbwmd.setSecurityContraints(securityContraints);
-            }
-            SecurityConstraintMetaData securityConstraint = new SecurityConstraintMetaData();
-            securityContraints.add(securityConstraint);
-            
-            WebResourceCollectionsMetaData resourceCollections = securityConstraint.getResourceCollections();
-            if (resourceCollections == null)
-            {
-               resourceCollections = new WebResourceCollectionsMetaData();
-               securityConstraint.setResourceCollections(resourceCollections);
-            }
-            WebResourceCollectionMetaData resourceCollection = new WebResourceCollectionMetaData();
-            resourceCollections.add(resourceCollection);
-            
-            resourceCollection.setWebResourceName(ejbName);
-            resourceCollection.setUrlPatterns(Arrays.asList(new String[] { ep.getURLPattern() }));
-            ArrayList<String> httpMethods = new ArrayList<String>();
-            resourceCollection.setHttpMethods(httpMethods);
-            if (Boolean.TRUE.equals(secureWSDLAccess))
-            {
-               httpMethods.add("GET");
-            }
-            httpMethods.add("POST");
-
-            // Optional auth-constraint
-            if (beanAuthMethod != null)
-            {
-               // Only the first auth-method gives the war login-config/auth-method
-               if (authMethod == null)
-                  authMethod = beanAuthMethod;
-
-               AuthConstraintMetaData authConstraint = new AuthConstraintMetaData();
-               authConstraint.setRoleNames(Arrays.asList(new String[] { "*" }));
-               securityConstraint.setAuthConstraint(authConstraint);
-            }
-            // Optional user-data-constraint
-            if (transportGuarantee != null)
-            {
-               UserDataConstraintMetaData userDataConstraint = new UserDataConstraintMetaData();
-               userDataConstraint.setTransportGuarantee(TransportGuaranteeType.valueOf(transportGuarantee));
-               securityConstraint.setUserDataConstraint(userDataConstraint);
-            }
-         }
-      }
-
-      // Optional login-config/auth-method
-      if (authMethod != null && securityHandler != null)
-      {
-         LoginConfigMetaData loginConfig = jbwmd.getLoginConfig();
-         if (loginConfig == null)
-         {
-            loginConfig = new LoginConfigMetaData();
-            jbwmd.setLoginConfig(loginConfig);
-         }
-         loginConfig.setAuthMethod(authMethod);
-         loginConfig.setRealmName("EJBServiceEndpointServlet Realm");
-
-         securityHandler.addSecurityRoles(jbwmd, dep);
-      }
-   }
-
-   protected void createJBossWebAppDescriptor(Deployment dep, JBossWebMetaData jbwmd, SecurityHandler securityHandler)
-   {
-      /* Create a jboss-web
-       <jboss-web>
-       <security-domain>java:/jaas/cts</security-domain>
-       <context-root>/ws/ejbN/</context-root>
-       <virtual-host>some.domain.com</virtual-host>
-       </jboss-web>
-       */
-      if (securityHandler != null)
-         securityHandler.addSecurityDomain(jbwmd, dep);
-
-      // Get the context root for this deployment
-      String contextRoot = dep.getService().getContextRoot();
-      if (contextRoot == null)
-         throw new WSFDeploymentException("Cannot obtain context root");
-
-      jbwmd.setContextRoot(contextRoot);
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifier.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifier.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifier.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50;
-
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * Modifies the web app according to the stack requirements.
- *
- * @author Thomas.Diesler at jboss.org
- * @since 19-May-2007
- */
-public interface WebMetaDataModifier
-{
-   static final String PROPERTY_GENERATED_WEBAPP = "org.jboss.ws.generated.webapp";
-   static final String PROPERTY_WEBAPP_CONTEXT_PARAMETERS = "org.jboss.ws.webapp.ContextParameterMap";
-   static final String PROPERTY_WEBAPP_SERVLET_CLASS = "org.jboss.ws.webapp.ServletClass";
-   static final String PROPERTY_WEBAPP_SERVLET_CONTEXT_LISTENER = "org.jboss.ws.webapp.ServletContextListener";
-   static final String PROPERTY_WEBAPP_URL = "org.jboss.ws.webapp.url";
-
-   RewriteResults modifyMetaData(Deployment dep) throws ClassNotFoundException;
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifierImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifierImpl.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebMetaDataModifierImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,205 +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 java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.logging.Logger;
-import org.jboss.metadata.javaee.spec.ParamValueMetaData;
-import org.jboss.metadata.web.jboss.JBossServletMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.metadata.web.spec.ListenerMetaData;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * The rewriter for web.xml
- *
- * @author Thomas.Diesler at jboss.org
- * @since 19-May-2007
- */
-public class WebMetaDataModifierImpl implements WebMetaDataModifier
-{
-   // logging support
-   private static Logger log = Logger.getLogger(WebMetaDataModifierImpl.class);
-
-   public RewriteResults modifyMetaData(Deployment dep)
-   {
-      JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
-      if (jbwmd == null)
-         throw new WebServiceException("Cannot find web meta data");
-
-      try
-      {
-         RewriteResults results = modifyMetaData(dep, jbwmd);
-         return results;
-      }
-      catch (RuntimeException rte)
-      {
-         throw rte;
-      }
-      catch (Exception e)
-      {
-         throw new WebServiceException(e);
-      }
-   }
-
-   private RewriteResults modifyMetaData(Deployment dep, JBossWebMetaData jbwmd) throws ClassNotFoundException
-   {
-      RewriteResults results = new RewriteResults();
-
-      String servletClass = (String)dep.getProperty(PROPERTY_WEBAPP_SERVLET_CLASS);
-      if (servletClass == null)
-         throw new IllegalStateException("Cannot obtain context property: " + PROPERTY_WEBAPP_SERVLET_CLASS);
-
-      Map<String, String> depCtxParams = (Map<String, String>)dep.getProperty(PROPERTY_WEBAPP_CONTEXT_PARAMETERS);
-      if (depCtxParams != null)
-      {
-         List<ParamValueMetaData> contextParams = jbwmd.getContextParams();
-         if (contextParams == null)
-         {
-            contextParams = new ArrayList<ParamValueMetaData>();
-            jbwmd.setContextParams(contextParams);
-         }
-
-         for (Map.Entry<String, String> entry : depCtxParams.entrySet())
-         {
-            ParamValueMetaData param = new ParamValueMetaData();
-            param.setParamName(entry.getKey());
-            param.setParamValue(entry.getValue());
-            contextParams.add(param);
-         }
-      }
-
-      String listenerClass = (String)dep.getProperty(PROPERTY_WEBAPP_SERVLET_CONTEXT_LISTENER);
-      if (listenerClass != null)
-      {
-         List<ListenerMetaData> listeners = jbwmd.getListeners();
-         if (listeners == null)
-         {
-            listeners = new ArrayList<ListenerMetaData>();
-            jbwmd.setListeners(listeners);
-         }
-         ListenerMetaData listener = new ListenerMetaData();
-         listener.setListenerClass(listenerClass);
-      }
-
-      for (Iterator it = jbwmd.getServlets().iterator(); it.hasNext();)
-      {
-         JBossServletMetaData servlet = (JBossServletMetaData)it.next();
-         List<ParamValueMetaData> initParams = servlet.getInitParam();
-         if (initParams == null)
-         {
-            initParams = new ArrayList<ParamValueMetaData>();
-            servlet.setInitParam(initParams);
-         }
-
-         String linkName = servlet.getServletName();
-
-         // find the servlet-class
-         String orgServletClassName = servlet.getServletClass();
-
-         // JSP
-         if (orgServletClassName == null)
-            continue;
-
-         // Get the servlet class
-         Class orgServletClass = null;
-         try
-         {
-            ClassLoader loader = dep.getInitialClassLoader();
-            orgServletClass = loader.loadClass(orgServletClassName);
-         }
-         catch (ClassNotFoundException ex)
-         {
-            log.warn("Cannot load servlet class: " + orgServletClassName);
-         }
-
-         String targetBeanName = null;
-
-         // Nothing to do if we have an <init-param>
-         if (isAlreadyModified(servlet))
-         {
-            for (ParamValueMetaData initParam : initParams)
-            {
-               String paramName = initParam.getParamName();
-               String paramValue = initParam.getParamValue();
-               if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
-               {
-                  targetBeanName = paramValue;
-               }
-            }
-         }
-         else
-         {
-            // Check if it is a real servlet that we can ignore
-            if (orgServletClass != null && javax.servlet.Servlet.class.isAssignableFrom(orgServletClass))
-            {
-               log.info("Ignore servlet: " + orgServletClassName);
-               continue;
-            }
-            else if (orgServletClassName.endsWith("Servlet"))
-            {
-               log.info("Ignore <servlet-class> that ends with 'Servlet': " + orgServletClassName);
-               continue;
-            }
-
-            servlet.setServletClass(servletClass);
-
-            // add additional init params
-            if (orgServletClassName.equals(servletClass) == false)
-            {
-               targetBeanName = orgServletClassName;
-               ParamValueMetaData initParam = new ParamValueMetaData();
-               initParam.setParamName(Endpoint.SEPID_DOMAIN_ENDPOINT);
-               initParam.setParamValue(targetBeanName);
-               initParams.add(initParam);
-            }
-         }
-
-         if (targetBeanName == null)
-            throw new IllegalStateException("Cannot obtain service endpoint bean for: " + linkName);
-
-         // remember the target bean name
-         results.sepTargetMap.put(linkName, targetBeanName);
-      }
-
-      return results;
-   }
-
-   // Return true if the web.xml is already modified
-   private boolean isAlreadyModified(JBossServletMetaData servlet)
-   {
-      for (ParamValueMetaData initParam : servlet.getInitParam())
-      {
-         String paramName = initParam.getParamName();
-         if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
-            return true;
-      }
-      return false;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceContextFactoryImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50;
-
-import org.jboss.wsf.spi.invocation.*;
-
-import javax.xml.ws.handler.MessageContext;
-
-/**
- * @author Heiko.Braun at jboss.com
- *         Created: Jul 25, 2007
- */
-public class WebServiceContextFactoryImpl extends WebServiceContextFactory
-{
-   public ExtensibleWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext)
-   {
-      ExtensibleWebServiceContext context = null;
-
-      if(type.toString().indexOf("EJB")!=-1 || type.toString().indexOf("MDB")!=-1)
-         context = new WebServiceContextEJB(messageContext);
-      else
-         context = new WebServiceContextJSE(messageContext);
-
-      return context;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerEJB.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerEJB.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerEJB.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,168 +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.deployers.spi.DeploymentException;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.ejb.deployers.MergedJBossMetaDataDeployer;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
-import org.jboss.metadata.ejb.jboss.JBossMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
-import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
-import org.jboss.ejb3.Ejb3Deployment;
-
-import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-//$Id: WebServiceDeployerEJB.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
-
-/**
- * This web service deployer for EJB
- *
- * @author Thomas.Diesler at jboss.org
- * @since 24-Apr-2007
- */
-public class WebServiceDeployerEJB extends AbstractWebServiceDeployer
-{
-   private static final Logger log = Logger.getLogger(WebServiceDeployerEJB.class);
-
-   public WebServiceDeployerEJB()
-   {
-      addInput(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);      
-
-      addInput(Ejb3Deployment.class);
-      
-      // Input for the TomcatDeployer
-      addOutput(JBossWebMetaData.class);
-
-      addOutput(WebServiceDeployment.class);
-
-   }
-
-   @Override
-   public void internalDeploy(DeploymentUnit unit) throws DeploymentException
-   {
-      JBossMetaData beans = (JBossMetaData)unit.getAttachment(
-        MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME
-      );
-      
-      if(beans!=null)
-      {
-         WebServiceDeploymentAdapter wsDeployment = new WebServiceDeploymentAdapter();
-         Iterator<JBossEnterpriseBeanMetaData> iterator = beans.getEnterpriseBeans().iterator();
-         while(iterator.hasNext())
-         {
-            JBossEnterpriseBeanMetaData ejb = iterator.next();
-            if(ejb.getEjbClass()!=null)
-               wsDeployment.getEndpoints().add( new WebServiceDeclarationAdapter(ejb, unit.getClassLoader()) );
-            else
-               log.warn("Ingore ejb deployment with null classname: " + ejb);
-         }
-
-         unit.addAttachment(WebServiceDeployment.class, wsDeployment);
-
-         super.internalDeploy(unit);
-      }
-   }
-
-   @Override
-   public void internalUndeploy(DeploymentUnit unit)
-   {
-      super.internalUndeploy(unit);
-   }
-
-   /**
-    * Adopts EJB3 bean meta data to a {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration}
-    */
-   private class WebServiceDeclarationAdapter implements WebServiceDeclaration
-   {
-
-      private JBossEnterpriseBeanMetaData ejbMetaData;
-      private ClassLoader loader;
-
-      public WebServiceDeclarationAdapter(JBossEnterpriseBeanMetaData  ejbMetaData, ClassLoader loader)
-      {
-         this.ejbMetaData = ejbMetaData;
-         this.loader = loader;
-      }
-
-      public String getContainerName()
-      {
-         return ejbMetaData.determineContainerName();
-      }
-
-      public String getComponentName()
-      {
-         return ejbMetaData.getName();
-      }
-
-      public String getComponentClassName()
-      {
-         return ejbMetaData.getEjbClass();
-      }
-
-      public <T extends Annotation> T getAnnotation(Class<T> annotation)
-      {
-         Class bean = getComponentClass();
-         T result = null;
-         if(bean.isAnnotationPresent(annotation))
-         {
-            result = (T)bean.getAnnotation(annotation);
-         }
-
-         return result;
-      }
-
-      private Class getComponentClass()
-      {
-         try
-         {
-            return loader.loadClass(getComponentClassName());
-         } catch (ClassNotFoundException e)
-         {
-            throw new RuntimeException("Failed to load component class "+ getComponentClassName()+". Loader:" + this.loader);
-         }
-      }
-   }
-
-   /**
-    * Adopts an EJB deployment to a {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeployment}
-    */
-   private class WebServiceDeploymentAdapter implements WebServiceDeployment
-   {
-      private List<WebServiceDeclaration> endpoints = new ArrayList<WebServiceDeclaration>();
-
-      public List<WebServiceDeclaration> getServiceEndpoints()
-      {
-         return endpoints;
-      }
-
-      public List<WebServiceDeclaration> getEndpoints()
-      {
-         return endpoints;
-      }
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPostJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -1,38 +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;
-
-//$Id: $
-
-import org.jboss.web.deployers.WarDeployment;
-
-/**
- * @author Heiko.Braun at jboss.com
- */
-public class WebServiceDeployerPostJSE extends AbstractWebServiceDeployer
-{
-   public WebServiceDeployerPostJSE()
-   {
-      // Output from the TomcatDeployer
-      addInput(WarDeployment.class);
-   }
-}
\ No newline at end of file

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPreJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPreJSE.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceDeployerPreJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.jboss50;
-
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
-
-//$Id: WebServiceDeployerJSE.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
-
-/**
- * This web service deployer for JSE
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 24-Apr-2007
- */
-public class WebServiceDeployerPreJSE extends AbstractWebServiceDeployer
-{
-   private int relOrderWar;
-
-   public WebServiceDeployerPreJSE()
-   {
-      addInput(JBossWebMetaData.class);
-   }
-
-   public void setRelOrderWar(int relOrderWar)
-   {
-      this.relOrderWar = relOrderWar;
-   }
-
-   @Override
-   public int getRelativeOrder()
-   {
-      return relOrderWar - 1;
-   }
-}

Deleted: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceMainDeployer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceMainDeployer.java	2008-06-17 13:03:44 UTC (rev 74687)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/WebServiceMainDeployer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.wsf.container.jboss50;
-
-//$Id: WebServiceMainDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
-
-/**
- * The main web service deployer
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 24-Apr-2007
- */
-public class WebServiceMainDeployer extends AbstractWebServiceDeployer
-{
-   private int relOrderJSE;
-   private int relOrderEJB;
-   
-   public void setRelOrderEJB(int relOrderEJB)
-   {
-      this.relOrderEJB = relOrderEJB;
-   }
-   
-   public void setRelOrderJSE(int relOrderJSE)
-   {
-      this.relOrderJSE = relOrderJSE;
-   }
-   
-   @Override
-   public int getRelativeOrder()
-   {
-      return Math.max(relOrderEJB, relOrderJSE) + 1;
-   }
-}

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,129 @@
+/*
+ * 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.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.spi.WSFRuntimeLocator;
+import org.jboss.wsf.spi.deployment.*;
+import org.jboss.wsf.container.jboss50.deployer.DeployerHook;
+
+//$Id$
+
+
+/**
+ * An abstract web service deployer.
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @author Heiko.Braun at jboss.com
+ * 
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHook implements DeployerHook
+{
+   // provide logging
+   protected final Logger log = Logger.getLogger(getClass());
+
+   protected String runtimeName;
+   private WSFRuntime wsfRuntime;
+
+   private DeploymentModelFactory deploymentModelFactory;
+
+   public WSFRuntime getWsfRuntime()
+   {
+      if(null == wsfRuntime)
+      {
+         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+         wsfRuntime = spiProvider.getSPI(WSFRuntimeLocator.class).locateRuntime(runtimeName);
+      }
+      
+      return wsfRuntime;
+   }
+
+   public void setWsfRuntime(WSFRuntime wsfRuntime)
+   {
+      this.wsfRuntime = wsfRuntime;
+   }
+
+   public void setRuntimeName(String runtimeName)
+   {
+      this.runtimeName = runtimeName;
+   }
+
+   public DeploymentModelFactory getDeploymentModelFactory()
+   {
+      if(null == deploymentModelFactory)
+      {
+         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+         deploymentModelFactory = spiProvider.getSPI(DeploymentModelFactory.class);
+      }
+
+      return deploymentModelFactory;
+   }
+
+   public ArchiveDeployment newDeployment(DeploymentUnit unit)
+   {
+      try
+      {
+         DeploymentModelFactory factory = getDeploymentModelFactory();
+         ArchiveDeployment dep = (ArchiveDeployment)factory.newDeployment(unit.getSimpleName(), unit.getClassLoader());
+         if (unit.getParent() != null)
+         {
+            DeploymentUnit parentUnit = unit.getParent();
+            ArchiveDeployment parentDep = (ArchiveDeployment)factory.newDeployment(parentUnit.getSimpleName(), parentUnit.getClassLoader());
+            dep.setParent(parentDep);
+         }
+         return dep;
+      }
+      catch (Exception ex)
+      {
+         throw new WSFDeploymentException("Cannot load spi.deployment.Deployment class", ex);
+      }
+   }
+
+   public Endpoint newEndpoint(String targetBean)
+   {
+      try
+      {
+         return getDeploymentModelFactory().newEndpoint(targetBean);
+      }
+      catch (Exception ex)
+      {
+         throw new WSFDeploymentException("Cannot load spi.deployment.Endpoint class", ex);
+      }
+   }
+
+   /** Return true if this deployment should be ignored
+    */
+   public boolean ignoreDeployment(DeploymentUnit unit)
+   {
+      String name = unit.getName();
+      return (name.startsWith("jboss:id=") && name.indexOf("service=jacc") > 0);
+   }
+
+   /** Get the deployment type this deployer can handle
+    */
+   public abstract Deployment.DeploymentType getDeploymentType();
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.wsf.spi.deployment.Deployment;
+import static org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+
+//$Id$
+
+/**
+ * An abstract deployer for EJB Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHookEJB extends ArchiveDeployerHook
+{
+   public void deploy(DeploymentUnit unit) throws DeploymentException
+   {
+      if(!ignoreDeployment(unit) && isWebServiceDeployment(unit))
+      {
+         super.deploy(unit); // Calls create 
+
+         Deployment dep = unit.getAttachment(Deployment.class);
+         if(null==dep || DeploymentState.CREATED != dep.getState())
+            throw new DeploymentException("Create step failed");
+
+         // execute the 'start' step
+         getWsfRuntime().start(dep); 
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,67 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import java.util.List;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.transport.HttpSpec;
+
+/**
+ * An abstract deployer for JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHookJSE extends ArchiveDeployerHook
+{
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+      boolean isGenerated = Boolean.TRUE.equals(unit.getAttachment(HttpSpec.PROPERTY_GENERATED_WEBAPP));
+      return webMetaData != null && isGenerated == false;
+   }
+
+   protected String getTargetBean(ServletMetaData servlet)
+   {
+      String endpointClass = servlet.getServletClass();
+      List<ParamValueMetaData> initParams = servlet.getInitParam();
+      if (initParams != null)
+      {
+         for (ParamValueMetaData param : initParams)
+         {
+            if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(param.getParamName()))
+            {
+               endpointClass = param.getParamValue();
+               break;
+            }
+         }
+      }
+      return endpointClass;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,70 @@
+/*
+ * 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.deployer;
+
+// $Id$
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * This deployer that calls the registered DeployerHooks
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 24-Apr-2007
+ */
+public abstract class AbstractWebServiceDeployer<T> extends AbstractComponentDeployer
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(AbstractWebServiceDeployer.class);
+
+   protected List<DeployerHook> deployerHooks = new LinkedList<DeployerHook>();
+
+   public void addDeployerHook(DeployerHook deployer)
+   {
+      log.debug("Add deployer hook: " + deployer);
+      deployerHooks.add(deployer);
+   }
+
+   public void removeDeployerHook(DeployerHook deployer)
+   {
+      log.debug("Remove deployer hook: " + deployer);
+      deployerHooks.remove(deployer);
+   }
+
+   @Override
+   public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+   {
+      for (DeployerHook deployer : deployerHooks) deployer.deploy(unit);
+   }
+
+   @Override
+   public void internalUndeploy(DeploymentUnit unit)
+   {
+      for (DeployerHook deployer : deployerHooks) deployer.undeploy(unit);
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,170 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import java.net.URL;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+import org.jboss.xb.binding.ObjectModelFactory;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.w3c.dom.Element;
+
+/**
+ * An abstract web service deployer.
+ * <pre>
+ *    deploy(unit)
+ *      if(isWebServiceDeployment)
+ *        dep = createDeployment(unit)
+ *        create(dep)
+ *        start(dep)
+ *
+ *    undeploy(unit)
+ *      dep = getDeployment(unit) 
+ *      stop(dep)
+ *      destroy(dep)
+ * </pre>
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @author Heiko.Braun at jboss.com
+ * 
+ * @since 25-Apr-2007
+ */
+public abstract class ArchiveDeployerHook extends AbstractDeployerHook
+{
+   
+   /**
+    * Executes the 'create' step only. <br/>
+    * Subclasses need to take care that the 'start' step is executed as well.          
+    */
+   public void deploy(DeploymentUnit unit) throws DeploymentException
+   {
+      if (!ignoreDeployment(unit) && isWebServiceDeployment(unit))
+      {
+         log.debug("deploy: " + unit.getName());
+
+         Deployment dep = getDeployment(unit);
+         if (dep == null)
+         {
+            dep = createDeployment(unit);
+            dep.addAttachment(DeploymentUnit.class, unit);
+         }
+
+         if(Deployment.DeploymentState.UNDEFINED == dep.getState())
+         {
+            getWsfRuntime().create(dep); 
+            unit.addAttachment(Deployment.class, dep);
+         }
+         else
+         {
+            throw new IllegalArgumentException("Cannot process Deployment in state " + dep.getState() + ": " + dep);
+         }
+      }
+   }
+
+   /**
+    * Executes the stop() and destroy() lifecycles
+    * @param unit
+    */
+   public void undeploy(DeploymentUnit unit)
+   {
+      if (ignoreDeployment(unit))
+         return;
+
+      Deployment dep = getDeployment(unit);
+      if (dep != null)
+      {
+         log.debug("undeploy: " + unit.getName());
+         getWsfRuntime().stop(dep);
+         getWsfRuntime().destroy(dep);
+      }
+   }
+
+   /** Depending on the type of deployment, this method should return true
+    *  if the deployment contains web service endpoints.
+    */
+   public abstract boolean isWebServiceDeployment(DeploymentUnit unit);
+
+   /** Create the Deployment for a given DeploymentUnit
+    */
+   public abstract Deployment createDeployment(DeploymentUnit unit);
+
+   /** Get the Deployment for a given DeploymentUnit
+    */
+   public Deployment getDeployment(DeploymentUnit unit)
+   {
+      Deployment dep = unit.getAttachment(Deployment.class);
+      return (dep != null && dep.getType() == getDeploymentType() ? dep : null);
+   }
+
+   /** Unmrashall the webservices.xml if there is one
+    */
+   protected WebservicesMetaData getWebservicesMetaData(DeploymentUnit unit)
+   {
+      WebservicesMetaData wsMetaData = unit.getAttachment(WebservicesMetaData.class);
+      UnifiedVirtualFile vfWebservices = getWebservicesFile(unit);
+      if (wsMetaData == null && vfWebservices != null)
+      {
+         try
+         {
+            URL wsURL = vfWebservices.toURL();
+            Element root = DOMUtils.parse(wsURL.openStream());
+            String namespaceURI = root.getNamespaceURI();
+            if (namespaceURI.equals("http://java.sun.com/xml/ns/j2ee"))
+            {
+               Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
+               ObjectModelFactory factory = new WebservicesFactory(wsURL);
+               wsMetaData = (WebservicesMetaData)unmarshaller.unmarshal(wsURL.openStream(), factory, null);
+               unit.addAttachment(WebservicesMetaData.class, wsMetaData);
+            }
+         }
+         catch (Exception ex)
+         {
+            throw new WSFDeploymentException(ex);
+         }
+      }
+      return wsMetaData;
+   }
+
+   private UnifiedVirtualFile getWebservicesFile(DeploymentUnit unit)
+   {
+      UnifiedVirtualFile wsFile = null;
+      if (unit instanceof VFSDeploymentUnit)
+      {
+         VirtualFile vf = ((VFSDeploymentUnit)unit).getMetaDataFile("webservices.xml");
+         wsFile = vf != null ? new VirtualFileAdaptor(vf) : null;
+      }
+      return wsFile;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,40 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * An interface for all web service deployer hooks 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 24-Apr-2007
+ */
+public interface DeployerHook
+{
+   void deploy(DeploymentUnit unit) throws DeploymentException;
+
+   void undeploy(DeploymentUnit unit);
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,61 @@
+/*
+ * 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.deployer;
+
+// $Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * @author Thomas.Diesler at jboss.com
+ */
+public abstract class DeployerHookPostJSE extends AbstractDeployerHookJSE
+{
+   /**
+    * The deployment should be created in phase 1.
+    */
+   public Deployment createDeployment(DeploymentUnit unit)
+   {
+      Deployment dep = unit.getAttachment(Deployment.class);
+      if (null == dep)
+         throw new IllegalStateException("spi.Deployment missing. It should be created in Phase 1");
+
+      return dep;
+   }
+
+   /**
+    * A phase 2 deployer hook needs to reject first-place
+    * JSE deployments and wait for those that are re-written.
+    * We rely on the fact that spi.Deployment is created in phase 1.    
+    */
+   @Override
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      if (super.isWebServiceDeployment(unit) == false)
+         return false;
+
+      Deployment deployment = unit.getAttachment(Deployment.class);
+      return deployment != null;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,112 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer JAXRPC EJB21 Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXRPCDeployerHookEJB21 extends AbstractDeployerHookEJB
+{
+   /** Get the deployemnt type this deployer can handle
+    */
+   public DeploymentType getDeploymentType()
+   {
+      return DeploymentType.JAXRPC_EJB21;
+   }
+
+   @Override
+   public Deployment createDeployment(DeploymentUnit unit)
+   {
+      ArchiveDeployment dep = newDeployment(unit);
+      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+      dep.setRuntimeClassLoader(unit.getClassLoader());
+      dep.setType(getDeploymentType());
+
+      Service service = dep.getService();
+
+      JBossMetaData jbmd = unit.getAttachment(JBossMetaData.class);
+      if (jbmd == null)
+         throw new IllegalStateException("Deployment unit does not contain application meta data");
+
+      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+      if (wsMetaData == null)
+         throw new IllegalStateException("Deployment unit does not contain webservices meta data");
+
+      WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+      if (webServiceDeployment == null)
+         throw new IllegalStateException("Deployment unit does not contain webServiceDeployment");
+      
+      // Copy the attachments
+      dep.addAttachment(WebservicesMetaData.class, wsMetaData);
+      dep.addAttachment(JBossMetaData.class, jbmd);
+      dep.addAttachment(WebServiceDeployment.class, webServiceDeployment);
+
+      for (WebserviceDescriptionMetaData wsd : wsMetaData.getWebserviceDescriptions())
+      {
+         for (PortComponentMetaData pcmd : wsd.getPortComponents())
+         {
+            String ejbLink = pcmd.getEjbLink();
+            if (ejbLink == null)
+               throw new IllegalStateException("ejb-link cannot be null");
+
+            JBossEnterpriseBeanMetaData beanMetaData = jbmd.getEnterpriseBean(ejbLink);
+            if (beanMetaData == null)
+               throw new IllegalStateException("Cannot obtain bean meta data for: " + ejbLink);
+
+            String ejbClass = beanMetaData.getEjbClass();
+
+            // Create the endpoint
+            Endpoint ep = newEndpoint(ejbClass);
+            ep.setShortName(ejbLink);
+            service.addEndpoint(ep);
+         }
+      }
+      return dep;
+   }
+
+   @Override
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+      return wsMetaData != null && unit.getAllMetaData(JBossMetaData.class).size() > 0;
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,75 @@
+/*
+ * 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.deployer;
+
+// $Id$
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+import static org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+
+/**
+ * A deployer JAXRPC JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXRPCDeployerHookPostJSE extends DeployerHookPostJSE
+{
+
+   /**
+    * Expects the 'create' step to be executed in
+    * {@link org.jboss.wsf.container.jboss50.deployer.JAXRPCDeployerHookPreJSE}
+    * and executes the 'start' step.
+    *
+    */
+   public void deploy(DeploymentUnit unit) throws DeploymentException
+   {
+      if (!ignoreDeployment(unit) && isWebServiceDeployment(unit))
+      {
+         Deployment dep = getDeployment(unit);
+         if(null==dep || DeploymentState.CREATED != dep.getState())
+            throw new DeploymentException("Create step is missing");
+
+         // execute the 'start' step
+         getWsfRuntime().start(dep);          
+      }
+   }
+
+   /**
+    * Get the deployment type this deployer can handle
+    */
+   public Deployment.DeploymentType getDeploymentType()
+   {
+      return Deployment.DeploymentType.JAXRPC_JSE;
+   }
+
+   @Override
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+      return (wsMetaData!=null && super.isWebServiceDeployment(unit));
+   }
+   
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,129 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.metadata.web.jboss.JBossServletMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer JAXRPC JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXRPCDeployerHookPreJSE extends AbstractDeployerHookJSE
+{
+
+   public void undeploy(DeploymentUnit unit)
+   {
+      // the JAXRPCDeployerHookPostJSE deals with undeployments
+   }
+
+   /** Get the deployemnt type this deployer can handle
+    */
+   public DeploymentType getDeploymentType()
+   {
+      return DeploymentType.JAXRPC_JSE;
+   }
+
+   /**
+    * Create an endpoint for every servlet-link in webservices.xml
+    */
+   @Override
+   public Deployment createDeployment(DeploymentUnit unit)
+   {
+      ArchiveDeployment dep = newDeployment(unit);
+      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+      dep.setRuntimeClassLoader(null); 
+      dep.setType(getDeploymentType());
+
+      Service service = dep.getService();
+
+      JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+      if (webMetaData == null)
+         throw new IllegalStateException("Deployment unit does not contain web meta data");
+
+      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+      if (wsMetaData == null)
+         throw new IllegalStateException("Deployment unit does not contain webservices meta data");
+
+      // Copy the attachments
+      dep.addAttachment(WebservicesMetaData.class, wsMetaData);
+      dep.addAttachment(JBossWebMetaData.class, webMetaData);
+
+      for (WebserviceDescriptionMetaData wsd : wsMetaData.getWebserviceDescriptions())
+      {
+         for (PortComponentMetaData pcmd : wsd.getPortComponents())
+         {
+            String servletLink = pcmd.getServletLink();
+            if (servletLink == null)
+               throw new IllegalStateException("servlet-link cannot be null");
+
+            ServletMetaData servlet = getServletForName(webMetaData, servletLink);
+            String targetBean = getTargetBean(servlet);
+
+            // Create the endpoint
+            Endpoint ep = newEndpoint(targetBean);
+            ep.setShortName(servletLink);
+            service.addEndpoint(ep);
+         }
+      }
+
+      return dep;
+   }
+
+   private ServletMetaData getServletForName(JBossWebMetaData wmd, String servletLink)
+   {
+      for (JBossServletMetaData servlet : wmd.getServlets())
+      {
+         if (servletLink.equals(servlet.getName()))
+         {
+            return servlet;
+         }
+      }
+      throw new IllegalStateException("Cannot find servlet for link: " + servletLink);
+   }
+
+   @Override
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      if (super.isWebServiceDeployment(unit) == false)
+         return false;
+
+      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+      return wsMetaData != null;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,131 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.wsf.container.jboss50.invocation.InvocationHandlerEJB3;
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+import java.util.Iterator;
+
+/**
+ * A deployer JAXWS EJB3 Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXWSDeployerHookEJB3 extends AbstractDeployerHookEJB
+{
+   /** Get the deployemnt type this deployer can handle
+    */
+   public DeploymentType getDeploymentType()
+   {
+      return DeploymentType.JAXWS_EJB3;
+   }
+
+   @Override
+   public Deployment createDeployment(DeploymentUnit unit)
+   {
+      ArchiveDeployment dep = newDeployment(unit);
+      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+      dep.setRuntimeClassLoader(unit.getClassLoader());
+      dep.setType(getDeploymentType());
+
+      Service service = dep.getService();
+
+      WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+      if (webServiceDeployment == null)
+         throw new IllegalStateException("Deployment unit does not contain webServiceDeployment");
+
+      // Copy the attachments
+      dep.addAttachment(WebServiceDeployment.class, webServiceDeployment);
+
+      Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+      while (it.hasNext())
+      {
+         WebServiceDeclaration container = it.next();
+         if (isWebServiceBean(container))
+         {
+            String ejbName = container.getComponentName();
+            String epBean = container.getComponentClassName();
+
+            // Create the endpoint
+            Endpoint ep = newEndpoint(epBean);
+            ep.setShortName(ejbName);
+
+            String containName = container.getContainerName();
+            if(null==containName)
+               throw new IllegalArgumentException("Target container name not set");
+            ep.setProperty(InvocationHandlerEJB3.CONTAINER_NAME, containName);
+
+            service.addEndpoint(ep);
+         }
+      }
+
+      return dep;
+   }
+
+   @Override
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+      if (null == webServiceDeployment )
+         return false;
+
+      boolean isWebServiceDeployment = false;
+
+      Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+      while (it.hasNext())
+      {
+         WebServiceDeclaration container = it.next();
+         if (isWebServiceBean(container))
+         {
+            isWebServiceDeployment = true;
+            break;
+         }
+      }
+
+      return isWebServiceDeployment;
+   }
+
+   private boolean isWebServiceBean(WebServiceDeclaration container)
+   {
+      boolean isWebServiceBean = false;
+      boolean isWebService = container.getAnnotation(WebService.class) != null;
+      boolean isWebServiceProvider = container.getAnnotation(WebServiceProvider.class) != null;
+      isWebServiceBean = isWebService || isWebServiceProvider;
+
+      return isWebServiceBean;
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,77 @@
+/*
+ * 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.deployer;
+
+// $Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+import static org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * @version $Revision$
+ */
+public class JAXWSDeployerHookPostJSE extends DeployerHookPostJSE
+{
+
+   /**
+    * Expects the 'create' step to be executed in
+    * {@link org.jboss.wsf.container.jboss50.deployer.JAXWSDeployerHookPreJSE} and
+    * executes the 'start' step.
+    *
+    */
+   public void deploy(DeploymentUnit unit) throws DeploymentException
+   {
+      if (!ignoreDeployment(unit) && isWebServiceDeployment(unit))
+      {
+         Deployment dep = getDeployment(unit);
+         if (null == dep || DeploymentState.CREATED != dep.getState())
+            throw new DeploymentException("Create step failed");
+
+         // execute the 'start' step
+         getWsfRuntime().start(dep); 
+      }
+   }
+
+   /**
+    * Get the deployment type this deployer can handle
+    */
+   public Deployment.DeploymentType getDeploymentType()
+   {
+      return Deployment.DeploymentType.JAXWS_JSE;
+   }
+
+   /**
+    * Reject JAX-RPC deployments.
+    *
+    * @param unit
+    * @return
+    */
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);// JAX-RPC artefact
+      return (wsMetaData == null && super.isWebServiceDeployment(unit));
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,143 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A deployer JAXWS JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXWSDeployerHookPreJSE extends AbstractDeployerHookJSE
+{
+
+
+   public void undeploy(DeploymentUnit unit)
+   {
+      // the  JAXWSDeployerHookPostJSE deals with undeployment
+   }
+
+   /** Get the deployment type this deployer can handle
+    */
+   public DeploymentType getDeploymentType()
+   {
+      return DeploymentType.JAXWS_JSE;
+   }
+
+   @Override
+   public Deployment createDeployment(DeploymentUnit unit)
+   {
+      ArchiveDeployment dep = newDeployment(unit);
+      dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));     
+      dep.setType(getDeploymentType());
+
+      Service service = dep.getService();
+
+      JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+      if (webMetaData == null)
+         throw new IllegalStateException("Deployment unit does not contain web meta data");
+
+      // Copy the attachments
+      dep.addAttachment(JBossWebMetaData.class, webMetaData);
+
+      List<ServletMetaData> servlets = getRelevantServlets(webMetaData, unit.getClassLoader());
+      for (ServletMetaData servlet : servlets)
+      {
+         String servletName = servlet.getName();
+         String targetBean = getTargetBean(servlet);
+
+         // Create the endpoint
+         Endpoint ep = newEndpoint(targetBean);
+         ep.setShortName(servletName);
+         service.addEndpoint(ep);
+      }
+
+      return dep;
+   }
+
+   @Override
+   public boolean isWebServiceDeployment(DeploymentUnit unit)
+   {
+      if (super.isWebServiceDeployment(unit) == false)
+         return false;
+
+      boolean isWebServiceDeployment = false;
+      try
+      {
+         JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+         List<ServletMetaData> servlets = getRelevantServlets(webMetaData, unit.getClassLoader());
+         isWebServiceDeployment = servlets.size() > 0;
+      }
+      catch (Exception ex)
+      {
+         log.error("Cannot process web deployment", ex);
+      }
+
+      return isWebServiceDeployment;
+   }
+
+   private List<ServletMetaData> getRelevantServlets(JBossWebMetaData webMetaData, ClassLoader loader)
+   {
+      List<ServletMetaData> servlets = new ArrayList<ServletMetaData>();
+      for (ServletMetaData servlet : webMetaData.getServlets())
+      {
+         String servletClassName = getTargetBean(servlet);
+
+         // Skip JSPs
+         if (servletClassName == null || servletClassName.length() == 0)
+            continue;
+
+         try
+         {
+            Class<?> servletClass = loader.loadClass(servletClassName.trim());
+            boolean isWebService = servletClass.isAnnotationPresent(WebService.class);
+            boolean isWebServiceProvider = servletClass.isAnnotationPresent(WebServiceProvider.class);
+            if (isWebService || isWebServiceProvider)
+               servlets.add(servlet);
+         }
+         catch (ClassNotFoundException ex)
+         {
+            log.warn("Cannot load servlet class: " + servletClassName);
+            continue;
+         }
+      }
+      return servlets;
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.deployer;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb.deployers.EjbDeployment;
+import org.jboss.ejb.deployers.MergedJBossMetaDataDeployer;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.logging.Logger;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+//$Id$
+
+/**
+ * This web service deployer for EJB. Adopts EJB deployments to
+ * {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration} an passes it to a chain of
+ * {@link org.jboss.wsf.container.jboss50.deployer.DeployerHook}'s.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @author Heiko.Braun at jboss.com
+ *
+ * @since 24-Apr-2007
+ */
+public class WebServiceDeployerEJB extends AbstractWebServiceDeployer
+{
+   private static final Logger log = Logger.getLogger(WebServiceDeployerEJB.class);
+
+   public WebServiceDeployerEJB()
+   {
+      addInput(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);   
+   
+      addInput(EjbDeployment.class);
+
+      // Input for the TomcatDeployer
+      addOutput(JBossWebMetaData.class);
+      
+      addOutput(WebServiceDeployment.class);
+
+   }
+
+   @Override
+   public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+   {
+      JBossMetaData beans = (JBossMetaData)unit.getAttachment(
+        MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME
+      );
+
+      if(beans!=null)
+      {
+         WebServiceDeploymentAdapter wsDeployment = new WebServiceDeploymentAdapter();         
+         Iterator<JBossEnterpriseBeanMetaData> iterator = beans.getEnterpriseBeans().iterator();
+         while(iterator.hasNext())
+         {
+            JBossEnterpriseBeanMetaData ejb = iterator.next();
+            if(ejb.getEjbClass()!=null)
+            	wsDeployment.getEndpoints().add( new WebServiceDeclarationAdapter(ejb, unit.getClassLoader()) );
+            else
+               log.warn("Ingore ejb deployment with null classname: " + ejb);
+         }
+
+         unit.addAttachment(WebServiceDeployment.class, wsDeployment);
+
+         super.internalDeploy(unit);
+      }
+   }
+
+   @Override
+   public void internalUndeploy(DeploymentUnit unit)
+   {
+      super.internalUndeploy(unit);
+   }
+
+   /**
+    * Adopts EJB3 bean meta data to a {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration}
+    */
+   private class WebServiceDeclarationAdapter implements WebServiceDeclaration
+   {
+
+      private JBossEnterpriseBeanMetaData ejbMetaData;
+      private ClassLoader loader;      
+
+      public WebServiceDeclarationAdapter(JBossEnterpriseBeanMetaData  ejbMetaData, ClassLoader loader)
+      {
+         this.ejbMetaData = ejbMetaData;
+         this.loader = loader;
+      }
+
+      public String getContainerName()
+      {
+         return ejbMetaData.determineContainerName();
+      }
+
+      public String getComponentName()
+      {
+         return ejbMetaData.getName();
+      }
+
+      public String getComponentClassName()
+      {
+         return ejbMetaData.getEjbClass();
+      }
+
+      public <T extends Annotation> T getAnnotation(Class<T> annotation)
+      {
+         Class bean = getComponentClass();
+         T result = null;
+         if(bean.isAnnotationPresent(annotation))
+         {
+            result = (T)bean.getAnnotation(annotation);
+         }
+
+         return result;
+      }
+
+      private Class getComponentClass()
+      {
+         try
+         {
+            return loader.loadClass(getComponentClassName());
+         } catch (ClassNotFoundException e)
+         {
+            throw new RuntimeException("Failed to load component class "+ getComponentClassName()+". Loader:" + this.loader);
+         }
+      }
+   }
+
+   /**
+    * Adopts an EJB deployment to a {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeployment} 
+    */
+   private class WebServiceDeploymentAdapter implements WebServiceDeployment
+   {
+      private List<WebServiceDeclaration> endpoints = new ArrayList<WebServiceDeclaration>();
+
+      public List<WebServiceDeclaration> getServiceEndpoints()
+      {
+         return endpoints;  
+      }
+
+      public List<WebServiceDeclaration> getEndpoints()
+      {
+         return endpoints;
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,38 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+import org.jboss.web.deployers.WarDeployment;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ */
+public class WebServiceDeployerPostJSE extends AbstractWebServiceDeployer
+{
+   public WebServiceDeployerPostJSE()
+   {
+      // Output from the TomcatDeployer
+      addInput(WarDeployment.class);
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.jboss50.deployer;
+
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+
+//$Id$
+
+/**
+ * This web service deployer for JSE
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 24-Apr-2007
+ */
+public class WebServiceDeployerPreJSE extends AbstractWebServiceDeployer
+{
+   private int relOrderWar;
+
+   public WebServiceDeployerPreJSE()
+   {
+      addInput(JBossWebMetaData.class);
+   }
+
+   public void setRelOrderWar(int relOrderWar)
+   {
+      this.relOrderWar = relOrderWar;
+   }
+
+   @Override
+   public int getRelativeOrder()
+   {
+      return relOrderWar - 1;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,52 @@
+/*
+ * 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.deployer;
+
+//$Id$
+
+/**
+ * The main web service deployer
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 24-Apr-2007
+ */
+public class WebServiceMainDeployer extends AbstractWebServiceDeployer
+{
+   private int relOrderJSE;
+   private int relOrderEJB;
+   
+   public void setRelOrderEJB(int relOrderEJB)
+   {
+      this.relOrderEJB = relOrderEJB;
+   }
+   
+   public void setRelOrderJSE(int relOrderJSE)
+   {
+      this.relOrderJSE = relOrderJSE;
+   }
+   
+   @Override
+   public int getRelativeOrder()
+   {
+      return Math.max(relOrderEJB, relOrderJSE) + 1;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,65 @@
+/*
+ * 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.deployment;
+
+// $Id$
+
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+
+/**
+ * Determines the correct runtime loader for per deployment type
+ * and makes it available through the {@link Deployment}.
+ *
+ * @author Heiko.Braun at jboss.com
+ */
+public class RuntimeLoaderDeploymentAspect extends DeploymentAspect
+{
+   public void start(Deployment dep, WSFRuntime runtime)
+   {
+      // EJB3 endpoints
+      if (dep.getAttachment(WebServiceDeployment.class) != null)
+      {
+         dep.setRuntimeClassLoader(dep.getInitialClassLoader());
+      }
+      // EJB21 endpoints
+      else if (dep.getAttachment(JBossMetaData.class) != null)
+      {
+         dep.setRuntimeClassLoader(dep.getInitialClassLoader());
+      }
+      // JSE endpoints
+      else if (dep.getAttachment(JBossWebMetaData.class) != null)
+      {
+         JBossWebMetaData webMetaData = dep.getAttachment(JBossWebMetaData.class);
+         ClassLoader classLoader = webMetaData.getContextLoader();
+         dep.setRuntimeClassLoader(classLoader);
+      }
+      else
+      {
+         throw new IllegalArgumentException("Unable to determine runtime loader");
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,114 @@
+/*
+ * 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.deployment.metadata;
+
+//$Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.Ejb3Deployment;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.spi.transport.HttpSpec;
+
+import java.net.URL;
+
+/**
+ * Build container independent deployment info.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class ContainerMetaDataAdapter
+{
+   // logging support
+   private static Logger log = Logger.getLogger(ContainerMetaDataAdapter.class);
+
+   private EJBArchiveMetaDataAdapterEJB3 ejbMetaDataAdapterEJB3 = new EJBArchiveMetaDataAdapterEJB3();
+   private EJBArchiveMetaDataAdapterEJB21 ejbMetaDataAdapterEJB21 = new EJBArchiveMetaDataAdapterEJB21();
+   private JSEArchiveMetaDataAdapter webMetaDataAdapter = new JSEArchiveMetaDataAdapter();
+
+   public void setEjbMetaDataAdapterEJB21(EJBArchiveMetaDataAdapterEJB21 adapter)
+   {
+      this.ejbMetaDataAdapterEJB21 = adapter;
+   }
+
+   public void setEjbMetaDataAdapterEJB3(EJBArchiveMetaDataAdapterEJB3 adapter)
+   {
+      this.ejbMetaDataAdapterEJB3 = adapter;
+   }
+
+   public void setWebMetaDataAdapter(JSEArchiveMetaDataAdapter adapter)
+   {
+      this.webMetaDataAdapter = adapter;
+   }
+
+   public void buildContainerMetaData(Deployment dep, DeploymentUnit unit)
+   {
+      dep.addAttachment(DeploymentUnit.class, unit);
+      
+      try
+      {
+         // JSE endpoints
+         if (unit.getAttachment(JBossWebMetaData.class) != null)
+         {
+            JSEArchiveMetaData webMetaData = webMetaDataAdapter.buildMetaData(dep, unit);
+            if (webMetaData != null)
+               dep.addAttachment(JSEArchiveMetaData.class, webMetaData);
+
+            if (dep instanceof ArchiveDeployment)
+            {
+               URL webURL = ((ArchiveDeployment)dep).getRootFile().toURL();
+               dep.setProperty(HttpSpec.PROPERTY_WEBAPP_URL, webURL);
+            }
+         }
+         
+         // EJB3 endpoints
+         else if (unit.getAttachment(Ejb3Deployment.class) != null)
+         {
+            EJBArchiveMetaData ejbMetaData = ejbMetaDataAdapterEJB3.buildMetaData(dep, unit);
+            if (ejbMetaData != null)
+               dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
+         }
+         
+         // EJB21 endpoints
+         else if (unit.getAttachment(JBossMetaData.class) != null)
+         {
+            EJBArchiveMetaData ejbMetaData = ejbMetaDataAdapterEJB21.buildMetaData(dep, unit);
+            if (ejbMetaData != null)
+               dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
+         }
+      }
+      catch (RuntimeException rte)
+      {
+         throw rte;
+      }
+      catch (Exception ex)
+      {
+         throw new IllegalStateException(ex);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,55 @@
+/*
+ * 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.deployment.metadata;
+
+//$Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.WSFRuntime;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ContainerMetaDataDeploymentAspect extends DeploymentAspect
+{
+   private ContainerMetaDataAdapter metaDataAdapter = new ContainerMetaDataAdapter();
+
+   public void setMetaDataAdapter(ContainerMetaDataAdapter adapter)
+   {
+      this.metaDataAdapter = adapter;
+   }
+
+   @Override
+   public void create(Deployment dep, WSFRuntime runtime)
+   {
+      DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
+      if (unit == null)
+         throw new IllegalStateException("Cannot obtain deployment unit");
+
+      metaDataAdapter.buildContainerMetaData(dep, unit);
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,176 @@
+/*
+ * 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.deployment.metadata;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.metadata.javaee.spec.PortComponent;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBSecurityMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.MDBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.SLSBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
+
+/**
+ * Build container independent application meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class EJBArchiveMetaDataAdapterEJB21
+{
+   // logging support
+   private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB21.class);
+
+   public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
+   {
+      JBossMetaData jbossMetaData = unit.getAttachment(JBossMetaData.class);
+      dep.addAttachment(JBossMetaData.class, jbossMetaData);
+      
+      EJBArchiveMetaData ejbMetaData = new EJBArchiveMetaData();
+      buildEnterpriseBeansMetaData(ejbMetaData, jbossMetaData);
+      buildWebservicesMetaData(ejbMetaData, jbossMetaData);
+      ejbMetaData.setSecurityDomain(jbossMetaData.getSecurityDomain());
+      
+      return ejbMetaData;
+   }
+
+   private void buildEnterpriseBeansMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
+   {
+      List<EJBMetaData> targetBeans = new ArrayList<EJBMetaData>();
+      JBossEnterpriseBeansMetaData sourceBeans = jbossMetaData.getEnterpriseBeans();
+      Iterator<JBossEnterpriseBeanMetaData> it = sourceBeans.iterator();
+      while (it.hasNext())
+      {
+         JBossEnterpriseBeanMetaData bmd = it.next();
+         buildBeanMetaData(targetBeans, bmd);
+      }
+      ejbMetaData.setEnterpriseBeans(targetBeans);
+   }
+
+   private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
+   {
+      WebservicesMetaData webservices = jbossMetaData.getWebservices();
+      if (webservices != null)
+      {
+         String contextRoot = webservices.getContextRoot();
+         ejbMetaData.setWebServiceContextRoot(contextRoot);
+         
+         ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
+
+         WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
+         if (wsDescriptions != null)
+         {
+            if (wsDescriptions.size() > 1)
+               log.warn("Multiple <webservice-description> elements not supported");
+
+            if (wsDescriptions.size() > 0)
+            {
+               WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+               ejbMetaData.setConfigName(wsd.getConfigName());
+               ejbMetaData.setConfigFile(wsd.getConfigFile());
+            }
+         }
+      }
+   }
+
+   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
+   {
+      return new PublishLocationAdapter()
+      {
+         public String getWsdlPublishLocationByName(String name)
+         {
+            String wsdlPublishLocation = null;
+            WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+            if (wsDescriptions != null && wsDescriptions.get(name) != null)
+            {
+               WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
+               wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
+            }
+            return wsdlPublishLocation;
+         }
+      };
+   }
+
+   private EJBMetaData buildBeanMetaData(List<EJBMetaData> ejbBeans, JBossEnterpriseBeanMetaData jbossBeansMetaData)
+   {
+      EJBMetaData targetBean = null;
+      if (jbossBeansMetaData.isSession())
+      {
+         targetBean = new SLSBMetaData();
+         JBossSessionBeanMetaData jbossSessionBean = (JBossSessionBeanMetaData)jbossBeansMetaData;
+         
+         targetBean.setEjbName(jbossSessionBean.getEjbName());
+         targetBean.setEjbClass(jbossSessionBean.getEjbClass());
+         targetBean.setServiceEndpointInterface(jbossSessionBean.getServiceEndpoint());
+         targetBean.setHome(jbossSessionBean.getHome());
+         targetBean.setLocalHome(jbossSessionBean.getLocalHome());
+         targetBean.setJndiName(jbossSessionBean.determineJndiName());
+         targetBean.setLocalJndiName(jbossBeansMetaData.determineLocalJndiName());
+         
+         PortComponent pcmd = jbossSessionBean.getPortComponent();
+         if (pcmd != null)
+         {
+            targetBean.setPortComponentName(pcmd.getPortComponentName());
+            targetBean.setPortComponentURI(pcmd.getPortComponentURI());
+            EJBSecurityMetaData smd = new EJBSecurityMetaData();
+            smd.setAuthMethod(pcmd.getAuthMethod());
+            smd.setTransportGuarantee(pcmd.getTransportGuarantee());
+            smd.setSecureWSDLAccess(pcmd.getSecureWSDLAccess());
+            targetBean.setSecurityMetaData(smd);
+         }
+      }
+      else if (jbossBeansMetaData.isMessageDriven())
+      {
+         targetBean = new MDBMetaData();
+         JBossMessageDrivenBeanMetaData jbossMessageBean = (JBossMessageDrivenBeanMetaData)jbossBeansMetaData;
+         
+         targetBean.setEjbName(jbossMessageBean.getEjbName());
+         targetBean.setEjbClass(jbossMessageBean.getEjbClass());
+         //targetBean.setServiceEndpointInterface(???);
+         //targetBean.setJndiName(???);
+         targetBean.setLocalJndiName(jbossBeansMetaData.getLocalJndiName());
+         ((MDBMetaData)targetBean).setDestinationJndiName(jbossMessageBean.getDestinationJndiName());
+      }
+
+      if (targetBean != null)
+         ejbBeans.add(targetBean);
+      
+      return targetBean;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,183 @@
+/*
+ * 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.deployment.metadata;
+
+// $Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.wsf.spi.metadata.j2ee.*;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Build container independent application meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 14-Apr-2007
+ */
+public class EJBArchiveMetaDataAdapterEJB3
+{
+   // logging support
+   private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB3.class);
+
+   public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
+   {     
+      EJBArchiveMetaData umd = new EJBArchiveMetaData();
+
+      WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
+      buildEnterpriseBeansMetaData(umd, webServiceDeployment);
+
+      JBossMetaData jbMetaData = unit.getAttachment(JBossMetaData.class);
+      if (jbMetaData != null)
+         buildWebservicesMetaData(umd, jbMetaData);
+
+      return umd;
+   }
+
+   private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbMetaData)
+   {
+      WebservicesMetaData wsMetaData = jbMetaData.getWebservices();
+      if (wsMetaData != null)
+      {
+         String contextRoot = wsMetaData.getContextRoot();
+         ejbMetaData.setWebServiceContextRoot(contextRoot);
+
+         ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(wsMetaData));
+
+         WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+         if (wsDescriptions != null)
+         {
+            if (wsDescriptions.size() > 1)
+               log.warn("Multiple <webservice-description> elements not supported");
+
+            if (wsDescriptions.size() > 0)
+            {
+               WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+               ejbMetaData.setConfigName(wsd.getConfigName());
+               ejbMetaData.setConfigFile(wsd.getConfigFile());
+            }
+         }
+      }
+   }
+
+   private void buildEnterpriseBeansMetaData(EJBArchiveMetaData jarMetaData, WebServiceDeployment ejb3Deployment)
+   {
+      List<EJBMetaData> ejbMetaDataList = new ArrayList<EJBMetaData>();
+      Iterator<WebServiceDeclaration> it = ejb3Deployment.getServiceEndpoints().iterator();
+      while (it.hasNext())
+      {
+         WebServiceDeclaration container = it.next();
+
+         // TODO: Add PortComponent parsing to EJBDescriptorHandler
+         PortComponentSpec pcMetaData = container.getAnnotation(PortComponentSpec.class);
+         MessageDriven mdbMetaData = container.getAnnotation(MessageDriven.class);
+
+         EJBMetaData ejbMetaData = null;
+
+         if(mdbMetaData!=null)
+         {
+            ejbMetaData = new MDBMetaData();
+
+            ActivationConfigProperty[] props = mdbMetaData.activationConfig();
+            if (props != null)
+            {
+               String destination = getActivationProperty("destination", props);
+               if (destination != null)
+               {                  
+                  ((MDBMetaData)ejbMetaData).setDestinationJndiName(destination);
+               }
+            }
+         }
+         else
+         {
+            ejbMetaData = new SLSBMetaData();
+         }
+
+         if (ejbMetaData != null)
+         {
+            ejbMetaData.setEjbName(container.getComponentName());
+            ejbMetaData.setEjbClass(container.getComponentClassName());
+
+            if (pcMetaData != null)
+            {
+               ejbMetaData.setPortComponentName(pcMetaData.portComponentName());
+               ejbMetaData.setPortComponentURI(pcMetaData.portComponentURI());
+               EJBSecurityMetaData smd = new EJBSecurityMetaData();
+               smd.setAuthMethod(pcMetaData.authMethod());
+               smd.setTransportGuarantee(pcMetaData.transportGuarantee());
+               smd.setSecureWSDLAccess(pcMetaData.secureWSDLAccess());
+               ejbMetaData.setSecurityMetaData(smd);
+            }
+            
+            ejbMetaDataList.add(ejbMetaData);
+         }
+      }
+      
+      jarMetaData.setEnterpriseBeans(ejbMetaDataList);
+   }
+
+   private String getActivationProperty(String name, ActivationConfigProperty[] props)
+   {
+      String result = null;
+      for(ActivationConfigProperty p : props)
+      {
+         if(p.propertyName().equals(name))
+         {
+            result = p.propertyValue();
+            break;
+         }
+      }
+
+      return result;
+   }
+
+   private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
+   {
+      return new PublishLocationAdapter() {
+         public String getWsdlPublishLocationByName(String name)
+         {
+            String wsdlPublishLocation = null;
+            WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+            if (wsDescriptions != null && wsDescriptions.get(name) != null)
+            {
+               WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
+               wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
+            }
+            return wsdlPublishLocation;
+         }
+      };
+   }
+
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,206 @@
+/*
+ * 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.deployment.metadata;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.metadata.ear.spec.ModuleMetaData;
+import org.jboss.metadata.ear.spec.WebModuleMetaData;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossServletsMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSESecurityMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData.PublishLocationAdapter;
+import org.jboss.wsf.spi.metadata.j2ee.JSESecurityMetaData.JSEResourceCollection;
+
+/**
+ * Build container independent web meta data
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class JSEArchiveMetaDataAdapter
+{
+   // logging support
+   private static Logger log = Logger.getLogger(JSEArchiveMetaDataAdapter.class);
+   
+   public JSEArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
+   {
+      String contextRoot = null;
+      
+      JBossWebMetaData jbossWebMetaData = unit.getAttachment(JBossWebMetaData.class);
+      dep.addAttachment(JBossWebMetaData.class, jbossWebMetaData);
+
+      if (unit.getParent() != null)
+      {
+         JBossAppMetaData appmd = unit.getParent().getAttachment(JBossAppMetaData.class);
+         if (appmd != null)
+         {
+            ModuleMetaData module = appmd.getModule(dep.getSimpleName());
+            if (module != null)
+            {
+               WebModuleMetaData web = (WebModuleMetaData) module.getValue();
+               contextRoot = web.getContextRoot();
+            }
+         }
+      }
+      
+      if (contextRoot == null)
+         contextRoot = jbossWebMetaData.getContextRoot();
+      
+      JSEArchiveMetaData umd = new JSEArchiveMetaData();
+      umd.setContextRoot(contextRoot);
+      umd.setServletMappings(getServletMappings(jbossWebMetaData));
+      umd.setServletClassNames(getServletClassMap(jbossWebMetaData));
+      umd.setSecurityDomain(jbossWebMetaData.getSecurityDomain());
+      umd.setPublishLocationAdapter(getPublishLocationAdpater(jbossWebMetaData));
+      umd.setSecurityMetaData(getSecurityMetaData(jbossWebMetaData.getSecurityContraints()));
+
+      setConfigNameAndFile(umd, jbossWebMetaData);
+      
+      return umd;
+   }
+
+   private void setConfigNameAndFile(JSEArchiveMetaData umd, JBossWebMetaData jbossWebMetaData)
+   {
+      String configName = null;
+      String configFile = null;
+      
+      WebserviceDescriptionsMetaData wsDescriptions = jbossWebMetaData.getWebserviceDescriptions();
+      if (wsDescriptions != null && wsDescriptions.size() > 1)
+         log.warn("Multiple <webservice-description> elements not supported");
+
+      if (wsDescriptions != null && wsDescriptions.size() > 0)
+      {
+         WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+         configName = wsd.getConfigName();
+         configFile = wsd.getConfigFile();
+      }
+
+      List<ParamValueMetaData> contextParams = jbossWebMetaData.getContextParams();
+      if (contextParams != null)
+      {
+         for (ParamValueMetaData ctxParam : contextParams)
+         {
+            if (ctxParam.getParamName().equals("jbossws-config-name"))
+               configName = ctxParam.getParamValue();
+            if (ctxParam.getParamName().equals("jbossws-config-file"))
+               configFile = ctxParam.getParamValue();
+         }
+      }
+      
+      umd.setConfigName(configName);
+      umd.setConfigFile(configFile);
+   }
+
+   private PublishLocationAdapter getPublishLocationAdpater(final JBossWebMetaData wmd)
+   {
+      return new PublishLocationAdapter()
+      {
+         public String getWsdlPublishLocationByName(String name)
+         {
+            WebserviceDescriptionsMetaData wsdmd = wmd.getWebserviceDescriptions();
+            WebserviceDescriptionMetaData wsmd = wsdmd.get(name);
+            String location = null;
+            if (wsmd != null)
+               location = wsmd.getWsdlPublishLocation();
+            return location;
+         }
+      };
+   }
+
+   protected List<JSESecurityMetaData> getSecurityMetaData(final List<SecurityConstraintMetaData> securityConstraints)
+   {
+      ArrayList<JSESecurityMetaData> unifiedsecurityMetaData = new ArrayList<JSESecurityMetaData>();
+      if (securityConstraints != null)
+      {
+         for (SecurityConstraintMetaData securityMetaData : securityConstraints)
+         {
+            JSESecurityMetaData current = new JSESecurityMetaData();
+            unifiedsecurityMetaData.add(current);
+
+            current.setTransportGuarantee(securityMetaData.getTransportGuarantee().name());
+
+            WebResourceCollectionsMetaData resources = securityMetaData.getResourceCollections();
+            for (WebResourceCollectionMetaData webResource : resources)
+            {
+               JSEResourceCollection currentResource = current.addWebResource(webResource.getName());
+               for (String currentPattern : webResource.getUrlPatterns())
+               {
+                  currentResource.addPattern(currentPattern);
+               }
+            }
+         }
+      }
+      return unifiedsecurityMetaData;
+   }
+
+   private Map<String, String> getServletMappings(JBossWebMetaData wmd)
+   {
+      Map<String, String> mappings = new HashMap<String, String>();
+      List<ServletMappingMetaData> smappings = wmd.getServletMappings();
+      if (smappings != null)
+      {
+         for(ServletMappingMetaData mapping : smappings)
+         {
+            // FIXME - Add support for multiple mappings
+            mappings.put(mapping.getServletName(), mapping.getUrlPatterns().get(0));
+         }
+      }
+      return mappings;
+   }
+
+   private Map<String, String> getServletClassMap(JBossWebMetaData wmd)
+   {
+      Map<String, String> mappings = new HashMap<String, String>();
+      JBossServletsMetaData servlets = wmd.getServlets();
+      if (servlets != null)
+      {
+         for (ServletMetaData servlet : servlets)
+         {
+            // Skip JSPs
+            if (servlet.getServletClass() == null || servlet.getServletClass().length() == 0)
+               continue;
+   
+            mappings.put(servlet.getName(), servlet.getServletClass());
+         }
+      }
+      return mappings;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.deployment.tomcat;
+
+//$Id$
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.WSFRuntime;
+
+/**
+ * A deployer that modifies the web.xml meta data 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+   private WebMetaDataModifier webMetaDataModifier;
+   
+   public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
+   {
+      this.webMetaDataModifier = webMetaDataModifier;
+   }
+
+   @Override
+   public void create(Deployment dep, WSFRuntime runtime)
+   {
+      try
+      {
+         webMetaDataModifier.modifyMetaData(dep);         
+      }
+      catch (Exception ex)
+      {
+         WSFDeploymentException.rethrow(ex);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,38 @@
+/*
+ * 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.deployment.tomcat;
+
+import java.net.URL;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 19, 2007
+ */
+public class RewriteResults
+{
+   // The URL to the rewritten web.xml
+   public URL webXML;
+   // Maps the servlet name to the target bean
+   public Map<String, String> sepTargetMap = new HashMap<String, String>();
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.deployment.tomcat;
+
+//$Id$
+
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * Handle web app security meta data 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public interface SecurityHandler
+{
+   /** Add the security domain to jboss-web.xml */
+   void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep);
+   
+   /** Add the security roles to web.xml */
+   void addSecurityRoles(JBossWebMetaData webApp, Deployment dep);
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,68 @@
+/*
+ * 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.deployment.tomcat;
+
+//$Id$
+
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+
+/**
+ * Handle web app security meta data for EJB21 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class SecurityHandlerEJB21 implements SecurityHandler
+{
+   public void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep)
+   {
+      EJBArchiveMetaData ejbMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+      if (ejbMetaData == null)
+         throw new IllegalStateException("Cannot obtain application meta data");
+
+      String securityDomain = ejbMetaData.getSecurityDomain();
+      if (securityDomain != null)
+      {
+         if (securityDomain.startsWith("java:/jaas/") == false)
+            securityDomain = "java:/jaas/" + securityDomain;
+
+         jbossWeb.setSecurityDomain(securityDomain);
+      }
+   }
+
+   public void addSecurityRoles(JBossWebMetaData webApp, Deployment dep)
+   {
+      JBossMetaData jbmd = dep.getAttachment(JBossMetaData.class);
+      IAssemblyDescriptorMetaData assemblyDescriptor = jbmd.getAssemblyDescriptor();
+      if (assemblyDescriptor != null)
+      {
+         SecurityRolesMetaData securityRoles = assemblyDescriptor.getSecurityRoles();
+         if (securityRoles != null)
+            webApp.setSecurityRoles(securityRoles);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,99 @@
+/*
+ * 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.deployment.tomcat;
+
+//$Id$
+
+import org.jboss.ejb3.annotation.SecurityDomain;
+import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+
+import javax.annotation.security.RolesAllowed;
+import java.util.Iterator;
+
+/**
+ * Handle web app security meta data for EJB3 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class SecurityHandlerEJB3 implements SecurityHandler
+{
+   public void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep)
+   {
+      String securityDomain = null;
+
+      WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
+      if (webServiceDeployment != null)
+      {
+         Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+         while (it.hasNext())
+         {
+            WebServiceDeclaration container = it.next();
+            SecurityDomain anSecurityDomain = container.getAnnotation(SecurityDomain.class);
+            if (anSecurityDomain != null)
+            {
+               if (securityDomain != null && !securityDomain.equals(anSecurityDomain.value()))
+                  throw new IllegalStateException("Multiple security domains not supported");
+
+               securityDomain = anSecurityDomain.value();
+            }
+         }
+      }
+
+      if (securityDomain != null)
+      {
+         if (securityDomain.startsWith("java:/jaas/") == false)
+            securityDomain = "java:/jaas/" + securityDomain;
+
+         jbossWeb.setSecurityDomain(securityDomain);
+      }
+   }
+
+   public void addSecurityRoles(JBossWebMetaData webApp, Deployment dep)
+   {
+      WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
+      if (webServiceDeployment != null)
+      {
+         Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+         while (it.hasNext())
+         {
+            WebServiceDeclaration container = it.next();
+            RolesAllowed anRolesAllowed = container.getAnnotation(RolesAllowed.class);
+            if (anRolesAllowed != null)
+            {
+               SecurityRolesMetaData securityRoles = webApp.getSecurityRoles();
+               for (String roleName : anRolesAllowed.value())
+               {
+                  SecurityRoleMetaData role = new SecurityRoleMetaData();
+                  role.setRoleName(roleName);
+                  securityRoles.add(role);
+               }
+            }
+         }
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.deployment.tomcat;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * Modifies the web app according to the stack requirements.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2007
+ */
+public interface WebMetaDataModifier
+{            
+   RewriteResults modifyMetaData(Deployment dep) throws ClassNotFoundException;
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,205 @@
+/*
+ * 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.deployment.tomcat;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossServletMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ListenerMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.transport.HttpSpec;
+
+import javax.xml.ws.WebServiceException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The rewriter for web.xml
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2007
+ */
+public class WebMetaDataModifierImpl implements WebMetaDataModifier
+{
+   // logging support
+   private static Logger log = Logger.getLogger(WebMetaDataModifierImpl.class);
+
+   public RewriteResults modifyMetaData(Deployment dep)
+   {
+      JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
+      if (jbwmd == null)
+         throw new WebServiceException("Cannot find web meta data");
+
+      try
+      {
+         RewriteResults results = modifyMetaData(dep, jbwmd);
+         return results;
+      }
+      catch (RuntimeException rte)
+      {
+         throw rte;
+      }
+      catch (Exception e)
+      {
+         throw new WebServiceException(e);
+      }
+   }
+
+   private RewriteResults modifyMetaData(Deployment dep, JBossWebMetaData jbwmd) throws ClassNotFoundException
+   {
+      RewriteResults results = new RewriteResults();
+
+      String servletClass = (String)dep.getProperty(HttpSpec.PROPERTY_WEBAPP_SERVLET_CLASS);
+      if (servletClass == null)
+         throw new IllegalStateException("Cannot obtain context property: " + HttpSpec.PROPERTY_WEBAPP_SERVLET_CLASS);
+
+      Map<String, String> depCtxParams = (Map<String, String>)dep.getProperty(HttpSpec.PROPERTY_WEBAPP_CONTEXT_PARAMETERS);
+      if (depCtxParams != null)
+      {
+         List<ParamValueMetaData> contextParams = jbwmd.getContextParams();
+         if (contextParams == null)
+         {
+            contextParams = new ArrayList<ParamValueMetaData>();
+            jbwmd.setContextParams(contextParams);
+         }
+
+         for (Map.Entry<String, String> entry : depCtxParams.entrySet())
+         {
+            ParamValueMetaData param = new ParamValueMetaData();
+            param.setParamName(entry.getKey());
+            param.setParamValue(entry.getValue());
+            contextParams.add(param);
+         }
+      }
+
+      String listenerClass = (String)dep.getProperty(HttpSpec.PROPERTY_WEBAPP_SERVLET_CONTEXT_LISTENER);
+      if (listenerClass != null)
+      {
+         List<ListenerMetaData> listeners = jbwmd.getListeners();
+         if (listeners == null)
+         {
+            listeners = new ArrayList<ListenerMetaData>();
+            jbwmd.setListeners(listeners);
+         }
+         ListenerMetaData listener = new ListenerMetaData();
+         listener.setListenerClass(listenerClass);
+      }
+
+      for (Iterator it = jbwmd.getServlets().iterator(); it.hasNext();)
+      {
+         JBossServletMetaData servlet = (JBossServletMetaData)it.next();
+         List<ParamValueMetaData> initParams = servlet.getInitParam();
+         if (initParams == null)
+         {
+            initParams = new ArrayList<ParamValueMetaData>();
+            servlet.setInitParam(initParams);
+         }
+
+         String linkName = servlet.getServletName();
+
+         // find the servlet-class
+         String orgServletClassName = servlet.getServletClass();
+
+         // JSP
+         if (orgServletClassName == null)
+            continue;
+
+         // Get the servlet class
+         Class orgServletClass = null;
+         try
+         {
+            ClassLoader loader = dep.getInitialClassLoader();
+            orgServletClass = loader.loadClass(orgServletClassName);
+         }
+         catch (ClassNotFoundException ex)
+         {
+            log.warn("Cannot load servlet class: " + orgServletClassName);
+         }
+
+         String targetBeanName = null;
+
+         // Nothing to do if we have an <init-param>
+         if (isAlreadyModified(servlet))
+         {
+            for (ParamValueMetaData initParam : initParams)
+            {
+               String paramName = initParam.getParamName();
+               String paramValue = initParam.getParamValue();
+               if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+               {
+                  targetBeanName = paramValue;
+               }
+            }
+         }
+         else
+         {
+            // Check if it is a real servlet that we can ignore
+            if (orgServletClass != null && javax.servlet.Servlet.class.isAssignableFrom(orgServletClass))
+            {
+               log.info("Ignore servlet: " + orgServletClassName);
+               continue;
+            }
+            else if (orgServletClassName.endsWith("Servlet"))
+            {
+               log.info("Ignore <servlet-class> that ends with 'Servlet': " + orgServletClassName);
+               continue;
+            }
+
+            servlet.setServletClass(servletClass);
+
+            // add additional init params
+            if (orgServletClassName.equals(servletClass) == false)
+            {
+               targetBeanName = orgServletClassName;
+               ParamValueMetaData initParam = new ParamValueMetaData();
+               initParam.setParamName(Endpoint.SEPID_DOMAIN_ENDPOINT);
+               initParam.setParamValue(targetBeanName);
+               initParams.add(initParam);
+            }
+         }
+
+         if (targetBeanName == null)
+            throw new IllegalStateException("Cannot obtain service endpoint bean for: " + linkName);
+
+         // remember the target bean name
+         results.sepTargetMap.put(linkName, targetBeanName);
+      }
+
+      return results;
+   }
+
+   // Return true if the web.xml is already modified
+   private boolean isAlreadyModified(JBossServletMetaData servlet)
+   {
+      for (ParamValueMetaData initParam : servlet.getInitParam())
+      {
+         String paramName = initParam.getParamName();
+         if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+            return true;
+      }
+      return false;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,55 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import java.lang.reflect.Method;
+
+import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+
+/**
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractInvocationHandler extends InvocationHandler
+{
+   protected Method getImplMethod(Class implClass, Method seiMethod) throws ClassNotFoundException, NoSuchMethodException
+   {
+      String methodName = seiMethod.getName();
+      Class[] paramTypes = seiMethod.getParameterTypes();
+      for (int i = 0; i < paramTypes.length; i++)
+      {
+         Class paramType = paramTypes[i];
+         if (JavaUtils.isPrimitive(paramType) == false)
+         {
+            String paramTypeName = paramType.getName();
+            paramType = JavaUtils.loadJavaType(paramTypeName);
+            paramTypes[i] = paramType;
+         }
+      }
+
+      Method implMethod = implClass.getMethod(methodName, paramTypes);
+      return implMethod;
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,199 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import java.lang.reflect.Method;
+import java.security.Principal;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.xml.rpc.handler.MessageContext;
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.ejb.EjbModule;
+import org.jboss.ejb.Interceptor;
+import org.jboss.ejb.StatelessSessionContainer;
+import org.jboss.invocation.InvocationKey;
+import org.jboss.invocation.InvocationType;
+import org.jboss.invocation.PayloadKey;
+import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+import org.jboss.wsf.common.ObjectNameFactory;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.HandlerCallback;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.container.jboss50.invocation.ServiceEndpointInterceptor;
+
+/**
+ * Handles invocations on EJB21 endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerEJB21 extends InvocationHandler
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);
+
+   private String jndiName;
+   private MBeanServer server;
+   private ObjectName objectName;
+
+   InvocationHandlerEJB21()
+   {
+   }
+
+   public Invocation createInvocation()
+   {
+      return new Invocation();
+   }
+
+   public void init(Endpoint ep)
+   {
+      String ejbName = ep.getShortName();
+      Deployment dep = ep.getService().getDeployment();
+      EJBArchiveMetaData apMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+      EJBMetaData beanMetaData = (EJBMetaData)apMetaData.getBeanByEjbName(ejbName);
+      if (beanMetaData == null)
+         throw new WebServiceException("Cannot obtain ejb meta data for: " + ejbName);
+
+      // get the MBeanServer
+      server = MBeanServerLocator.locateJBoss();
+
+      // get the bean's JNDI name
+      jndiName = beanMetaData.getContainerObjectNameJndiName();
+      if (jndiName == null)
+         throw new WebServiceException("Cannot obtain JNDI name for: " + ejbName);
+   }
+
+   public void invoke(Endpoint ep, Invocation inv) throws Exception
+   {
+      log.debug("Invoke: " + inv.getJavaMethod().getName());
+
+      if (objectName == null)
+      {
+         objectName = ObjectNameFactory.create("jboss.j2ee:jndiName=" + jndiName + ",service=EJB");
+         if (server.isRegistered(objectName) == false)
+            throw new WebServiceException("Cannot find service endpoint target: " + objectName);
+
+         // Inject the Service endpoint interceptor
+         injectServiceEndpointInterceptor(objectName, ep.getShortName());
+      }
+
+      // invoke on the container
+      try
+      {
+         // setup the invocation
+         org.jboss.invocation.Invocation jbInv = getMBeanInvocation(inv);
+
+         String[] sig = { org.jboss.invocation.Invocation.class.getName() };
+         Object retObj = server.invoke(objectName, "invoke", new Object[] { jbInv }, sig);
+         inv.setReturnValue(retObj);
+      }
+      catch (Exception e)
+      {
+         handleInvocationException(e);
+      }
+   }
+
+   private org.jboss.invocation.Invocation getMBeanInvocation(Invocation inv)
+   {
+      // EJB2.1 endpoints will only get an JAXRPC context 
+      MessageContext msgContext = inv.getInvocationContext().getAttachment(MessageContext.class);
+      if (msgContext == null)
+         throw new IllegalStateException("Cannot obtain MessageContext");
+
+      SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+      SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
+      SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+      Principal principal = securityAdaptor.getPrincipal();
+      Object credential = securityAdaptor.getCredential();
+
+      if (principal == null && sc != null)
+         principal = sc.getUtil().getUserPrincipal();
+
+      if (credential == null && sc != null)
+         credential = sc.getUtil().getCredential();
+
+      Method method = inv.getJavaMethod();
+      Object[] args = inv.getArgs();
+      org.jboss.invocation.Invocation jbInv = new org.jboss.invocation.Invocation(null, method, args, null, principal, credential);
+
+      HandlerCallback callback = inv.getInvocationContext().getAttachment(HandlerCallback.class);
+      if (callback == null)
+         throw new IllegalStateException("Cannot obtain HandlerCallback");
+
+      jbInv.setValue(InvocationKey.SOAP_MESSAGE_CONTEXT, msgContext);
+      jbInv.setValue(InvocationKey.SOAP_MESSAGE, ((SOAPMessageContext)msgContext).getMessage());
+      jbInv.setType(InvocationType.SERVICE_ENDPOINT);
+      jbInv.setValue(HandlerCallback.class.getName(), callback, PayloadKey.TRANSIENT);
+      jbInv.setValue(Invocation.class.getName(), inv, PayloadKey.TRANSIENT);
+
+      return jbInv;
+   }
+
+   private void injectServiceEndpointInterceptor(ObjectName objectName, String ejbName)
+   {
+      // Dynamically add the service endpoint interceptor
+      // http://jira.jboss.org/jira/browse/JBWS-758
+      try
+      {
+         EjbModule ejbModule = (EjbModule)server.getAttribute(objectName, "EjbModule");
+         StatelessSessionContainer container = (StatelessSessionContainer)ejbModule.getContainer(ejbName);
+
+         boolean injectionPointFound = false;
+         Interceptor prev = container.getInterceptor();
+         while (prev != null && prev.getNext() != null)
+         {
+            Interceptor next = prev.getNext();
+            if (next.getNext() == null)
+            {
+               log.debug("Inject service endpoint interceptor after: " + prev.getClass().getName());
+               ServiceEndpointInterceptor sepInterceptor = new ServiceEndpointInterceptor();
+               prev.setNext(sepInterceptor);
+               sepInterceptor.setNext(next);
+               injectionPointFound = true;
+            }
+            prev = next;
+         }
+         if (injectionPointFound == false)
+            log.warn("Cannot service endpoint interceptor injection point");
+      }
+      catch (Exception ex)
+      {
+         log.warn("Cannot add service endpoint interceptor", ex);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,110 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.integration.InvocationContextCallback;
+import org.jboss.wsf.spi.invocation.integration.ServiceEndpointContainer;
+import org.jboss.wsf.spi.util.KernelLocator;
+
+import javax.xml.ws.WebServiceException;
+import java.lang.reflect.Method;
+
+/**
+ * Handles invocations on EJB3 endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @author Heiko.Braun at jboss.com
+ * 
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+{
+
+   public static final String CONTAINER_NAME = "org.jboss.wsf.spi.invocation.ContainerName";
+
+   private String containerName;
+   private KernelController houston;
+   private ServiceEndpointContainer invocationTarget;
+
+   InvocationHandlerEJB3()
+   {
+      houston = KernelLocator.getKernel().getController();
+   }
+
+   public Invocation createInvocation()
+   {
+      return new Invocation();
+   }
+
+   public void init(Endpoint ep)
+   {
+      containerName = (String)ep.getProperty(InvocationHandlerEJB3.CONTAINER_NAME);
+      assert containerName!=null : "Target container name not set";
+      
+      ControllerContext context = houston.getInstalledContext(containerName);
+      if (context == null)
+         throw new WebServiceException("Cannot find service endpoint target: " + containerName);
+      
+      assert (context.getTarget() instanceof ServiceEndpointContainer) : "Invocation target mismatch";
+      this.invocationTarget = (ServiceEndpointContainer) context.getTarget();
+   }
+
+   public void invoke(Endpoint ep, Invocation wsInv) throws Exception
+   {
+      try
+      {         
+         Class beanClass = invocationTarget.getServiceImplementationClass();
+         Method method = getImplMethod(beanClass, wsInv.getJavaMethod());
+         Object[] args = wsInv.getArgs();
+         InvocationContextCallback invProps = new EJB3InvocationContextCallback(wsInv);
+         
+         Object retObj = invocationTarget.invokeEndpoint(method, args, invProps);
+
+         wsInv.setReturnValue(retObj);
+      }
+      catch (Throwable th)
+      {
+         handleInvocationException(th);
+      }
+   }
+
+   static class EJB3InvocationContextCallback implements InvocationContextCallback
+   {
+      private Invocation wsInv;
+
+      public EJB3InvocationContextCallback(Invocation wsInv)
+      {
+         this.wsInv = wsInv;
+      }
+
+      public <T> T get(Class<T> propertyType)
+      {
+         return wsInv.getInvocationContext().getAttachment(propertyType);               
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,66 @@
+/*
+ * 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.invocation;
+
+import org.jboss.wsf.spi.invocation.*;
+import org.jboss.wsf.container.jboss50.invocation.*;
+
+/**
+ * The default invocation model factory fro AS 5.0.
+ *
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 19, 2007
+ */
+public class InvocationHandlerFactoryImpl extends InvocationHandlerFactory
+{
+   public InvocationHandler newInvocationHandler(InvocationType type)
+   {
+      InvocationHandler handler = null;
+
+      switch(type)
+      {
+         case JAXRPC_JSE:
+            handler = new InvocationHandlerJAXRPC();
+            break;
+         case JAXRPC_EJB21:
+            handler = new InvocationHandlerEJB21();
+            break;
+         case JAXRPC_MDB21:
+            handler = new InvocationHandlerMDB21();
+            break;
+         case JAXWS_JSE:
+            handler = new InvocationHandlerJAXWS();
+            break;
+         case JAXWS_EJB3:
+            handler = new InvocationHandlerEJB3();
+            break;
+         case JAXWS_MDB3:
+            handler = new InvocationHandlerMDB3();
+            break;
+      }
+
+      if(null == handler)
+         throw new IllegalArgumentException("Unable to resolve spi.invocation.InvocationHandler for type " +type);
+
+      return handler;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,72 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import javax.xml.rpc.server.ServiceLifecycle;
+import javax.xml.rpc.server.ServletEndpointContext;
+
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerJAXRPC extends InvocationHandlerJSE
+{
+   public void invoke(Endpoint ep, Invocation epInv) throws Exception
+   {
+      try
+      {
+         Object targetBean = getTargetBean(ep, epInv);
+
+         InvocationContext invContext = epInv.getInvocationContext();
+         if (targetBean instanceof ServiceLifecycle)
+         {
+            ServletEndpointContext sepContext = invContext.getAttachment(ServletEndpointContext.class);
+            if (sepContext != null)
+               ((ServiceLifecycle)targetBean).init(sepContext);
+         }
+
+         try
+         {
+            super.invoke(ep, epInv);
+         }
+         finally
+         {
+            if (targetBean instanceof ServiceLifecycle)
+            {
+               ((ServiceLifecycle)targetBean).destroy();
+            }
+         }
+      }
+      catch (Exception e)
+      {
+         handleInvocationException(e);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,34 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerJAXWS extends InvocationHandlerJSE
+{
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,128 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import java.lang.reflect.Method;
+
+import javax.xml.ws.WebServiceContext;
+
+import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.ResourceInjector;
+import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerJSE extends InvocationHandler
+{
+   private SPIProvider spiProvider;
+   private ResourceInjectorFactory resourceInjectorFactory;
+
+   public InvocationHandlerJSE()
+   {
+      spiProvider = SPIProviderResolver.getInstance().getProvider();
+      resourceInjectorFactory = spiProvider.getSPI(ResourceInjectorFactory.class);
+   }
+
+   public Invocation createInvocation()
+   {
+      return new Invocation();
+   }
+
+   public void init(Endpoint ep)
+   {
+   }
+
+   protected Object getTargetBean(Endpoint ep, Invocation epInv)
+   {
+      InvocationContext invCtx = epInv.getInvocationContext();
+      Object targetBean = invCtx.getTargetBean();
+      if (targetBean == null)
+      {
+         try
+         {
+            Class epImpl = ep.getTargetBeanClass();
+            targetBean = epImpl.newInstance();
+            invCtx.setTargetBean(targetBean);
+         }
+         catch (Exception ex)
+         {
+            throw new IllegalStateException("Cannot get target bean instance", ex);
+         }
+      }
+      return targetBean;
+   }
+
+   public void invoke(Endpoint ep, Invocation epInv) throws Exception
+   {
+      try
+      {
+         Object targetBean = getTargetBean(ep, epInv);
+
+         InvocationContext invContext = epInv.getInvocationContext();
+         WebServiceContext wsContext = invContext.getAttachment(WebServiceContext.class);
+         if (wsContext != null)
+         {
+            ResourceInjector injector = resourceInjectorFactory.newResourceInjector();
+            injector.inject(targetBean, wsContext);
+         }
+
+         Method method = getImplMethod(targetBean.getClass(), epInv.getJavaMethod());
+         Object retObj = method.invoke(targetBean, epInv.getArgs());
+         epInv.setReturnValue(retObj);
+      }
+      catch (Exception e)
+      {
+         handleInvocationException(e);
+      }
+   }
+
+   protected Method getImplMethod(Class implClass, Method seiMethod) throws ClassNotFoundException, NoSuchMethodException
+   {
+      String methodName = seiMethod.getName();
+      Class[] paramTypes = seiMethod.getParameterTypes();
+      for (int i = 0; i < paramTypes.length; i++)
+      {
+         Class paramType = paramTypes[i];
+         if (JavaUtils.isPrimitive(paramType) == false)
+         {
+            String paramTypeName = paramType.getName();
+            paramType = JavaUtils.loadJavaType(paramTypeName);
+            paramTypes[i] = paramType;
+         }
+      }
+
+      Method implMethod = implClass.getMethod(methodName, paramTypes);
+      return implMethod;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.invocation;
+
+// $Id$
+
+import java.lang.reflect.Method;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+
+/**
+ * Handles invocations on MDB EJB21 endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerMDB21 extends AbstractInvocationHandler
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(InvocationHandlerMDB21.class);
+
+   public Invocation createInvocation()
+   {
+      return new Invocation();
+   }
+
+   public void init(Endpoint ep)
+   {
+
+   }
+
+   public void invoke(Endpoint ep, Invocation epInv) throws Exception
+   {
+      log.debug("Invoke: " + epInv.getJavaMethod().getName());
+
+      try
+      {
+         InvocationContext invCtx = epInv.getInvocationContext();
+         Object targetBean = invCtx.getTargetBean();
+         if (targetBean == null)
+         {
+            try
+            {
+               Class epImpl = ep.getTargetBeanClass();
+               targetBean = epImpl.newInstance();
+               invCtx.setTargetBean(targetBean);
+            }
+            catch (Exception ex)
+            {
+               throw new IllegalStateException("Canot get target bean instance", ex);
+            }
+         }
+         Class implClass = targetBean.getClass();
+         Method seiMethod = epInv.getJavaMethod();
+         Method implMethod = getImplMethod(implClass, seiMethod);
+
+         Object[] args = epInv.getArgs();
+         Object retObj = implMethod.invoke(targetBean, args);
+         epInv.setReturnValue(retObj);
+      }
+      catch (Exception e)
+      {
+         handleInvocationException(e);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.invocation;
+
+// $Id$
+
+import java.lang.reflect.Method;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+
+/**
+ * Handles invocations on MDB EJB3 endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerMDB3 extends AbstractInvocationHandler
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(InvocationHandlerMDB3.class);
+
+   public Invocation createInvocation()
+   {
+      return new Invocation();
+   }
+
+   public void init(Endpoint ep)
+   {
+
+   }
+
+   public void invoke(Endpoint ep, Invocation epInv) throws Exception
+   {
+      log.debug("Invoke: " + epInv.getJavaMethod().getName());
+
+      try
+      {
+         InvocationContext invCtx = epInv.getInvocationContext();
+         Object targetBean = invCtx.getTargetBean();
+         if (targetBean == null)
+         {
+            try
+            {
+               Class epImpl = ep.getTargetBeanClass();
+               targetBean = epImpl.newInstance();
+               invCtx.setTargetBean(targetBean);
+            }
+            catch (Exception ex)
+            {
+               throw new IllegalStateException("Canot get target bean instance", ex);
+            }
+         }
+         Class implClass = targetBean.getClass();
+         Method seiMethod = epInv.getJavaMethod();
+         Method implMethod = getImplMethod(implClass, seiMethod);
+
+         Object[] args = epInv.getArgs();
+         Object retObj = implMethod.invoke(targetBean, args);
+         epInv.setReturnValue(retObj);
+      }
+      catch (Exception e)
+      {
+         handleInvocationException(e);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.invocation;
+
+import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 24, 2007
+ */
+public class SecurityAdapterFactoryImpl extends SecurityAdaptorFactory
+{
+   public SecurityAdaptor newSecurityAdapter()
+   {
+      return new SecurityAdaptorImpl();
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,62 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import org.jboss.security.SecurityAssociation;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+
+import java.security.Principal;
+
+/**
+ * A JBoss specific SecurityAssociationAdaptor 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class SecurityAdaptorImpl implements SecurityAdaptor
+{
+   SecurityAdaptorImpl()
+   {
+   }
+
+   public Principal getPrincipal()
+   {
+      return SecurityAssociation.getPrincipal();
+   }
+   
+   public void setPrincipal(Principal pricipal)
+   {
+      SecurityAssociation.setPrincipal(pricipal);
+   }
+
+   public Object getCredential()
+   {
+      return SecurityAssociation.getCredential();
+   }
+
+   public void setCredential(Object credential)
+   {
+      SecurityAssociation.setCredential(credential);
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,126 @@
+/*
+ * 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.invocation;
+
+// $Id$
+
+import org.jboss.ejb.plugins.AbstractInterceptor;
+import org.jboss.invocation.InvocationKey;
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.invocation.HandlerCallback;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
+
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+
+/**
+ * This Interceptor does the ws4ee handler processing.
+ * 
+ * According to the ws4ee spec the handler logic must be invoked after the container
+ * applied method level security to the invocation. 
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 21-Sep-2005
+ */
+public class ServiceEndpointInterceptor extends AbstractInterceptor
+{
+   // provide logging
+   private static Logger log = Logger.getLogger(ServiceEndpointInterceptor.class);
+
+   // Interceptor implementation --------------------------------------
+
+   /** Before and after we call the service endpoint bean, we process the handler chains.
+    */
+   public Object invoke(final org.jboss.invocation.Invocation jbInv) throws Exception
+   {
+      // If no msgContext, it's not for us
+      SOAPMessageContext msgContext = (SOAPMessageContext)jbInv.getPayloadValue(InvocationKey.SOAP_MESSAGE_CONTEXT);
+      if (msgContext == null)
+      {
+         return getNext().invoke(jbInv);
+      }
+
+      // Get the endpoint invocation 
+      Invocation wsInv = (Invocation)jbInv.getValue(Invocation.class.getName());
+
+      // Get the handler callback 
+      HandlerCallback callback = (HandlerCallback)jbInv.getValue(HandlerCallback.class.getName());
+
+      // Handlers need to be Tx. Therefore we must invoke the handler chain after the TransactionInterceptor.
+      if (callback != null && wsInv != null)
+      {
+         try
+         {
+            // call the request handlers
+            boolean handlersPass = callback.callRequestHandlerChain(wsInv, HandlerType.ENDPOINT);
+            handlersPass = handlersPass && callback.callRequestHandlerChain(wsInv, HandlerType.POST);
+
+            // Call the next interceptor in the chain
+            if (handlersPass)
+            {
+               // The SOAPContentElements stored in the EndpointInvocation might have changed after
+               // handler processing. Get the updated request payload. This should be a noop if request
+               // handlers did not modify the incomming SOAP message.
+               Object[] reqParams = wsInv.getArgs();
+               jbInv.setArguments(reqParams);
+               Object resObj = getNext().invoke(jbInv);
+
+               // Setting the message to null should trigger binding of the response message
+               msgContext.setMessage(null);
+               wsInv.setReturnValue(resObj);
+            }
+
+            // call the response handlers
+            handlersPass = callback.callResponseHandlerChain(wsInv, HandlerType.POST);
+            handlersPass = handlersPass && callback.callResponseHandlerChain(wsInv, HandlerType.ENDPOINT);
+
+            // update the return value after response handler processing
+            Object resObj = wsInv.getReturnValue();
+
+            return resObj;
+         }
+         catch (Exception ex)
+         {
+            try
+            {
+               // call the fault handlers
+               boolean handlersPass = callback.callFaultHandlerChain(wsInv, HandlerType.POST, ex);
+               handlersPass = handlersPass && callback.callFaultHandlerChain(wsInv, HandlerType.ENDPOINT, ex);
+            }
+            catch (Exception subEx)
+            {
+               log.warn("Cannot process handlerChain.handleFault, ignoring: ", subEx);
+            }
+            throw ex;
+         }
+         finally
+         {
+            // do nothing
+         }
+      }
+      else
+      {
+         log.warn("Handler callback not available");
+         return getNext().invoke(jbInv);
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/WebServiceContextFactoryImpl.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/WebServiceContextFactoryImpl.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/WebServiceContextFactoryImpl.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -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.container.jboss50.invocation;
+
+import org.jboss.wsf.spi.invocation.*;
+
+import javax.xml.ws.handler.MessageContext;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ *         Created: Jul 25, 2007
+ */
+public class WebServiceContextFactoryImpl extends WebServiceContextFactory
+{
+   public ExtensibleWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext)
+   {
+      ExtensibleWebServiceContext context = null;
+
+      if(type.toString().indexOf("EJB")!=-1 || type.toString().indexOf("MDB")!=-1)
+         context = new WebServiceContextEJB(messageContext);
+      else
+         context = new WebServiceContextJSE(messageContext);
+
+      return context;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/invocation/WebServiceContextFactoryImpl.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/BareTransportManagerFactory.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/BareTransportManagerFactory.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/BareTransportManagerFactory.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import org.jboss.wsf.spi.transport.TransportManagerFactory;
+import org.jboss.wsf.spi.transport.TransportManager;
+import org.jboss.wsf.spi.transport.Protocol;
+
+/**
+ * Used with MC
+ * 
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class BareTransportManagerFactory implements TransportManagerFactory
+{
+
+   private TransportManager httpTransport;
+
+
+   public void setHttpTransport(TransportManager httpTransport)
+   {
+      this.httpTransport = httpTransport;
+   }
+
+   public TransportManager createTransportManager(Protocol protocol)
+   {
+      TransportManager manager = null;
+
+      switch(protocol)
+      {
+         case HTTP:
+            manager = httpTransport;
+            break;
+         default:
+            throw new IllegalArgumentException("No TransportManager for protocol: " + protocol);
+      }
+
+      return manager;
+   }
+}
+


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/BareTransportManagerFactory.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EJBHttpTransportManager.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EJBHttpTransportManager.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EJBHttpTransportManager.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.transport.HttpListenerRef;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.jboss.wsf.spi.transport.HttpSpec;
+import org.jboss.wsf.spi.transport.ListenerRef;
+import org.jboss.wsf.spi.transport.TransportManager;
+import org.jboss.wsf.spi.transport.TransportSpec;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Creates a webapp dpeloyment and pushes it into the deployment framework
+ * 
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class EJBHttpTransportManager implements TransportManager
+{
+   private static Logger log = Logger.getLogger(EJBHttpTransportManager.class);
+   private static final String PROCESSED_BY_DEPLOYMENT_FACTORY = "processed.by.deployment.factory";
+   private WebAppDeploymentFactory deploymentFactory;
+   private WebAppGenerator generator;
+   private Map<String, Deployment> deploymentRegistry = new HashMap<String, Deployment>();
+
+   public ListenerRef createListener(Endpoint endpoint, TransportSpec transportSpec)
+   {
+
+      assert deploymentFactory!=null;
+      assert generator!=null;
+
+      // Resolve the endpoint address
+      if(! (transportSpec instanceof HttpSpec))
+         throw new IllegalArgumentException("Unknown TransportSpec " + transportSpec);
+      HttpSpec httpSpec = (HttpSpec)transportSpec;
+
+      // Create JBossWebMetaData and attach it to the DeploymentUnit
+      Deployment topLevelDeployment = endpoint.getService().getDeployment();
+
+      // TODO: Somehow the ServletClass and InitParameter need to go from TransportSpec into generator
+      topLevelDeployment.setProperty(HttpSpec.PROPERTY_WEBAPP_SERVLET_CLASS, httpSpec.getServletClass());
+      topLevelDeployment.setProperty(HttpSpec.PROPERTY_WEBAPP_CONTEXT_PARAMETERS, httpSpec.getContextParameter());      
+      
+      // TODO: JBWS-2188
+      Boolean alreadyDeployed = (Boolean)topLevelDeployment.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY); 
+      if ((alreadyDeployed == null) || (false == alreadyDeployed))
+      {
+         JBossWebMetaData jbwMetaData = generator.create(topLevelDeployment);
+         deploymentFactory.create(topLevelDeployment, jbwMetaData);
+         topLevelDeployment.setProperty(PROCESSED_BY_DEPLOYMENT_FACTORY, Boolean.TRUE);
+      }
+
+      SPIProvider provider = SPIProviderResolver.getInstance().getProvider();
+      ServerConfigFactory spi = provider.getSPI(ServerConfigFactory.class);
+      ServerConfig serverConfig = spi.getServerConfig();
+
+      String host = serverConfig.getWebServiceHost();
+      int port = serverConfig.getWebServicePort();
+      String hostAndPort = host + (port > 0 ? ":" + port : "");
+
+      ListenerRef listenerRef = null;
+      try
+      {
+         String ctx = httpSpec.getWebContext();
+         String pattern = httpSpec.getUrlPattern();
+         listenerRef = new HttpListenerRef(ctx, pattern, new URI("http://" + hostAndPort + ctx + pattern));
+      }
+      catch (URISyntaxException e)
+      {
+         throw new RuntimeException("Failed to create ListenerRef", e);
+      }
+    
+      // Map listenerRef for destroy phase
+      deploymentRegistry.put( listenerRef.getUUID(), topLevelDeployment );
+
+      return listenerRef;
+   }
+
+   public void destroyListener(ListenerRef ref)
+   {
+      Deployment dep = deploymentRegistry.get(ref.getUUID());
+      if (dep != null)
+      {
+         // TODO: JBWS-2188
+         Boolean alreadyDeployed = (Boolean)dep.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY); 
+         if ((alreadyDeployed != null) && (true == alreadyDeployed))
+         {
+            try
+            {
+               deploymentFactory.destroy(dep);
+            }
+            catch (Exception e)
+            {
+               log.error(e.getMessage(), e);
+            }
+            dep.removeProperty(PROCESSED_BY_DEPLOYMENT_FACTORY);
+         }
+      }
+      deploymentRegistry.remove(ref.getUUID());
+   }
+
+   public void setDeploymentFactory(WebAppDeploymentFactory deploymentFactory)
+   {
+      this.deploymentFactory = deploymentFactory;
+   }
+
+   public void setGenerator(WebAppGenerator generator)
+   {
+      this.generator = generator;
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EJBHttpTransportManager.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,221 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.DeploymentFactory;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.structure.spi.ClassLoaderFactory;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.jboss.wsf.spi.transport.*;
+
+import javax.xml.ws.WebServiceException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class EndpointAPIHttpTransportManager implements TransportManager
+{
+   private static Logger log = Logger.getLogger(EndpointAPIHttpTransportManager.class);
+   private static final String PROCESSED_BY_DEPLOYMENT_FACTORY = "processed.by.deployment.factory";
+   private WebAppDeploymentFactory deploymentFactory;
+   private WebAppGenerator generator;
+   private DeploymentFactory factory = new DeploymentFactory();
+
+   private WebMetaDataModifier webMetaDataModifier;
+   private DeployerClient mainDeployer;
+
+   private Map<String, Deployment> deploymentRegistry = new HashMap<String, Deployment>();
+   
+   public ListenerRef createListener(Endpoint endpoint, TransportSpec transportSpec)
+   {
+      assert generator!=null;
+      assert webMetaDataModifier!=null;     
+
+      // Resolve the endpoint address
+      if(! (transportSpec instanceof HttpSpec))
+         throw new IllegalArgumentException("Unknown TransportSpec " + transportSpec);
+      HttpSpec httpSpec = (HttpSpec)transportSpec;
+
+      // Create JBossWebMetaData and attach it to the DeploymentUnit
+      Deployment topLevelDeployment = endpoint.getService().getDeployment();
+      
+      // TODO: JBWS-2188
+      Boolean alreadyDeployed = (Boolean)topLevelDeployment.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY); 
+      if ((alreadyDeployed == null) || (false == alreadyDeployed))
+      {
+         JBossWebMetaData jbwMetaData = generator.create(topLevelDeployment);
+         deploymentFactory.create(topLevelDeployment, jbwMetaData);
+         topLevelDeployment.setProperty(PROCESSED_BY_DEPLOYMENT_FACTORY, Boolean.TRUE);
+      }
+
+      // Server config
+      SPIProvider provider = SPIProviderResolver.getInstance().getProvider();
+      ServerConfigFactory spi = provider.getSPI(ServerConfigFactory.class);
+      ServerConfig serverConfig = spi.getServerConfig();
+      String host = serverConfig.getWebServiceHost();
+      int port = serverConfig.getWebServicePort();
+      String hostAndPort = host + (port > 0 ? ":" + port : "");
+
+      ListenerRef listenerRef = null;
+      try
+      {
+         String ctx = httpSpec.getWebContext();
+         String pattern = httpSpec.getUrlPattern();
+         listenerRef = new HttpListenerRef(ctx, pattern, new URI("http://" + hostAndPort + ctx + pattern));
+      }
+      catch (URISyntaxException e)
+      {
+         throw new RuntimeException("Failed to create ListenerRef", e);
+      }
+
+      // Pass on to the main deployer
+      deploy(topLevelDeployment);
+
+      // Map listenerRef for destroy phase
+      deploymentRegistry.put( listenerRef.getUUID(), topLevelDeployment );
+
+      return listenerRef;
+   }
+
+   public void destroyListener(ListenerRef ref)
+   {
+      Deployment dep = deploymentRegistry.get(ref.getUUID());
+      if (dep != null)
+      {
+         // TODO: JBWS-2188
+         Boolean alreadyDeployed = (Boolean)dep.getProperty(PROCESSED_BY_DEPLOYMENT_FACTORY); 
+         if ((alreadyDeployed != null) && (true == alreadyDeployed))
+         {
+            try
+            {
+               undeploy(dep);
+            }
+            catch (Exception e)
+            {
+               log.error(e.getMessage(), e);
+            }
+            try
+            {
+               deploymentFactory.destroy(dep);
+            }
+            catch (Exception e)
+            {
+               log.error(e.getMessage(), e);
+            }
+            dep.removeProperty(PROCESSED_BY_DEPLOYMENT_FACTORY);
+         }
+      }
+      deploymentRegistry.remove(ref.getUUID());
+   }
+
+   public void setDeploymentFactory(WebAppDeploymentFactory deploymentFactory)
+   {
+      this.deploymentFactory = deploymentFactory;
+   }
+
+   public void setGenerator(WebAppGenerator generator)
+   {
+      this.generator = generator;
+   }
+   
+   public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
+   {
+      this.webMetaDataModifier = webMetaDataModifier;
+   }
+
+   public void setMainDeployer(DeployerClient mainDeployer)
+   {
+      this.mainDeployer = mainDeployer;
+   }
+
+   private void deploy(Deployment dep)
+   {
+      JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
+      if (jbwmd == null)
+         throw new WebServiceException("Cannot find web meta data");
+
+      try
+      {
+         webMetaDataModifier.modifyMetaData(dep);
+
+         AbstractDeployment deployment = createSimpleDeployment(dep.getSimpleName());
+         MutableAttachments mutableAttachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
+         mutableAttachments.addAttachment(HttpSpec.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
+         mutableAttachments.addAttachment(ClassLoaderFactory.class, new ContextClassLoaderFactory());
+         mutableAttachments.addAttachment(JBossWebMetaData.class, jbwmd);
+         mainDeployer.deploy(deployment);
+      }
+      catch (Exception ex)
+      {
+         WSFDeploymentException.rethrow(ex);
+      }
+   }
+
+   private void undeploy(Deployment dep)
+   {
+      try
+      {
+         AbstractDeployment deployment = createSimpleDeployment(dep.getSimpleName());
+         mainDeployer.undeploy(deployment);
+      }
+      catch (Exception ex)
+      {
+         WSFDeploymentException.rethrow(ex);
+      }
+   }
+
+   private AbstractDeployment createSimpleDeployment(String name)
+   {
+      AbstractDeployment unit = new AbstractDeployment(name);
+      // There is one top level deployment
+      factory.addContext(unit, "");
+      return unit;
+   }
+
+   private static class ContextClassLoaderFactory implements ClassLoaderFactory
+   {
+      public ClassLoader createClassLoader(DeploymentUnit unit) throws Exception
+      {
+         return Thread.currentThread().getContextClassLoader();
+      }
+
+      public void removeClassLoader(DeploymentUnit unit) throws Exception
+      {
+      }
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/EndpointAPIHttpTransportManager.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/NoopHttpTransportManager.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/NoopHttpTransportManager.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/NoopHttpTransportManager.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,83 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import org.jboss.wsf.spi.transport.HttpListenerRef;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.jboss.wsf.spi.transport.HttpSpec;
+import org.jboss.wsf.spi.transport.ListenerRef;
+import org.jboss.wsf.spi.transport.TransportManager;
+import org.jboss.wsf.spi.transport.TransportSpec;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+
+/**
+ * TransportManager implementation that doesn't create physical
+ * endpoints (ports, etc) but simply constructs a service endpoint address for a given
+ * deployment;
+ *  
+ * @author Heiko.Braun <heiko.braun at jboss.com>
+ */
+public class NoopHttpTransportManager implements TransportManager
+{
+   public ListenerRef createListener(Endpoint endpoint, TransportSpec transportSpec)
+   {
+      if(! (transportSpec instanceof HttpSpec))
+         throw new IllegalArgumentException("Unknown TransportSpec " + transportSpec);
+
+      HttpSpec httpSpec = (HttpSpec)transportSpec;
+
+      SPIProvider provider = SPIProviderResolver.getInstance().getProvider();
+      ServerConfigFactory spi = provider.getSPI(ServerConfigFactory.class);
+      ServerConfig serverConfig = spi.getServerConfig();
+
+      String host = serverConfig.getWebServiceHost();
+      int port = serverConfig.getWebServicePort();
+      String hostAndPort = host + (port > 0 ? ":" + port : "");
+      
+      try
+      {
+         String ctx = httpSpec.getWebContext();
+         String pattern = httpSpec.getUrlPattern();
+         ListenerRef ref =  new HttpListenerRef(
+           ctx, pattern,
+           new URI("http://"+hostAndPort+ctx+pattern)
+         );
+
+         return ref;
+
+      } catch (URISyntaxException e)
+      {
+         throw new RuntimeException("Failed to create ListenerRef", e);
+      }
+   }
+
+   public void destroyListener(ListenerRef ref)
+   {
+      // noop  
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/NoopHttpTransportManager.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WSFRuntimeDelegateHttpServer.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WSFRuntimeDelegateHttpServer.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WSFRuntimeDelegateHttpServer.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,134 @@
+/*
+ * 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.transport;
+
+//$Id$
+
+import org.jboss.wsf.common.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFRuntime;
+import org.jboss.wsf.spi.WSFRuntimeLocator;
+import org.jboss.wsf.spi.deployment.AbstractExtensible;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpContextFactory;
+import org.jboss.wsf.spi.http.HttpServer;
+
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.WebServiceException;
+
+/**
+ * A HTTP Server that uses DeploymentAspects
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public class WSFRuntimeDelegateHttpServer extends AbstractExtensible implements HttpServer
+{
+   /** 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);
+
+      try
+      {
+         // Get the deployment model factory
+         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+         WSFRuntimeLocator locator = spiProvider.getSPI(WSFRuntimeLocator.class);
+         WSFRuntime runtime = locator.locateRuntime("EndpointAPIRuntime");
+
+         DeploymentModelFactory depModelFactory = spiProvider.getSPI(DeploymentModelFactory.class);
+
+         // Create/Setup the deployment
+         Deployment dep = depModelFactory.newDeployment("endpoint-deployment", implClass.getClassLoader());
+         dep.setType(Deployment.DeploymentType.JAXWS_JSE);
+         dep.setRuntimeClassLoader(dep.getInitialClassLoader());
+         
+         // TODO: Hack, should this become another DeploymentAspect?
+         ((ArchiveDeployment)dep).setRootFile(new ResourceLoaderAdapter());
+
+         // Create/Setup the service
+         Service service = dep.getService();
+         service.setContextRoot(context.getContextRoot());
+
+         // Create/Setup the endpoint
+         org.jboss.wsf.spi.deployment.Endpoint ep = depModelFactory.newEndpoint(implClass.getName());
+         ep.setShortName(implClass.getName()+"-Endpoint");
+         ep.setURLPattern("/*");
+         service.addEndpoint(ep);
+
+         // Deploy using deployment aspects
+         runtime.create(dep);  
+         runtime.start(dep);  
+      }
+      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)
+   {
+      try
+      {
+         
+      }
+      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;
+   }
+}
\ No newline at end of file


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WSFRuntimeDelegateHttpServer.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,87 @@
+/*
+ * 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.transport;
+
+// $Id$
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.transport.HttpSpec;
+
+/**
+ * Deploy the generated webapp to JBoss by attaching it
+ * to the {@link org.jboss.deployers.structure.spi.DeploymentUnit}
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @author Heiko.Braun at jboss.com
+ * 
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentFactory
+{
+   private WebMetaDataModifier webMetaDataModifier;
+
+   public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
+   {
+      this.webMetaDataModifier = webMetaDataModifier;
+   }
+
+   /**
+    * Creates and attaches web meta data to a deployment unit
+    * @param dep    
+    * @return a mofified deployment unit
+    */
+   public DeploymentUnit create(Deployment dep, JBossWebMetaData jbwmd )
+   {
+      if (jbwmd == null)
+         throw new IllegalArgumentException("Web meta data is cannot be null");
+
+      DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
+      if (unit == null)
+         throw new IllegalStateException("Cannot obtain deployment unit");
+
+      try
+      {
+         webMetaDataModifier.modifyMetaData(dep);
+      
+         // Attaching it to the DeploymentUnit will cause a new webapp deployment
+         unit.addAttachment(JBossWebMetaData.class, jbwmd);
+         unit.addAttachment(HttpSpec.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
+
+      }
+      catch (Exception ex)
+      {
+         WSFDeploymentException.rethrow(ex);
+      }
+
+      return unit;
+   }
+   
+   public void destroy(Deployment dep)
+   {
+      // nothing to do?
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppGenerator.java
===================================================================
--- branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppGenerator.java	                        (rev 0)
+++ branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppGenerator.java	2008-06-17 13:52:54 UTC (rev 74688)
@@ -0,0 +1,279 @@
+/*
+ * 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.transport;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jboss.metadata.web.jboss.JBossServletMetaData;
+import org.jboss.metadata.web.jboss.JBossServletsMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.AuthConstraintMetaData;
+import org.jboss.metadata.web.spec.LoginConfigMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.TransportGuaranteeType;
+import org.jboss.metadata.web.spec.UserDataConstraintMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBSecurityMetaData;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.SecurityHandler;
+
+/**
+ * Generates a webapp for an EJB endpoint
+ * which will be process by {@link org.jboss.wsf.container.jboss50.transport.WebAppDeploymentFactory}
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @author Heiko.Braun at jboss.com
+ * 
+ * @since 13-Oct-2007
+ */
+public class WebAppGenerator
+{
+   private SecurityHandler securityHandlerEJB21;
+   private SecurityHandler securityHandlerEJB3;
+
+   public void setSecurityHandlerEJB21(SecurityHandler handler)
+   {
+      this.securityHandlerEJB21 = handler;
+   }
+
+   public void setSecurityHandlerEJB3(SecurityHandler handler)
+   {
+      this.securityHandlerEJB3 = handler;
+   }
+
+   public JBossWebMetaData create(Deployment dep)
+   {
+      JBossWebMetaData jbwmd = null;
+
+      String typeStr = dep.getType().toString();
+      if (typeStr.endsWith("EJB21"))
+      {
+         jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB21);
+         dep.addAttachment(JBossWebMetaData.class, jbwmd);
+      }
+      else if (typeStr.endsWith("EJB3"))
+      {
+         jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB3);
+         dep.addAttachment(JBossWebMetaData.class, jbwmd);
+      }
+      else
+      {
+         jbwmd = generatWebDeployment((ArchiveDeployment)dep, null);
+         dep.addAttachment(JBossWebMetaData.class, jbwmd);
+      }
+
+      return jbwmd;
+   }
+
+   protected JBossWebMetaData generatWebDeployment(ArchiveDeployment dep, SecurityHandler securityHandler)
+   {
+      JBossWebMetaData jbwmd = new JBossWebMetaData();
+      createWebAppDescriptor(dep, jbwmd, securityHandler);
+      createJBossWebAppDescriptor(dep, jbwmd, securityHandler);
+      return jbwmd;
+   }
+
+   protected void createWebAppDescriptor(Deployment dep, JBossWebMetaData jbwmd, SecurityHandler securityHandler)
+   {
+      /*
+       <servlet>
+       <servlet-name>
+       <servlet-class>
+       </servlet>
+       */
+      JBossServletsMetaData servlets = jbwmd.getServlets();
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         JBossServletMetaData servlet = new JBossServletMetaData();
+         servlet.setServletName(ep.getShortName());
+         servlet.setServletClass(ep.getTargetBeanName());
+         servlets.add(servlet);
+      }
+
+      /*
+       <servlet-mapping>
+       <servlet-name>
+       <url-pattern>
+       </servlet-mapping>
+       */
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         List<ServletMappingMetaData> servletMappings = jbwmd.getServletMappings();
+         if (servletMappings == null)
+         {
+            servletMappings = new ArrayList<ServletMappingMetaData>();
+            jbwmd.setServletMappings(servletMappings);
+         }
+         ServletMappingMetaData servletMapping = new ServletMappingMetaData();
+         servletMapping.setServletName(ep.getShortName());
+         servletMapping.setUrlPatterns(Arrays.asList(new String[] { ep.getURLPattern() }));
+         servletMappings.add(servletMapping);
+      }
+
+      String authMethod = null;
+
+      // Add web-app/security-constraint for each port component
+      for (Endpoint ep : dep.getService().getEndpoints())
+      {
+         String ejbName = ep.getShortName();
+
+         Boolean secureWSDLAccess = null;
+         String transportGuarantee = null;
+         String beanAuthMethod = null;
+
+         WebContext anWebContext = (WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
+         if (anWebContext != null)
+         {
+            if (anWebContext.authMethod().length() > 0)
+               beanAuthMethod = anWebContext.authMethod();
+            if (anWebContext.transportGuarantee().length() > 0)
+               transportGuarantee = anWebContext.transportGuarantee();
+            if (anWebContext.secureWSDLAccess())
+               secureWSDLAccess = anWebContext.secureWSDLAccess();
+         }
+
+         EJBArchiveMetaData appMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+         if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
+         {
+            EJBMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
+            EJBSecurityMetaData smd = bmd.getSecurityMetaData();
+            if (smd != null)
+            {
+               beanAuthMethod = smd.getAuthMethod();
+               transportGuarantee = smd.getTransportGuarantee();
+               secureWSDLAccess = smd.getSecureWSDLAccess();
+            }
+         }
+
+         if (beanAuthMethod != null || transportGuarantee != null)
+         {
+            /*
+             <security-constraint>
+             <web-resource-collection>
+             <web-resource-name>TestUnAuthPort</web-resource-name>
+             <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
+             </web-resource-collection>
+             <auth-constraint>
+             <role-name>*</role-name>
+             </auth-constraint>
+             <user-data-constraint>
+             <transport-guarantee>NONE</transport-guarantee>
+             </user-data-constraint>
+             </security-constraint>
+             */
+            List<SecurityConstraintMetaData> securityContraints = jbwmd.getSecurityContraints();
+            if (securityContraints == null)
+            {
+               securityContraints = new ArrayList<SecurityConstraintMetaData>();
+               jbwmd.setSecurityContraints(securityContraints);
+            }
+            SecurityConstraintMetaData securityConstraint = new SecurityConstraintMetaData();
+            securityContraints.add(securityConstraint);
+            
+            WebResourceCollectionsMetaData resourceCollections = securityConstraint.getResourceCollections();
+            if (resourceCollections == null)
+            {
+               resourceCollections = new WebResourceCollectionsMetaData();
+               securityConstraint.setResourceCollections(resourceCollections);
+            }
+            WebResourceCollectionMetaData resourceCollection = new WebResourceCollectionMetaData();
+            resourceCollections.add(resourceCollection);
+            
+            resourceCollection.setWebResourceName(ejbName);
+            resourceCollection.setUrlPatterns(Arrays.asList(new String[] { ep.getURLPattern() }));
+            ArrayList<String> httpMethods = new ArrayList<String>();
+            resourceCollection.setHttpMethods(httpMethods);
+            if (Boolean.TRUE.equals(secureWSDLAccess))
+            {
+               httpMethods.add("GET");
+            }
+            httpMethods.add("POST");
+
+            // Optional auth-constraint
+            if (beanAuthMethod != null)
+            {
+               // Only the first auth-method gives the war login-config/auth-method
+               if (authMethod == null)
+                  authMethod = beanAuthMethod;
+
+               AuthConstraintMetaData authConstraint = new AuthConstraintMetaData();
+               authConstraint.setRoleNames(Arrays.asList(new String[] { "*" }));
+               securityConstraint.setAuthConstraint(authConstraint);
+            }
+            // Optional user-data-constraint
+            if (transportGuarantee != null)
+            {
+               UserDataConstraintMetaData userDataConstraint = new UserDataConstraintMetaData();
+               userDataConstraint.setTransportGuarantee(TransportGuaranteeType.valueOf(transportGuarantee));
+               securityConstraint.setUserDataConstraint(userDataConstraint);
+            }
+         }
+      }
+
+      // Optional login-config/auth-method
+      if (authMethod != null && securityHandler != null)
+      {
+         LoginConfigMetaData loginConfig = jbwmd.getLoginConfig();
+         if (loginConfig == null)
+         {
+            loginConfig = new LoginConfigMetaData();
+            jbwmd.setLoginConfig(loginConfig);
+         }
+         loginConfig.setAuthMethod(authMethod);
+         loginConfig.setRealmName("EJBServiceEndpointServlet Realm");
+
+         securityHandler.addSecurityRoles(jbwmd, dep);
+      }
+   }
+
+   protected void createJBossWebAppDescriptor(Deployment dep, JBossWebMetaData jbwmd, SecurityHandler securityHandler)
+   {
+      /* Create a jboss-web
+       <jboss-web>
+       <security-domain>java:/jaas/cts</security-domain>
+       <context-root>/ws/ejbN/</context-root>
+       <virtual-host>some.domain.com</virtual-host>
+       </jboss-web>
+       */
+      if (securityHandler != null)
+         securityHandler.addSecurityDomain(jbwmd, dep);
+
+      // Get the context root for this deployment
+      String contextRoot = dep.getService().getContextRoot();
+      if (contextRoot == null)
+         throw new WSFDeploymentException("Cannot obtain context root");
+
+      jbwmd.setContextRoot(contextRoot);
+   }
+}


Property changes on: branches/ropalka-jbossws302/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppGenerator.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF




More information about the jboss-cvs-commits mailing list