1 57 58 package org.apache.wsif.wsdl.extensions.jms; 59 60 import java.io.Serializable ; 61 62 import javax.wsdl.Definition; 63 import javax.wsdl.WSDLException; 64 import javax.wsdl.extensions.ExtensibilityElement; 65 import javax.wsdl.extensions.ExtensionDeserializer; 66 import javax.wsdl.extensions.ExtensionRegistry; 67 import javax.wsdl.extensions.ExtensionSerializer; 68 import javax.xml.namespace.QName ; 69 70 import org.apache.wsif.logging.Trc; 71 import org.w3c.dom.Element ; 72 73 import com.ibm.wsdl.Constants; 74 import com.ibm.wsdl.util.xml.DOMUtils; 75 76 83 public class JMSPropertySerializer 84 implements ExtensionSerializer, ExtensionDeserializer, Serializable { 85 86 private static final long serialVersionUID = 1L; 87 88 91 public void marshall( 92 Class parentType, 93 QName elementType, 94 javax.wsdl.extensions.ExtensibilityElement extension, 95 java.io.PrintWriter pw, 96 javax.wsdl.Definition def, 97 javax.wsdl.extensions.ExtensionRegistry extReg) 98 throws javax.wsdl.WSDLException { 99 Trc.entry(this, parentType, elementType, extension, pw, def, extReg); 100 101 if (extension == null) { 102 Trc.exit(); 103 return; 104 } 105 106 JMSProperty jmsProperty = (JMSProperty) extension; 107 String tagName = 108 DOMUtils.getQualifiedValue(JMSConstants.NS_URI_JMS, "property", def); 109 pw.print(" <" + tagName); 110 111 114 if (jmsProperty.getName() != null) 115 DOMUtils.printAttribute(JMSConstants.ATTR_NAME, jmsProperty.getName(), pw); 116 117 if (jmsProperty.getPart() != null) 118 DOMUtils.printAttribute(JMSConstants.ATTR_PART, jmsProperty.getPart(), pw); 119 120 Boolean required = extension.getRequired(); 121 if (required != null) 122 DOMUtils.printQualifiedAttribute( 123 Constants.Q_ATTR_REQUIRED, 124 required.toString(), 125 def, 126 pw); 127 128 pw.println("/>"); 129 Trc.exit(); 130 } 131 132 135 public void registerSerializer(ExtensionRegistry registry) { 136 Trc.entry(this, registry); 137 138 registry.registerSerializer( 139 javax.wsdl.BindingInput.class, 140 JMSConstants.Q_ELEM_JMS_PROPERTY, 141 this); 142 registry.registerDeserializer( 143 javax.wsdl.BindingInput.class, 144 JMSConstants.Q_ELEM_JMS_PROPERTY, 145 this); 146 registry.mapExtensionTypes( 147 javax.wsdl.BindingInput.class, 148 JMSConstants.Q_ELEM_JMS_PROPERTY, 149 JMSProperty.class); 150 151 registry.registerSerializer( 152 javax.wsdl.BindingOutput.class, 153 JMSConstants.Q_ELEM_JMS_PROPERTY, 154 this); 155 registry.registerDeserializer( 156 javax.wsdl.BindingOutput.class, 157 JMSConstants.Q_ELEM_JMS_PROPERTY, 158 this); 159 registry.mapExtensionTypes( 160 javax.wsdl.BindingOutput.class, 161 JMSConstants.Q_ELEM_JMS_PROPERTY, 162 JMSProperty.class); 163 164 registry.registerSerializer( 165 javax.wsdl.BindingFault.class, 166 JMSConstants.Q_ELEM_JMS_PROPERTY, 167 this); 168 registry.registerDeserializer( 169 javax.wsdl.BindingFault.class, 170 JMSConstants.Q_ELEM_JMS_PROPERTY, 171 this); 172 registry.mapExtensionTypes( 173 javax.wsdl.BindingFault.class, 174 JMSConstants.Q_ELEM_JMS_PROPERTY, 175 JMSProperty.class); 176 Trc.exit(); 177 } 178 179 182 public ExtensibilityElement unmarshall( 183 Class parentType, 184 QName elementType, 185 Element el, 186 Definition def, 187 ExtensionRegistry extReg) 188 throws WSDLException { 189 Trc.entry(this, parentType, elementType, el, def, extReg); 190 191 JMSProperty jmsProperty = 192 (JMSProperty) extReg.createExtension(parentType, elementType); 193 194 String name = DOMUtils.getAttribute(el, JMSConstants.ATTR_NAME); 195 if (name != null) 196 jmsProperty.setName(name); 197 198 String part = DOMUtils.getAttribute(el, JMSConstants.ATTR_PART); 199 if (part != null) 200 jmsProperty.setPart(part); 201 202 Trc.exit(jmsProperty); 203 return jmsProperty; 204 } 205 } | Popular Tags |