1 16 package org.apache.juddi.handler; 17 18 import org.apache.juddi.datatype.DiscoveryURL; 19 import org.apache.juddi.datatype.RegistryObject; 20 import org.apache.juddi.util.xml.XMLUtils; 21 import org.w3c.dom.Element ; 22 23 29 public class DiscoveryURLHandler extends AbstractHandler 30 { 31 public static final String TAG_NAME = "discoveryURL"; 32 33 private HandlerMaker maker = null; 34 35 protected DiscoveryURLHandler(HandlerMaker maker) 36 { 37 this.maker = maker; 38 } 39 40 public RegistryObject unmarshal(Element element) 41 { 42 DiscoveryURL obj = new DiscoveryURL(); 43 44 obj.setUseType(element.getAttribute("useType")); 46 47 obj.setValue(XMLUtils.getText(element)); 49 50 53 return obj; 54 } 55 56 public void marshal(RegistryObject object,Element parent) 57 { 58 DiscoveryURL discURL = (DiscoveryURL)object; 59 Element element = parent.getOwnerDocument().createElementNS(null,TAG_NAME); 60 61 String useType = discURL.getUseType(); 62 if (useType != null) 63 element.setAttribute("useType",useType); 64 65 String urlValue = discURL.getValue(); 66 if (urlValue != null) 67 element.appendChild(parent.getOwnerDocument().createTextNode(urlValue)); 68 69 parent.appendChild(element); 70 } 71 72 73 74 75 76 77 78 public static void main(String args[]) 79 throws Exception 80 { 81 HandlerMaker maker = HandlerMaker.getInstance(); 82 AbstractHandler handler = maker.lookup(DiscoveryURLHandler.TAG_NAME); 83 84 Element parent = XMLUtils.newRootElement(); 85 Element child = null; 86 87 DiscoveryURL discoveryURL = new DiscoveryURL(); 88 discoveryURL.setUseType("businessEntity"); 89 discoveryURL.setValue("http://www.sviens.com"); 90 91 System.out.println(); 92 93 RegistryObject regObject = discoveryURL; 94 handler.marshal(regObject,parent); 95 child = (Element )parent.getFirstChild(); 96 parent.removeChild(child); 97 XMLUtils.writeXML(child,System.out); 98 99 System.out.println(); 100 101 regObject = handler.unmarshal(child); 102 handler.marshal(regObject,parent); 103 child = (Element )parent.getFirstChild(); 104 parent.removeChild(child); 105 XMLUtils.writeXML(child,System.out); 106 } 107 } | Popular Tags |