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.request.FindQualifier; 22 import org.apache.juddi.datatype.request.FindQualifiers; 23 import org.apache.juddi.util.xml.XMLUtils; 24 import org.w3c.dom.Element ; 25 26 32 public class FindQualifiersHandler extends AbstractHandler 33 { 34 public static final String TAG_NAME = "findQualifiers"; 35 36 private HandlerMaker maker = null; 37 38 protected FindQualifiersHandler(HandlerMaker maker) 39 { 40 this.maker = maker; 41 } 42 43 public RegistryObject unmarshal(Element element) 44 { 45 FindQualifiers obj = new FindQualifiers(); 46 Vector nodeList = null; 47 AbstractHandler handler = null; 48 49 52 55 nodeList = XMLUtils.getChildElementsByTagName(element,FindQualifierHandler.TAG_NAME); 57 for (int i=0; i<nodeList.size(); i++) 58 { 59 handler = maker.lookup(FindQualifierHandler.TAG_NAME); 60 obj.addFindQualifier((FindQualifier)handler.unmarshal((Element )nodeList.elementAt(i))); 61 } 62 63 return obj; 64 } 65 66 public void marshal(RegistryObject object,Element parent) 67 { 68 FindQualifiers qualifiers = (FindQualifiers)object; 69 Element element = parent.getOwnerDocument().createElementNS(null,TAG_NAME); 70 AbstractHandler handler = null; 71 72 Vector qVector = qualifiers.getFindQualifierVector(); 73 if ((qVector!=null) && (qVector.size() > 0)) 74 { 75 handler = maker.lookup(FindQualifierHandler.TAG_NAME); 76 for (int i=0; i < qVector.size(); i++) 77 handler.marshal((FindQualifier)qVector.elementAt(i),element); 78 } 79 80 parent.appendChild(element); 81 } 82 83 84 85 86 87 88 89 public static void main(String args[]) 90 throws Exception 91 { 92 HandlerMaker maker = HandlerMaker.getInstance(); 93 AbstractHandler handler = maker.lookup(FindQualifiersHandler.TAG_NAME); 94 95 Element parent = XMLUtils.newRootElement(); 96 Element child = null; 97 98 FindQualifiers qualifiers = new FindQualifiers(); 99 qualifiers.addFindQualifier(new FindQualifier(FindQualifier.SORT_BY_DATE_ASC)); 100 qualifiers.addFindQualifier(new FindQualifier(FindQualifier.AND_ALL_KEYS)); 101 102 System.out.println(); 103 104 RegistryObject regObject = qualifiers; 105 handler.marshal(regObject,parent); 106 child = (Element )parent.getFirstChild(); 107 parent.removeChild(child); 108 XMLUtils.writeXML(child,System.out); 109 110 System.out.println(); 111 112 regObject = handler.unmarshal(child); 113 handler.marshal(regObject,parent); 114 child = (Element )parent.getFirstChild(); 115 parent.removeChild(child); 116 XMLUtils.writeXML(child,System.out); 117 } 118 } | Popular Tags |