[jboss-cvs] JBossAS SVN: r66466 - in projects/metadata/trunk/src/main/java/org/jboss: metadata/serviceref and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Oct 25 18:18:04 EDT 2007
Author: thomas.diesler at jboss.com
Date: 2007-10-25 18:18:03 -0400 (Thu, 25 Oct 2007)
New Revision: 66466
Added:
projects/metadata/trunk/src/main/java/org/jboss/metadata/serviceref/
projects/metadata/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefDelegate.java
projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefObjectFactory.java
Removed:
projects/metadata/trunk/src/main/java/org/jboss/metadata/adaptor/
projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DDObjectFactory.java
Log:
Add ServiceReferenceHandler to metadata project
Added: projects/metadata/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/serviceref/ServiceReferenceHandler.java 2007-10-25 22:18:03 UTC (rev 66466)
@@ -0,0 +1,231 @@
+/*
+ * 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: ServiceRefDelegate.java 65538 2007-09-21 17:29:33Z scott.stark at jboss.org $
+
+import java.util.Iterator;
+import java.util.List;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.xml.namespace.QName;
+
+import org.jboss.logging.Logger;
+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.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+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;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+
+/**
+ * Utility to bind service references to JNDI
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Oct-2007
+ */
+public class ServiceReferenceHandler
+{
+ // provide logging
+ private final Logger log = Logger.getLogger(ServiceReferenceHandler.class);
+
+ private 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 = getUnifiedServiceRefMetaData(vfsRoot, sref);
+ delegate.bindServiceRef(encCtx, encName, vfsRoot, loader, spiRef);
+ }
+ }
+
+ private UnifiedServiceRefMetaData getUnifiedServiceRefMetaData(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;
+ }
+}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DDObjectFactory.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DDObjectFactory.java 2007-10-25 22:10:48 UTC (rev 66465)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DDObjectFactory.java 2007-10-25 22:18:03 UTC (rev 66466)
@@ -32,7 +32,7 @@
* @author Thomas.Diesler at jboss.com
* @version <tt>$Revision$</tt>
*/
-public abstract class DDObjectFactory extends ServiceRefObjectFactory implements ObjectModelFactory
+public abstract class DDObjectFactory extends DeprecatedServiceRefObjectFactory implements ObjectModelFactory
{
public Object newChild(PersistenceUnitRef ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
{
@@ -427,7 +427,7 @@
}
else if (localName.equals("service-ref"))
{
- child = new ServiceRefDelegate().newServiceRefMetaData();
+ child = new DeprecatedServiceRefDelegate().newServiceRefMetaData();
}
else if (localName.equals("jndi-ref"))
{
Copied: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefDelegate.java (from rev 66459, projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefDelegate.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefDelegate.java 2007-10-25 22:18:03 UTC (rev 66466)
@@ -0,0 +1,150 @@
+/*
+ * 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.metamodel.descriptor;
+
+// $Id$
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.serviceref.ServiceReferenceHandler;
+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.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.w3c.dom.Element;
+import org.xml.sax.Attributes;
+
+/**
+ * Factory for ServiceRefHandler
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2004
+ */
+ at Deprecated
+class DeprecatedServiceRefDelegate implements ServiceRefHandler
+{
+ // provide logging
+ private static final Logger log = Logger.getLogger(DeprecatedServiceRefDelegate.class);
+
+ private static ServiceRefHandler delegate;
+
+ public DeprecatedServiceRefDelegate()
+ {
+ if (delegate == null)
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
+ }
+
+ if (delegate == null)
+ log.warn("ServiceRefHandler not available");
+ }
+
+ public ServiceRefMetaData newServiceRefMetaData()
+ {
+ ServiceRefMetaData sref;
+ if (delegate != null)
+ sref = delegate.newServiceRefMetaData();
+ else
+ sref = new DummyServiceRef();
+ return sref;
+ }
+
+ 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)
+ delegate.setValue(ref, navigator, namespaceURI, localName, value);
+ }
+
+ public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException
+ {
+ throw new IllegalStateException("Invalid usage of deprecated method. Use " + ServiceReferenceHandler.class.getName());
+ }
+
+ public static class DummyServiceRef extends ServiceRefMetaData
+ {
+ private String refName;
+
+ @Override
+ public void setServiceRefName(String name)
+ {
+ this.refName = name;
+ }
+
+ @Override
+ public String getServiceRefName()
+ {
+ return refName;
+ }
+
+ @Override
+ public Object getAnnotatedElement()
+ {
+ return null;
+ }
+
+ @Override
+ public void setAnnotatedElement(Object anElement)
+ {
+ }
+
+ @Override
+ public void importJBossXml(Element element)
+ {
+ }
+
+ @Override
+ public void importStandardXml(Element element)
+ {
+ }
+
+ @Override
+ public boolean isProcessed()
+ {
+ return false;
+ }
+
+ @Override
+ public void setProcessed(boolean flag)
+ {
+ }
+
+ @Override
+ public void merge(ServiceRefMetaData serviceRef)
+ {
+ }
+ }
+}
Copied: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefObjectFactory.java (from rev 66459, projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java)
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefObjectFactory.java (rev 0)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/DeprecatedServiceRefObjectFactory.java 2007-10-25 22:18:03 UTC (rev 66466)
@@ -0,0 +1,81 @@
+/*
+ * 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.metamodel.descriptor;
+
+// $Id$
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+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;
+
+/**
+ * A object model factory for <service-ref>
+ *
+ * @author Thomas.Diesler at jboss.com
+ */
+ at Deprecated
+abstract class DeprecatedServiceRefObjectFactory implements ObjectModelFactory
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(DeprecatedServiceRefObjectFactory.class);
+
+
+ public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ return new DeprecatedServiceRefDelegate().newChild(ref, navigator, namespaceURI, localName, attrs);
+ }
+
+ public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ new DeprecatedServiceRefDelegate().setValue(ref, navigator, namespaceURI, localName, value);
+ }
+
+ public static boolean isJ2EE14Descriptor(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
+ 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;
+ }
+}
Deleted: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java 2007-10-25 22:10:48 UTC (rev 66465)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefDelegate.java 2007-10-25 22:18:03 UTC (rev 66466)
@@ -1,150 +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.metamodel.descriptor;
-
-// $Id$
-
-import javax.naming.Context;
-import javax.naming.NamingException;
-
-import org.jboss.logging.Logger;
-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.ServiceRefElement;
-import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
-import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
-import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
-import org.jboss.xb.binding.UnmarshallingContext;
-import org.w3c.dom.Element;
-import org.xml.sax.Attributes;
-
-/**
- * Factory for ServiceRefHandler
- *
- * @author Thomas.Diesler at jboss.org
- * @since 05-May-2004
- */
- at Deprecated
-class ServiceRefDelegate implements ServiceRefHandler
-{
- // provide logging
- private static final Logger log = Logger.getLogger(ServiceRefDelegate.class);
-
- private static ServiceRefHandler delegate;
-
- public ServiceRefDelegate()
- {
- if (delegate == null)
- {
- SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
- }
-
- if (delegate == null)
- log.warn("ServiceRefHandler not available");
- }
-
- public ServiceRefMetaData newServiceRefMetaData()
- {
- ServiceRefMetaData sref;
- if (delegate != null)
- sref = delegate.newServiceRefMetaData();
- else
- sref = new DummyServiceRef();
- return sref;
- }
-
- 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)
- delegate.setValue(ref, navigator, namespaceURI, localName, value);
- }
-
- public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException
- {
- if (delegate != null)
- delegate.bindServiceRef(encCtx, encName, vfsRoot, loader, sref);
- }
-
- public static class DummyServiceRef extends ServiceRefMetaData
- {
- private String refName;
-
- @Override
- public void setServiceRefName(String name)
- {
- this.refName = name;
- }
-
- @Override
- public String getServiceRefName()
- {
- return refName;
- }
-
- @Override
- public Object getAnnotatedElement()
- {
- return null;
- }
-
- @Override
- public void setAnnotatedElement(Object anElement)
- {
- }
-
- @Override
- public void importJBossXml(Element element)
- {
- }
-
- @Override
- public void importStandardXml(Element element)
- {
- }
-
- @Override
- public boolean isProcessed()
- {
- return false;
- }
-
- @Override
- public void setProcessed(boolean flag)
- {
- }
-
- @Override
- public void merge(ServiceRefMetaData serviceRef)
- {
- }
- }
-}
Deleted: projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java 2007-10-25 22:10:48 UTC (rev 66465)
+++ projects/metadata/trunk/src/main/java/org/jboss/metamodel/descriptor/ServiceRefObjectFactory.java 2007-10-25 22:18:03 UTC (rev 66466)
@@ -1,81 +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.metamodel.descriptor;
-
-// $Id$
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.serviceref.ServiceRefElement;
-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;
-
-/**
- * A object model factory for <service-ref>
- *
- * @author Thomas.Diesler at jboss.com
- */
- at Deprecated
-abstract class ServiceRefObjectFactory implements ObjectModelFactory
-{
- // provide logging
- private static Logger log = Logger.getLogger(ServiceRefObjectFactory.class);
-
-
- public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
- {
- return new ServiceRefDelegate().newChild(ref, navigator, namespaceURI, localName, attrs);
- }
-
- public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
- {
- new ServiceRefDelegate().setValue(ref, navigator, namespaceURI, localName, value);
- }
-
- public static boolean isJ2EE14Descriptor(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
- 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;
- }
-}
More information about the jboss-cvs-commits
mailing list