@Override public final AmbiguousResolutionException ambiguousBeansForDependency(final Object param1) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(ambiguousBeansForDependency$str(), param1)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String nullBeanManagerId = "WELD-001319: Bean manager ID must not be null";
@Override public final AmbiguousResolutionException ambiguousBeansForDependency(final Object param1) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(ambiguousBeansForDependency$str(), param1)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String nullBeanManagerId = "WELD-001319: Bean manager ID must not be null";
@Override public final AmbiguousResolutionException injectionPointHasAmbiguousDependencies(final Object param1, final Object param2, final Object param3) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(injectionPointHasAmbiguousDependencies$str(), param1, param2, param3)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String unableToConfigureInjectionTargetFactory = "WELD-001336: InjectionTargetFactory.configure() may not be called after createInjectionTarget() invocation. AnnotatedType used: {0}";
@Override public final AmbiguousResolutionException injectionPointHasAmbiguousDependencies(final Object param1, final Object param2, final Object param3) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(injectionPointHasAmbiguousDependencies$str(), param1, param2, param3)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String unableToConfigureInjectionTargetFactory = "WELD-001336: InjectionTargetFactory.configure() may not be called after createInjectionTarget() invocation. AnnotatedType used: {0}";
@Override public final AmbiguousResolutionException ambiguousBeansForDependency(final Object param1) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(ambiguousBeansForDependency$str(), param1)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String nullBeanManagerId = "WELD-001319: Bean manager ID must not be null";
@Override public final AmbiguousResolutionException injectionPointHasAmbiguousDependencies(final Object param1, final Object param2, final Object param3) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(injectionPointHasAmbiguousDependencies$str(), param1, param2, param3)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String unableToConfigureInjectionTargetFactory = "WELD-001336: InjectionTargetFactory.configure() may not be called after createInjectionTarget() invocation. AnnotatedType used: {0}";
@Override public final AmbiguousResolutionException ambiguousBeansForDependency(final Object param1) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(ambiguousBeansForDependency$str(), param1)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String nullBeanManagerId = "WELD-001319: Bean manager ID must not be null";
@Override public final AmbiguousResolutionException injectionPointHasAmbiguousDependencies(final Object param1, final Object param2, final Object param3) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(injectionPointHasAmbiguousDependencies$str(), param1, param2, param3)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } @Override
@Override public final AmbiguousResolutionException ambiguousBeansForDependency(final Object param1) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(ambiguousBeansForDependency$str(), param1)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String nullBeanManagerId = "WELD-001319: Bean manager ID must not be null";
@Override public final AmbiguousResolutionException injectionPointHasAmbiguousDependencies(final Object param1, final Object param2, final Object param3) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(injectionPointHasAmbiguousDependencies$str(), param1, param2, param3)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String unableToConfigureInjectionTargetFactory = "WELD-001336: InjectionTargetFactory.configure() may not be called after createInjectionTarget() invocation. AnnotatedType used: {0}";
@Override public final AmbiguousResolutionException ambiguousBeansForDependency(final Object param1) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(ambiguousBeansForDependency$str(), param1)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String nullBeanManagerId = "WELD-001319: Bean manager ID must not be null";
@Override public final AmbiguousResolutionException injectionPointHasAmbiguousDependencies(final Object param1, final Object param2, final Object param3) { final AmbiguousResolutionException result = new AmbiguousResolutionException(java.text.MessageFormat.format(injectionPointHasAmbiguousDependencies$str(), param1, param2, param3)); final StackTraceElement[] st = result.getStackTrace(); result.setStackTrace(Arrays.copyOfRange(st, 1, st.length)); return result; } private static final String unableToConfigureInjectionTargetFactory = "WELD-001336: InjectionTargetFactory.configure() may not be called after createInjectionTarget() invocation. AnnotatedType used: {0}";
@Inject public AsyncReferenceImpl(InjectionPoint injectionPoint, Vertx vertx, BeanManager beanManager) { this.isDone = new AtomicBoolean(false); this.future = new VertxCompletableFuture<>(vertx); this.creationalContext = beanManager.createCreationalContext(null); ParameterizedType parameterizedType = (ParameterizedType) injectionPoint.getType(); Type requiredType = parameterizedType.getActualTypeArguments()[0]; // First check if there is a relevant async producer method available List<AsyncProducerMetadata> foundMetadata = beanManager.getExtension(VertxExtension.class).getAsyncProducerMetadata(requiredType, injectionPoint.getQualifiers()); if (foundMetadata.size() > 1) { failure(new AmbiguousResolutionException( "Ambiguous async producer methods for type " + requiredType + " with qualifiers " + injectionPoint.getQualifiers())); } else if (foundMetadata.size() == 1) { // Use the produced CompletionStage initWithCompletionStage(foundMetadata.get(0), beanManager); } else { // Use Vertx worker thread initWithWorker(injectionPoint, vertx, beanManager, requiredType); } }
@Inject public AsyncReferenceImpl(InjectionPoint injectionPoint, Vertx vertx, BeanManager beanManager, @Any WeldInstance<Object> instance) { this.isDone = new AtomicBoolean(false); this.future = new VertxCompletableFuture<>(vertx); this.instance = instance; ParameterizedType parameterizedType = (ParameterizedType) injectionPoint.getType(); Type requiredType = parameterizedType.getActualTypeArguments()[0]; Annotation[] qualifiers = injectionPoint.getQualifiers().toArray(new Annotation[] {}); // First check if there is a relevant async producer method available WeldInstance<Object> completionStage = instance.select(new ParameterizedTypeImpl(CompletionStage.class, requiredType), qualifiers); if (completionStage.isAmbiguous()) { failure(new AmbiguousResolutionException( "Ambiguous async producer methods for type " + requiredType + " with qualifiers " + injectionPoint.getQualifiers())); } else if (!completionStage.isUnsatisfied()) { // Use the produced CompletionStage initWithCompletionStage(completionStage.getHandler()); } else { // Use Vertx worker thread initWithWorker(requiredType, qualifiers, vertx, beanManager); } }