KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > tools > extensions > jaxws > JAXWSBindingParser


1 package org.objectweb.celtix.tools.extensions.jaxws;
2
3 import javax.wsdl.Definition;
4 import javax.wsdl.WSDLException;
5 import javax.wsdl.extensions.ExtensionRegistry;
6 import org.w3c.dom.Element JavaDoc;
7 import org.w3c.dom.Node JavaDoc;
8 import org.w3c.dom.NodeList JavaDoc;
9
10 import org.objectweb.celtix.tools.common.ToolConstants;
11
12 public class JAXWSBindingParser {
13
14     public JAXWSBinding parse(BindingsNode bindingsNode, Definition def) throws WSDLException {
15         return parse(bindingsNode.getParentType(), bindingsNode.getElement(), def);
16     }
17     
18     public JAXWSBinding parse(Class JavaDoc parentType, Element JavaDoc element, Definition def) throws WSDLException {
19         ExtensionRegistry extReg = def.getExtensionRegistry();
20         JAXWSBinding jaxwsBinding = (JAXWSBinding)extReg.createExtension(parentType,
21                                                                          ToolConstants.JAXWS_BINDINGS);
22         
23         jaxwsBinding.setElementType(ToolConstants.JAXWS_BINDINGS);
24         jaxwsBinding.setElement(element);
25         jaxwsBinding.setDocumentBaseURI(def.getDocumentBaseURI());
26
27         parseElement(jaxwsBinding, element);
28         return jaxwsBinding;
29     }
30
31     public void parseElement(JAXWSBinding jaxwsBinding, Element JavaDoc element) {
32         NodeList JavaDoc children = element.getChildNodes();
33         if (children != null) {
34             for (int i = 0; i < children.getLength(); i++) {
35                 Node JavaDoc child = children.item(i);
36                 if (isAsyncElement(child)) {
37                     jaxwsBinding.setAsyncMapping(true);
38                     jaxwsBinding.setEnableAsyncMapping(isAsync(child));
39                 }
40                 if (isMIMEElement(child)) {
41                     jaxwsBinding.setSetMimeEnable(true);
42                     jaxwsBinding.setEnableMime(isMIMEEnabled(child));
43                 }
44             }
45         }
46     }
47     
48     private Boolean JavaDoc isAsyncElement(Node JavaDoc node) {
49         return "enableAsyncMapping".equals(node.getNodeName());
50     }
51
52     private Boolean JavaDoc isAsync(Node JavaDoc node) {
53         return Boolean.valueOf(node.getTextContent());
54     }
55     
56     private Boolean JavaDoc isMIMEElement(Node JavaDoc node) {
57         return "enableMIMEContent".equals(node.getNodeName());
58     }
59
60     private Boolean JavaDoc isMIMEEnabled(Node JavaDoc node) {
61         return Boolean.valueOf(node.getTextContent());
62     }
63 }
64
Popular Tags