KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > juddi > handler > AddPublisherAssertionsHandler


1 /*
2  * Copyright 2001-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16 package org.apache.juddi.handler;
17
18 import java.util.Vector JavaDoc;
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 JavaDoc;
26
27 /**
28  * @author Steve Viens (sviens@apache.org)
29  */

30 public class AddPublisherAssertionsHandler extends AbstractHandler
31 {
32   public static final String JavaDoc 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 JavaDoc element)
42   {
43     AddPublisherAssertions obj = new AddPublisherAssertions();
44     Vector JavaDoc nodeList = null;
45     AbstractHandler handler = null;
46
47     // Attributes
48
String JavaDoc generic = element.getAttribute("generic");
49     if ((generic != null && (generic.trim().length() > 0)))
50       obj.setGeneric(generic);
51
52     // Text Node Value
53
// {none}
54

55     // Child Elements
56
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 JavaDoc)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 JavaDoc)nodeList.elementAt(i)));
68     }
69
70     return obj;
71   }
72
73   public void marshal(RegistryObject object,Element JavaDoc parent)
74   {
75     AddPublisherAssertions request = (AddPublisherAssertions)object;
76     Element JavaDoc element = parent.getOwnerDocument().createElementNS(null,TAG_NAME);
77
78     String JavaDoc 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 JavaDoc 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   /***************************** TEST DRIVER *********************************/
103   /***************************************************************************/
104
105
106   public static void main(String JavaDoc args[])
107     throws Exception JavaDoc
108   {
109     HandlerMaker maker = HandlerMaker.getInstance();
110     AbstractHandler handler = maker.lookup(AddPublisherAssertionsHandler.TAG_NAME);
111
112     Element JavaDoc parent = XMLUtils.newRootElement();
113     Element JavaDoc 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 JavaDoc)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 JavaDoc)parent.getFirstChild();
144     parent.removeChild(child);
145     XMLUtils.writeXML(child,System.out);
146   }
147 }
Popular Tags