KickJava   Java API By Example, From Geeks To Geeks.

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


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 import org.netbeans.modules.websvc.registry.model.WebServiceData;
22
23 import java.util.*;
24 import org.openide.nodes.*;
25 import com.sun.xml.rpc.processor.model.Port;
26 import com.sun.xml.rpc.processor.model.Operation;
27 import com.sun.xml.rpc.processor.model.java.JavaMethod;
28
29 /**
30  *
31  * @author David Botterill
32  */

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

51         List javaMethodList = port.getOperationsList();
52         setKeys(javaMethodList);
53     }
54     
55     protected void removeNotify() {
56         setKeys(Collections.EMPTY_SET);
57         super.removeNotify();
58     }
59     
60     protected Node[] createNodes(Object JavaDoc key) {
61         Node node = null;
62         if (key instanceof Operation) {
63             node = new WebServiceMethodNode(port, (Operation)key);
64         }
65         return new Node[]{node};
66     }
67 }
68
Popular Tags