/** * Registers metrics for all field and method producers defined by the application. * * @param adv After deployment validation event. * @param bm Bean manager. */ private void registerProducers(@Observes AfterDeploymentValidation adv, BeanManager bm) { LOGGER.log(Level.FINE, () -> "### registerProducers"); MetricRegistry registry = getMetricRegistry(); producers.entrySet().forEach(entry -> { Metric metric = entry.getValue().getAnnotation(Metric.class); if (metric != null) { String metricName = getMetricName(new AnnotatedElementWrapper(entry.getValue()), entry.getValue().getDeclaringType().getJavaClass(), MetricUtil.MatchingType.METHOD, metric.name(), metric.absolute()); registry.register(metricName, getReference(bm, entry.getValue().getBaseType(), entry.getKey())); } }); producers.clear(); }
@Override public Type getBaseType() { return delegate.getBaseType(); }
private <X> boolean validateGenericProducer(Annotation genericConfiguration, Bean<?> bean, AnnotatedMember<X> member) { Class<?> configType = genericConfiguration.annotationType().getAnnotation(GenericType.class).value(); boolean valid = false; for (Type type : bean.getTypes()) { if (type instanceof Class<?>) { Class<?> clazz = (Class<?>) type; if (configType.isAssignableFrom(clazz)) { valid = true; break; } } } if (!valid) { AnnotatedType<X> declaringType = member.getDeclaringType(); errors.add("Generic producer method is not of correct type. Producer: " + declaringType.getJavaClass().getName() + "." + member.getJavaMember().getName() + ". Expected producer to be of type " + configType + " but was actually " + member.getBaseType()); } return valid; }
protected Type getResourceInjectionPointType(AnnotatedMember<?> member) { if (member instanceof AnnotatedField<?>) { return member.getBaseType(); } if (member instanceof AnnotatedMethod<?>) { AnnotatedMethod<?> method = (AnnotatedMethod<?>) member; if (method.getParameters().size() != 1) { throw UtilLogger.LOG.resourceSetterInjectionNotAJavabean(method); } return method.getParameters().get(0).getBaseType(); } throw new IllegalArgumentException("Unknown member " + member); }
protected Type getResourceInjectionPointType(AnnotatedMember<?> member) { if (member instanceof AnnotatedField<?>) { return member.getBaseType(); } if (member instanceof AnnotatedMethod<?>) { AnnotatedMethod<?> method = (AnnotatedMethod<?>) member; if (method.getParameters().size() != 1) { throw UtilLogger.LOG.resourceSetterInjectionNotAJavabean(method); } return method.getParameters().get(0).getBaseType(); } throw new IllegalArgumentException("Unknown member " + member); }
protected Type getResourceInjectionPointType(AnnotatedMember<?> member) { if (member instanceof AnnotatedField<?>) { return member.getBaseType(); } if (member instanceof AnnotatedMethod<?>) { AnnotatedMethod<?> method = (AnnotatedMethod<?>) member; if (method.getParameters().size() != 1) { throw UtilLogger.LOG.resourceSetterInjectionNotAJavabean(method); } return method.getParameters().get(0).getBaseType(); } throw new IllegalArgumentException("Unknown member " + member); }
protected Type getResourceInjectionPointType(AnnotatedMember<?> member) { if (member instanceof AnnotatedField<?>) { return member.getBaseType(); } if (member instanceof AnnotatedMethod<?>) { AnnotatedMethod<?> method = (AnnotatedMethod<?>) member; if (method.getParameters().size() != 1) { throw UtilLogger.LOG.resourceSetterInjectionNotAJavabean(method); } return method.getParameters().get(0).getBaseType(); } throw new IllegalArgumentException("Unknown member " + member); }
protected Type getResourceInjectionPointType(AnnotatedMember<?> member) { if (member instanceof AnnotatedField<?>) { return member.getBaseType(); } if (member instanceof AnnotatedMethod<?>) { AnnotatedMethod<?> method = (AnnotatedMethod<?>) member; if (method.getParameters().size() != 1) { throw UtilLogger.LOG.resourceSetterInjectionNotAJavabean(method); } return method.getParameters().get(0).getBaseType(); } throw new IllegalArgumentException("Unknown member " + member); }
protected Type getResourceInjectionPointType(AnnotatedMember<?> member) { if (member instanceof AnnotatedField<?>) { return member.getBaseType(); } if (member instanceof AnnotatedMethod<?>) { AnnotatedMethod<?> method = (AnnotatedMethod<?>) member; if (method.getParameters().size() != 1) { throw UtilLogger.LOG.resourceSetterInjectionNotAJavabean(method); } return method.getParameters().get(0).getBaseType(); } throw new IllegalArgumentException("Unknown member " + member); }
@Override public Class<?> getProducerOrObserverType() { checkState(); return ClassUtil.getClazz(getAnnotatedMember().getBaseType()); }
private void configuration(@Observes AfterDeploymentValidation adv, BeanManager manager) { // Fire configuration event manager.fireEvent(configuration); configuration.unmodifiable(); // Produce and register custom metrics MetricRegistry registry = getReference(manager, MetricRegistry.class); MetricName metricName = getReference(manager, MetricName.class); for (Map.Entry<Bean<?>, AnnotatedMember<?>> bean : metrics.entrySet()) { // TODO: add MetricSet metrics into the metric registry if (bean.getKey().getTypes().contains(MetricSet.class) // skip non @Default beans || !bean.getKey().getQualifiers().contains(DEFAULT) // skip producer methods with injection point || hasInjectionPoints(bean.getValue())) continue; registry.register(metricName.of(bean.getValue()), (Metric) getReference(manager, bean.getValue().getBaseType(), bean.getKey())); } // Let's clear the collected metric producers metrics.clear(); } }
private void configuration(@Observes AfterDeploymentValidation adv, BeanManager manager) { // Fire configuration event manager.fireEvent(configuration); configuration.unmodifiable(); // Produce and register custom metrics MetricRegistry registry = getReference(manager, MetricRegistry.class); MetricName metricName = getReference(manager, MetricName.class); for (Map.Entry<Bean<?>, AnnotatedMember<?>> bean : metrics.entrySet()) { // TODO: add MetricSet metrics into the metric registry if (bean.getKey().getTypes().contains(MetricSet.class) // skip non @Default beans || !bean.getKey().getQualifiers().contains(DEFAULT) // skip producer methods with injection point || hasInjectionPoints(bean.getValue())) continue; registry.register(metricName.of(bean.getValue()), (Metric) getReference(manager, bean.getValue().getBaseType(), bean.getKey())); } // Let's clear the collected metric producers metrics.clear(); } }
/** * Registers metrics for all field and method producers defined by the application. * * @param adv After deployment validation event. * @param bm Bean manager. */ private void registerProducers(@Observes AfterDeploymentValidation adv, BeanManager bm) { LOGGER.log(Level.FINE, () -> "### registerProducers"); MetricRegistry registry = getMetricRegistry(); producers.entrySet().forEach(entry -> { Metric metric = entry.getValue().getAnnotation(Metric.class); if (metric != null) { String metricName = getMetricName(new AnnotatedElementWrapper(entry.getValue()), entry.getValue().getDeclaringType().getJavaClass(), MetricUtil.MatchingType.METHOD, metric.name(), metric.absolute()); registry.register(metricName, getReference(bm, entry.getValue().getBaseType(), entry.getKey())); } }); producers.clear(); }
private ProcessProducerImpl(BeanManagerImpl beanManager, AnnotatedMember<T> annotatedMember, AbstractProducerBean<T, X, ?> bean) { super(beanManager, ProcessProducer.class, new Type[] { bean.getAnnotated().getDeclaringType().getBaseType(), bean.getAnnotated().getBaseType() }); this.bean = bean; this.annotatedMember = annotatedMember; }
private ProcessProducerImpl(BeanManagerImpl beanManager, AnnotatedMember<T> annotatedMember, AbstractProducerBean<T, X, ?> bean) { super(beanManager, ProcessProducer.class, new Type[] { bean.getAnnotated().getDeclaringType().getBaseType(), bean.getAnnotated().getBaseType() }); this.bean = bean; this.annotatedMember = annotatedMember; }
private ProcessProducerImpl(BeanManagerImpl beanManager, AnnotatedMember<T> annotatedMember, AbstractProducerBean<T, X, ?> bean) { super(beanManager, ProcessProducer.class, new Type[] { bean.getAnnotated().getDeclaringType().getBaseType(), bean.getAnnotated().getBaseType() }); this.bean = bean; this.annotatedMember = annotatedMember; }
private ProcessProducerImpl(BeanManagerImpl beanManager, AnnotatedMember<T> annotatedMember, AbstractProducerBean<T, X, ?> bean) { super(beanManager, ProcessProducer.class, new Type[] { bean.getAnnotated().getDeclaringType().getBaseType(), bean.getAnnotated().getBaseType() }); this.bean = bean; this.annotatedMember = annotatedMember; }
private ProcessProducerImpl(BeanManagerImpl beanManager, AnnotatedMember<T> annotatedMember, AbstractProducerBean<T, X, ?> bean) { super(beanManager, ProcessProducer.class, new Type[] { bean.getAnnotated().getDeclaringType().getBaseType(), bean.getAnnotated().getBaseType() }); this.bean = bean; this.annotatedMember = annotatedMember; }
private ProcessProducerImpl(BeanManagerImpl beanManager, AnnotatedMember<T> annotatedMember, AbstractProducerBean<T, X, ?> bean) { super(beanManager, ProcessProducer.class, new Type[] { bean.getAnnotated().getDeclaringType().getBaseType(), bean.getAnnotated().getBaseType() }); this.bean = bean; this.annotatedMember = annotatedMember; }
private void registerMetrics(@Observes AfterDeploymentValidation adv, BeanManager manager) { for (ProducerMemberRegistration registration : producerMembers) { if (registration.getBean().getQualifiers().contains(DEFAULT) && !hasInjectionPoints(registration.getMember())) { applicationRegistry.register(registration.getMetadata(), getReference(manager, registration.getMember().getBaseType(), registration.getBean())); } } }