1 8 9 package mx4j.tools.remote.soap.axis.ser; 10 11 import java.io.IOException ; 12 import javax.management.MBeanOperationInfo ; 13 import javax.xml.namespace.QName ; 14 15 import org.apache.axis.encoding.SerializationContext; 16 import org.apache.axis.encoding.XMLType; 17 import org.apache.axis.wsdl.fromJava.Types; 18 import org.w3c.dom.Element ; 19 import org.xml.sax.Attributes ; 20 21 24 public class MBeanOperationInfoSer extends AxisSerializer 25 { 26 static final String TYPE = "MBeanOperationInfo"; 27 static final String NAME = "name"; 28 static final String CLASS_NAME = "type"; 29 static final String DESCRIPTION = "description"; 30 static final String SIGNATURE = "signature"; 31 static final String IMPACT = "impact"; 32 private static final QName NAME_QNAME = new QName ("", NAME); 33 private static final QName CLASS_NAME_QNAME = new QName ("", CLASS_NAME); 34 private static final QName DESCRIPTION_QNAME = new QName ("", DESCRIPTION); 35 private static final QName SIGNATURE_QNAME = new QName ("", SIGNATURE); 36 private static final QName IMPACT_QNAME = new QName ("", IMPACT); 37 38 public void serialize(QName name, Attributes attributes, Object value, SerializationContext context) throws IOException 39 { 40 MBeanOperationInfo info = (MBeanOperationInfo )value; 41 context.startElement(name, attributes); 42 context.serialize(NAME_QNAME, null, info.getName()); 43 context.serialize(DESCRIPTION_QNAME, null, info.getDescription()); 44 context.serialize(SIGNATURE_QNAME, null, info.getSignature()); 45 context.serialize(CLASS_NAME_QNAME, null, info.getReturnType()); 46 context.serialize(IMPACT_QNAME, null, new Integer (info.getImpact())); 47 context.endElement(); 48 } 49 50 public Element writeSchema(Class javaType, Types types) throws Exception 51 { 52 Element complexType = types.createElement(SCHEMA_COMPLEX_TYPE); 53 complexType.setAttribute("name", TYPE); 54 Element allElement = types.createElement(SCHEMA_ALL); 55 complexType.appendChild(allElement); 56 57 Element nameElement = types.createElement(SCHEMA_ELEMENT); 58 nameElement.setAttribute("name", NAME); 59 nameElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 60 allElement.appendChild(nameElement); 61 62 Element descrElement = types.createElement(SCHEMA_ELEMENT); 63 descrElement.setAttribute("name", DESCRIPTION); 64 descrElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 65 allElement.appendChild(descrElement); 66 67 Element signatureElement = types.createElement(SCHEMA_ELEMENT); 68 signatureElement.setAttribute("name", SIGNATURE); 69 signatureElement.setAttribute("type", XMLType.SOAP_ARRAY.getLocalPart()); 70 allElement.appendChild(signatureElement); 71 72 Element typeElement = types.createElement(SCHEMA_ELEMENT); 73 typeElement.setAttribute("name", CLASS_NAME); 74 typeElement.setAttribute("type", XMLType.XSD_STRING.getLocalPart()); 75 allElement.appendChild(typeElement); 76 77 Element impactElement = types.createElement(SCHEMA_ELEMENT); 78 impactElement.setAttribute("name", IMPACT); 79 impactElement.setAttribute("type", XMLType.XSD_INT.getLocalPart()); 80 allElement.appendChild(impactElement); 81 82 return complexType; 83 } 84 } 85 | Popular Tags |