1 19 20 package org.netbeans.modules.websvc.registry.nodes; 21 22 import org.netbeans.modules.websvc.registry.model.WebServiceData; 23 import org.netbeans.modules.websvc.registry.model.WebServiceGroup; 24 import org.netbeans.modules.websvc.registry.model.WebServiceGroupListener; 25 import org.netbeans.modules.websvc.registry.model.WebServiceListModel; 26 import org.netbeans.modules.websvc.registry.model.WebServiceListModelListener; 27 import java.util.*; 28 29 import org.openide.nodes.*; 30 import org.openide.util.RequestProcessor; 31 32 import org.netbeans.modules.websvc.registry.util.*; 33 import java.util.Iterator ; 34 import java.util.LinkedList ; 35 import java.util.List ; 36 37 42 public class WebServicesRootNodeChildren extends Children.Keys implements WebServiceGroupListener, WebServiceListModelListener{ 43 44 WebServiceGroup defaultGroup = null; 45 46 public WebServicesRootNodeChildren() { 47 48 } 49 private WebServiceGroup getDefaultGroup(){ 50 if (defaultGroup==null){ 51 WebServiceListModel websvcListModel = WebServiceListModel.getInstance(); 52 defaultGroup = websvcListModel.getWebServiceGroup("default"); 53 if(defaultGroup == null) defaultGroup = new WebServiceGroup("default"); 54 websvcListModel.addWebServiceGroup(defaultGroup); 55 defaultGroup.addWebServiceGroupListener(this); 56 websvcListModel.addWebServiceListModelListener(this); 57 58 } 59 return defaultGroup; 60 61 } 62 protected void addNotify() { 63 super.addNotify(); 64 getDefaultGroup(); 65 updateKeys(); 66 } 67 68 private void updateKeys() { 69 WebServiceListModel websvcListModel = WebServiceListModel.getInstance(); 70 WebServiceGroup[] keys = new WebServiceGroup[websvcListModel.getWebServiceGroupSet().size()]; 71 Iterator iter = websvcListModel.getWebServiceGroupSet().iterator(); 72 int counter =0; 74 while(iter.hasNext()){ 75 keys[counter++]= (WebServiceGroup)iter.next(); 76 } 78 setKeys(keys); 79 } 80 81 protected void removeNotify() { 82 setKeys(Collections.EMPTY_SET); 83 super.removeNotify(); 84 } 85 86 protected Node[] createNodes(Object key) { 87 Set nodes = new HashSet(); 88 if (key instanceof WebServiceGroup) { 89 WebServiceGroup wsGroup = (WebServiceGroup)key; 90 if(wsGroup.getId().equals(getDefaultGroup().getId())){ 91 WebServiceListModel websvcListModel = WebServiceListModel.getInstance(); 92 Iterator iter = getDefaultGroup().getWebServiceIds().iterator(); 93 while(iter.hasNext()){ 94 WebServiceData wsData = websvcListModel.getWebService((String )iter.next()); 95 nodes.add(new WebServicesNode(wsData)); 97 } 98 }else{ 99 nodes.add( new WebServiceGroupNode(wsGroup)); 101 } 102 } 103 return (Node[])nodes.toArray(new Node[nodes.size()]); 104 } 105 106 public void webServiceGroupAdded(org.netbeans.modules.websvc.registry.model.WebServiceListModelEvent modelEvent) { 107 updateKeys(); 109 } 111 112 public void webServiceGroupRemoved(org.netbeans.modules.websvc.registry.model.WebServiceListModelEvent modelEvent) { 113 updateKeys(); 114 } 116 117 public void webServiceAdded(org.netbeans.modules.websvc.registry.model.WebServiceGroupEvent groupEvent) { 118 updateKeys(); 121 refreshKey(getDefaultGroup()); 122 } 123 124 public void webServiceRemoved(org.netbeans.modules.websvc.registry.model.WebServiceGroupEvent groupEvent) { 125 refreshKey(getDefaultGroup()); 127 } 128 129 } 130 | Popular Tags |