private JaxWsPoliciesSupport findPolicySupport(String serverInstanceId) { try { J2eePlatform j2eePlatform = Deployment.getDefault().getServerInstance(serverInstanceId).getJ2eePlatform(); return JaxWsPoliciesSupport.getInstance(j2eePlatform); } catch (InstanceRemovedException e) { Logger.getLogger(PolicyManager.class.getName()).log(Level.INFO, null, e); } return null; }
private void init() { J2eeModuleProvider moduleProvider = project.getLookup().lookup(J2eeModuleProvider.class); if (moduleProvider != null) { String id = moduleProvider.getServerInstanceID(); support = findPolicySupport(id); if (support != null && !hasServicePolicies(wsdl, Collections.singletonList(support.getLookup(wsdl)))) { support = null; } } else { String[] serverInstanceIds = Deployment.getDefault().getServerInstanceIDs(); Collection<JaxWsPoliciesSupport> supports = new ArrayList<JaxWsPoliciesSupport>(serverInstanceIds.length); List<Lookup> supportsLookup = new ArrayList<Lookup>(serverInstanceIds.length); for (String id : serverInstanceIds) { JaxWsPoliciesSupport foundSupport = findPolicySupport(id); if (foundSupport != null) { supports.add(foundSupport); supportsLookup.add(foundSupport.getLookup(wsdl)); } } if (supports.isEmpty()) { return; } if (hasServicePolicies(wsdl, supportsLookup)) { int i = 0; for (JaxWsPoliciesSupport sup : supports) { if (sup.supports(wsdl, supportsLookup.get(i))) { support = sup; return; } i++; } } } }