Skip to content

Commit

Permalink
Revert "Remove use of Type annotation in interceptors (#5274)"
Browse files Browse the repository at this point in the history
This reverts commit dbff75e.
  • Loading branch information
graemerocher committed Apr 20, 2021
1 parent bedb020 commit e5229cb
Show file tree
Hide file tree
Showing 22 changed files with 72 additions and 25 deletions.
2 changes: 1 addition & 1 deletion aop/src/main/java/io/micronaut/aop/Around.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
* }
* </code></pre>
*
* <p>Note that the annotation MUST be {@link java.lang.annotation.RetentionPolicy#RUNTIME} and if the specified {@link io.micronaut.context.annotation.Type} is present, it must implement {@link MethodInterceptor}</p>
* <p>Note that the annotation MUST be {@link java.lang.annotation.RetentionPolicy#RUNTIME} and the specified {@link io.micronaut.context.annotation.Type} must implement {@link MethodInterceptor}</p>
*
* @author Graeme Rocher
* @since 1.0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package io.micronaut.runtime.context.env;

import io.micronaut.aop.Introduction;
import io.micronaut.context.annotation.Type;
import io.micronaut.core.annotation.Internal;

import java.lang.annotation.Retention;
Expand All @@ -30,6 +31,7 @@
*/
@Retention(RetentionPolicy.RUNTIME)
@Introduction
@Type(ConfigurationIntroductionAdvice.class)
@Internal
public @interface ConfigurationAdvice {
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package io.micronaut.runtime.context.env;

import io.micronaut.aop.InterceptorBean;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.BeanContext;
Expand All @@ -41,7 +40,6 @@
* @since 1.3.0
*/
@Prototype
@InterceptorBean(ConfigurationAdvice.class)
@Internal
public class ConfigurationIntroductionAdvice implements MethodInterceptor<Object, Object> {
private static final String MEMBER_BEAN = "bean";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import io.micronaut.context.annotation.Bean;
import io.micronaut.context.annotation.Type;
import io.micronaut.runtime.context.scope.refresh.RefreshInterceptor;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand All @@ -33,6 +36,7 @@
@Documented
@Retention(RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@Type(RefreshInterceptor.class)
@Bean
public @interface Refreshable {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@
*/
package io.micronaut.runtime.context.scope.refresh;

import io.micronaut.aop.InterceptorBean;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.annotation.Requires;
import io.micronaut.context.env.Environment;
import io.micronaut.runtime.context.scope.Refreshable;

import javax.inject.Singleton;
import java.util.concurrent.locks.Lock;

/**
Expand All @@ -31,7 +29,7 @@
* @author Graeme Rocher
* @since 1.0
*/
@InterceptorBean(Refreshable.class)
@Singleton
@Requires(notEnv = {Environment.FUNCTION, Environment.ANDROID})
public class RefreshInterceptor implements MethodInterceptor {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@

import io.micronaut.aop.Around;
import io.micronaut.context.annotation.Executable;
import io.micronaut.context.annotation.Type;
import io.micronaut.scheduling.TaskExecutors;
import io.micronaut.scheduling.async.AsyncInterceptor;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
Expand All @@ -42,6 +44,7 @@
@Target({ElementType.METHOD, ElementType.ANNOTATION_TYPE})
@Executable
@Around
@Type(AsyncInterceptor.class)
public @interface Async {
/**
* The name of the executor service to execute the task on. Defaults to {@link TaskExecutors#SCHEDULED}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
*/
package io.micronaut.scheduling.async;

import io.micronaut.aop.*;
import io.micronaut.aop.InterceptPhase;
import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.BeanLocator;
import io.micronaut.context.BeanProvider;
import io.micronaut.core.annotation.Internal;
Expand All @@ -28,6 +31,7 @@
import org.slf4j.LoggerFactory;

import javax.inject.Named;
import javax.inject.Singleton;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
Expand All @@ -41,7 +45,7 @@
* @author graemerocher
* @since 1.0
*/
@InterceptorBean(Async.class)
@Singleton
@Internal
public class AsyncInterceptor implements MethodInterceptor<Object, Object> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import io.micronaut.aop.Introduction;
import io.micronaut.context.annotation.Type;
import io.micronaut.function.client.aop.FunctionClientAdvice;
import io.micronaut.retry.annotation.Recoverable;

import javax.inject.Singleton;
Expand All @@ -36,5 +38,6 @@
@Singleton
@Introduction
@Recoverable
@Type(FunctionClientAdvice.class)
public @interface FunctionClient {
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,14 @@
package io.micronaut.function.client.aop;

import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.InterceptorBean;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.core.naming.NameUtils;
import io.micronaut.core.type.Argument;
import io.micronaut.function.client.*;
import io.micronaut.function.client.FunctionDefinition;
import io.micronaut.function.client.FunctionDiscoveryClient;
import io.micronaut.function.client.FunctionInvoker;
import io.micronaut.function.client.FunctionInvokerChooser;
import io.micronaut.function.client.exceptions.FunctionNotFoundException;
import io.reactivex.Flowable;
import io.reactivex.Maybe;
Expand All @@ -37,7 +39,7 @@
* @author graemerocher
* @since 1.0
*/
@InterceptorBean(FunctionClient.class)
@Singleton
public class FunctionClientAdvice implements MethodInterceptor<Object, Object> {

private final FunctionDiscoveryClient discoveryClient;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,10 @@

import io.micronaut.aop.Introduction;
import io.micronaut.context.annotation.AliasFor;
import io.micronaut.context.annotation.Type;
import io.micronaut.http.HttpVersion;
import io.micronaut.http.client.HttpClientConfiguration;
import io.micronaut.http.client.interceptor.HttpClientIntroductionAdvice;
import io.micronaut.http.hateoas.JsonError;
import io.micronaut.retry.annotation.Recoverable;

Expand All @@ -37,6 +39,7 @@
@Documented
@Retention(RUNTIME)
@Introduction
@Type(HttpClientIntroductionAdvice.class)
@Recoverable
@Singleton
// tag::value[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package io.micronaut.http.client.interceptor;

import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.InterceptorBean;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.BeanContext;
Expand Down Expand Up @@ -76,7 +75,7 @@
* @author graemerocher
* @since 1.0
*/
@InterceptorBean(Client.class)
@Singleton
@Internal
@BootstrapContextCompatible
public class HttpClientIntroductionAdvice implements MethodInterceptor<Object, Object> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import io.micronaut.aop.Around;
import io.micronaut.context.annotation.Type;
import io.micronaut.retry.intercept.RecoveryInterceptor;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand All @@ -36,6 +39,7 @@
@Retention(RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Around
@Type(RecoveryInterceptor.class)
public @interface Recoverable {
/**
* Used to specify the API to lookup fallbacks for. This is useful in cases
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,9 @@

import io.micronaut.aop.Around;
import io.micronaut.context.annotation.AliasFor;
import io.micronaut.context.annotation.Type;
import io.micronaut.retry.intercept.DefaultRetryInterceptor;

import javax.validation.constraints.Digits;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
Expand All @@ -35,6 +38,7 @@
@Retention(RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Around
@Type(DefaultRetryInterceptor.class)
public @interface Retryable {

int MAX_INTEGRAL_DIGITS = 4;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
*/
package io.micronaut.retry.intercept;

import io.micronaut.aop.*;
import io.micronaut.aop.InterceptPhase;
import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.event.ApplicationEventPublisher;
import io.micronaut.core.annotation.AnnotationValue;
import io.micronaut.core.convert.value.MutableConvertibleValues;
Expand All @@ -32,6 +35,7 @@
import org.slf4j.LoggerFactory;

import javax.inject.Named;
import javax.inject.Singleton;
import java.time.Duration;
import java.util.Map;
import java.util.Optional;
Expand All @@ -51,7 +55,7 @@
* @author graemerocher
* @since 1.0
*/
@InterceptorBean(Retryable.class)
@Singleton
public class DefaultRetryInterceptor implements MethodInterceptor<Object, Object> {

private static final Logger LOG = LoggerFactory.getLogger(DefaultRetryInterceptor.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
*/
package io.micronaut.retry.intercept;

import io.micronaut.aop.*;
import io.micronaut.aop.InterceptPhase;
import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.BeanContext;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.discovery.exceptions.NoAvailableServiceException;
Expand All @@ -31,6 +34,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.inject.Singleton;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
Expand All @@ -42,7 +46,7 @@
* @author graemerocher
* @since 1.0
*/
@InterceptorBean(Recoverable.class)
@Singleton
public class RecoveryInterceptor implements MethodInterceptor<Object, Object> {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
package io.micronaut.tracing.annotation;

import io.micronaut.aop.Around;
import io.micronaut.context.annotation.Type;
import io.micronaut.tracing.interceptor.TraceInterceptor;

import java.lang.annotation.*;

/**
Expand All @@ -31,5 +34,6 @@
@Inherited
@Target(value = { ElementType.METHOD })
@Around
@Type(TraceInterceptor.class)
public @interface ContinueSpan {
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
package io.micronaut.tracing.annotation;

import io.micronaut.aop.Around;
import io.micronaut.context.annotation.Type;
import io.micronaut.tracing.interceptor.TraceInterceptor;

import java.lang.annotation.*;

/**
Expand All @@ -30,6 +33,7 @@
@Inherited
@Target(value = { ElementType.METHOD })
@Around
@Type(TraceInterceptor.class)
public @interface NewSpan {

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@
*/
package io.micronaut.tracing.interceptor;

import io.micronaut.aop.*;
import io.micronaut.aop.InterceptPhase;
import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.context.annotation.Requires;
import io.micronaut.core.annotation.AnnotationMetadata;
import io.micronaut.core.annotation.AnnotationValue;
Expand Down Expand Up @@ -48,7 +51,6 @@
*/
@Singleton
@Requires(beans = Tracer.class)
@InterceptorBean({ContinueSpan.class, NewSpan.class})
public class TraceInterceptor implements MethodInterceptor<Object, Object> {
public static final String CLASS_TAG = "class";
public static final String METHOD_TAG = "method";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import static java.lang.annotation.RetentionPolicy.RUNTIME;

import io.micronaut.aop.Around;
import io.micronaut.context.annotation.Type;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Expand All @@ -33,5 +35,6 @@
@Retention(RUNTIME)
@Target({ElementType.TYPE, ElementType.METHOD})
@Around
@Type(ValidatingInterceptor.class)
public @interface Validated {
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@
*/
package io.micronaut.validation;

import io.micronaut.aop.*;
import io.micronaut.core.annotation.Nullable;
import io.micronaut.aop.InterceptPhase;
import io.micronaut.aop.InterceptedMethod;
import io.micronaut.aop.MethodInterceptor;
import io.micronaut.aop.MethodInvocationContext;
import io.micronaut.inject.ExecutableMethod;
import io.micronaut.validation.validator.ExecutableMethodValidator;
import io.micronaut.validation.validator.ReactiveValidator;
Expand All @@ -36,7 +39,7 @@
* @author Graeme Rocher
* @since 1.0
*/
@InterceptorBean(Validated.class)
@Singleton
public class ValidatingInterceptor implements MethodInterceptor<Object, Object> {

/**
Expand Down
Loading

0 comments on commit e5229cb

Please sign in to comment.