1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi.handler;
17
18 import java.util.Vector;
19
20 import org.apache.juddi.datatype.BusinessKey;
21 import org.apache.juddi.datatype.RegistryObject;
22 import org.apache.juddi.datatype.request.AuthInfo;
23 import org.apache.juddi.datatype.request.DeleteBusiness;
24 import org.apache.juddi.util.xml.XMLUtils;
25 import org.w3c.dom.Element;
26
27 /***
28 * DeleteBusinessHandler
29 *
30 * "Knows about the creation and populating of DeleteBusiness objects.
31 * Returns DeleteBusiness."
32 *
33 * @author Steve Viens (sviens@apache.org)
34 */
35 public class DeleteBusinessHandler extends AbstractHandler
36 {
37 public static final String TAG_NAME = "delete_business";
38
39 private HandlerMaker maker = null;
40
41 protected DeleteBusinessHandler(HandlerMaker maker)
42 {
43 this.maker = maker;
44 }
45
46 public RegistryObject unmarshal(Element element)
47 {
48 DeleteBusiness obj = new DeleteBusiness();
49 Vector nodeList = null;
50 AbstractHandler handler = null;
51
52
53 String generic = element.getAttribute("generic");
54 if ((generic != null && (generic.trim().length() > 0)))
55 obj.setGeneric(generic);
56
57
58
59
60
61 nodeList = XMLUtils.getChildElementsByTagName(element,AuthInfoHandler.TAG_NAME);
62 if (nodeList.size() > 0)
63 {
64 handler = maker.lookup(AuthInfoHandler.TAG_NAME);
65 obj.setAuthInfo((AuthInfo)handler.unmarshal((Element)nodeList.elementAt(0)));
66 }
67
68 nodeList = XMLUtils.getChildElementsByTagName(element,BusinessKeyHandler.TAG_NAME);
69 for (int i=0; i<nodeList.size(); i++)
70 {
71 handler = maker.lookup(BusinessKeyHandler.TAG_NAME);
72 obj.addBusinessKey((BusinessKey)handler.unmarshal((Element)nodeList.elementAt(i)));
73 }
74
75 return obj;
76 }
77
78 public void marshal(RegistryObject object,Element parent)
79 {
80 DeleteBusiness request = (DeleteBusiness)object;
81 String generic = request.getGeneric();
82 generic = getGeneric(generic);
83 String namespace = getUDDINamespace(generic);
84 Element element = parent.getOwnerDocument().createElementNS(namespace,TAG_NAME);
85 AbstractHandler handler = null;
86
87 element.setAttribute("generic",generic);
88
89 AuthInfo authInfo = request.getAuthInfo();
90 if (authInfo != null)
91 {
92 handler = maker.lookup(AuthInfoHandler.TAG_NAME);
93 handler.marshal(authInfo,element);
94 }
95
96 Vector keyVector = request.getBusinessKeyVector();
97 if ((keyVector!=null) && (keyVector.size() > 0))
98 {
99 handler = maker.lookup(BusinessKeyHandler.TAG_NAME);
100 for (int i=0; i<keyVector.size(); i++)
101 handler.marshal(new BusinessKey((String)keyVector.elementAt(i)),element);
102 }
103
104 parent.appendChild(element);
105 }
106
107
108 /****************************************************************************/
109 /****************************** TEST DRIVER *********************************/
110 /****************************************************************************/
111
112
113 public static void main(String args[])
114 throws Exception
115 {
116 HandlerMaker maker = HandlerMaker.getInstance();
117 AbstractHandler handler = maker.lookup(DeleteBusinessHandler.TAG_NAME);
118
119 Element parent = XMLUtils.newRootElement();
120 Element child = null;
121
122 AuthInfo authInfo = new AuthInfo();
123 authInfo.setValue("6f157513-844e-4a95-a856-d257e6ba9726");
124
125 DeleteBusiness service = new DeleteBusiness();
126 service.setAuthInfo(authInfo);
127 service.addBusinessKey("1bd50f65-9671-41ae-8d13-b3b5a5afcda0");
128 service.addBusinessKey(new BusinessKey("1fbe67e6-f8b5-4743-a23f-9c13e4273d9f"));
129
130 System.out.println();
131
132 RegistryObject regObject = service;
133 handler.marshal(regObject,parent);
134 child = (Element)parent.getFirstChild();
135 parent.removeChild(child);
136 XMLUtils.writeXML(child,System.out);
137
138 System.out.println();
139
140 regObject = handler.unmarshal(child);
141 handler.marshal(regObject,parent);
142 child = (Element)parent.getFirstChild();
143 parent.removeChild(child);
144 XMLUtils.writeXML(child,System.out);
145 }
146 }