[jboss-cvs] JBossAS SVN: r66446 - in trunk: server/src/main/org/jboss/ejb and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 25 13:24:56 EDT 2007


Author: thomas.diesler at jboss.com
Date: 2007-10-25 13:24:56 -0400 (Thu, 25 Oct 2007)
New Revision: 66446

Added:
   trunk/server/src/main/org/jboss/serviceref/
   trunk/server/src/main/org/jboss/serviceref/ServiceRefMetaDataAdator.java
   trunk/server/src/main/org/jboss/serviceref/ServiceReferenceHandler.java
Removed:
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/serviceref/
Modified:
   trunk/server/src/main/org/jboss/ejb/Container.java
   trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java
   trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
   trunk/webservices/src/main/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java
Log:
Fix service-ref handling for jse endpoints

Modified: trunk/server/src/main/org/jboss/ejb/Container.java
===================================================================
--- trunk/server/src/main/org/jboss/ejb/Container.java	2007-10-25 17:21:27 UTC (rev 66445)
+++ trunk/server/src/main/org/jboss/ejb/Container.java	2007-10-25 17:24:56 UTC (rev 66446)
@@ -77,7 +77,7 @@
 import org.jboss.metadata.ResourceEnvRefMetaData;
 import org.jboss.metadata.ResourceRefMetaData;
 import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
-import org.jboss.metadata.serviceref.ServiceRefDelegate;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
 import org.jboss.metadata.serviceref.VirtualFileAdaptor;
 import org.jboss.mx.util.ObjectNameConverter;
 import org.jboss.mx.util.ObjectNameFactory;
@@ -86,15 +86,15 @@
 import org.jboss.naming.NonSerializableFactory;
 import org.jboss.naming.Util;
 import org.jboss.security.AnybodyPrincipal;
-import org.jboss.security.AuthenticationManager; 
+import org.jboss.security.AuthenticationManager;
 import org.jboss.security.ISecurityManagement;
 import org.jboss.security.RealmMapping;
 import org.jboss.security.SimplePrincipal;
+import org.jboss.serviceref.ServiceReferenceHandler;
 import org.jboss.system.ServiceMBeanSupport;
 import org.jboss.util.NestedError;
 import org.jboss.util.NestedRuntimeException;
 import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
 import org.omg.CORBA.ORB;
 
 /**
@@ -178,18 +178,18 @@
 
    /** This is the TransactionManager */
    protected TransactionManager tm;
-   
+
    /** The Security Context FQN */
    protected String securityContextClassName;
 
    /** Security Domain to fall back on **/
    protected String defaultSecurityDomain;
-   
+
    /** SecurityManagement Instance - holder of all security managers */
    protected ISecurityManagement securityManagement;
-   
+
    /** This is the SecurityManager */
-   protected AuthenticationManager sm; 
+   protected AuthenticationManager sm;
 
    /** This is the realm mapping */
    protected RealmMapping rm;
@@ -324,8 +324,8 @@
    public AuthenticationManager getSecurityManager()
    {
       return sm;
-   } 
-   
+   }
+
    public ISecurityManagement getSecurityManagement()
    {
       return securityManagement;
@@ -334,7 +334,7 @@
    public void setSecurityManagement(ISecurityManagement securityManagement)
    {
       this.securityManagement = securityManagement;
-   } 
+   }
 
    public String getDefaultSecurityDomain()
    {
@@ -345,7 +345,7 @@
    {
       this.defaultSecurityDomain = defaultSecurityDomain;
    }
-    
+
    public String getSecurityContextClassName()
    {
       return securityContextClassName;
@@ -660,7 +660,7 @@
          permissions = new HashSet<Principal>();
          if (roles != null)
          {
-            for(String role : roles)
+            for (String role : roles)
                permissions.add(new SimplePrincipal(role));
          }
          methodPermissionsCache.put(m, permissions);
@@ -1124,7 +1124,7 @@
       // using the java: namespace directly
       Context ctx = (Context)new InitialContext().lookup("java:comp");
       Object id = ENCFactory.getCurrentId();
-      log.debug("Using java:comp using id="+id);
+      log.debug("Using java:comp using id=" + id);
 
       // Bind the orb
       if (orb != null)
@@ -1272,15 +1272,19 @@
       }
 
       // Bind service references
-      ClassLoader loader = unit.getClassLoader();
-      UnifiedVirtualFile vfsRoot = new VirtualFileAdaptor(unit.getRoot());
-      /* TODO ServiceRefMetaData
-      for (ServiceRefMetaData sref : metaData.getServiceRefs().values())
       {
-         String refName = sref.getServiceRefName();
-         new ServiceRefDelegate().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
+         ClassLoader loader = unit.getClassLoader();
+         UnifiedVirtualFile vfsRoot = new VirtualFileAdaptor(unit.getRoot());
+         /*
+         Iterator<ServiceReferenceMetaData> serviceReferences = beanMetaData.getServiceReferences();
+         while (serviceReferences.hasNext())
+         {
+            ServiceReferenceMetaData sref = serviceReferences.next();
+            String refName = sref.getServiceRefName();
+            new ServiceRefDelegate().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
+         }
+         */
       }
-      */
 
       // Bind resource references
       {

Added: trunk/server/src/main/org/jboss/serviceref/ServiceRefMetaDataAdator.java
===================================================================
--- trunk/server/src/main/org/jboss/serviceref/ServiceRefMetaDataAdator.java	                        (rev 0)
+++ trunk/server/src/main/org/jboss/serviceref/ServiceRefMetaDataAdator.java	2007-10-25 17:24:56 UTC (rev 66446)
@@ -0,0 +1,196 @@
+/*
+ * 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.serviceref;
+
+//$Id: ServiceRefDelegate.java 65538 2007-09-21 17:29:33Z scott.stark at jboss.org $
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.metadata.javaee.jboss.JBossPortComponentRef;
+import org.jboss.metadata.javaee.jboss.JBossServiceReferenceMetaData;
+import org.jboss.metadata.javaee.jboss.StubPropertyMetaData;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.javaee.spec.PortComponentRef;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerChainMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerChainsMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceHandlersMetaData;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedStubPropertyMetaData;
+
+/**
+ * Use ServiceReferenceMetaDataAdaptor from the metadata project 
+ */
+ at Deprecated
+public class ServiceRefMetaDataAdator
+{
+
+   public UnifiedServiceRefMetaData process(UnifiedVirtualFile vfsRoot, ServiceReferenceMetaData sref)
+   {
+      UnifiedServiceRefMetaData result = new UnifiedServiceRefMetaData(vfsRoot);
+      result.setServiceRefName(sref.getServiceRefName());
+      result.setServiceInterface(sref.getServiceInterface());
+      result.setServiceRefType(sref.getServiceRefType());
+      result.setWsdlFile(sref.getWsdlFile());
+      result.setMappingFile(sref.getJaxrpcMappingFile());
+      result.setServiceQName(sref.getServiceQname());
+
+      // TODO: should be unbounded
+      PortComponentRef pcRef = sref.getPortComponentRef();
+      if (pcRef != null)
+      {
+         UnifiedPortComponentRefMetaData upcRef = getUnifiedPortComponentRefMetaData(result, pcRef);
+         result.addPortComponentRef(upcRef);
+      }
+
+      ServiceReferenceHandlersMetaData srHandlers = sref.getHandlers();
+      if (srHandlers != null)
+      {
+         Iterator<ServiceReferenceHandlerMetaData> it = srHandlers.iterator();
+         while (it.hasNext())
+         {
+            ServiceReferenceHandlerMetaData srHandlerMetaData = it.next();
+            UnifiedHandlerMetaData uHandlerMetaData = getUnifiedHandlerMetaData(srHandlerMetaData);
+            result.addHandler(uHandlerMetaData);
+         }
+      }
+
+      ServiceReferenceHandlerChainsMetaData srHandlerChains = sref.getHandlerChains();
+      if (srHandlerChains != null)
+      {
+         UnifiedHandlerChainsMetaData uHandlerChains = new UnifiedHandlerChainsMetaData();
+         List<ServiceReferenceHandlerChainMetaData> srHandlerChainList = srHandlerChains.getHandlers();
+         for (ServiceReferenceHandlerChainMetaData srHandlerChain : srHandlerChainList)
+         {
+            UnifiedHandlerChainMetaData uHandlerChain = new UnifiedHandlerChainMetaData();
+            // TODO: soapHeader should be a QName
+            uHandlerChain.setServiceNamePattern(new QName(srHandlerChain.getServiceNamePattern()));
+            uHandlerChain.setPortNamePattern(new QName(srHandlerChain.getPortNamePattern()));
+            //uHandlerChain.setProtocolBindings(srHandlerChain.get);
+            List<ServiceReferenceHandlerMetaData> srHandlerChainHandlers = srHandlerChain.getHandler();
+            Iterator<ServiceReferenceHandlerMetaData> it = srHandlerChainHandlers.iterator();
+            while (it.hasNext())
+            {
+               ServiceReferenceHandlerMetaData srHandlerMetaData = it.next();
+               UnifiedHandlerMetaData uHandlerMetaData = getUnifiedHandlerMetaData(srHandlerMetaData);
+               uHandlerChain.addHandler(uHandlerMetaData);
+            }
+            uHandlerChains.addHandlerChain(uHandlerChain);
+         }
+         result.setHandlerChains(uHandlerChains);
+      }
+
+      if (sref instanceof JBossServiceReferenceMetaData)
+      {
+         JBossServiceReferenceMetaData jbRef = (JBossServiceReferenceMetaData)sref;
+         result.setServiceImplClass(jbRef.getServiceClass());
+         result.setConfigName(jbRef.getConfigName());
+         result.setConfigFile(jbRef.getConfigFile());
+         result.setWsdlOverride(jbRef.getWsdlOverride());
+         result.setHandlerChain(jbRef.getHandlerChain());
+         // TODO
+         //result.setCallProperties(callProps);
+      }
+      return result;
+   }
+
+   private UnifiedHandlerMetaData getUnifiedHandlerMetaData(ServiceReferenceHandlerMetaData srhmd)
+   {
+      UnifiedHandlerMetaData uhmd = new UnifiedHandlerMetaData();
+      uhmd.setHandlerName(srhmd.getHandlerName());
+      uhmd.setHandlerClass(srhmd.getHandlerClass());
+      List<ParamValueMetaData> initParams = srhmd.getInitParam();
+      if (initParams != null)
+      {
+         for (ParamValueMetaData initParam : initParams)
+         {
+            UnifiedInitParamMetaData param = new UnifiedInitParamMetaData();
+            param.setParamName(initParam.getParamName());
+            param.setParamValue(initParam.getParamValue());
+            uhmd.addInitParam(param);
+         }
+      }
+      List<String> soapHeaders = srhmd.getSoapHeader();
+      if (soapHeaders != null)
+      {
+         for (String soapHeader : soapHeaders)
+         {
+            // TODO: soapHeader should be a QName
+            uhmd.addSoapHeader(new QName(soapHeader));
+         }
+      }
+      List<String> soapRoles = srhmd.getSoapRole();
+      if (soapRoles != null)
+      {
+         for (String soapRole : soapRoles)
+         {
+            uhmd.addSoapRole(soapRole);
+         }
+      }
+      List<String> portNames = srhmd.getPortName();
+      if (portNames != null)
+      {
+         for (String portName : portNames)
+         {
+            uhmd.addPortName(portName);
+         }
+      }
+      return uhmd;
+   }
+
+   private UnifiedPortComponentRefMetaData getUnifiedPortComponentRefMetaData(UnifiedServiceRefMetaData usref, PortComponentRef pcref)
+   {
+      UnifiedPortComponentRefMetaData result = new UnifiedPortComponentRefMetaData(usref);
+      result.setServiceEndpointInterface(pcref.getServiceEndpointInterface());
+      result.setEnableMTOM(pcref.isEnableMtom());
+      result.setPortComponentLink(pcref.getPortComponentLink());
+      if (pcref instanceof JBossPortComponentRef)
+      {
+         JBossPortComponentRef jbpcref = (JBossPortComponentRef)pcref;
+         result.setPortQName(jbpcref.getPortQname());
+         result.setConfigName(jbpcref.getConfigName());
+         result.setConfigFile(jbpcref.getConfigFile());
+         List<StubPropertyMetaData> stubProps = jbpcref.getStubProperties();
+         if (stubProps != null)
+         {
+            for (StubPropertyMetaData stubProp : stubProps)
+            {
+               UnifiedStubPropertyMetaData prop = new UnifiedStubPropertyMetaData();
+               prop.setPropName(stubProp.getPropName());
+               prop.setPropValue(stubProp.getPropValue());
+               result.addStubProperty(prop);
+            }
+         }
+      }
+      return result;
+   }
+}

Added: trunk/server/src/main/org/jboss/serviceref/ServiceReferenceHandler.java
===================================================================
--- trunk/server/src/main/org/jboss/serviceref/ServiceReferenceHandler.java	                        (rev 0)
+++ trunk/server/src/main/org/jboss/serviceref/ServiceReferenceHandler.java	2007-10-25 17:24:56 UTC (rev 66446)
@@ -0,0 +1,71 @@
+/*
+ * 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.serviceref;
+
+// $Id: ServiceRefDelegate.java 65538 2007-09-21 17:29:33Z scott.stark at jboss.org $
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+
+/**
+ * Factory for ServiceRefHandler
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Oct-2007
+ */
+public class ServiceReferenceHandler
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(ServiceReferenceHandler.class);
+
+   private static ServiceRefHandler delegate;
+
+   public ServiceReferenceHandler()
+   {
+      if (delegate == null)
+      {
+         SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+         delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
+      }
+
+      if (delegate == null)
+         log.warn("ServiceRefHandler not available");
+   }
+
+   public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceReferenceMetaData sref) throws NamingException
+   {
+      if (delegate != null)
+      {
+         ServiceRefMetaData spiRef = new ServiceRefMetaDataAdator().process(vfsRoot, sref);
+         delegate.bindServiceRef(encCtx, encName, vfsRoot, loader, spiRef);
+      }
+   }
+}

Modified: trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java	2007-10-25 17:21:27 UTC (rev 66445)
+++ trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java	2007-10-25 17:24:56 UTC (rev 66446)
@@ -26,8 +26,6 @@
 import java.net.URLClassLoader;
 import java.util.ArrayList;
 import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
 import java.util.Set;
 
 import javax.management.MBeanServer;
@@ -42,12 +40,6 @@
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.ejb.EjbUtil50;
 import org.jboss.logging.Logger;
-import org.jboss.metadata.EjbLocalRefMetaData;
-import org.jboss.metadata.EjbRefMetaData;
-import org.jboss.metadata.MessageDestinationRefMetaData;
-import org.jboss.metadata.ResourceEnvRefMetaData;
-import org.jboss.metadata.ResourceRefMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
 import org.jboss.metadata.javaee.spec.EJBLocalReferencesMetaData;
 import org.jboss.metadata.javaee.spec.EJBReferenceMetaData;
@@ -63,8 +55,8 @@
 import org.jboss.metadata.javaee.spec.ResourceReferencesMetaData;
 import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
-import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.mx.loading.LoaderRepositoryFactory;
 import org.jboss.naming.NonSerializableFactory;
 import org.jboss.naming.Util;
@@ -72,9 +64,9 @@
 import org.jboss.security.SecurityConstants;
 import org.jboss.security.SecurityUtil;
 import org.jboss.security.authorization.PolicyRegistration;
+import org.jboss.serviceref.ServiceReferenceHandler;
 import org.jboss.web.WebApplication;
 import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
 import org.omg.CORBA.ORB;
 
 /**
@@ -515,8 +507,7 @@
       for(ServiceReferenceMetaData sref : serviceRefs)
       {
          String refName = sref.getServiceRefName();
-         // TODO
-         // new ServiceRefDelegate().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
+         new ServiceReferenceHandler().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
       }
    }
 

Modified: trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java	2007-10-25 17:21:27 UTC (rev 66445)
+++ trunk/tomcat/src/main/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java	2007-10-25 17:24:56 UTC (rev 66446)
@@ -53,11 +53,10 @@
 import org.apache.tomcat.util.modeler.Registry;
 import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
 import org.jboss.logging.Logger;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
 import org.jboss.metadata.javaee.spec.ServiceReferencesMetaData;
-import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
 import org.jboss.mx.util.MBeanServerLocator;
 import org.jboss.naming.NonSerializableFactory;
@@ -65,6 +64,7 @@
 import org.jboss.security.SecurityConstants;
 import org.jboss.security.SecurityUtil;
 import org.jboss.security.authorization.PolicyRegistration;
+import org.jboss.serviceref.ServiceReferenceHandler;
 import org.jboss.virtual.VirtualFile;
 import org.jboss.web.WebApplication;
 import org.jboss.web.deployers.AbstractWarDeployment;
@@ -77,7 +77,6 @@
 import org.jboss.web.tomcat.service.WebCtxLoader;
 import org.jboss.web.tomcat.service.session.AbstractJBossManager;
 import org.jboss.web.tomcat.service.session.ClusteringNotSupportedException;
-import org.jboss.web.tomcat.service.session.JBossCacheManager;
 import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
 import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
 import org.omg.CORBA.ORB;
@@ -169,7 +168,7 @@
       ClassLoader loader = Thread.currentThread().getContextClassLoader();
       metaData.setContextLoader(loader);
 
-      StandardContext context = (StandardContext) Class.forName(config.getContextClassName()).newInstance();
+      StandardContext context = (StandardContext)Class.forName(config.getContextClassName()).newInstance();
       injectionContainer = new TomcatInjectionContainer(webApp, webApp.getDeploymentUnit(), context, mainDeployer);
 
       Loader webLoader = webApp.getDeploymentUnit().getAttachment(Loader.class);
@@ -284,14 +283,11 @@
             break;
          default:
             log.debug("Using session cookies default setting");
-      } 
-      
+      }
+
       //Add a valve to establish security context
-      SecurityContextEstablishmentValve scevalve = new SecurityContextEstablishmentValve(
-            metaData.getSecurityDomain(), 
-            SecurityUtil.unprefixSecurityDomain(config.getDefaultSecurityDomain()),
-            config.getSecurityContextClassName(),
-            config.getSecurityManagement());
+      SecurityContextEstablishmentValve scevalve = new SecurityContextEstablishmentValve(metaData.getSecurityDomain(), SecurityUtil.unprefixSecurityDomain(config
+            .getDefaultSecurityDomain()), config.getSecurityContextClassName(), config.getSecurityManagement());
       context.addValve(scevalve);
 
       // Add a valve to estalish the JACC context before authorization valves
@@ -397,12 +393,12 @@
          URL xacmlPolicyFile = this.config.getXacmlPolicyURL();
          if (xacmlPolicyFile != null)
          {
-          //Look up JNDI for the AuthorizationManager
+            //Look up JNDI for the AuthorizationManager
             InitialContext ic = new InitialContext();
             String amCtx = SecurityConstants.JAAS_CONTEXT_ROOT + "/" + secDomain + "/authorizationMgr";
             AuthorizationManager authzmgr = (AuthorizationManager)ic.lookup(amCtx);
             /**AuthorizationManager authzmgr = 
-                org.jboss.security.SecurityUtil.getAuthorizationManager(secDomain);*/
+             org.jboss.security.SecurityUtil.getAuthorizationManager(secDomain);*/
             if (authzmgr instanceof PolicyRegistration)
             {
                PolicyRegistration xam = (PolicyRegistration)authzmgr;
@@ -476,7 +472,6 @@
                   log.debug("Unable to retrieve orb", t);
                }
 
-               
                // JTA links
                envCtx.bind("TransactionSynchronizationRegistry", new LinkRef("java:TransactionSynchronizationRegistry"));
                log.debug("Linked java:comp/TransactionSynchronizationRegistry to JNDI name: java:TransactionSynchronizationRegistry");
@@ -503,9 +498,7 @@
                      ServiceRefMetaData injectedRef = envRefGroup.getServiceRef(refName);
                      if (injectedRef == null || injectedRef.isProcessed() == false)
                      {
-                        /* TODO ServiceRefDelegate
-                        new ServiceRefDelegate().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
-                        */
+                        new ServiceReferenceHandler().bindServiceRef(envCtx, refName, vfsRoot, loader, sref);
                      }
                   }
                }
@@ -530,8 +523,7 @@
 
    }
 
-   public Loader getWebLoader(VFSDeploymentUnit unit, JBossWebMetaData metaData, ClassLoader loader, URL url)
-      throws MalformedURLException
+   public Loader getWebLoader(VFSDeploymentUnit unit, JBossWebMetaData metaData, ClassLoader loader, URL url) throws MalformedURLException
    {
       Loader webLoader = null;
 
@@ -608,7 +600,7 @@
          hostName = hostNames.get(0);
       }
       performUndeployInternal(hostName, warUrl, warInfo);
-      for(int n = 1; n < length; n ++)
+      for (int n = 1; n < length; n++)
       {
          String additionalHostName = hostNames.get(n);
          performUndeployInternal(additionalHostName, warUrl, warInfo);
@@ -621,7 +613,7 @@
 
       JBossWebMetaData metaData = warInfo.getMetaData();
       String ctxPath = metaData.getContextRoot();
-       
+
       // TODO: Need to remove the dependency on MBeanServer
       MBeanServer server = MBeanServerLocator.locateJBoss();
       // If the server is gone, all apps were stopped already
@@ -673,9 +665,9 @@
 
       // Map the virtual host names to the hosts
       HashSet hosts = new HashSet();
-      if(vhostNames != null)
+      if (vhostNames != null)
       {
-         for(String vhost : vhostNames)
+         for (String vhost : vhostNames)
          {
             String host = (String)vhostToHostNames.get(vhost);
             if (host == null)

Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java	2007-10-25 17:21:27 UTC (rev 66445)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java	2007-10-25 17:24:56 UTC (rev 66446)
@@ -48,7 +48,18 @@
 
    public UnifiedVirtualFile findChild(String child) throws IOException
    {
-      VirtualFile vf = root.findChild(child);
+      VirtualFile vf = root;
+      while (child.startsWith("./"))
+      {
+         child = child.substring(2);
+      }
+      while (child.startsWith("../"))
+      {
+         child = child.substring(3);
+         vf = vf.getParent();
+      }
+      
+      vf = vf.findChild(child);
       return new VirtualFileAdaptor(vf);
    }
 




More information about the jboss-cvs-commits mailing list