1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.apache.juddi.handler;
17
18 import org.apache.juddi.datatype.RegistryObject;
19 import org.apache.juddi.datatype.publisher.PublisherID;
20 import org.apache.juddi.util.xml.XMLUtils;
21 import org.w3c.dom.Element;
22
23 /***
24 * "Knows about the creation and populating of PublisherID objects.
25 * Returns PublisherID."
26 *
27 * @author Steve Viens (sviens@apache.org)
28 */
29 public class PublisherIDHandler extends AbstractHandler
30 {
31 public static final String TAG_NAME = "publisherID";
32
33 protected PublisherIDHandler(HandlerMaker maker)
34 {
35 }
36
37 public RegistryObject unmarshal(Element element)
38 {
39 PublisherID obj = new PublisherID();
40
41
42
43
44
45 obj.setValue(XMLUtils.getText(element));
46
47
48
49
50 return obj;
51 }
52
53 public void marshal(RegistryObject object,Element parent)
54 {
55 PublisherID id = (PublisherID)object;
56 String generic = getGeneric(null);
57 String namespace = getUDDINamespace(generic);
58 Element element = parent.getOwnerDocument().createElementNS(namespace,TAG_NAME);
59
60 String idValue = id.getValue();
61 if (idValue != null)
62 element.appendChild(parent.getOwnerDocument().createTextNode(idValue));
63
64 parent.appendChild(element);
65 }
66
67
68 /****************************************************************************/
69 /****************************** TEST DRIVER *********************************/
70 /****************************************************************************/
71
72
73 public static void main(String args[])
74 throws Exception
75 {
76 HandlerMaker maker = HandlerMaker.getInstance();
77 AbstractHandler handler = maker.lookup(PublisherIDHandler.TAG_NAME);
78
79 Element parent = XMLUtils.newRootElement();
80 Element child = null;
81
82 PublisherID publisherID = new PublisherID();
83 publisherID.setValue("sviens");
84
85 System.out.println();
86
87 RegistryObject regObject = publisherID;
88 handler.marshal(regObject,parent);
89 child = (Element)parent.getFirstChild();
90 parent.removeChild(child);
91 XMLUtils.writeXML(child,System.out);
92
93 System.out.println();
94
95 regObject = handler.unmarshal(child);
96 handler.marshal(regObject,parent);
97 child = (Element)parent.getFirstChild();
98 parent.removeChild(child);
99 XMLUtils.writeXML(child,System.out);
100 }
101 }