Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8284C200BA5 for ; Wed, 19 Oct 2016 17:14:18 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 812A2160AFB; Wed, 19 Oct 2016 15:14:18 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 2B5B3160ADE for ; Wed, 19 Oct 2016 17:14:17 +0200 (CEST) Received: (qmail 53445 invoked by uid 500); 19 Oct 2016 15:14:16 -0000 Mailing-List: contact commits-help@openwebbeans.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwebbeans.apache.org Delivered-To: mailing list commits@openwebbeans.apache.org Received: (qmail 53434 invoked by uid 99); 19 Oct 2016 15:14:16 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 Oct 2016 15:14:16 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id DF7401857DA for ; Wed, 19 Oct 2016 15:14:15 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.199 X-Spam-Level: X-Spam-Status: No, score=-1.199 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id Pt1Jab2oKVOe for ; Wed, 19 Oct 2016 15:14:11 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id C502A5F486 for ; Wed, 19 Oct 2016 15:14:10 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 14037E0285 for ; Wed, 19 Oct 2016 15:14:10 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 0D9CA3A0EEB for ; Wed, 19 Oct 2016 15:14:10 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1765660 - in /openwebbeans/microwave/trunk/microwave-junit: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/microwave/ src/main/java/org/apache/microwave/junit/ src/test/ src/test/java... Date: Wed, 19 Oct 2016 15:14:09 -0000 To: commits@openwebbeans.apache.org From: rmannibucau@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20161019151410.0D9CA3A0EEB@svn01-us-west.apache.org> archived-at: Wed, 19 Oct 2016 15:14:18 -0000 Author: rmannibucau Date: Wed Oct 19 15:14:09 2016 New Revision: 1765660 URL: http://svn.apache.org/viewvc?rev=1765660&view=rev Log: JUnit integration - adding file, it's better then Added: openwebbeans/microwave/trunk/microwave-junit/ openwebbeans/microwave/trunk/microwave-junit/pom.xml openwebbeans/microwave/trunk/microwave-junit/src/ openwebbeans/microwave/trunk/microwave-junit/src/main/ openwebbeans/microwave/trunk/microwave-junit/src/main/java/ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRule.java openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRuleBase.java openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MonoMicrowave.java openwebbeans/microwave/trunk/microwave-junit/src/test/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MicrowaveRuleTest.java openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MonoMicrowaveRuleTest.java openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Endpoint.java openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Injectable.java openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/RsApp.java Added: openwebbeans/microwave/trunk/microwave-junit/pom.xml URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/pom.xml?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/pom.xml (added) +++ openwebbeans/microwave/trunk/microwave-junit/pom.xml Wed Oct 19 15:14:09 2016 @@ -0,0 +1,42 @@ + + + + microwave + org.apache.microwave + 0.0.1-SNAPSHOT + + 4.0.0 + + microwave-junit + Microwave :: JUnit + + + + junit + junit + 4.12 + + + org.apache.microwave + microwave-core + ${project.version} + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + false + + + + + Added: openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRule.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRule.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRule.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRule.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.microwave.junit; + +import org.apache.microwave.Microwave; + +public class MicrowaveRule extends MicrowaveRuleBase { + private final Microwave.Builder configuration; + private final String context; + + public MicrowaveRule() { + this(new Microwave.Builder().randomHttpPort(), ""); + } + + public MicrowaveRule(final Microwave.Builder configuration, final String context) { + this.configuration = configuration; + this.context = context; + } + + @Override + public Microwave.Builder getConfiguration() { + return configuration; + } + + @Override + protected AutoCloseable onStart() { + return new Microwave(configuration).bake(context); + } +} Added: openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRuleBase.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRuleBase.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRuleBase.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MicrowaveRuleBase.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.microwave.junit; + +import org.apache.microwave.Microwave; +import org.junit.rules.TestRule; +import org.junit.runner.Description; +import org.junit.runners.model.Statement; + +public abstract class MicrowaveRuleBase implements TestRule { + @Override + public Statement apply(final Statement base, final Description description) { + return new Statement() { + @Override + public void evaluate() throws Throwable { + try (final AutoCloseable closeable = onStart()) { + base.evaluate(); + } + } + }; + } + + public abstract Microwave.Builder getConfiguration(); + + protected abstract AutoCloseable onStart(); +} Added: openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MonoMicrowave.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MonoMicrowave.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MonoMicrowave.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/main/java/org/apache/microwave/junit/MonoMicrowave.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,143 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.microwave.junit; + +import org.apache.microwave.Microwave; +import org.junit.rules.MethodRule; +import org.junit.runners.BlockJUnit4ClassRunner; +import org.junit.runners.model.InitializationError; +import org.junit.runners.model.Statement; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; +import java.util.List; +import java.util.ServiceLoader; +import java.util.concurrent.atomic.AtomicReference; +import java.util.stream.Stream; +import java.util.stream.StreamSupport; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +// a MicrowaveRule starting a single container, very awesome for forkCount=1, reuseForks=true +public class MonoMicrowave { + private static final AtomicReference CONTAINER = new AtomicReference<>(); + private static final AtomicReference CONFIGURATION = new AtomicReference<>(); + private static final AutoCloseable NOOP_CLOSEABLE = () -> { + }; + + public static class Runner extends BlockJUnit4ClassRunner { + public Runner(final Class klass) throws InitializationError { + super(klass); + } + + @Override + protected List rules(final Object test) { + final List rules = super.rules(test); + rules.add((base, method, target) -> new Statement() { + @Override + public void evaluate() throws Throwable { + doBoot(); + configInjection(test.getClass(), test); + base.evaluate(); + } + + private void configInjection(final Class aClass, final Object test) { + Stream.of(aClass.getDeclaredFields()) + .filter(f -> f.isAnnotationPresent(ConfigurationInject.class)) + .forEach(f -> { + if (!f.isAccessible()) { + f.setAccessible(true); + } + try { + f.set(test, CONFIGURATION.get()); + } catch (final IllegalAccessException e) { + throw new IllegalStateException(e); + } + }); + final Class parent = aClass.getSuperclass(); + if (parent != null && parent != Object.class) { + configInjection(parent, true); + } + } + }); + return rules; + } + + /** + * Only working with the runner + */ + @Target(FIELD) + @Retention(RUNTIME) + public @interface ConfigurationInject { + } + } + + public static class Rule extends MicrowaveRuleBase { + @Override + public Microwave.Builder getConfiguration() { + return CONFIGURATION.get(); + } + + @Override + protected AutoCloseable onStart() { + if (CONTAINER.get() == null) { // yes synchro could be simpler but it does the job, feel free to rewrite it + synchronized (CONTAINER) { + if (CONTAINER.get() == null) { + doBoot(); + } + } + } + return NOOP_CLOSEABLE; + } + } + + private static void doBoot() { + final Microwave.Builder configuration = new Microwave.Builder().randomHttpPort(); + StreamSupport.stream(ServiceLoader.load(Microwave.ConfigurationCustomizer.class).spliterator(), false) + .forEach(c -> c.customize(configuration)); + CONFIGURATION.compareAndSet(null, configuration); + + final Microwave microwave = new Microwave(CONFIGURATION.get()); + if (CONTAINER.compareAndSet(null, microwave)) { + final Configuration runnerConfig = StreamSupport.stream(ServiceLoader.load(Configuration.class).spliterator(), false) + .findAny() + .orElseGet(() -> new Configuration() { + }); + + microwave.bake(runnerConfig.context()); + Runtime.getRuntime().addShutdownHook(new Thread() { + { + setName("Microwave-mono-rue-stopping"); + } + + @Override + public void run() { + microwave.close(); + } + }); + } + } + + public interface Configuration { + default String context() { + return ""; + } + } +} Added: openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MicrowaveRuleTest.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MicrowaveRuleTest.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MicrowaveRuleTest.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MicrowaveRuleTest.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,38 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.microwave.junit; + +import org.apache.commons.io.IOUtils; +import org.junit.ClassRule; +import org.junit.Test; + +import java.io.IOException; +import java.net.URL; + +import static org.junit.Assert.assertEquals; + +public class MicrowaveRuleTest { + @ClassRule + public static final MicrowaveRule RULE = new MicrowaveRule(); + + @Test + public void test() throws IOException { + assertEquals("simple", IOUtils.toString(new URL("http://localhost:" + RULE.getConfiguration().getHttpPort() + "/api/test"))); + } +} Added: openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MonoMicrowaveRuleTest.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MonoMicrowaveRuleTest.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MonoMicrowaveRuleTest.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/apache/microwave/junit/MonoMicrowaveRuleTest.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.microwave.junit; + +import org.apache.commons.io.IOUtils; +import org.apache.microwave.Microwave; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.io.IOException; +import java.net.URL; + +import static org.junit.Assert.assertEquals; + +@RunWith(MonoMicrowave.Runner.class) +public class MonoMicrowaveRuleTest { + /* or + @ClassRule + public static final MonoMicrowave.Rule RULE = new MonoMicrowave.Rule(); + */ + + @MonoMicrowave.Runner.ConfigurationInject + private Microwave.Builder config; + + @Test + public void test() throws IOException { + assertEquals("simple", IOUtils.toString(new URL("http://localhost:" + config.getHttpPort() + "/api/test"))); + } +} Added: openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Endpoint.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Endpoint.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Endpoint.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Endpoint.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,66 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.app; + +import javax.enterprise.context.ApplicationScoped; +import javax.inject.Inject; +import javax.ws.rs.GET; +import javax.ws.rs.Path; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; + +@Path("test") +@ApplicationScoped +public class Endpoint { + @Inject + private Injectable injectable; + + @GET + @Produces(MediaType.TEXT_PLAIN) + public String simple() { + return Boolean.parseBoolean(injectable.injected()) ? "simple" : "fail"; + } + + @GET + @Path("json") + @Produces(MediaType.APPLICATION_JSON) + public Simple json() { + return new Simple("test"); + } + + public static class Simple { + private String name; + + public Simple() { + // no-op + } + + public Simple(final String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public void setName(final String name) { + this.name = name; + } + } +} Added: openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Injectable.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Injectable.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Injectable.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/Injectable.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.app; + +import javax.enterprise.context.ApplicationScoped; + +@ApplicationScoped +public class Injectable { + public String injected() { + return "true"; + } +} Added: openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/RsApp.java URL: http://svn.apache.org/viewvc/openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/RsApp.java?rev=1765660&view=auto ============================================================================== --- openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/RsApp.java (added) +++ openwebbeans/microwave/trunk/microwave-junit/src/test/java/org/app/RsApp.java Wed Oct 19 15:14:09 2016 @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.app; + +import javax.enterprise.context.Dependent; +import javax.ws.rs.ApplicationPath; +import javax.ws.rs.core.Application; + +@Dependent +@ApplicationPath("api") +public class RsApp extends Application { +}