FileDocCategorySizeDatePackage
WebServiceRuntimeNode.javaAPI DocGlassfish v2 API6553Fri May 04 22:31:42 BST 2007com.sun.enterprise.deployment.node.runtime

WebServiceRuntimeNode

public class WebServiceRuntimeNode extends com.sun.enterprise.deployment.node.DeploymentDescriptorNode
This node is responsible for handling WebService runtime info
author
Kenneth Saks
version

Fields Summary
private com.sun.enterprise.deployment.WebService
descriptor
Constructors Summary
Methods Summary
public java.lang.ObjectgetDescriptor()

        return descriptor;
    
public voidsetElementValue(com.sun.enterprise.deployment.node.XMLElement element, java.lang.String value)
receives notiification of the value for a particular tag

param
element the xml element
param
value it's associated value

        if (WebServicesTagNames.WEB_SERVICE_DESCRIPTION_NAME.equals
            (element.getQName())) {
            BundleDescriptor parent;
            if (getParentNode() instanceof WebBundleRuntimeNode) {
                parent = ((WebBundleRuntimeNode) getParentNode()).getWebBundleDescriptor();
            } else {
                parent = (BundleDescriptor) getParentNode().getDescriptor();
            }
            WebServicesDescriptor webServices = parent.getWebServices();
            descriptor = webServices.getWebServiceByName(value);
        } else if( WebServicesTagNames.CLIENT_WSDL_PUBLISH_URL.equals
                   (element.getQName()) ) {
            if( descriptor == null ) {
                DOLUtils.getDefaultLogger().info
                    ("Warning : WebService descriptor is null for "
                     + "final wsdl url=" + value);
                return;
            }
            try {
                URL url = new URL(value);
                descriptor.setClientPublishUrl(url);
            } catch(MalformedURLException mue) {
                DOLUtils.getDefaultLogger().log(Level.INFO,
                  "Warning : Invalid final wsdl url=" + value, mue);
            }
        } else {
            super.setElementValue(element, value);
        }
    
public org.w3c.dom.NodewriteDescriptor(org.w3c.dom.Node parent, java.lang.String nodeName, com.sun.enterprise.deployment.WebService webService)
write the descriptor class to a DOM tree and return it

param
parent node for the DOM tree
param
node name for the descriptor
param
the descriptor to write
return
the DOM tree top node

        Node webServiceNode = 
            super.writeDescriptor(parent, nodeName, webService);

        appendTextChild(webServiceNode, 
                        WebServicesTagNames.WEB_SERVICE_DESCRIPTION_NAME,
                        webService.getName());

        if( webService.hasClientPublishUrl() ) {
            URL url = webService.getClientPublishUrl();
            appendTextChild(webServiceNode, 
                            WebServicesTagNames.CLIENT_WSDL_PUBLISH_URL,
                            url.toExternalForm());
        }

        return webServiceNode;
    
public voidwriteWebServiceRuntimeInfo(org.w3c.dom.Node parent, com.sun.enterprise.deployment.BundleDescriptor bundle)
writes all the runtime information for the web services for a given bundle descriptor

param
parent node to add the runtime xml info
param
the bundle descriptor

        WebServicesDescriptor webServices = bundle.getWebServices();
        if( webServices != null ) {
            for(Iterator iter = webServices.getWebServices().iterator(); 
                iter.hasNext();) {
                WebService next = (WebService) iter.next();
                if( next.hasClientPublishUrl() ) {
                    writeDescriptor
                        (parent, WebServicesTagNames.WEB_SERVICE, next);
                }
            }
        }