/** * Sets up the builder on a bus with a list of services. * @param b the bus. * @param services the services. */ public ServiceWSDLBuilder(Bus b, List<ServiceInfo> services) { this.services = services; bus = b; ns2prefix = new HashMap<>(); nsMan = new NSManager(); }
NSManager() { resolveConstants(JAXWSAConstants.class); resolveConstants(WSDLConstants.class); }
private String getPrefix(String ns) { for (String namespace : nsMan.getNamespaces()) { if (namespace.equals(ns)) { return nsMan.getPrefixFromNS(namespace); } } String prefix = ns2prefix.get(ns); if (prefix == null) { prefix = getNewPrefix(); ns2prefix.put(ns, prefix); } return prefix; }
private void resolveConstants(final Class<?> clz) { for (Field field : clz.getFields()) { if (field.getName().endsWith("_PREFIX") && isPulicStaticFinal(field)) { try { String prefix = (String) field.get(clz); Field nsField = clz.getField("NS_" + prefix.toUpperCase()); if (nsField != null) { cache.put((String)nsField.get(clz), prefix); } } catch (Exception e) { // ignore } } } }