[jboss-cvs] JBossAS SVN: r61224 - in branches/tdiesler/trunk: ejb3/src/main/org/jboss/injection and 9 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 8 11:22:56 EST 2007


Author: thomas.diesler at jboss.com
Date: 2007-03-08 11:22:55 -0500 (Thu, 08 Mar 2007)
New Revision: 61224

Added:
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefElement.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandler.java
Removed:
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/CallPropertyMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainsMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/InitParamMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/PortComponentRefMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandlerDelegate.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/StubPropertyMetaData.java
Modified:
   branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
   branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
   branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/ServiceRefInjector.java
   branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java
   branches/tdiesler/trunk/server/src/main/org/jboss/deployment/ClientDeployer.java
   branches/tdiesler/trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
   branches/tdiesler/trunk/server/src/main/org/jboss/ejb/Container.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/BeanMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/ClientMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/DDObjectFactory.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/WebMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefMetaData.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java
   branches/tdiesler/trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java
   branches/tdiesler/trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java
   branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java
   branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment.java
   branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment2.java
Log:


Modified: branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -109,7 +109,7 @@
       }
       else
       {
-         targetRef.mergeJBossProperties(sref);
+         targetRef.merge(sref);
       }
    }
 

Modified: branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -676,7 +676,7 @@
       }
       else
       {
-         targetRef.mergeJBossProperties(sref);
+         targetRef.merge(sref);
       }
    }
 

Modified: branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/ServiceRefInjector.java
===================================================================
--- branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/ServiceRefInjector.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/ServiceRefInjector.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -29,7 +29,7 @@
 import javax.xml.ws.WebServiceException;
 
 import org.jboss.logging.Logger;
-import org.jboss.metadata.serviceref.ServiceRefHandlerDelegate;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.metadata.serviceref.ServiceRefMetaData;
 import org.jboss.virtual.VirtualFile;
 
@@ -59,7 +59,7 @@
       {
          Context envCtx = container.getEnc();
          VirtualFile vfsRoot = container.getRootFile();
-         ServiceRefHandlerDelegate.bindServiceRef(envCtx, name, vfsRoot, sref);
+         new ServiceRefDelegate().setupServiceRef(envCtx, name, vfsRoot, sref);
       }
       catch (Exception e)
       {

Modified: branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java
===================================================================
--- branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -21,7 +21,7 @@
  */
 package org.jboss.injection;
 
-// $Id$
+// $Id: WebServiceRefHandler.java 61084 2007-03-05 14:50:45Z thomas.diesler at jboss.com $
 
 import java.lang.reflect.AccessibleObject;
 import java.lang.reflect.Field;
@@ -142,7 +142,7 @@
       if (sref == null)
       {
          log.debug("No override for @WebServiceRef.name: " + name);
-         sref = new ServiceRefMetaData();
+         sref = ServiceRefMetaData.newInstance();
          sref.setServiceRefName(name);
       }
       return sref;

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/deployment/ClientDeployer.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/deployment/ClientDeployer.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/deployment/ClientDeployer.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -48,7 +48,7 @@
 import org.jboss.metadata.ResourceEnvRefMetaData;
 import org.jboss.metadata.ResourceRefMetaData;
 import org.jboss.metadata.XmlFileLoader;
-import org.jboss.metadata.serviceref.ServiceRefHandlerDelegate;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.naming.Util;
 import org.jboss.util.xml.DOMUtils;
 import org.jboss.virtual.VirtualFile;
@@ -269,7 +269,7 @@
 
       // Bind <service-ref> elements
       VirtualFile vfsRoot = unit.getDeploymentContext().getRoot();
-      ServiceRefHandlerDelegate.bindServiceRefs(envCtx, vfsRoot, metaData.getServiceRefs().values());
+      new ServiceRefDelegate().setupServiceRefs(envCtx, vfsRoot, metaData.getServiceRefs().values());
 
       // Bind resource references
       HashMap resRefs = metaData.getResourceReferences();

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -590,7 +590,7 @@
       }
       else
       {
-         targetRef.mergeJBossProperties(sref);
+         targetRef.merge(sref);
       }
    }
 

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/ejb/Container.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/ejb/Container.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/ejb/Container.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -75,7 +75,7 @@
 import org.jboss.metadata.MessageDestinationRefMetaData;
 import org.jboss.metadata.ResourceEnvRefMetaData;
 import org.jboss.metadata.ResourceRefMetaData;
-import org.jboss.metadata.serviceref.ServiceRefHandlerDelegate;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.mx.util.ObjectNameConverter;
 import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.naming.ENCFactory;
@@ -1225,7 +1225,7 @@
 
       // Bind service references
       VirtualFile vfsRoot = unit.getDeploymentContext().getRoot();
-      ServiceRefHandlerDelegate.bindServiceRefs(envCtx, vfsRoot, metaData.getServiceRefs().values());
+      new ServiceRefDelegate().setupServiceRefs(envCtx, vfsRoot, metaData.getServiceRefs().values());
 
       // Bind resource references
       {

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/BeanMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/BeanMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/BeanMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -35,6 +35,7 @@
 
 import org.jboss.deployment.DeploymentException;
 import org.jboss.invocation.InvocationType;
+import org.jboss.metadata.serviceref.ServiceRefObjectFactory;
 import org.jboss.metadata.serviceref.ServiceRefMetaData;
 import org.jboss.mx.util.ObjectNameFactory;
 import org.jboss.security.AnybodyPrincipal;
@@ -1118,11 +1119,11 @@
       while (iterator.hasNext())
       {
          Element serviceRef = (Element)iterator.next();
-         if (ServiceRefMetaData.isJ2EE14Descriptor(serviceRef))
+         if (ServiceRefObjectFactory.isJ2EE14Descriptor(serviceRef))
          {
-            ServiceRefMetaData refMetaData = new ServiceRefMetaData();
-            refMetaData.importStandardXml(serviceRef);
-            serviceRefs.put(refMetaData.getServiceRefName(), refMetaData);
+            ServiceRefMetaData sref = ServiceRefMetaData.newInstance();
+            sref.importStandardXml(serviceRef);
+            serviceRefs.put(sref.getServiceRefName(), sref);
          }
       }
 
@@ -1296,7 +1297,7 @@
          Element serviceRef = (Element)iterator.next();
          String serviceRefName = MetaData.getUniqueChildContent(serviceRef, "service-ref-name");
          ServiceRefMetaData refMetaData = (ServiceRefMetaData)serviceRefs.get(serviceRefName);
-         if (refMetaData == null && ServiceRefMetaData.isJ2EE14Descriptor(serviceRef))
+         if (refMetaData == null && ServiceRefObjectFactory.isJ2EE14Descriptor(serviceRef))
          {
             throw new DeploymentException("service-ref " + serviceRefName + " found in jboss.xml but not in ejb-jar.xml");
          }

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/ClientMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/ClientMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/ClientMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -32,6 +32,7 @@
 
 import org.jboss.deployment.DeploymentException;
 import org.jboss.logging.Logger;
+import org.jboss.metadata.serviceref.ServiceRefObjectFactory;
 import org.jboss.metadata.serviceref.ServiceRefMetaData;
 import org.w3c.dom.Element;
 
@@ -174,11 +175,11 @@
       while (iterator.hasNext())
       {
          Element serviceRef = (Element)iterator.next();
-         if (ServiceRefMetaData.isJ2EE14Descriptor(serviceRef))
+         if (ServiceRefObjectFactory.isJ2EE14Descriptor(serviceRef))
          {
-            ServiceRefMetaData refMetaData = new ServiceRefMetaData();
-            refMetaData.importStandardXml(serviceRef);
-            serviceRefs.put(refMetaData.getServiceRefName(), refMetaData);
+            ServiceRefMetaData sref = ServiceRefMetaData.newInstance();
+            sref.importStandardXml(serviceRef);
+            serviceRefs.put(sref.getServiceRefName(), sref);
          }
       }
 
@@ -265,15 +266,15 @@
       {
          Element serviceRef = (Element)iterator.next();
          String serviceRefName = MetaData.getUniqueChildContent(serviceRef, "service-ref-name");
-         ServiceRefMetaData refMetaData = (ServiceRefMetaData)serviceRefs.get(serviceRefName);
-         if (refMetaData == null)
+         ServiceRefMetaData sref = (ServiceRefMetaData)serviceRefs.get(serviceRefName);
+         if (sref == null)
          {
             log.warn("service-ref " + serviceRefName + " found in jboss-web.xml but not in web.xml");
-            refMetaData = new ServiceRefMetaData();
-            refMetaData.setServiceRefName(serviceRefName);
-            serviceRefs.put(serviceRefName, refMetaData);
+            sref = ServiceRefMetaData.newInstance();
+            sref.setServiceRefName(serviceRefName);
+            serviceRefs.put(serviceRefName, sref);
          }
-         refMetaData.importJBossXml(serviceRef);
+         sref.importJBossXml(serviceRef);
       }
 
       // Get the JNDI name binding for resource-refs

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/DDObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/DDObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/DDObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -435,7 +435,7 @@
       }
       else if (localName.equals("service-ref"))
       {
-         child = new ServiceRefMetaData();
+         child = ServiceRefMetaData.newInstance();
       }
       else if (localName.equals("jndi-ref"))
       {

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/WebMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/WebMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/WebMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1315,7 +1315,7 @@
          if (refMetaData == null)
          {
             log.warn("service-ref " + serviceRefName + " found in jboss-web.xml but not in web.xml");
-            refMetaData = new ServiceRefMetaData();
+            refMetaData = ServiceRefMetaData.newInstance();
             refMetaData.setServiceRefName(serviceRefName);
             serviceRefs.put(serviceRefName, refMetaData);
          }

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/CallPropertyMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/CallPropertyMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/CallPropertyMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,73 +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.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-
-/**
- * @author Thomas.Diesler at jboss.org
- * @since 06-May-2004
- */
-public class CallPropertyMetaData implements Serializable
-{
-   // The required <prop-name> element
-   private String propName;
-   // The required <prop-value> element
-   private String propValue;
-
-   public CallPropertyMetaData()
-   {
-   }
-
-   public CallPropertyMetaData(String propName, String propValue)
-   {
-      this.propName = propName;
-      this.propValue = propValue;
-   }
-
-   public String getPropName()
-   {
-      return propName;
-   }
-
-   public void setPropName(String paramName)
-   {
-      this.propName = paramName;
-   }
-
-   public String getPropValue()
-   {
-      return propValue;
-   }
-
-   public void setPropValue(String paramValue)
-   {
-      this.propValue = paramValue;
-   }
-
-   public String toString()
-   {
-      return "[name=" + propName + ",value=" + propValue + "]";
-   }
-}

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -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.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
-/** The unified metdata data for a handler chain element
- * 
- * @author Thomas.Diesler at jboss.org
- */
-public class HandlerChainMetaData implements Serializable
-{
-   private QName serviceNamePattern;
-   private QName portNamePattern;
-   private String protocolBindings;
-   private List<HandlerMetaData> handlers = new ArrayList<HandlerMetaData>();
-   
-   public QName getPortNamePattern()
-   {
-      return portNamePattern;
-   }
-
-   public void setPortNamePattern(QName portNamePattern)
-   {
-      this.portNamePattern = portNamePattern;
-   }
-
-   public QName getServiceNamePattern()
-   {
-      return serviceNamePattern;
-   }
-
-   public void setServiceNamePattern(QName serviceNamePattern)
-   {
-      this.serviceNamePattern = serviceNamePattern;
-   }
-
-   public String getProtocolBindings()
-   {
-      return protocolBindings;
-   }
-   
-   public void setProtocolBindings(String protocolBindings)
-   {
-      this.protocolBindings = protocolBindings;
-   }
-   
-   public List<HandlerMetaData> getHandlers()
-   {
-      return handlers;
-   }
-   
-   public void addHandler(HandlerMetaData handler)
-   {
-      handlers.add(handler);
-   }
-   
-   Element toXMLFragment()
-   {
-      Element root = DocumentHelper.createElement("handler-chain");
-      if (serviceNamePattern != null)
-         root.addElement("service-name-pattern").addText(serviceNamePattern.toString());
-      if (portNamePattern != null)
-         root.addElement("port-name-pattern").addText(portNamePattern.toString());
-      if (protocolBindings != null)
-         root.addElement("protocol-bindings").addText(protocolBindings);
-      for (HandlerMetaData handler : getHandlers())
-         root.add(handler.toXMLFragment());
-      return root;
-   }
-}

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainsMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainsMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerChainsMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,60 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-
-/** The unified metdata data for a handler chains element
- * 
- * @author Thomas.Diesler at jboss.org
- */
-public class HandlerChainsMetaData implements Serializable
-{
-   private List<HandlerChainMetaData> handlerChains = new ArrayList<HandlerChainMetaData>();
-
-   public List<HandlerChainMetaData> getHandlerChains()
-   {
-      return handlerChains;
-   }
-
-   public void addHandlerChain(HandlerChainMetaData handlerChain)
-   {
-      handlerChains.add(handlerChain);
-   }
-
-   Element toXMLFragment()
-   {
-      Element root = DocumentHelper.createElement("handler-chains");
-      for (HandlerChainMetaData handlerChain : getHandlerChains())
-         root.add(handlerChain.toXMLFragment());
-      return root;
-   }
-}

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/HandlerMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,184 +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.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-import org.jboss.metadata.MetaData;
-import org.jboss.xb.QNameBuilder;
-
-/** The unified metdata data for a handler element
- * 
- * @author Thomas.Diesler at jboss.org
- * @version $Revision$
- */
-public class HandlerMetaData implements Serializable
-{
-   // The required <handler-name> element
-   private String handlerName;
-   // The required <handler-class> element
-   private String handlerClass;
-   // The optional <init-param> elements
-   private List<InitParamMetaData> initParams = new ArrayList<InitParamMetaData>();
-   // The optional <soap-header> elements
-   private List<QName> soapHeaders = new ArrayList<QName>();
-   // The optional <soap-role> elements
-   private List<String> soapRoles = new ArrayList<String>();
-   // The optional <port-name> elements, these only apply to webserve clients
-   private List<String> portNames = new ArrayList<String>();
-
-   public void setHandlerName(String value)
-   {
-      this.handlerName = value;
-   }
-
-   public String getHandlerName()
-   {
-      return handlerName;
-   }
-
-   public void setHandlerClass(String handlerClass)
-   {
-      this.handlerClass = handlerClass;
-   }
-
-   public String getHandlerClass()
-   {
-      return handlerClass;
-   }
-
-   public void addInitParam(InitParamMetaData param)
-   {
-      initParams.add(param);
-   }
-
-   public List<InitParamMetaData> getInitParams()
-   {
-      return initParams;
-   }
-
-   public void addSoapHeader(QName qName)
-   {
-      soapHeaders.add(qName);
-   }
-
-   public List<QName> getSoapHeaders()
-   {
-      return soapHeaders;
-   }
-
-   public void addSoapRole(String value)
-   {
-      soapRoles.add(value);
-   }
-
-   public List<String> getSoapRoles()
-   {
-      return soapRoles;
-   }
-
-   public List<String> getPortNames()
-   {
-      return portNames;
-   }
-
-   public void addPortName(String value)
-   {
-      portNames.add(value);
-   }
-
-   /** @deprecated */
-   public void importStandardXml(org.w3c.dom.Element element)
-   {
-      handlerName = MetaData.getUniqueChildContent(element, "handler-name");
-
-      handlerClass = MetaData.getUniqueChildContent(element, "handler-class");
-
-      // Parse the init-param elements
-      Iterator iterator = MetaData.getChildrenByTagName(element, "init-param");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element paramElement = (org.w3c.dom.Element)iterator.next();
-         InitParamMetaData param = new InitParamMetaData();
-         param.setParamName(MetaData.getUniqueChildContent(paramElement, "param-name"));
-         param.setParamValue(MetaData.getUniqueChildContent(paramElement, "param-value"));
-         initParams.add(param);
-      }
-
-      // Parse the soap-header elements
-      iterator = MetaData.getChildrenByTagName(element, "soap-header");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element headerElement = (org.w3c.dom.Element)iterator.next();
-         String content = MetaData.getElementContent(headerElement);
-         QName qname = QNameBuilder.buildQName(headerElement, content);
-         soapHeaders.add(qname);
-      }
-
-      // Parse the soap-role elements
-      iterator = MetaData.getChildrenByTagName(element, "soap-role");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element roleElement = (org.w3c.dom.Element)iterator.next();
-         String content = MetaData.getElementContent(roleElement);
-         soapRoles.add(content);
-      }
-
-      // Parse the port-name elements
-      iterator = MetaData.getChildrenByTagName(element, "port-name");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element portElement = (org.w3c.dom.Element)iterator.next();
-         String content = MetaData.getElementContent(portElement);
-         portNames.add(content);
-      }
-   }
-   
-   Element toXMLFragment()
-   {
-      Element root = DocumentHelper.createElement("handler");
-      root.addElement("handler-name").addText(handlerName);
-      root.addElement("handler-class").addText(handlerClass);
-      for (InitParamMetaData param : getInitParams())
-      {
-         Element paramEl = root.addElement("init-param");
-         paramEl.addElement("param-name").addText(param.getParamName());
-         paramEl.addElement("param-value").addText(param.getParamValue());
-      }
-      for (QName soapHeader : getSoapHeaders())
-         root.addElement("soap-header").addText(soapHeader.toString());
-      for (String soapRole : getSoapRoles())
-         root.addElement("soap-role").addText(soapRole);
-      for (String portName : getPortNames())
-         root.addElement("port-name").addText(portName);
-      return root;
-   }
-}

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/InitParamMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/InitParamMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/InitParamMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,63 +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.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-
-/**
- * @author Thomas.Diesler at jboss.org
- * @since 06-May-2004
- */
-public class InitParamMetaData implements Serializable
-{
-   // The required <param-name> element
-   private String paramName;
-   // The required <param-value> element
-   private String paramValue;
-
-   public String getParamName()
-   {
-      return paramName;
-   }
-
-   public void setParamName(String paramName)
-   {
-      this.paramName = paramName;
-   }
-
-   public String getParamValue()
-   {
-      return paramValue;
-   }
-
-   public void setParamValue(String paramValue)
-   {
-      this.paramValue = paramValue;
-   }
-
-   public String toString()
-   {
-      return "[name=" + paramName + ",value=" + paramValue + "]";
-   }
-}

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/PortComponentRefMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/PortComponentRefMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/PortComponentRefMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,240 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-import org.jboss.metadata.MetaData;
-
-/** The metdata data from service-ref/port-component-ref element in web.xml, ejb-jar.xml, and application-client.xml.
- *
- * @author Thomas.Diesler at jboss.org
- */
-public class PortComponentRefMetaData implements Serializable
-{
-   // The parent service-ref
-   private ServiceRefMetaData serviceRefMetaData;
-
-   // Standard properties
-   
-   // The required <service-endpoint-interface> element
-   private String serviceEndpointInterface;
-   // The optional <enable-mtom> element
-   private Boolean enableMTOM;
-   // The optional <port-component-link> element
-   private String portComponentLink;
-   
-   // JBoss properties 
-   
-   // The optional <port-qname> element
-   private QName portQName;
-   // The optional JBossWS config-name
-   private String configName;
-   // The optional JBossWS config-file
-   private String configFile;
-   // Arbitrary proxy properties given by <call-property> 
-   private List<CallPropertyMetaData> callProperties = new ArrayList<CallPropertyMetaData>();
-   // Arbitrary proxy properties given by <stub-property> 
-   private List<StubPropertyMetaData> stubProperties = new ArrayList<StubPropertyMetaData>();
-
-   public PortComponentRefMetaData(ServiceRefMetaData serviceRefMetaData)
-   {
-      this.serviceRefMetaData = serviceRefMetaData;
-   }
-
-   public ServiceRefMetaData getServiceRefMetaData()
-   {
-      return serviceRefMetaData;
-   }
-
-   public void merge(PortComponentRefMetaData pcref)
-   {
-      portQName = pcref.portQName;
-      configName = pcref.configName;
-      configFile = pcref.configFile;
-      callProperties = pcref.callProperties;
-      stubProperties = pcref.stubProperties;
-   }
-   
-   public Boolean getEnableMTOM()
-   {
-      return enableMTOM;
-   }
-
-   public void setEnableMTOM(Boolean enableMTOM)
-   {
-      this.enableMTOM = enableMTOM;
-   }
-
-   /** 
-    * The port-component-link element links a port-component-ref
-    * to a specific port-component required to be made available
-    * by a service reference.
-    * 
-    * The value of a port-component-link must be the
-    * port-component-name of a port-component in the same module
-    * or another module in the same application unit. The syntax
-    * for specification follows the syntax defined for ejb-link
-    * in the EJB 2.0 specification.
-    */
-   public String getPortComponentLink()
-   {
-      return portComponentLink;
-   }
-
-   public void setPortComponentLink(String portComponentLink)
-   {
-      this.portComponentLink = portComponentLink;
-   }
-
-   public String getServiceEndpointInterface()
-   {
-      return serviceEndpointInterface;
-   }
-
-   public void setServiceEndpointInterface(String serviceEndpointInterface)
-   {
-      this.serviceEndpointInterface = serviceEndpointInterface;
-   }
-
-   public QName getPortQName()
-   {
-      return portQName;
-   }
-
-   public void setPortQName(QName portQName)
-   {
-      this.portQName = portQName;
-   }
-
-   public List<CallPropertyMetaData> getCallProperties()
-   {
-      return callProperties;
-   }
-
-   public void setCallProperties(List<CallPropertyMetaData> callProps)
-   {
-      callProperties = callProps;
-   }
-
-   public void addCallProperty(CallPropertyMetaData callProp)
-   {
-      callProperties.add(callProp);
-   }
-   
-   public List<StubPropertyMetaData> getStubProperties()
-   {
-      return stubProperties;
-   }
-
-   public void setStubProperties(List<StubPropertyMetaData> stubProps)
-   {
-      stubProperties = stubProps;
-   }
-
-   public void addStubProperty(StubPropertyMetaData stubProp)
-   {
-      stubProperties.add(stubProp);
-   }
-   
-   public String getConfigFile()
-   {
-      return configFile;
-   }
-
-   public void setConfigFile(String configFile)
-   {
-      this.configFile = configFile;
-   }
-
-   public String getConfigName()
-   {
-      return configName;
-   }
-
-   public void setConfigName(String configName)
-   {
-      this.configName = configName;
-   }
-
-   /** @deprecated */
-   public void importStandardXml(org.w3c.dom.Element element)
-   {
-      serviceEndpointInterface = MetaData.getUniqueChildContent(element, "service-endpoint-interface");
-      portComponentLink = MetaData.getOptionalChildContent(element, "port-component-link");
-   }
-
-   /** @deprecated */
-   public void importJBossXml(org.w3c.dom.Element element)
-   {
-      // Look for call-property elements
-      Iterator iterator = MetaData.getChildrenByTagName(element, "call-property");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element propElement = (org.w3c.dom.Element)iterator.next();
-         String name = MetaData.getUniqueChildContent(propElement, "prop-name");
-         String value = MetaData.getUniqueChildContent(propElement, "prop-value");
-         callProperties.add(new CallPropertyMetaData(name, value));
-      }
-   }
-   
-   Element toXMLFragment()
-   {
-      Element root = DocumentHelper.createElement("port-component-ref");
-      if (serviceEndpointInterface != null)
-         root.addElement("service-endpoint-interface").addText(serviceEndpointInterface);
-      if (enableMTOM != null)
-         root.addElement("enable-mtom").addText(enableMTOM.toString());
-      if (portComponentLink != null)
-         root.addElement("port-component-link").addText(portComponentLink);
-      if (portQName != null)
-         root.addElement("port-qname").addText(portQName.toString());
-      if (configName != null)
-         root.addElement("config-name").addText(configName);
-      if (configFile != null)
-         root.addElement("config-file").addText(configFile);
-      
-      for (CallPropertyMetaData prop : getCallProperties())
-      {
-         Element propEl = root.addElement("call-property");
-         propEl.addElement("prop-name").addText(prop.getPropName());
-         propEl.addElement("prop-value").addText(prop.getPropValue());
-      }
-      for (StubPropertyMetaData prop : getStubProperties())
-      {
-         Element propEl = root.addElement("stub-property");
-         propEl.addElement("prop-name").addText(prop.getPropName());
-         propEl.addElement("prop-value").addText(prop.getPropValue());
-      }
-      
-      return root;
-   }
-}

Copied: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java (from rev 61222, branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandlerDelegate.java)
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java	                        (rev 0)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -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.metadata.serviceref;
+
+// $Id$
+
+import java.lang.reflect.AnnotatedElement;
+import java.util.Collection;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanProxyExt;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.mx.util.ObjectNameFactory;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * Factory for ServiceRefHandler
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2004
+ */
+public class ServiceRefDelegate implements ServiceRefHandler
+{
+   // provide logging
+   private static final Logger log = Logger.getLogger(ServiceRefDelegate.class);
+
+   private static ObjectName objectName = ObjectNameFactory.create("jboss.ws:service=ServiceRefHandler");
+   private static ServiceRefHandler delegate;
+
+   public ServiceRefDelegate()
+   {
+      if (delegate == null)
+      {
+         MBeanServer server = MBeanServerLocator.locateJBoss();
+         if (server.isRegistered(objectName))
+            delegate = (ServiceRefHandler)MBeanProxyExt.create(ServiceRefHandler.class, objectName, server);
+      }
+
+      if (delegate == null)
+         log.warn("Not registered: " + objectName);
+   }
+
+   public ServiceRefMetaData newMetaData()
+   {
+      return (delegate != null ? delegate.newMetaData() : null);
+   }
+
+   public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+   {
+      Object child = null;
+      if (delegate != null)
+         child = delegate.newChild(ref, navigator, namespaceURI, localName, attrs);
+      return child;
+   }
+
+   public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+   {
+      if (delegate != null)
+         setValue(ref, navigator, namespaceURI, localName, value);
+   }
+
+   public void setupServiceRefs(Context envCtx, VirtualFile vfsRoot, Collection<ServiceRefMetaData> serviceRefs) throws NamingException
+   {
+      if (delegate != null)
+         setupServiceRefs(envCtx, vfsRoot, serviceRefs);
+   }
+
+   public void setupServiceRef(Context encCtx, String encName, VirtualFile vfsRoot, ServiceRefMetaData sref) throws NamingException
+   {
+      if (delegate != null)
+         setupServiceRef(encCtx, encName, vfsRoot, sref);
+   }
+}

Added: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefElement.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefElement.java	                        (rev 0)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefElement.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -0,0 +1,36 @@
+/*
+ * 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.metadata.serviceref;
+
+// $Id$
+
+import java.io.Serializable;
+
+/**
+ * A marker for all <service-ref> related objects.
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefElement implements Serializable
+{
+}


Property changes on: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefElement.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Added: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandler.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandler.java	                        (rev 0)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandler.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -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.metadata.serviceref;
+
+// $Id$
+
+import java.util.Collection;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.virtual.VirtualFile;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * An implementation of this interface handles all service-ref binding concerns 
+ * 
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2004
+ */
+public interface ServiceRefHandler
+{
+   ServiceRefMetaData newMetaData();
+
+   Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs);
+
+   void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value);
+   
+   void setupServiceRefs(Context envCtx, VirtualFile vfsRoot, Collection<ServiceRefMetaData> serviceRefs) throws NamingException;
+   
+   void setupServiceRef(Context encCtx, String encName, VirtualFile vfsRoot, ServiceRefMetaData sref) throws NamingException;
+}


Property changes on: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandler.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandlerDelegate.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandlerDelegate.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefHandlerDelegate.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,104 +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.metadata.serviceref;
-
-// $Id$
-
-import java.lang.reflect.AnnotatedElement;
-import java.util.Collection;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.naming.Context;
-import javax.naming.NamingException;
-
-import org.jboss.logging.Logger;
-import org.jboss.mx.util.MBeanProxyExt;
-import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.mx.util.ObjectNameFactory;
-import org.jboss.virtual.VirtualFile;
-
-/**
- * Factory for ServiceRefHandler
- * 
- * @author Thomas.Diesler at jboss.org
- * @since 05-May-2004
- */
-public class ServiceRefHandlerDelegate
-{
-   // provide logging
-   private static final Logger log = Logger.getLogger(ServiceRefHandlerDelegate.class);
-
-   private static ServiceRefHandler refHandler;
-
-   // This interface is exposed from JBossWS
-   public interface ServiceRefHandler
-   {
-      void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, VirtualFile vfsRoot, String xmlFragment) throws NamingException;
-   }
-
-   /**
-    * Bind multiple service refs to the client environment
-    */
-   public static void bindServiceRefs(Context envCtx, VirtualFile vfsRoot, Collection<ServiceRefMetaData> serviceRefs) throws NamingException
-   {
-      for (ServiceRefMetaData sref : serviceRefs)
-      {
-         String encName = sref.getServiceRefName();
-         bindServiceRef(envCtx, encName, vfsRoot, sref);
-      }
-   }
-
-   /**
-    * Bind a single service ref to the client environment
-    */
-   public static void bindServiceRef(Context envCtx, String encName, VirtualFile vfsRoot, ServiceRefMetaData sref) throws NamingException
-   {
-      ServiceRefHandler handler = getServiceRefHandler();
-      if (handler != null)
-      {
-         AnnotatedElement anElement = sref.getAnnotatedElement();
-         handler.setupServiceRef(envCtx, encName, anElement, vfsRoot, sref.toXMLFragmet());
-         log.debug(encName + ": " + sref.getServiceRefName());
-         sref.setProcessed(true);
-      }
-   }
-
-   private static ServiceRefHandler getServiceRefHandler()
-   {
-      if (refHandler == null)
-      {
-         MBeanServer server = MBeanServerLocator.locateJBoss();
-         ObjectName objectName = ObjectNameFactory.create("jboss.ws:service=ServiceRefHandler");
-
-         if (server.isRegistered(objectName))
-         {
-            refHandler = (ServiceRefHandler)MBeanProxyExt.create(ServiceRefHandler.class, objectName, server);
-         }
-         else
-         {
-            log.warn("Not registered: " + objectName);
-         }
-      }
-      return refHandler;
-   }
-}

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -25,439 +25,32 @@
 
 import java.io.Serializable;
 import java.lang.reflect.AnnotatedElement;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
 
-import javax.xml.namespace.QName;
+import org.w3c.dom.Element;
 
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.MetaData;
-import org.jboss.metadata.Ref;
-import org.jboss.xb.QNameBuilder;
-
 /**
- * The metdata data from service-ref element in web.xml, ejb-jar.xml, and
- * application-client.xml.
+ * An abstract service-ref meta data object.
  * 
  * @author Thomas.Diesler at jboss.org
- * @version $Revision$
+ * @since 08-Mar-2007
  */
-public class ServiceRefMetaData extends Ref implements Serializable
+public abstract class ServiceRefMetaData extends ServiceRefElement implements Serializable
 {
-   // provide logging
-   private static Logger log = Logger.getLogger(ServiceRefMetaData.class);
+   public abstract String getServiceRefName();
+
+   public abstract void setServiceRefName(String name);
    
-   private AnnotatedElement anElement;
-   private boolean processed;
-   
-   // Standard properties 
+   public abstract AnnotatedElement getAnnotatedElement();
 
-   // The required <service-ref-name> element
-   private String serviceRefName;
-   // The JAXRPC required <service-interface> element
-   private String serviceInterface;
-   // service-res-type
-   private String serviceRefType;
-   // The optional <wsdl-file> element
-   private String wsdlFile;
-   // The optional <jaxrpc-mapping-file> element
-   private String mappingFile;
-   // The optional <service-qname> element
-   private QName serviceQName;
-   // The LinkedHashMap<String, PortComponentRefMetaData> for <port-component-ref> elements
-   private Map<String, PortComponentRefMetaData> portComponentRefs = new LinkedHashMap<String, PortComponentRefMetaData>();
-   // The optional <handler> elements. JAX-RPC handlers declared in the standard J2EE1.4 descriptor
-   private List<HandlerMetaData> handlers = new ArrayList<HandlerMetaData>();
-   // The optional <handler-chains> elements. JAX-WS handlers declared in the standard JavaEE5 descriptor
-   private HandlerChainsMetaData handlerChains;
+   public abstract void setAnnotatedElement(AnnotatedElement anElement);
 
-   // JBoss properties 
+   public abstract boolean isProcessed();
 
-   // The optional <service-impl-class> element
-   private String serviceImplClass;
-   // The optional JBossWS config-name
-   private String configName;
-   // The optional JBossWS config-file
-   private String configFile;
-   // The optional URL of the actual WSDL to use, <wsdl-override> 
-   private String wsdlOverride;
-   // The optional <handler-chain> element. JAX-WS handler chain declared in the JBoss JavaEE5 descriptor
-   private String handlerChain;
-   // Arbitrary proxy properties given by <call-property> 
-   private List<CallPropertyMetaData> callProperties = new ArrayList<CallPropertyMetaData>();
+   public abstract void setProcessed(boolean flag);
+   
+   public abstract void importStandardXml(Element element);
 
-   public void mergeJBossProperties(ServiceRefMetaData sref)
-   {
-      serviceImplClass = sref.serviceImplClass;
-      configName = sref.configName;
-      configFile = sref.configFile;
-      wsdlOverride = sref.wsdlOverride;
-      handlerChain = sref.handlerChain;
-      callProperties = sref.callProperties;
+   public abstract void importJBossXml(Element element);
 
-      if (serviceQName == null && sref.serviceQName != null)
-         serviceQName = sref.serviceQName;
-
-      for (PortComponentRefMetaData pcref : sref.getPortComponentRefs())
-      {
-         String seiName = pcref.getServiceEndpointInterface();
-         if (seiName == null)
-         {
-            log.warn("Null service endpoint interface in: " + toXMLFragmet());
-            continue;
-         }
-
-         PortComponentRefMetaData pcTargetRef = portComponentRefs.get(seiName);
-         if (pcTargetRef == null)
-         {
-            log.warn("Cannot find port component ref with SEI name: " + seiName);
-            addPortComponentRef(pcref);
-            pcTargetRef = pcref;
-         }
-
-         pcTargetRef.merge(pcref);
-      }
-   }
-
-   public String getServiceRefName()
-   {
-      return serviceRefName;
-   }
-
-   public void setServiceRefName(String serviceRefName)
-   {
-      this.serviceRefName = serviceRefName;
-   }
-
-   public String getMappingFile()
-   {
-      return mappingFile;
-   }
-
-   public void setMappingFile(String mappingFile)
-   {
-      this.mappingFile = mappingFile;
-   }
-
-   public PortComponentRefMetaData[] getPortComponentRefs()
-   {
-      PortComponentRefMetaData[] array = new PortComponentRefMetaData[portComponentRefs.size()];
-      portComponentRefs.values().toArray(array);
-      return array;
-   }
-
-   public PortComponentRefMetaData getPortComponentRef(String seiName)
-   {
-      PortComponentRefMetaData ref = portComponentRefs.get(seiName);
-      return ref;
-   }
-
-   public void addPortComponentRef(PortComponentRefMetaData pcRef)
-   {
-      portComponentRefs.put(pcRef.getServiceEndpointInterface(), pcRef);
-   }
-
-   public List<HandlerMetaData> getHandlers()
-   {
-      return handlers;
-   }
-
-   public void addHandler(HandlerMetaData handler)
-   {
-      handlers.add(handler);
-   }
-
-   public String getServiceInterface()
-   {
-      return serviceInterface;
-   }
-
-   public void setServiceInterface(String serviceInterface)
-   {
-      this.serviceInterface = serviceInterface;
-   }
-
-   public String getServiceImplClass()
-   {
-      return serviceImplClass;
-   }
-
-   public void setServiceImplClass(String serviceImplClass)
-   {
-      this.serviceImplClass = serviceImplClass;
-   }
-
-   public QName getServiceQName()
-   {
-      return serviceQName;
-   }
-
-   public void setServiceQName(QName serviceQName)
-   {
-      this.serviceQName = serviceQName;
-   }
-
-   public String getServiceRefType()
-   {
-      return serviceRefType;
-   }
-
-   public void setServiceRefType(String serviceResType)
-   {
-      this.serviceRefType = serviceResType;
-   }
-
-   public String getWsdlFile()
-   {
-      return wsdlFile;
-   }
-
-   public void setWsdlFile(String wsdlFile)
-   {
-      this.wsdlFile = wsdlFile;
-   }
-
-   public String getConfigFile()
-   {
-      return configFile;
-   }
-
-   public void setConfigFile(String configFile)
-   {
-      this.configFile = configFile;
-   }
-
-   public String getConfigName()
-   {
-      return configName;
-   }
-
-   public void setConfigName(String configName)
-   {
-      this.configName = configName;
-   }
-
-   public String getWsdlOverride()
-   {
-      return wsdlOverride;
-   }
-
-   public void setWsdlOverride(String wsdlOverride)
-   {
-      this.wsdlOverride = wsdlOverride;
-   }
-
-   public List<CallPropertyMetaData> getCallProperties()
-   {
-      return callProperties;
-   }
-
-   public void setCallProperties(List<CallPropertyMetaData> callProps)
-   {
-      callProperties = callProps;
-   }
-
-   public void addCallProperty(CallPropertyMetaData callProp)
-   {
-      callProperties.add(callProp);
-   }
-
-   public HandlerChainsMetaData getHandlerChains()
-   {
-      return handlerChains;
-   }
-
-   public void setHandlerChains(HandlerChainsMetaData handlerChains)
-   {
-      this.handlerChains = handlerChains;
-   }
-
-   public String getHandlerChain()
-   {
-      return handlerChain;
-   }
-
-   public void setHandlerChain(String handlerChain)
-   {
-      this.handlerChain = handlerChain;
-   }
-
-   /** @deprecated */
-   public void importStandardXml(org.w3c.dom.Element element)
-   {
-      serviceRefName = MetaData.getUniqueChildContent(element, "service-ref-name");
-
-      serviceInterface = MetaData.getUniqueChildContent(element, "service-interface");
-
-      wsdlFile = MetaData.getOptionalChildContent(element, "wsdl-file");
-
-      mappingFile = MetaData.getOptionalChildContent(element, "jaxrpc-mapping-file");
-
-      org.w3c.dom.Element qnameElement = MetaData.getOptionalChild(element, "service-qname");
-      if (qnameElement != null)
-         serviceQName = QNameBuilder.buildQName(qnameElement, MetaData.getElementContent(qnameElement));
-
-      // Parse the port-component-ref elements
-      Iterator iterator = MetaData.getChildrenByTagName(element, "port-component-ref");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element pcrefElement = (org.w3c.dom.Element)iterator.next();
-         PortComponentRefMetaData pcrefMetaData = new PortComponentRefMetaData(this);
-         pcrefMetaData.importStandardXml(pcrefElement);
-         portComponentRefs.put(pcrefMetaData.getServiceEndpointInterface(), pcrefMetaData);
-      }
-
-      // Parse the handler elements
-      iterator = MetaData.getChildrenByTagName(element, "handler");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element handlerElement = (org.w3c.dom.Element)iterator.next();
-         HandlerMetaData handlerMetaData = new HandlerMetaData();
-         handlerMetaData.importStandardXml(handlerElement);
-         handlers.add(handlerMetaData);
-      }
-   }
-
-   /** @deprecated */
-   public void importJBossXml(org.w3c.dom.Element element)
-   {
-      configName = MetaData.getOptionalChildContent(element, "config-name");
-
-      configFile = MetaData.getOptionalChildContent(element, "config-file");
-      wsdlOverride = MetaData.getOptionalChildContent(element, "wsdl-override");
-
-      // Parse the port-component-ref elements
-      Iterator iterator = MetaData.getChildrenByTagName(element, "port-component-ref");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element pcrefElement = (org.w3c.dom.Element)iterator.next();
-         String name = MetaData.getOptionalChildContent(pcrefElement, "service-endpoint-interface");
-         if (name != null)
-         {
-            PortComponentRefMetaData pcrefMetaData = (PortComponentRefMetaData)portComponentRefs.get(name);
-            if (pcrefMetaData == null)
-            {
-               // Its ok to only have the <port-component-ref> in jboss.xml and not in ejb-jar.xml
-               pcrefMetaData = new PortComponentRefMetaData(this);
-               pcrefMetaData.importStandardXml(pcrefElement);
-               portComponentRefs.put(pcrefMetaData.getServiceEndpointInterface(), pcrefMetaData);
-            }
-
-            pcrefMetaData.importJBossXml(pcrefElement);
-         }
-      }
-
-      // Parse the call-property elements
-      iterator = MetaData.getChildrenByTagName(element, "call-property");
-      while (iterator.hasNext())
-      {
-         org.w3c.dom.Element propElement = (org.w3c.dom.Element)iterator.next();
-         String name = MetaData.getUniqueChildContent(propElement, "prop-name");
-         String value = MetaData.getUniqueChildContent(propElement, "prop-value");
-         callProperties.add(new CallPropertyMetaData(name, value));
-      }
-   }
-
-   public static boolean isJ2EE14Descriptor(org.w3c.dom.Element element)
-   {
-      // Verify J2EE-1.4
-      String nsURI = element.getOwnerDocument().getDocumentElement().getNamespaceURI();
-      boolean isValid = "http://java.sun.com/xml/ns/j2ee".equals(nsURI);
-
-      // Verify JBoss-4.0
-      org.w3c.dom.DocumentType doctype = element.getOwnerDocument().getDoctype();
-      if (isValid == false && doctype != null)
-      {
-         String publicId = doctype.getPublicId();
-         isValid |= "-//JBoss//DTD JBOSS 4.0//EN".equals(publicId);
-         isValid |= "-//JBoss//DTD JBOSS 4.2//EN".equals(publicId);
-         isValid |= "-//JBoss//DTD Web Application 2.4//EN".equals(publicId);
-         isValid |= "-//JBoss//DTD Application Client 4.0//EN".equals(publicId);
-         isValid |= "-//JBoss//DTD Application Client 4.2//EN".equals(publicId);
-      }
-
-      if (isValid == false)
-      {
-         String dtstr = (doctype != null ? "[public=" + doctype.getPublicId() + ",system=" + doctype.getSystemId() + "]" : null);
-         log.debug("Skip <service-ref> for: nsURI=" + nsURI + ",doctype=" + dtstr);
-      }
-      return isValid;
-   }
-
-   public AnnotatedElement getAnnotatedElement()
-   {
-      return anElement;
-   }
-
-   public void setAnnotatedElement(AnnotatedElement anElement)
-   {
-      this.anElement = anElement;
-   }
-
-   public boolean isProcessed()
-   {
-      return processed;
-   }
-
-   public void setProcessed(boolean bindingProcessed)
-   {
-      this.processed = bindingProcessed;
-   }
-
-   public String toXMLFragmet()
-   {
-      Document document = DocumentHelper.createDocument();
-      Element root = document.addElement("service-ref");
-      root.addElement("service-ref-name").addText(serviceRefName);
-      if (serviceInterface != null)
-         root.addElement("service-interface").addText(serviceInterface);
-      if (serviceRefType != null)
-         root.addElement("service-ref-type").addText(serviceRefType);
-      if (wsdlFile != null)
-         root.addElement("wsdl-file").addText(wsdlFile);
-      if (mappingFile != null)
-         root.addElement("jaxrpc-mapping-file").addText(mappingFile);
-      if (serviceQName != null)
-         root.addElement("service-qname").addText(serviceQName.toString());
-      for (PortComponentRefMetaData pcref : getPortComponentRefs())
-         root.add(pcref.toXMLFragment());
-      for (HandlerMetaData handler : getHandlers())
-         root.add(handler.toXMLFragment());
-      if (handlerChains != null)
-         root.add(handlerChains.toXMLFragment());
-
-      if (serviceImplClass != null)
-         root.addElement("service-impl-class").addText(serviceImplClass);
-      if (configName != null)
-         root.addElement("config-name").addText(configName);
-      if (configFile != null)
-         root.addElement("config-file").addText(configFile);
-      if (handlerChain != null)
-         root.addElement("handler-chain").addText(handlerChain);
-      if (wsdlOverride != null)
-         root.addElement("wsdl-override").addText(wsdlOverride);
-
-      for (CallPropertyMetaData prop : getCallProperties())
-      {
-         Element propEl = root.addElement("call-property");
-         propEl.addElement("prop-name").addText(prop.getPropName());
-         propEl.addElement("prop-value").addText(prop.getPropValue());
-      }
-
-      return root.asXML();
-   }
-   
-   public String toString()
-   {
-      StringBuilder sb = new StringBuilder("[");
-      sb.append("name=" + serviceRefName + ",si=" + serviceInterface);
-      sb.append("]");
-      return sb.toString();
-   }
+   public abstract void merge(Object targetRef);
 }

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -23,10 +23,11 @@
 
 // $Id$
 
-import javax.xml.namespace.QName;
-
+import org.jboss.logging.Logger;
 import org.jboss.xb.binding.ObjectModelFactory;
 import org.jboss.xb.binding.UnmarshallingContext;
+import org.w3c.dom.DocumentType;
+import org.w3c.dom.Element;
 import org.xml.sax.Attributes;
 
 /**
@@ -36,242 +37,43 @@
  */
 public abstract class ServiceRefObjectFactory implements ObjectModelFactory
 {
-   public void setValue(ServiceRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      /* Standard properties */
-      if (localName.equals("service-ref-name"))
-      {
-         ref.setServiceRefName(value);
-      }
-      else if (localName.equals("service-interface"))
-      {
-         ref.setServiceInterface(value);
-      }
-      else if (localName.equals("service-ref-type"))
-      {
-         ref.setServiceRefType(value);
-      }
-      else if (localName.equals("wsdl-file"))
-      {
-         ref.setWsdlFile(value);
-      }
-      else if (localName.equals("jaxrpc-mapping-file"))
-      {
-         ref.setMappingFile(value);
-      }
-      else if (localName.equals("service-qname"))
-      {
-         ref.setServiceQName(QName.valueOf(value));
-      }
+   // provide logging
+   private static Logger log = Logger.getLogger(ServiceRefObjectFactory.class);
+   
 
-      /* JBoss properties */
-      else if (localName.equals("service-impl-class"))
-      {
-         ref.setServiceImplClass(value);
-      }
-      else if (localName.equals("config-name"))
-      {
-         ref.setConfigName(value);
-      }
-      else if (localName.equals("config-file"))
-      {
-         ref.setConfigFile(value);
-      }
-      else if (localName.equals("wsdl-override"))
-      {
-         ref.setWsdlOverride(value);
-      }
-      else if (localName.equals("handler-chain"))
-      {
-         ref.setHandlerChain(value);
-      }
-   }
-
-   public Object newChild(ServiceRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+   public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
    {
-      Object child = null;
-      if (localName.equals("port-component-ref"))
-         child = new PortComponentRefMetaData(ref);
-      else if (localName.equals("handler"))
-         child = new HandlerMetaData();
-      else if (localName.equals("handler-chains"))
-         child = new HandlerChainsMetaData();
-      
-      else if (localName.equals("call-property"))
-         child = new CallPropertyMetaData();
-
-      return child;
+      return new ServiceRefDelegate().newChild(ref, navigator, namespaceURI, localName, attrs);
    }
 
-   public Object newChild(HandlerChainsMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+   public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
    {
-      Object child = null;
-      if (localName.equals("handler-chain"))
-         child = new HandlerChainMetaData();
-
-      return child;
+      new ServiceRefDelegate().setValue(ref, navigator, namespaceURI, localName, value);
    }
-
-   public void addChild(ServiceRefMetaData parent, PortComponentRefMetaData pcRef, UnmarshallingContext navigator, String namespaceURI, String localName)
+   
+   public static boolean isJ2EE14Descriptor(Element element)
    {
-      parent.addPortComponentRef(pcRef);
-   }
+      // Verify J2EE-1.4
+      String nsURI = element.getOwnerDocument().getDocumentElement().getNamespaceURI();
+      boolean isValid = "http://java.sun.com/xml/ns/j2ee".equals(nsURI);
 
-   public void addChild(ServiceRefMetaData parent, HandlerMetaData handler, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      parent.addHandler(handler);
-   }
-
-   public void addChild(ServiceRefMetaData parent, HandlerChainsMetaData handlerChains, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      parent.setHandlerChains(handlerChains);
-   }
-
-   public void addChild(ServiceRefMetaData parent, CallPropertyMetaData callProp, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      parent.addCallProperty(callProp);
-   }
-
-   public void addChild(HandlerChainsMetaData parent, HandlerChainMetaData handlerChain, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      parent.addHandlerChain(handlerChain);
-   }
-
-   public void setValue(PortComponentRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (localName.equals("service-endpoint-interface"))
+      // Verify JBoss-4.0
+      DocumentType doctype = element.getOwnerDocument().getDoctype();
+      if (isValid == false && doctype != null)
       {
-         ref.setServiceEndpointInterface(value);
+         String publicId = doctype.getPublicId();
+         isValid |= "-//JBoss//DTD JBOSS 4.0//EN".equals(publicId);
+         isValid |= "-//JBoss//DTD JBOSS 4.2//EN".equals(publicId);
+         isValid |= "-//JBoss//DTD Web Application 2.4//EN".equals(publicId);
+         isValid |= "-//JBoss//DTD Application Client 4.0//EN".equals(publicId);
+         isValid |= "-//JBoss//DTD Application Client 4.2//EN".equals(publicId);
       }
-      else if (localName.equals("enable-mtom"))
-      {
-         ref.setEnableMTOM(Boolean.valueOf(value));
-      }
-      else if (localName.equals("port-component-link"))
-      {
-         ref.setPortComponentLink(value);
-      }
-      else if (localName.equals("port-qname"))
-      {
-         ref.setPortQName(QName.valueOf(value));
-      }
-      else if (localName.equals("config-name"))
-      {
-         ref.setConfigName(value);
-      }
-      else if (localName.equals("config-file"))
-      {
-         ref.setConfigFile(value);
-      }
-   }
 
-   public Object newChild(PortComponentRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      Object child = null;
-      if (localName.equals("call-property"))
-         child = new CallPropertyMetaData();
-      if (localName.equals("stub-property"))
-         child = new StubPropertyMetaData();
-      return child;
-   }
-
-   public void setValue(HandlerChainMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (localName.equals("service-name-pattern"))
+      if (isValid == false)
       {
-         ref.setServiceNamePattern(QName.valueOf(value));
+         String dtstr = (doctype != null ? "[public=" + doctype.getPublicId() + ",system=" + doctype.getSystemId() + "]" : null);
+         log.debug("Skip <service-ref> for: nsURI=" + nsURI + ",doctype=" + dtstr);
       }
-      else if (localName.equals("port-name-pattern"))
-      {
-         ref.setPortNamePattern(QName.valueOf(value));
-      }
-      else if (localName.equals("protocol-binding"))
-      {
-         ref.setProtocolBindings(value);
-      }
+      return isValid;
    }
-
-   public void setValue(HandlerMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (localName.equals("handler-name"))
-      {
-         ref.setHandlerName(value);
-      }
-      else if (localName.equals("handler-class"))
-      {
-         ref.setHandlerClass(value);
-      }
-      else if (localName.equals("soap-header"))
-      {
-         ref.addSoapHeader(navigator.resolveQName(value));
-      }
-      else if (localName.equals("soap-role"))
-      {
-         ref.addSoapRole(value);
-      }
-      else if (localName.equals("port-name"))
-      {
-         ref.addPortName(value);
-      }
-   }
-
-   public Object newChild(HandlerMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
-   {
-      Object child = null;
-      if (localName.equals("init-param"))
-         child = new InitParamMetaData();
-
-      return child;
-   }
-
-   public void addChild(HandlerMetaData parent, InitParamMetaData param, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      parent.addInitParam(param);
-   }
-
-   public void setValue(InitParamMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (localName.equals("param-name"))
-      {
-         ref.setParamName(value);
-      }
-      else if (localName.equals("param-value"))
-      {
-         ref.setParamValue(value);
-      }
-   }
-
-   public void setValue(CallPropertyMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (localName.equals("prop-name"))
-      {
-         ref.setPropName(value);
-      }
-      else if (localName.equals("prop-value"))
-      {
-         ref.setPropValue(value);
-      }
-   }
-
-   public void setValue(StubPropertyMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
-   {
-      if (localName.equals("prop-name"))
-      {
-         ref.setPropName(value);
-      }
-      else if (localName.equals("prop-value"))
-      {
-         ref.setPropValue(value);
-      }
-   }
-   
-   public void addChild(PortComponentRefMetaData ref, CallPropertyMetaData callProp, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      ref.addCallProperty(callProp);
-   }
-
-   public void addChild(PortComponentRefMetaData ref, StubPropertyMetaData stubProp, UnmarshallingContext navigator, String namespaceURI, String localName)
-   {
-      ref.addStubProperty(stubProp);
-   }
 }

Deleted: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/StubPropertyMetaData.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/StubPropertyMetaData.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/serviceref/StubPropertyMetaData.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -1,63 +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.metadata.serviceref;
-
-// $Id$
-
-import java.io.Serializable;
-
-/**
- * @author Thomas.Diesler at jboss.org
- * @since 06-May-2004
- */
-public class StubPropertyMetaData implements Serializable
-{
-   // The required <prop-name> element
-   private String propName;
-   // The required <prop-value> element
-   private String propValue;
-
-   public String getPropName()
-   {
-      return propName;
-   }
-
-   public void setPropName(String paramName)
-   {
-      this.propName = paramName;
-   }
-
-   public String getPropValue()
-   {
-      return propValue;
-   }
-
-   public void setPropValue(String paramValue)
-   {
-      this.propValue = paramValue;
-   }
-
-   public String toString()
-   {
-      return "[name=" + propName + ",value=" + propValue + "]";
-   }
-}

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metadata/web/JBossWebMetaDataObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -224,7 +224,7 @@
       }
       else
       {
-         targetRef.mergeJBossProperties(sref);
+         targetRef.merge(sref);
       }
    }
 

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/metamodel/descriptor/DDObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -23,6 +23,7 @@
 
 import javax.persistence.PersistenceContextType;
 
+import org.jboss.metadata.serviceref.ServiceRefElement;
 import org.jboss.metadata.serviceref.ServiceRefMetaData;
 import org.jboss.metadata.serviceref.ServiceRefObjectFactory;
 import org.jboss.xb.binding.ObjectModelFactory;
@@ -432,7 +433,7 @@
       }
       else if (localName.equals("service-ref"))
       {
-         child = new ServiceRefMetaData();
+         child = ServiceRefMetaData.newInstance();
       }
       else if (localName.equals("jndi-ref"))
       {

Modified: branches/tdiesler/trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- branches/tdiesler/trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/server/src/main/org/jboss/web/deployers/AbstractWarDeployment.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -51,7 +51,7 @@
 import org.jboss.metadata.ResourceEnvRefMetaData;
 import org.jboss.metadata.ResourceRefMetaData;
 import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.serviceref.ServiceRefHandlerDelegate;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.mx.loading.LoaderRepositoryFactory;
 import org.jboss.naming.NonSerializableFactory;
 import org.jboss.naming.Util;
@@ -512,7 +512,7 @@
       linkEjbLocalRefs(unit, ejbLocalRefs, envCtx);
       log.debug("linkServiceRefs");
       VirtualFile vfsRoot = unit.getDeploymentContext().getRoot();
-      ServiceRefHandlerDelegate.bindServiceRefs(envCtx, vfsRoot, metaData.getServiceRefs().values());
+      new ServiceRefDelegate().setupServiceRefs(envCtx, vfsRoot, metaData.getServiceRefs().values());
    }
 
    protected void addEnvEntries(Iterator envEntries, Context envCtx)

Modified: branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java
===================================================================
--- branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/metamodel/descriptor/JBossWebDDObjectFactory.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -188,7 +188,7 @@
       }
       else
       {
-         targetRef.mergeJBossProperties(sref);
+         targetRef.merge(sref);
       }
    }
 

Modified: branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment.java
===================================================================
--- branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -51,7 +51,7 @@
 import org.jboss.deployers.spi.deployer.DeploymentUnit;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.serviceref.ServiceRefHandlerDelegate;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.metadata.serviceref.ServiceRefMetaData;
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
 import org.jboss.mx.util.MBeanServerLocator;
@@ -371,7 +371,7 @@
                ServiceRefMetaData injectedRef = envRefGroup.getServiceRef(refName);
                if (injectedRef == null || injectedRef.isProcessed() == false)
                {
-                  ServiceRefHandlerDelegate.bindServiceRef(envCtx, refName, vfsRoot, sref);
+                  new ServiceRefDelegate().setupServiceRef(envCtx, refName, vfsRoot, sref);
                }
             }
          }

Modified: branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment2.java
===================================================================
--- branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment2.java	2007-03-08 13:09:39 UTC (rev 61223)
+++ branches/tdiesler/trunk/tomcat/src/main/org/jboss/web/tomcat/tc6/deployers/TomcatDeployment2.java	2007-03-08 16:22:55 UTC (rev 61224)
@@ -53,7 +53,7 @@
 import org.jboss.deployers.spi.deployer.DeploymentUnit;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.serviceref.ServiceRefHandlerDelegate;
+import org.jboss.metadata.serviceref.ServiceRefDelegate;
 import org.jboss.metadata.serviceref.ServiceRefMetaData;
 import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
 import org.jboss.mx.util.MBeanServerLocator;
@@ -483,7 +483,7 @@
                   ServiceRefMetaData injectedRef = envRefGroup.getServiceRef(refName);
                   if (injectedRef == null || injectedRef.isProcessed() == false)
                   {
-                     ServiceRefHandlerDelegate.bindServiceRef(envCtx, refName, vfsRoot, sref);
+                     new ServiceRefDelegate().setupServiceRef(envCtx, refName, vfsRoot, sref);
                   }
                }
             }




More information about the jboss-cvs-commits mailing list