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.RegistryObject;
21 import org.apache.juddi.datatype.assertion.PublisherAssertion;
22 import org.apache.juddi.datatype.request.AuthInfo;
23 import org.apache.juddi.datatype.request.DeletePublisherAssertions;
24 import org.apache.juddi.util.xml.XMLUtils;
25 import org.w3c.dom.Element;
26
27 /***
28 * @author Steve Viens (sviens@apache.org)
29 */
30 public class DeletePublisherAssertionsHandler extends AbstractHandler
31 {
32 public static final String TAG_NAME = "delete_publisherAssertions";
33
34 private HandlerMaker maker = null;
35
36 protected DeletePublisherAssertionsHandler(HandlerMaker maker)
37 {
38 this.maker = maker;
39 }
40
41 public RegistryObject unmarshal(Element element)
42 {
43 Vector nodeList = null;
44 AbstractHandler handler = null;
45 DeletePublisherAssertions obj = new DeletePublisherAssertions();
46
47
48 String generic = element.getAttribute("generic");
49 if ((generic != null && (generic.trim().length() > 0)))
50 obj.setGeneric(generic);
51
52 nodeList = XMLUtils.getChildElementsByTagName(element,AuthInfoHandler.TAG_NAME);
53 if (nodeList != null && nodeList.size() == 1)
54 {
55 handler = maker.lookup(AuthInfoHandler.TAG_NAME);
56 obj.setAuthInfo((AuthInfo)handler.unmarshal((Element)nodeList.elementAt(0)));
57 }
58
59 nodeList = XMLUtils.getChildElementsByTagName(element,PublisherAssertionHandler.TAG_NAME);
60 if (nodeList != null && nodeList.size() > 0)
61 {
62 handler = maker.lookup(PublisherAssertionHandler.TAG_NAME);
63 for (int index = 0; index < nodeList.size(); ++index)
64 {
65
66 obj.addPublisherAssertion(
67 (PublisherAssertion) handler.unmarshal(
68 (Element) nodeList.elementAt(index)));
69 }
70 }
71 return obj;
72 }
73
74 public void marshal(RegistryObject object, Element parent)
75 {
76 DeletePublisherAssertions request = (DeletePublisherAssertions) object;
77 String generic = request.getGeneric();
78 generic = getGeneric(generic);
79 String namespace = getUDDINamespace(generic);
80 Element element = parent.getOwnerDocument().createElementNS(namespace,TAG_NAME);
81 AbstractHandler handler = null;
82
83 element.setAttribute("generic", generic);
84
85 AuthInfo authInfo = request.getAuthInfo();
86 if (authInfo != null)
87 {
88 handler = maker.lookup(AuthInfoHandler.TAG_NAME);
89 handler.marshal(authInfo, element);
90 }
91
92 Vector keyVector = request.getPublisherAssertionVector();
93 if ((keyVector != null) && (keyVector.size() > 0))
94 {
95 handler = maker.lookup(PublisherAssertionHandler.TAG_NAME);
96 for (int i = 0; i < keyVector.size(); i++)
97 handler.marshal(
98 (PublisherAssertion) keyVector.elementAt(i),
99 element);
100 }
101
102 parent.appendChild(element);
103 }
104
105
106 /****************************************************************************/
107 /****************************** TEST DRIVER *********************************/
108 /****************************************************************************/
109
110
111 public static void main(String args[]) throws Exception
112 {
113 HandlerMaker maker = HandlerMaker.getInstance();
114 AbstractHandler handler = maker.lookup(DeletePublisherAssertionsHandler.TAG_NAME);
115
116 Element parent = XMLUtils.newRootElement();
117 Element child = null;
118
119 AuthInfo authInfo = new AuthInfo();
120 authInfo.setValue("6f157513-844e-4a95-a856-d257e6ba9726");
121
122 PublisherAssertion assertion1 = new PublisherAssertion();
123 assertion1.setFromKey("6f157513-844e-4a95-a856-d257e6ba0000");
124 assertion1.setToKey("6f157513-844e-4a95-a856-d257e6ba1111");
125
126 PublisherAssertion assertion2 = new PublisherAssertion();
127 assertion2.setFromKey("6f157513-844e-4a95-a856-d257e6ba2222");
128 assertion2.setToKey("6f157513-844e-4a95-a856-d257e6ba3333");
129
130 DeletePublisherAssertions service = new DeletePublisherAssertions();
131 service.setAuthInfo(authInfo);
132 service.addPublisherAssertion(assertion1);
133 service.addPublisherAssertion(assertion2);
134
135 System.out.println();
136
137 RegistryObject regObject = service;
138 handler.marshal(regObject,parent);
139 child = (Element)parent.getFirstChild();
140 parent.removeChild(child);
141 XMLUtils.writeXML(child,System.out);
142
143 System.out.println();
144
145 regObject = handler.unmarshal(child);
146 handler.marshal(regObject,parent);
147 child = (Element)parent.getFirstChild();
148 parent.removeChild(child);
149 XMLUtils.writeXML(child,System.out);
150 }
151 }