KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > netbeans > modules > websvc > registry > nodes > WebServicesNodeChildren


1 /*
2  * The contents of this file are subject to the terms of the Common Development
3  * and Distribution License (the License). You may not use this file except in
4  * compliance with the License.
5  *
6  * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
7  * or http://www.netbeans.org/cddl.txt.
8  *
9  * When distributing Covered Code, include this CDDL Header Notice in each file
10  * and include the License file at http://www.netbeans.org/cddl.txt.
11  * If applicable, add the following below the CDDL Header, with the fields
12  * enclosed by brackets [] replaced by your own identifying information:
13  * "Portions Copyrighted [year] [name of copyright owner]"
14  *
15  * The Original Software is NetBeans. The Initial Developer of the Original
16  * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
17  * Microsystems, Inc. All Rights Reserved.
18  */

19
20 package org.netbeans.modules.websvc.registry.nodes;
21
22 import org.netbeans.modules.websvc.registry.model.WebServiceData;
23 import java.util.*;
24 import org.openide.nodes.*;
25 import com.sun.xml.rpc.processor.model.java.JavaMethod;
26 import com.sun.xml.rpc.processor.model.Port;
27
28 /** Node Children for the Webservice Node
29  * @author octav, Winston Prakash
30  */

31 public class WebServicesNodeChildren extends Children.Keys {
32
33     private WebServiceData wsData;
34
35     public WebServicesNodeChildren(WebServiceData wsData) {
36         this.wsData = wsData;
37     }
38     
39     protected void addNotify() {
40         super.addNotify();
41         updateKeys();
42     }
43     
44     private void updateKeys() {
45         /**
46          * FIX bug: 4952054 - Had to make WebServiceData a Proper JavaBean so it would persist correctly.
47          * This fix involved changing the List return type to ArrayList.
48          */

49         Port [] ports = wsData.getPorts();
50         List portList = Arrays.asList(ports);
51         setKeys(portList);
52     }
53     
54     protected void removeNotify() {
55         setKeys(Collections.EMPTY_SET);
56         super.removeNotify();
57     }
58     
59     protected Node[] createNodes(Object JavaDoc key) {
60         Node node = null;
61         if (key instanceof Port) {
62             node = new WebServicesPortNode((Port)key);
63         }
64         return new Node[]{node};
65     }
66 }
67
68
69
Popular Tags