diff --git a/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/main/java/io/quarkus/resteasy/reactive/server/deployment/ResteasyReactiveProcessor.java b/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/main/java/io/quarkus/resteasy/reactive/server/deployment/ResteasyReactiveProcessor.java index ea69fc992b2b3..60fbb378bd92f 100644 --- a/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/main/java/io/quarkus/resteasy/reactive/server/deployment/ResteasyReactiveProcessor.java +++ b/extensions/resteasy-reactive/quarkus-resteasy-reactive/deployment/src/main/java/io/quarkus/resteasy/reactive/server/deployment/ResteasyReactiveProcessor.java @@ -1,5 +1,93 @@ package io.quarkus.resteasy.reactive.server.deployment; +import static io.quarkus.resteasy.reactive.common.deployment.QuarkusResteasyReactiveDotNames.HTTP_SERVER_REQUEST; +import static io.quarkus.resteasy.reactive.common.deployment.QuarkusResteasyReactiveDotNames.HTTP_SERVER_RESPONSE; +import static io.quarkus.resteasy.reactive.common.deployment.QuarkusResteasyReactiveDotNames.ROUTING_CONTEXT; +import static java.util.stream.Collectors.toList; +import static org.jboss.resteasy.reactive.common.processor.ResteasyReactiveDotNames.DATE_FORMAT; + +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Deque; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.logging.Logger; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import javax.ws.rs.Priorities; +import javax.ws.rs.RuntimeType; +import javax.ws.rs.core.Application; +import javax.ws.rs.core.MediaType; + +import org.eclipse.microprofile.config.Config; +import org.eclipse.microprofile.config.ConfigProvider; +import org.jboss.jandex.AnnotationInstance; +import org.jboss.jandex.AnnotationTarget; +import org.jboss.jandex.AnnotationValue; +import org.jboss.jandex.ClassInfo; +import org.jboss.jandex.DotName; +import org.jboss.jandex.IndexView; +import org.jboss.jandex.MethodInfo; +import org.jboss.jandex.Type; +import org.jboss.resteasy.reactive.common.core.Serialisers; +import org.jboss.resteasy.reactive.common.core.SingletonBeanFactory; +import org.jboss.resteasy.reactive.common.model.InjectableBean; +import org.jboss.resteasy.reactive.common.model.ResourceClass; +import org.jboss.resteasy.reactive.common.model.ResourceDynamicFeature; +import org.jboss.resteasy.reactive.common.model.ResourceFeature; +import org.jboss.resteasy.reactive.common.model.ResourceInterceptors; +import org.jboss.resteasy.reactive.common.model.ResourceMethod; +import org.jboss.resteasy.reactive.common.model.ResourceReader; +import org.jboss.resteasy.reactive.common.model.ResourceWriter; +import org.jboss.resteasy.reactive.common.processor.AdditionalReaderWriter; +import org.jboss.resteasy.reactive.common.processor.AdditionalReaders; +import org.jboss.resteasy.reactive.common.processor.AdditionalWriters; +import org.jboss.resteasy.reactive.common.processor.DefaultProducesHandler; +import org.jboss.resteasy.reactive.common.processor.EndpointIndexer; +import org.jboss.resteasy.reactive.common.processor.ResteasyReactiveDotNames; +import org.jboss.resteasy.reactive.common.processor.scanning.ApplicationScanningResult; +import org.jboss.resteasy.reactive.common.processor.scanning.ResourceScanningResult; +import org.jboss.resteasy.reactive.common.processor.transformation.AnnotationsTransformer; +import org.jboss.resteasy.reactive.common.util.Encode; +import org.jboss.resteasy.reactive.server.core.Deployment; +import org.jboss.resteasy.reactive.server.core.DeploymentInfo; +import org.jboss.resteasy.reactive.server.core.ExceptionMapping; +import org.jboss.resteasy.reactive.server.core.ServerSerialisers; +import org.jboss.resteasy.reactive.server.model.ContextResolvers; +import org.jboss.resteasy.reactive.server.model.DynamicFeatures; +import org.jboss.resteasy.reactive.server.model.Features; +import org.jboss.resteasy.reactive.server.model.HandlerChainCustomizer; +import org.jboss.resteasy.reactive.server.model.ParamConverterProviders; +import org.jboss.resteasy.reactive.server.model.ServerMethodParameter; +import org.jboss.resteasy.reactive.server.model.ServerResourceMethod; +import org.jboss.resteasy.reactive.server.processor.generation.converters.GeneratedConverterIndexerExtension; +import org.jboss.resteasy.reactive.server.processor.generation.exceptionmappers.ServerExceptionMapperGenerator; +import org.jboss.resteasy.reactive.server.processor.generation.injection.TransformedFieldInjectionIndexerExtension; +import org.jboss.resteasy.reactive.server.processor.generation.multipart.GeneratedHandlerMultipartReturnTypeIndexerExtension; +import org.jboss.resteasy.reactive.server.processor.generation.multipart.GeneratedMultipartParamIndexerExtension; +import org.jboss.resteasy.reactive.server.processor.scanning.MethodScanner; +import org.jboss.resteasy.reactive.server.processor.scanning.ResponseHeaderMethodScanner; +import org.jboss.resteasy.reactive.server.processor.scanning.ResponseStatusMethodScanner; +import org.jboss.resteasy.reactive.server.processor.util.ResteasyReactiveServerDotNames; +import org.jboss.resteasy.reactive.server.vertx.serializers.ServerMutinyAsyncFileMessageBodyWriter; +import org.jboss.resteasy.reactive.server.vertx.serializers.ServerMutinyBufferMessageBodyWriter; +import org.jboss.resteasy.reactive.server.vertx.serializers.ServerVertxAsyncFileMessageBodyWriter; +import org.jboss.resteasy.reactive.server.vertx.serializers.ServerVertxBufferMessageBodyWriter; +import org.jboss.resteasy.reactive.spi.BeanFactory; +import org.objectweb.asm.ClassVisitor; + import io.quarkus.arc.Unremovable; import io.quarkus.arc.deployment.AdditionalBeanBuildItem; import io.quarkus.arc.deployment.BeanArchiveIndexBuildItem; @@ -75,92 +163,6 @@ import io.vertx.core.http.HttpServerRequest; import io.vertx.core.http.HttpServerResponse; import io.vertx.ext.web.RoutingContext; -import org.eclipse.microprofile.config.Config; -import org.eclipse.microprofile.config.ConfigProvider; -import org.jboss.jandex.AnnotationInstance; -import org.jboss.jandex.AnnotationTarget; -import org.jboss.jandex.AnnotationValue; -import org.jboss.jandex.ClassInfo; -import org.jboss.jandex.DotName; -import org.jboss.jandex.IndexView; -import org.jboss.jandex.MethodInfo; -import org.jboss.jandex.Type; -import org.jboss.resteasy.reactive.common.core.Serialisers; -import org.jboss.resteasy.reactive.common.core.SingletonBeanFactory; -import org.jboss.resteasy.reactive.common.model.InjectableBean; -import org.jboss.resteasy.reactive.common.model.ResourceClass; -import org.jboss.resteasy.reactive.common.model.ResourceDynamicFeature; -import org.jboss.resteasy.reactive.common.model.ResourceFeature; -import org.jboss.resteasy.reactive.common.model.ResourceInterceptors; -import org.jboss.resteasy.reactive.common.model.ResourceMethod; -import org.jboss.resteasy.reactive.common.model.ResourceReader; -import org.jboss.resteasy.reactive.common.model.ResourceWriter; -import org.jboss.resteasy.reactive.common.processor.AdditionalReaderWriter; -import org.jboss.resteasy.reactive.common.processor.AdditionalReaders; -import org.jboss.resteasy.reactive.common.processor.AdditionalWriters; -import org.jboss.resteasy.reactive.common.processor.DefaultProducesHandler; -import org.jboss.resteasy.reactive.common.processor.EndpointIndexer; -import org.jboss.resteasy.reactive.common.processor.ResteasyReactiveDotNames; -import org.jboss.resteasy.reactive.common.processor.scanning.ApplicationScanningResult; -import org.jboss.resteasy.reactive.common.processor.scanning.ResourceScanningResult; -import org.jboss.resteasy.reactive.common.processor.transformation.AnnotationsTransformer; -import org.jboss.resteasy.reactive.common.util.Encode; -import org.jboss.resteasy.reactive.server.core.Deployment; -import org.jboss.resteasy.reactive.server.core.DeploymentInfo; -import org.jboss.resteasy.reactive.server.core.ExceptionMapping; -import org.jboss.resteasy.reactive.server.core.ServerSerialisers; -import org.jboss.resteasy.reactive.server.model.ContextResolvers; -import org.jboss.resteasy.reactive.server.model.DynamicFeatures; -import org.jboss.resteasy.reactive.server.model.Features; -import org.jboss.resteasy.reactive.server.model.HandlerChainCustomizer; -import org.jboss.resteasy.reactive.server.model.ParamConverterProviders; -import org.jboss.resteasy.reactive.server.model.ServerMethodParameter; -import org.jboss.resteasy.reactive.server.model.ServerResourceMethod; -import org.jboss.resteasy.reactive.server.processor.generation.converters.GeneratedConverterIndexerExtension; -import org.jboss.resteasy.reactive.server.processor.generation.exceptionmappers.ServerExceptionMapperGenerator; -import org.jboss.resteasy.reactive.server.processor.generation.injection.TransformedFieldInjectionIndexerExtension; -import org.jboss.resteasy.reactive.server.processor.generation.multipart.GeneratedHandlerMultipartReturnTypeIndexerExtension; -import org.jboss.resteasy.reactive.server.processor.generation.multipart.GeneratedMultipartParamIndexerExtension; -import org.jboss.resteasy.reactive.server.processor.scanning.MethodScanner; -import org.jboss.resteasy.reactive.server.processor.scanning.ResponseHeaderMethodScanner; -import org.jboss.resteasy.reactive.server.processor.scanning.ResponseStatusMethodScanner; -import org.jboss.resteasy.reactive.server.processor.util.ResteasyReactiveServerDotNames; -import org.jboss.resteasy.reactive.server.vertx.serializers.ServerMutinyAsyncFileMessageBodyWriter; -import org.jboss.resteasy.reactive.server.vertx.serializers.ServerMutinyBufferMessageBodyWriter; -import org.jboss.resteasy.reactive.server.vertx.serializers.ServerVertxAsyncFileMessageBodyWriter; -import org.jboss.resteasy.reactive.server.vertx.serializers.ServerVertxBufferMessageBodyWriter; -import org.jboss.resteasy.reactive.spi.BeanFactory; -import org.objectweb.asm.ClassVisitor; - -import javax.ws.rs.Priorities; -import javax.ws.rs.RuntimeType; -import javax.ws.rs.core.Application; -import javax.ws.rs.core.MediaType; -import java.util.ArrayDeque; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Deque; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.BiConsumer; -import java.util.function.BiFunction; -import java.util.function.Consumer; -import java.util.function.Function; -import java.util.function.Predicate; -import java.util.logging.Logger; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import static io.quarkus.resteasy.reactive.common.deployment.QuarkusResteasyReactiveDotNames.HTTP_SERVER_REQUEST; -import static io.quarkus.resteasy.reactive.common.deployment.QuarkusResteasyReactiveDotNames.HTTP_SERVER_RESPONSE; -import static io.quarkus.resteasy.reactive.common.deployment.QuarkusResteasyReactiveDotNames.ROUTING_CONTEXT; -import static java.util.stream.Collectors.toList; -import static org.jboss.resteasy.reactive.common.processor.ResteasyReactiveDotNames.DATE_FORMAT; public class ResteasyReactiveProcessor {