[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