KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > celtix > tools > utils > WSDLExtensionRegister


1 package org.objectweb.celtix.tools.utils;
2
3 import javax.wsdl.Binding;
4 import javax.wsdl.BindingInput;
5 import javax.wsdl.BindingOperation;
6 import javax.wsdl.BindingOutput;
7 import javax.wsdl.Definition;
8 import javax.wsdl.Operation;
9 import javax.wsdl.Port;
10 import javax.wsdl.PortType;
11 import javax.wsdl.extensions.ExtensionRegistry;
12 import javax.wsdl.factory.WSDLFactory;
13 import javax.wsdl.xml.WSDLReader;
14
15 import org.objectweb.celtix.tools.common.ToolConstants;
16 import org.objectweb.celtix.tools.extensions.jaxws.JAXWSBinding;
17 import org.objectweb.celtix.tools.extensions.jaxws.JAXWSBindingDeserializer;
18 import org.objectweb.celtix.tools.extensions.jaxws.JAXWSBindingSerializer;
19 import org.objectweb.celtix.tools.extensions.jms.JMSAddress;
20 import org.objectweb.celtix.tools.extensions.jms.JMSAddressSerializer;
21 import org.objectweb.celtix.tools.extensions.xmlformat.XMLFormat;
22 import org.objectweb.celtix.tools.extensions.xmlformat.XMLFormatBinding;
23 import org.objectweb.celtix.tools.extensions.xmlformat.XMLFormatBindingSerializer;
24 import org.objectweb.celtix.tools.extensions.xmlformat.XMLFormatSerializer;
25 import org.objectweb.celtix.tools.extensions.xmlformat.XMLHttpAddress;
26 import org.objectweb.celtix.tools.extensions.xmlformat.XMLHttpSerializer;
27
28 public class WSDLExtensionRegister {
29
30     private WSDLFactory wsdlFactory;
31     private WSDLReader wsdlreader;
32
33     public WSDLExtensionRegister(WSDLFactory factory, WSDLReader reader) {
34         wsdlFactory = factory;
35         wsdlreader = reader;
36     }
37
38     public void registerExtenstions() {
39         ExtensionRegistry registry = wsdlreader.getExtensionRegistry();
40         if (registry == null) {
41             registry = wsdlFactory.newPopulatedExtensionRegistry();
42         }
43         registerJAXWSBinding(registry, Definition.class);
44         registerJAXWSBinding(registry, PortType.class);
45         registerJAXWSBinding(registry, Operation.class);
46
47         registerJAXWSBinding(registry, Binding.class);
48         registerJAXWSBinding(registry, BindingOperation.class);
49
50         registerJMSAddress(registry, Port.class);
51
52         registerXMLFormat(registry, BindingInput.class);
53         registerXMLFormat(registry, BindingOutput.class);
54         registerXMLFormatBinding(registry, Binding.class);
55         registerXMLHttpAddress(registry, Port.class);
56
57         wsdlreader.setExtensionRegistry(registry);
58     }
59
60     private void registerXMLFormat(ExtensionRegistry registry, Class JavaDoc clz) {
61         registry.registerSerializer(clz, ToolConstants.XML_FORMAT, new XMLFormatSerializer());
62
63         registry.registerDeserializer(clz, ToolConstants.XML_FORMAT, new XMLFormatSerializer());
64         registry.mapExtensionTypes(clz, ToolConstants.XML_FORMAT, XMLFormat.class);
65     }
66
67     private void registerXMLFormatBinding(ExtensionRegistry registry, Class JavaDoc clz) {
68         registry.registerSerializer(clz, ToolConstants.XML_BINDING_FORMAT, new XMLFormatBindingSerializer());
69
70         registry
71             .registerDeserializer(clz, ToolConstants.XML_BINDING_FORMAT, new XMLFormatBindingSerializer());
72         registry.mapExtensionTypes(clz, ToolConstants.XML_BINDING_FORMAT, XMLFormatBinding.class);
73     }
74
75     private void registerXMLHttpAddress(ExtensionRegistry registry, Class JavaDoc clz) {
76         registry.registerSerializer(clz, ToolConstants.XML_HTTP_ADDRESS, new XMLHttpSerializer());
77
78         registry.registerDeserializer(clz, ToolConstants.XML_HTTP_ADDRESS, new XMLHttpSerializer());
79         registry.mapExtensionTypes(clz, ToolConstants.XML_HTTP_ADDRESS, XMLHttpAddress.class);
80     }
81
82     private void registerJMSAddress(ExtensionRegistry registry, Class JavaDoc clz) {
83         registry.registerSerializer(clz, ToolConstants.JMS_ADDRESS, new JMSAddressSerializer());
84
85         registry.registerDeserializer(clz, ToolConstants.JMS_ADDRESS, new JMSAddressSerializer());
86         registry.mapExtensionTypes(clz, ToolConstants.JMS_ADDRESS, JMSAddress.class);
87     }
88
89     private void registerJAXWSBinding(ExtensionRegistry registry, Class JavaDoc clz) {
90         registry.registerSerializer(clz, ToolConstants.JAXWS_BINDINGS, new JAXWSBindingSerializer());
91
92         registry.registerDeserializer(clz, ToolConstants.JAXWS_BINDINGS, new JAXWSBindingDeserializer());
93         registry.mapExtensionTypes(clz, ToolConstants.JAXWS_BINDINGS, JAXWSBinding.class);
94     }
95
96 }
97
Popular Tags