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