private static WSDLDefinition findDefinition(WSDLDefinition wsdlDef, QName name, Class type) { if (wsdlDef == null || name == null) { return wsdlDef; } if (wsdlDef.getURI() != null) { // not a facade Definition def = wsdlDef.getDefinition(); Map types = type == PortType.class ? def.getPortTypes() : def.getBindings(); if (types.get(name) != null) { return wsdlDef; } } for (WSDLDefinition impDef : wsdlDef.getImportedDefinitions()) { WSDLDefinition d = findDefinition(impDef, name, type); if (d != null) { return d; } } return null; }
private static WSDLDefinition findDefinition(WSDLDefinition wsdlDef, QName name, Class type) { if (wsdlDef == null || name == null) { return wsdlDef; } if (wsdlDef.getURI() != null) { // not a facade Definition def = wsdlDef.getDefinition(); Map types = type == PortType.class ? def.getPortTypes() : def.getBindings(); if (types.get(name) != null) { return wsdlDef; } } for (WSDLDefinition impDef : wsdlDef.getImportedDefinitions()) { WSDLDefinition d = findDefinition(impDef, name, type); if (d != null) { return d; } } return null; }
private static boolean addImport(QName name, Class type, WSDLDefinition wsdlDef, Definition newDef, List<WSDLDefinition> imports) { String namespace = name.getNamespaceURI(); if (newDef.getImports(namespace) == null) { WSDLDefinition impDef = findDefinition(wsdlDef, name, type); if (impDef != null) { Import imp = newDef.createImport(); imp.setNamespaceURI(namespace); imp.setLocationURI(impDef.getURI().toString()); imp.setDefinition(impDef.getDefinition()); newDef.addNamespace("ns" + imports.size(), namespace); newDef.addImport(imp); imports.add(impDef); return true; } else { // import was not added because element not found return false; } } return true; }
private static boolean addImport(QName name, Class type, WSDLDefinition wsdlDef, Definition newDef, List<WSDLDefinition> imports) { String namespace = name.getNamespaceURI(); if (newDef.getImports(namespace) == null) { WSDLDefinition impDef = findDefinition(wsdlDef, name, type); if (impDef != null) { Import imp = newDef.createImport(); imp.setNamespaceURI(namespace); imp.setLocationURI(impDef.getURI().toString()); imp.setDefinition(impDef.getDefinition()); newDef.addNamespace("ns" + imports.size(), namespace); newDef.addImport(imp); imports.add(impDef); return true; } else { // import was not added because element not found return false; } } return true; }