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_
>>
>

Reply via email to