[jboss-dev-forums] [Design of POJO Server] - Re: jboss.xml service-ref
scott.stark@jboss.org
do-not-reply at jboss.com
Tue Oct 23 14:04:39 EDT 2007
The general approach we are taking is to make the jboss metadata an extension of any corresponding spec metadata. The JBossServiceReferenceMetaData would then include the javaee:service-refGroup and jboss:service-refGroup types for something like:
| package org.jboss.metadata.javaee.jboss;
|
| import javax.xml.bind.annotation.XmlElement;
| import javax.xml.bind.annotation.XmlType;
| import javax.xml.namespace.QName;
|
| import org.jboss.metadata.javaee.spec.PortComponentRef;
| import org.jboss.metadata.javaee.spec.ResourceInjectionMetaData;
| import org.jboss.metadata.javaee.spec.ServiceReferenceHandlerChainsMetaData;
| import org.jboss.metadata.javaee.spec.ServiceReferenceHandlersMetaData;
| import org.jboss.metadata.javaee.spec.ServiceReferenceMetaData;
| import org.jboss.metadata.javaee.support.MergeableMappedMetaData;
|
| @XmlType(name="service-refType")
| public class JBossServiceReferenceMetaData
| extends ResourceInjectionMetaData
| implements MergeableMappedMetaData<JBossServiceReferenceMetaData>
| {
| /** The serialVersionUID */
| private static final long serialVersionUID = 1;
|
| /** The service interface */
| private String serviceInterface;
|
| /** The service reference type */
| private String serviceRefType;
|
| /** The wsdl file */
| private String wsdlFile;
|
| /** The jaxrpc mapping file */
| private String jaxrpcMappingFile;
|
| /** The service qname */
| private QName serviceQname;
|
| /** The port-component-ref */
| private PortComponentRef portComponentRef;
|
| /** The handlers */
| private ServiceReferenceHandlersMetaData handlers;
|
| /** The handler chains */
| private ServiceReferenceHandlerChainsMetaData handlerChains;
|
| /** The service-impl-class */
| private String serviceClass;
|
| /** The config-name */
| private String configName;
| /** The config-file */
| private String configFile;
|
| /** The handler-chain */
| private String handlerChain;
|
| /** The wsdl file override */
| private String wsdlOverride;
|
| /**
| * Create a new JBossServiceReferenceMetaData.
| */
| public JBossServiceReferenceMetaData()
| {
| // For serialization
| }
|
| public JBossServiceReferenceMetaData merge(JBossServiceReferenceMetaData original)
| {
| JBossServiceReferenceMetaData merged = new JBossServiceReferenceMetaData();
| merged.merge(this, original);
| return merged;
| }
|
|
| /**
| * Get the serviceRefName.
| *
| * @return the serviceRefName.
| */
| public String getServiceRefName()
| {
| return getName();
| }
|
| public ServiceReferenceHandlerChainsMetaData getHandlerChains()
| {
| return handlerChains;
| }
|
| public void setHandlerChains(ServiceReferenceHandlerChainsMetaData handlerChains)
| {
| this.handlerChains = handlerChains;
| }
|
| public ServiceReferenceHandlersMetaData getHandlers()
| {
| return handlers;
| }
|
| public void setHandlers(ServiceReferenceHandlersMetaData handlers)
| {
| this.handlers = handlers;
| }
|
| public String getJaxrpcMappingFile()
| {
| return jaxrpcMappingFile;
| }
|
| public void setJaxrpcMappingFile(String jaxrpcMappingFile)
| {
| this.jaxrpcMappingFile = jaxrpcMappingFile;
| }
|
| public String getServiceInterface()
| {
| return serviceInterface;
| }
|
| public void setServiceInterface(String serviceInterface)
| {
| this.serviceInterface = serviceInterface;
| }
|
| public String getServiceRefType()
| {
| return serviceRefType;
| }
|
| public void setServiceRefType(String serviceRefType)
| {
| this.serviceRefType = serviceRefType;
| }
|
| public String getWsdlFile()
| {
| return wsdlFile;
| }
|
| public void setWsdlFile(String wsdlFile)
| {
| this.wsdlFile = wsdlFile;
| }
|
| /**
| * Set the serviceRefName.
| *
| * @param serviceRefName the serviceRefName.
| * @throws IllegalArgumentException for a null serviceRefName
| */
| @XmlElement(name="service-ref-name")
| public void setServiceRefName(String serviceRefName)
| {
| setName(serviceRefName);
| }
|
| 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 getHandlerChain()
| {
| return handlerChain;
| }
|
| public void setHandlerChain(String handlerChain)
| {
| this.handlerChain = handlerChain;
| }
|
| public PortComponentRef getPortComponentRef()
| {
| return portComponentRef;
| }
|
| public void setPortComponentRef(PortComponentRef portComponentRef)
| {
| this.portComponentRef = portComponentRef;
| }
|
| public String getServiceClass()
| {
| return serviceClass;
| }
|
| public void setServiceClass(String serviceClass)
| {
| this.serviceClass = serviceClass;
| }
|
| public QName getServiceQname()
| {
| return serviceQname;
| }
|
| public void setServiceQname(QName serviceQname)
| {
| this.serviceQname = serviceQname;
| }
|
| public String getWsdlOverride()
| {
| return wsdlOverride;
| }
|
| public void setWsdlOverride(String wsdlOverride)
| {
| this.wsdlOverride = wsdlOverride;
| }
| }
|
One could either specify the full metadata via the jboss descriptor, or compose it from the spec descriptor + the jboss descriptor settings that only provided the legacy override only information.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098004#4098004
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098004
More information about the jboss-dev-forums
mailing list