01: /**
02: * ChainBuilder ESB
03: * Visual Enterprise Integration
04: *
05: * Copyright (C) 2006 Bostech Corporation
06: *
07: * This program is free software; you can redistribute it and/or modify it
08: * under the terms of the GNU General Public License as published by the
09: * Free Software Foundation; either version 2 of the License, or (at your option)
10: * any later version.
11: *
12: * This program is distributed in the hope that it will be useful,
13: * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15: * for more details.
16: *
17: * You should have received a copy of the GNU General Public License along with
18: * this program; if not, write to the Free Software Foundation, Inc.,
19: * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20: *
21: * TrxIdSerializer
22: * LPS
23: * Sep 19, 2007
24: */package com.bostechcorp.cbesb.common.util.generators.wsdl.extensions;
25:
26: import java.io.PrintWriter;
27: import java.io.Serializable;
28:
29: import javax.wsdl.Definition;
30: import javax.wsdl.WSDLException;
31: import javax.wsdl.extensions.ExtensibilityElement;
32: import javax.wsdl.extensions.ExtensionDeserializer;
33: import javax.wsdl.extensions.ExtensionRegistry;
34: import javax.wsdl.extensions.ExtensionSerializer;
35: import javax.xml.namespace.QName;
36:
37: import org.w3c.dom.Element;
38:
39: import com.ibm.wsdl.Constants;
40: import com.ibm.wsdl.util.xml.DOMUtils;
41:
42: /**
43: * @author LPS
44: *
45: */
46: public class TrxIdSerializer implements ExtensionSerializer,
47: ExtensionDeserializer, Serializable {
48: private static final long serialVersionUID = -1752874511045310398L;
49:
50: public void marshall(Class parentType, QName elementType,
51: ExtensibilityElement extension, PrintWriter pw,
52: Definition def, ExtensionRegistry extReg)
53: throws WSDLException {
54:
55: TrxIdExtension trxID = (TrxIdExtension) extension;
56: if (trxID != null) {
57: String tagName = DOMUtils.getQualifiedValue(trxID
58: .getElementType().getNamespaceURI(),
59: TrxIdConstants.ELEM_TRX_ID, def);
60: pw.print(" <" + tagName);
61:
62: for (Object attrName : trxID.getAttributes().keySet()) {
63: DOMUtils.printAttribute((String) attrName,
64: trxID.getAttributes().getProperty(
65: (String) attrName), pw);
66: }
67: ;
68: Boolean required = trxID.getRequired();
69: if (required != null) {
70: DOMUtils.printQualifiedAttribute(
71: Constants.Q_ATTR_REQUIRED, required.toString(),
72: def, pw);
73: }
74: pw.println("/>");
75: }
76: }
77:
78: public ExtensibilityElement unmarshall(Class parentType,
79: QName elementType, Element el, Definition def,
80: ExtensionRegistry extReg) throws WSDLException {
81: // TODO Auto-generated method stub
82: return null;
83: }
84: }
|