The InternalApplication is required, because, at RESTService it needs to add classes as a wrapper. My first thought is to create a proxy, however, Application is a class and not an interface.
On Thu, Mar 28, 2019 at 9:43 AM Otávio Gonçalves de Santana < osant...@tomitribe.com> wrote: > Yes, there is this line that does not do this verification: > > application = !InternalApplication.class.isInstance(application) ? new > InternalApplication(application) : application; > > > > https://github.com/apache/tomee/blob/master/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java#L224 > > On Thu, Mar 28, 2019 at 1:07 AM Daniel Cunha <daniels...@apache.org> > wrote: > >> It is not injecting the config values for >> org.microprofileext.openapi.swaggerui.Templates and yes, >> using openejb.cxf-rs.cache-application=false the issue still happening. >> Interesting.. >> >> Em qua, 27 de mar de 2019 às 18:24, Otávio Gonçalves de Santana < >> osant...@tomitribe.com> escreveu: >> >> > My maven configuration: >> > >> > <project xmlns="http://maven.apache.org/POM/4.0.0" >> > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >> > xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >> > http://maven.apache.org/xsd/maven-4.0.0.xsd"> >> > <modelVersion>4.0.0</modelVersion> >> > >> > <groupId>org.superbiz</groupId> >> > <artifactId>env-tomee</artifactId> >> > <packaging>war</packaging> >> > >> > <name>OpenEJB</name> >> > <description>OpenEJB :: Web Examples</description> >> > <version>0.0.1-SNAPSHOT</version> >> > <url>http://tomee.apache.org</url> >> > >> > <properties> >> > >> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> >> > <tomee.version>8.0.0-M2</tomee.version> >> > </properties> >> > >> > <build> >> > <finalName>env-tomee</finalName> >> > <plugins> >> > <plugin> >> > <groupId>org.apache.maven.plugins</groupId> >> > <artifactId>maven-compiler-plugin</artifactId> >> > <version>3.5.1</version> >> > <configuration> >> > <source>1.8</source> >> > <target>1.8</target> >> > </configuration> >> > </plugin> >> > <plugin> >> > <groupId>org.apache.maven.plugins</groupId> >> > <artifactId>maven-war-plugin</artifactId> >> > <version>3.1.0</version> >> > </plugin> >> > </plugins> >> > </build> >> > >> > <repositories> >> > <repository> >> > <id>apache-m2-snapshot</id> >> > <name>Apache Snapshot Repository</name> >> > <url>https://repository.apache.org/content/groups/snapshots >> > </url> >> > <snapshots> >> > <enabled>true</enabled> >> > </snapshots> >> > </repository> >> > </repositories> >> > >> > <pluginRepositories> >> > <pluginRepository> >> > <id>apache.snapshots</id> >> > <url>http://repository.apache.org/snapshots/</url> >> > </pluginRepository> >> > </pluginRepositories> >> > >> > <dependencies> >> > <dependency> >> > <groupId>org.apache.tomee</groupId> >> > <artifactId>javaee-api</artifactId> >> > <version>8.0</version> >> > <scope>provided</scope> >> > </dependency> >> > <dependency> >> > <groupId>org.eclipse.microprofile.openapi</groupId> >> > <artifactId>microprofile-openapi-api</artifactId> >> > <version>1.1.2</version> >> > <scope>provided</scope> >> > </dependency> >> > <dependency> >> > <groupId>org.microprofile-ext.openapi-ext</groupId> >> > <artifactId>swagger-ui</artifactId> >> > <version>1.0.1</version> >> > </dependency> >> > </dependencies> >> > </project> >> > >> > >> > My code: >> > >> > @ApplicationPath("api")@OpenAPIDefinition(info = @Info( >> > title = "Example application", >> > version = "1.0.0", >> > contact = @Contact( >> > name = "Otavio", >> > email = "ota...@otavio.com", >> > url = "http://www.otaviojava.com.br") >> > ), >> > servers = { >> > @Server(url = "/example", description = "localhost") >> > } >> > )public class MVCApplication extends Application { >> > } >> > >> > >> @Path("envs")@Produces(MediaType.APPLICATION_JSON)@Consumes(MediaType.APPLICATION_JSON)@Tag(name >> > = "Config Retrieval service", description = "Get the value for a >> > certain config")public class EnvironmentResource { >> > >> > @GET >> > @Operation(description = "Get the envs") >> > @APIResponses({ >> > @APIResponse(responseCode = "200", description = >> > "Successful, returning the value") >> > }) >> > public Map<String, String> getEnvs() { >> > return System.getenv(); >> > } >> > >> > @GET >> > @Path("/{key}") >> > @Operation(description = "Get the value for this key") >> > @APIResponses({ >> > @APIResponse(responseCode = "200", description = >> > "Successful, returning the value") >> > }) >> > @Produces(MediaType.TEXT_PLAIN) >> > public Response getConfigValue(@PathParam("key") String key) { >> > return Response.ok(key).build(); >> > } >> > >> > } >> > >> > >> > On Wed, Mar 27, 2019 at 5:11 PM Daniel Cunha <daniels...@apache.org> >> > wrote: >> > >> > > Can you guys push your sample? >> > > >> > > On Wed, Mar 27, 2019, 4:58 PM Otávio Gonçalves de Santana < >> > > osant...@tomitribe.com> wrote: >> > > >> > > > Hey Ivan. >> > > > I tried something, and I saw the same issue. It seems this by-pass >> does >> > > not >> > > > work. >> > > > >> > > > On Mon, Feb 11, 2019 at 11:18 AM Ivan Junckes Filho < >> > > ivanjunc...@gmail.com >> > > > > >> > > > wrote: >> > > > >> > > > > It didn't seem to work for me adding the property to >> > system.properties. >> > > > Any >> > > > > ideas what I am doing wrong? >> > > > > >> > > > > On Sat, Feb 9, 2019 at 10:21 AM Roberto Cortez < >> radcor...@yahoo.com> >> > > > > wrote: >> > > > > >> > > > > > Hi Ivan, >> > > > > > >> > > > > > Yes Romain is right, you should set >> > openejb.cxf-rs.cache-application >> > > = >> > > > > > false and it should work. We had to set that for the TCK to >> pass, >> > but >> > > > the >> > > > > > config never reached the final distribution. I did notice that >> and >> > > I’ve >> > > > > > added it in case a MP app is detected, but it was after M2 was >> > > > released. >> > > > > > >> > > > > > Cheers, >> > > > > > Roberto >> > > > > > >> > > > > > On 8 Feb 2019, at 21:06, Ivan Junckes Filho < >> ivanjunc...@gmail.com >> > > >> > > > > wrote: >> > > > > > >> > > > > > I will take a look thanks again Romain >> > > > > > >> > > > > > On Fri, Feb 8, 2019 at 4:38 PM Romain Manni-Bucau < >> > > > rmannibu...@gmail.com >> > > > > > >> > > > > > wrote: >> > > > > > >> > > > > >> Hey, just recalled we had a flag about it, >> > > > > >> >> > > > > >> you can skip it setting openejb.cxf-rs.cache-application=false >> > > > > >> >> > > > > >> Romain Manni-Bucau >> > > > > >> @rmannibucau <https://twitter.com/rmannibucau> | Blog >> > > > > >> <https://rmannibucau.metawerx.net/> | Old Blog >> > > > > >> <http://rmannibucau.wordpress.com> | Github < >> > > > > >> https://github.com/rmannibucau> | >> > > > > >> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book >> > > > > >> < >> > > > > >> >> > > > > >> > > > >> > > >> > >> https://www.packtpub.com/application-development/java-ee-8-high-performance >> > > > > >> > >> > > > > >> >> > > > > >> >> > > > > >> Le ven. 8 févr. 2019 à 19:01, Ivan Junckes Filho < >> > > > ivanjunc...@gmail.com >> > > > > > >> > > > > >> a >> > > > > >> écrit : >> > > > > >> >> > > > > >> > Interesting, ok thanks Romain. >> > > > > >> > >> > > > > >> > On Fri, Feb 8, 2019 at 3:29 PM Romain Manni-Bucau < >> > > > > >> rmannibu...@gmail.com> >> > > > > >> > wrote: >> > > > > >> > >> > > > > >> >> Hi Ivan, >> > > > > >> >> >> > > > > >> >> In a few cases - don't recall out of my head if it is all - >> > TomEE >> > > > > wraps >> > > > > >> >> user application in InternalApplication. IIRC it was for >> > caching >> > > > > >> reason - >> > > > > >> >> TomEE not being super cleanly aligned on CDI + to avoid to >> get >> > > > > multiple >> > > > > >> >> instances between runtime and deployment which can break >> user >> > > code. >> > > > > >> >> Enhancing TomEE to no do it anymore or not use a wrapper >> when >> > not >> > > > > >> needed >> > > > > >> >> can be a first step fixing that. >> > > > > >> >> >> > > > > >> >> Romain Manni-Bucau >> > > > > >> >> @rmannibucau <https://twitter.com/rmannibucau> | Blog >> > > > > >> >> <https://rmannibucau.metawerx.net/> | Old Blog >> > > > > >> >> <http://rmannibucau.wordpress.com> | Github >> > > > > >> >> <https://github.com/rmannibucau> | LinkedIn >> > > > > >> >> <https://www.linkedin.com/in/rmannibucau> | Book >> > > > > >> >> < >> > > > > >> >> > > > > >> > > > >> > > >> > >> https://www.packtpub.com/application-development/java-ee-8-high-performance >> > > > > >> > >> > > > > >> >> >> > > > > >> >> >> > > > > >> >> Le ven. 8 févr. 2019 à 18:14, Ivan Junckes Filho < >> > > > > >> ivanjunc...@gmail.com> >> > > > > >> >> a écrit : >> > > > > >> >> >> > > > > >> >>> The @OpenAPIDefinition is not being picked up by the CDI >> > > extension >> > > > > >> >>> because it is only getting InternalApplication instead of >> > > picking >> > > > up >> > > > > >> my >> > > > > >> >>> custom Application config. Any ideas why? OpenAPIDefinition >> > > > configs >> > > > > >> are >> > > > > >> >>> therefore not showing up in the openapi doc. >> > > > > >> >>> >> > > > > >> >>> >> > > > > >> >>> @OpenAPIDefinition(info = >> > > > > >> >>> @Info( >> > > > > >> >>> title = "TEST", >> > > > > >> >>> version = "2.0", >> > > > > >> >>> description = "Pet Store App API", >> > > > > >> >>> license = @License( >> > > > > >> >>> name = "Apache 2.0", >> > > > > >> >>> url = " >> > > > > >> http://www.apache.org/licenses/LICENSE-2.0.html"), >> > > > > >> >>> contact = @Contact( >> > > > > >> >>> name = "PetStore API Support", >> > > > > >> >>> url = " >> > > > > >> https://github.com/eclipse/microprofile-open-api", >> > > > > >> >>> email = "supp...@petstore.com") >> > > > > >> >>> ), >> > > > > >> >>> security = @SecurityRequirement(name = "oauth2"), >> > > > > >> >>> servers = @Server(url = "/test/")) >> > > > > >> >>> @ApplicationPath("/api") >> > > > > >> >>> @LoginConfig(authMethod = "MP-JWT") >> > > > > >> >>> public class ApplicationConfiguration extends Application { >> > > > > >> >>> >> > > > > >> >>> >> > > > > >> >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> > >> >> >> -- >> Daniel "soro" Cunha >> https://twitter.com/dvlc_ >> >