private void removeUnusedEndpoints() { if (config == null) { return; } Set<String> endpoints = new HashSet<String>(); for (Interface iface : project.getInterfaceList()) { endpoints.addAll(Arrays.asList(iface.getEndpoints())); } StringList keys = new StringList(); synchronized (defaults) { for (String key : defaults.keySet()) { if (!endpoints.contains(key)) { keys.add(key); } } for (String key : keys) { EndpointDefaults def = defaults.remove(key); config.getEndpointList().remove(def); } } }
@Override public void interfaceAdded(Interface iface) { for (String endpoint : iface.getEndpoints()) { // ensure we have defaults getEndpointDefaults(endpoint); } iface.addPropertyChangeListener(AbstractInterface.ENDPOINT_PROPERTY, propertyChangeListener); }
public void importEndpoints(Interface iface) { EndpointStrategy ep = iface.getProject().getEndpointStrategy(); if (ep instanceof DefaultEndpointStrategy) { DefaultEndpointStrategy dep = (DefaultEndpointStrategy) ep; String[] endpoints = iface.getEndpoints(); for (String endpoint : endpoints) { getEndpointDefaults(endpoint) .getConfig() .set(dep.getEndpointDefaults(endpoint).getConfig()); } } }
public void init(Project project) { this.project = (WsdlProject) project; initConfig(); project.addProjectListener(projectListener); for (Interface iface : project.getInterfaceList()) { for (String endpoint : iface.getEndpoints()) { // ensure we have defaults getEndpointDefaults(endpoint); } iface.addPropertyChangeListener(AbstractInterface.ENDPOINT_PROPERTY, propertyChangeListener); } removeUnusedEndpoints(); }