1 19 20 package org.netbeans.modules.websvc.wsitconf.ui.client; 21 22 import java.util.Collection ; 23 import org.netbeans.modules.websvc.api.jaxws.project.config.Client; 24 import org.netbeans.modules.websvc.api.jaxws.project.config.JaxWsModel; 25 import org.netbeans.modules.xml.multiview.ui.InnerPanelFactory; 26 import org.netbeans.modules.xml.multiview.ui.ToolBarDesignEditor; 27 import org.netbeans.modules.xml.wsdl.model.WSDLModel; 28 import org.openide.nodes.Node; 29 import org.openide.util.NbBundle; 30 import org.openide.windows.TopComponent; 31 import java.awt.*; 32 import java.util.Iterator ; 33 import org.netbeans.api.project.FileOwnerQuery; 34 import org.netbeans.api.project.Project; 35 36 39 public class ClientTopComponent extends TopComponent { 40 41 static final long serialVersionUID=6021472310161712674L; 42 private boolean initialized = false; 43 private InnerPanelFactory panelFactory = null; 44 45 private JaxWsModel jaxWsModel; 46 private WSDLModel clientWsdlModel; 47 private WSDLModel serviceModel; 48 private Client client; 49 private Node node; 50 51 public ClientTopComponent(Client client, JaxWsModel jaxWsModel, WSDLModel clientWsdlModel, WSDLModel serviceWsdlModel, Node node) { 52 setLayout(new BorderLayout()); 53 this.jaxWsModel = jaxWsModel; 54 this.clientWsdlModel = clientWsdlModel; 55 this.serviceModel = serviceWsdlModel; 56 this.initialized = false; 57 this.client = client; 58 this.node = node; 59 } 60 61 @Override 62 protected String preferredID(){ 63 return "WSITClientTopComponent"; } 65 66 private org.netbeans.modules.xml.wsdl.model.Service getService(String name, WSDLModel m) { 67 if ((name != null) && (m != null)) { 68 Collection services = m.getDefinitions().getServices(); 69 if (services != null) { 70 Iterator i = services.iterator(); 71 org.netbeans.modules.xml.wsdl.model.Service s = null; 72 while (i.hasNext()) { 73 s = (org.netbeans.modules.xml.wsdl.model.Service)i.next(); 74 if ((s != null) && ((name.equals(s.getName())) || (services.size() == 1))) { 75 return s; 76 } 77 } 78 } 79 } 80 return null; 81 } 82 83 86 private void doInitialize() { 87 initAccessibility(); 88 89 ToolBarDesignEditor tb = new ToolBarDesignEditor(); 90 panelFactory = new ClientPanelFactory(tb, clientWsdlModel, node, serviceModel, jaxWsModel); 91 92 org.netbeans.modules.xml.wsdl.model.Service s = getService(client.getName(), clientWsdlModel); if (s != null) { 94 Project p = FileOwnerQuery.getOwner(jaxWsModel.getJaxWsFile()); 95 ClientView mview = new ClientView(panelFactory, clientWsdlModel, serviceModel, s, p, node); 96 tb.setContentView(mview); 97 add(tb); 98 } 99 setFocusable(true); 100 } 101 102 @Override 103 public int getPersistenceType() { 104 return TopComponent.PERSISTENCE_ALWAYS; 105 } 106 107 private void initAccessibility(){ 108 getAccessibleContext().setAccessibleDescription(NbBundle.getMessage(ClientTopComponent.class, "ACS_Tab_DESC")); } 110 111 114 @Override 115 public void addNotify() { 116 if (!initialized) { 117 initialized = true; 118 doInitialize(); 119 } 120 super.addNotify(); 121 } 122 123 135 @Override 136 protected void componentShowing() { 137 if (!initialized) { 138 initialized = true; 139 doInitialize(); 140 } 141 super.componentShowing(); 142 } 143 144 } 145 146 | Popular Tags |