Refine search
public ToolContext getContext() { if (context == null) { context = new ToolContext(); } return context; }
private void enforceWSDLLocation(ToolContext context) { String wsdlURL = (String)context.get(ToolConstants.CFG_WSDLURL); @SuppressWarnings("unchecked") List<ServiceInfo> serviceList = (List<ServiceInfo>)context.get(ToolConstants.SERVICE_LIST); int slashIndex = wsdlURL.lastIndexOf("/"); int dotIndex = wsdlURL.indexOf(".", slashIndex); String wsdlLocation = null; if (slashIndex > -1 && dotIndex > -1) { wsdlLocation = wsdlURL.substring(slashIndex + 1, dotIndex) + ".wsdl"; } if (wsdlLocation == null) { wsdlLocation = serviceList.get(0).getName().getLocalPart() + ".wsdl"; } context.put(ToolConstants.CFG_WSDLLOCATION, wsdlLocation); }
public QName getQName(String key, String defaultNamespace) { if (optionSet(key)) { String pns = (String)get(key); int pos = pns.indexOf("="); String localname = pns; if (pos != -1) { String ns = pns.substring(0, pos); localname = pns.substring(pos + 1); return new QName(ns, localname); } return new QName(defaultNamespace, localname); } return null; }
private void setEnvParamDefValues(ToolContext env) { if (!env.optionSet(ToolConstants.CFG_BINDING)) { env.put(ToolConstants.CFG_BINDING, env.get(ToolConstants.CFG_PORTTYPE) + BINDING_NAME_POSTFIX); } if (!env.optionSet(ToolConstants.CFG_STYLE)) { env.put(ToolConstants.CFG_STYLE, STYLE_DEF_VALUE); } if (!env.optionSet(ToolConstants.CFG_USE)) { env.put(ToolConstants.CFG_USE, USE_DEF_VALUE); } }
private void customize(ServiceInfo service) { if (context.containsKey(ToolConstants.CFG_TNS)) { String ns = (String)context.get(ToolConstants.CFG_TNS); service.setTargetNamespace(ns); } if (context.containsKey(ToolConstants.CFG_PORT)) { String portName = (String)context.get(ToolConstants.CFG_PORT); EndpointInfo einfo = service.getEndpoints().iterator().next(); QName qn = new QName(einfo.getName().getNamespaceURI(), portName); einfo.setName(qn); } if (context.containsKey(ToolConstants.CFG_SERVICENAME)) { String svName = getServiceName(); service.setName(new QName(service.getName().getNamespaceURI(), svName)); } EndpointInfo endpointInfo = service.getEndpoints().iterator().next(); String address = ToolConstants.DEFAULT_ADDRESS + "/" + endpointInfo.getName().getLocalPart(); if (context.get(ToolConstants.CFG_ADDRESS) != null) { address = (String)context.get(ToolConstants.CFG_ADDRESS); } endpointInfo.setAddress(address); context.put(ToolConstants.CFG_ADDRESS, address); }
private boolean isPortTypeExisted() { portTypes = CastUtils.cast(wsdlDefinition.getPortTypes()); if (portTypes == null) { return false; } for (Map.Entry<QName, PortType> entry : portTypes.entrySet()) { String existPortName = entry.getKey().getLocalPart(); if (existPortName.equals(env.get(ToolConstants.CFG_PORTTYPE))) { portType = entry.getValue(); break; } } return (portType == null) ? false : true; }
public JavaInterface map(InterfaceInfo interfaceInfo) { JavaInterface intf = new JavaInterface(); String namespace = interfaceInfo.getName().getNamespaceURI(); String packageName = ProcessorUtil.parsePackageName(namespace, context.mapPackageName(namespace)); String loc = (String)context.get(ToolConstants.CFG_WSDLLOCATION); if (loc == null) { loc = (String)context.get(ToolConstants.CFG_WSDLURL); } String webServiceName = interfaceInfo.getName().getLocalPart(); intf.setWebServiceName(webServiceName); intf.setName(NameUtil.mangleNameToClassName(webServiceName)); intf.setNamespace(namespace); intf.setPackageName(packageName); intf.setLocation(loc); return intf; } }
private void doAppendBinding() throws ToolException { if (binding == null) { binding = wsdlDefinition.createBinding(); binding.setQName(new QName(wsdlDefinition.getTargetNamespace(), (String)env .get(ToolConstants.CFG_BINDING))); binding.setUndefined(false); binding.setPortType(portType); } setXMLBindingExtElement(); addBindingOperation(); wsdlDefinition.addBinding(binding); }
private void validate(ToolContext env) throws ToolException { String outdir = (String)env.get(ToolConstants.CFG_OUTPUTDIR); if (outdir != null) { File dir = new File(outdir); if (!dir.exists() && !dir.mkdirs()) { Message msg = new Message("DIRECTORY_COULD_NOT_BE_CREATED", LOG, outdir); throw new ToolException(msg); } if (!dir.isDirectory()) { Message msg = new Message("NOT_A_DIRECTORY", LOG, outdir); throw new ToolException(msg); } } }
private boolean isPortExisted() { ports = CastUtils.cast(service.getPorts()); if (ports == null) { return false; } for (Map.Entry<String, Port> entry : ports.entrySet()) { if (entry.getKey().equals(env.get(ToolConstants.CFG_PORT))) { port = entry.getValue(); break; } } return (port == null) ? false : true; }
private String resolveByCatalog(String url) { if (StringUtils.isEmpty(url)) { return null; } Bus bus = env.get(Bus.class); OASISCatalogManager catalogResolver = OASISCatalogManager.getCatalogManager(bus); try { return new OASISCatalogManagerHelper().resolve(catalogResolver, url, null); } catch (Exception e1) { Message msg = new Message("FAILED_RESOLVE_CATALOG", LOG, url); throw new ToolException(msg, e1); } }
private JavaModel wsdlDefinitionToJavaModel(ServiceInfo serviceInfo) throws ToolException { JavaModel javaModel = null; Map<QName, JavaModel> map = CastUtils.cast((Map<?, ?>)context.get(MODEL_MAP)); if (map == null) { map = new LinkedHashMap<>(); context.put(MODEL_MAP, map); } if (map.containsKey(serviceInfo.getName())) { javaModel = map.get(serviceInfo.getName()); } else { javaModel = new JavaModel(); map.put(serviceInfo.getName(), javaModel); } context.put(JavaModel.class, javaModel); List<JavaInterface> interfaces = new ArrayList<>(); interfaces.addAll(javaModel.getInterfaces().values()); PortTypeProcessor portTypeProcessor = new PortTypeProcessor(context); portTypeProcessor.process(serviceInfo); ServiceProcessor serviceProcessor = new ServiceProcessor(context); serviceProcessor.process(serviceInfo); for (JavaInterface intf : javaModel.getInterfaces().values()) { if (!interfaces.contains(intf)) { intf.annotate(new WebServiceAnnotator()); intf.annotate(new XmlSeeAlsoAnnotator(context.get(ClassCollector.class))); intf.annotate(new BindingAnnotator()); } } return javaModel; }
private String getImplName(String port, String service, JavaInterface intf, ToolContext penv) { Map<String, String> nm = CastUtils.cast((Map<?, ?>)penv.get(ToolConstants.CFG_IMPL_CLASS)); if (nm == null) { nm = new HashMap<>(); penv.put(ToolConstants.CFG_IMPL_CLASS, nm); } String name = nm.get(service + "/" + port); if (name == null) { name = NameUtil.mangleNameToClassName(port + "Impl", true); name = mapClassName(intf.getPackageName(), name, penv); nm.put(service + "/" + port, name); } return name; } private String mapClassName(String packageName, String name, ToolContext context) {
public void customize() { if (!context.containsKey(ToolConstants.CFG_BINDING)) { return; } WSDLManager mgr = bus.getExtension(WSDLManager.class); mgr.removeDefinition(wsdlDefinition); cusParser = new CustomizationParser(); cusParser.parse(context); jaxbBindings = cusParser.getJaxbBindings(); handlerChain = cusParser.getHandlerChains(); context.setJaxbBindingFiles(jaxbBindings); context.put(ToolConstants.HANDLER_CHAIN, handlerChain); try { this.wsdlDefinition = buildCustomizedDefinition(); } catch (Exception e) { Message msg = new Message("FAIL_TO_CREATE_WSDL_DEFINITION", LOG, (String)context.get(ToolConstants.CFG_WSDLURL)); throw new RuntimeException(msg.toString(), e); } }
public void checkJaxwsClass() { Class<?> clz = context.get(Class.class); WebService webServiceAnno = clz.getAnnotation(WebService.class); if (webServiceAnno == null) { Message msg = new Message("CLASS_DOESNOT_CARRY_WEBSERVICE_ANNO", LOG, clz.getName()); LOG.log(Level.WARNING, msg.toString()); throw new ToolException(msg); } if (isImplRmiRemote(clz)) { Message msg = new Message("PARA_OR_RETURN_IMPL_REMOTE", LOG, clz.getName()); LOG.log(Level.WARNING, msg.toString()); throw new ToolException(msg); } }
private void addedEnumClassToCollector(SchemaCollection schemaCollection, ClassNameAllocatorImpl allocator) { //for (Element schemaElement : schemaList.values()) { for (XmlSchema schema : schemaCollection.getXmlSchemas()) { String targetNamespace = schema.getTargetNamespace(); if (StringUtils.isEmpty(targetNamespace)) { continue; } String packageName = context.mapPackageName(targetNamespace); if (!addedToClassCollector(packageName)) { allocator.assignClassName(packageName, "*"); } } }
public void validate(ToolContext env) throws ToolException { env.put("service.target", getServiceTarget()); env.put("service.superclass", getServiceSuperclass()); super.validate(env); if (env.containsKey(ToolConstants.CFG_BINDING)) { String[] bindings = (String[])env.get(ToolConstants.CFG_BINDING); URIResolver resolver = null; for (int i = 0; i < bindings.length; i++) { try { resolver = new URIResolver(bindings[i]); } catch (IOException ioe) { throw new ToolException(ioe); } if (!resolver.isResolved()) { Message msg = new Message("FILE_NOT_EXIST", LOG, bindings[i]); throw new ToolException(msg); } } env.put(ToolConstants.CFG_BINDING, bindings); } cleanArrays(env, ToolConstants.CFG_ASYNCMETHODS); cleanArrays(env, ToolConstants.CFG_BAREMETHODS); cleanArrays(env, ToolConstants.CFG_MIMEMETHODS); }