private void filterClasses(Collection<TypeElement> classes, Collection<? extends Element> elements) { for (Element element : elements) { if (element.getKind().equals(ElementKind.CLASS)) { classes.add((TypeElement) element); filterClasses(classes, ElementFilter.typesIn(element.getEnclosedElements())); } } }
@Override public synchronized void init(ProcessingEnvironment processingEnv) { super.init(processingEnv); exceptionElement = processingEnv.getElementUtils().getTypeElement(Exception.class.getName()).asType(); runtimeExceptionElement = processingEnv.getElementUtils().getTypeElement(RuntimeException.class.getName()).asType(); defHolderElement = processingEnv.getElementUtils().getTypeElement(Holder.class.getName()); if (options == null) { options = new WsgenOptions(); out = new PrintStream(new ByteArrayOutputStream()); doNotOverWrite = getOption(DO_NOT_OVERWRITE); ignoreNoWebServiceFoundWarning = getOption(IGNORE_NO_WEB_SERVICE_FOUND_WARNING); options.verbose = getOption(VERBOSE); isCommandLineInvocation = true; } options.filer = processingEnv.getFiler(); }
@Override public void processWarning(String message) { if (isCommandLineInvocation) { processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING, message); } else { report(message); } }
boolean processedEndpoint = false; Collection<TypeElement> classes = new ArrayList<TypeElement>(); filterClasses(classes, roundEnv.getRootElements()); for (TypeElement element : classes) { webServiceProvider = element.getAnnotation(WebServiceProvider.class); if (webServiceProvider != null) { if (webService != null) { processError(WebserviceapMessages.WEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(element.getQualifiedName())); if (isCommandLineInvocation) { if (!ignoreNoWebServiceFoundWarning) { processWarning(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND()); processError(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND());
/** * Tests -s is used by annotation processor code generation. */ public void testOutputDirectory() { final WebServiceAp ap = new WebServiceAp(); final boolean result = runCompiler(options, ap); Assert.assertTrue(result); File generatedSourceDirFiles = new File(destDir, "com/sun/tools/ws/processor/modeler/annotation/jaxws"); final File[] contents = generatedSourceDirFiles.listFiles(); Assert.assertTrue(4 == contents.length); final List<String> expectedSourceNames = Arrays.asList("SayHello.java", "SayHello.class", "SayHelloResponse.java", "SayHelloResponse.class"); for (File generated : contents) { Assert.assertTrue(expectedSourceNames.contains(generated.getName())); } }
/** * Test if -Averbose=true is propagated from javac to processor. */ public void testVerboseArg() { options.add("-Averbose=true"); final WebServiceAp ap = new WebServiceAp(); final boolean result = runCompiler(options, ap); Assert.assertTrue(ap.getOptions().verbose); Assert.assertTrue(result); }
boolean processedEndpoint = false; Collection<TypeElement> classes = new ArrayList<TypeElement>(); filterClasses(classes, roundEnv.getRootElements()); for (TypeElement element : classes) { webServiceProvider = element.getAnnotation(WebServiceProvider.class); if (webServiceProvider != null) { if (webService != null) { processError(WebserviceapMessages.WEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(element.getQualifiedName())); if (isCommandLineInvocation) { if (!ignoreNoWebServiceFoundWarning) { processWarning(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND()); processError(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND());
private JavaCompiler.CompilationTask getCompilationTask(final String compilationUnit, List<String> javacOptions, WsgenOptions wsgenOptions, DiagnosticCollector<JavaFileObject> diagnostics) { Iterable<? extends JavaFileObject> compilationUnits = new HashSet<JavaFileObject>() { { add(new JavaSourceFromString(compilationUnit)); } }; JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); JavaCompiler.CompilationTask task = compiler.getTask( null, null, diagnostics, javacOptions, null, compilationUnits); WebServiceAp wsap = new WebServiceAp(wsgenOptions, System.out); task.setProcessors(Collections.singleton(wsap)); return task; }
boolean processedEndpoint = false; Collection<TypeElement> classes = new ArrayList<TypeElement>(); filterClasses(classes, roundEnv.getRootElements()); for (TypeElement element : classes) { webServiceProvider = element.getAnnotation(WebServiceProvider.class); if (webServiceProvider != null) { if (webService != null) { processError(WebserviceapMessages.WEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(element.getQualifiedName())); if (isCommandLineInvocation) { if (!ignoreNoWebServiceFoundWarning) { processWarning(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND()); processError(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND());
Collections.singleton(endpoint.replaceAll("\\$", ".")), null); task.setProcessors(Collections.singleton(new WebServiceAp(options, out))); boolean result = task.call();
private void filterClasses(Collection<TypeElement> classes, Collection<? extends Element> elements) { for (Element element : elements) { if (element.getKind().equals(ElementKind.CLASS)) { classes.add((TypeElement) element); filterClasses(classes, ElementFilter.typesIn(element.getEnclosedElements())); } } }
@Override public void processWarning(String message) { if (isCommandLineInvocation) { processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING, message); } else { report(message); } }
@Override public synchronized void init(ProcessingEnvironment processingEnv) { super.init(processingEnv); exceptionElement = processingEnv.getElementUtils().getTypeElement(Exception.class.getName()).asType(); runtimeExceptionElement = processingEnv.getElementUtils().getTypeElement(RuntimeException.class.getName()).asType(); defHolderElement = processingEnv.getElementUtils().getTypeElement(Holder.class.getName()); if (options == null) { options = new WsgenOptions(); out = new PrintStream(new ByteArrayOutputStream()); doNotOverWrite = getOption(DO_NOT_OVERWRITE); ignoreNoWebServiceFoundWarning = getOption(IGNORE_NO_WEB_SERVICE_FOUND_WARNING); options.verbose = getOption(VERBOSE); isCommandLineInvocation = true; } options.filer = processingEnv.getFiler(); }
boolean processedEndpoint = false; Collection<TypeElement> classes = new ArrayList<TypeElement>(); filterClasses(classes, roundEnv.getRootElements()); for (TypeElement element : classes) { webServiceProvider = element.getAnnotation(WebServiceProvider.class); if (webServiceProvider != null) { if (webService != null) { processError(WebserviceapMessages.WEBSERVICEAP_WEBSERVICE_AND_WEBSERVICEPROVIDER(element.getQualifiedName())); if (isCommandLineInvocation) { if (!ignoreNoWebServiceFoundWarning) { processWarning(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND()); processError(WebserviceapMessages.WEBSERVICEAP_NO_WEBSERVICE_ENDPOINT_FOUND());
Collections.singleton(endpoint.replaceAll("\\$", ".")), null); task.setProcessors(Collections.singleton(new WebServiceAp(options, out))); boolean result = task.call();
private void filterClasses(Collection<TypeElement> classes, Collection<? extends Element> elements) { for (Element element : elements) { if (element.getKind().equals(ElementKind.CLASS)) { classes.add((TypeElement) element); filterClasses(classes, ElementFilter.typesIn(element.getEnclosedElements())); } } }
@Override public void processWarning(String message) { if (isCommandLineInvocation) { processingEnv.getMessager().printMessage(Diagnostic.Kind.WARNING, message); } else { report(message); } }
@Override public synchronized void init(ProcessingEnvironment processingEnv) { super.init(processingEnv); exceptionElement = processingEnv.getElementUtils().getTypeElement(Exception.class.getName()).asType(); runtimeExceptionElement = processingEnv.getElementUtils().getTypeElement(RuntimeException.class.getName()).asType(); defHolderElement = processingEnv.getElementUtils().getTypeElement(Holder.class.getName()); if (options == null) { options = new WsgenOptions(); out = new PrintStream(new ByteArrayOutputStream()); doNotOverWrite = getOption(DO_NOT_OVERWRITE); ignoreNoWebServiceFoundWarning = getOption(IGNORE_NO_WEB_SERVICE_FOUND_WARNING); options.verbose = getOption(VERBOSE); isCommandLineInvocation = true; } options.filer = processingEnv.getFiler(); }
Collections.singleton(endpoint.replaceAll("\\$", ".")), null); task.setProcessors(Collections.singleton(new WebServiceAp(options, out))); boolean result = task.call();
private void filterClasses(Collection<TypeElement> classes, Collection<? extends Element> elements) { for (Element element : elements) { if (element.getKind().equals(ElementKind.CLASS)) { classes.add((TypeElement) element); filterClasses(classes, ElementFilter.typesIn(element.getEnclosedElements())); } } }