http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/bndrun/org.apache.aries.jax-rs.example.bndrun
----------------------------------------------------------------------
diff --git a/bndrun/org.apache.aries.jax-rs.example.bndrun 
b/bndrun/org.apache.aries.jax-rs.example.bndrun
deleted file mode 100644
index 367dfc7..0000000
--- a/bndrun/org.apache.aries.jax-rs.example.bndrun
+++ /dev/null
@@ -1,49 +0,0 @@
--standalone:
--include: ${.}/augments.bnd
--resourceonly: true
-
--plugin.A.pom.repo = \
-       aQute.bnd.repository.maven.pom.provider.BndPomRepository; \
-               
snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \
-               releaseUrls=https://repo1.maven.org/maven2/; \
-               pom=${.}/pom.xml; \
-               name=pom.repo; \
-               location=${.}/target/cached.xml
-
--runrequires: \
-       
osgi.identity;filter:='(osgi.identity=org.apache.aries.jax-rs.cxf-common)',\
-       
osgi.identity;filter:='(osgi.identity=org.apache.aries.jax-rs.example)',\
-       osgi.identity;filter:='(osgi.identity=org.apache.aries.rest.extender)',\
-       osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.jline)'
-
--runfw: 
org.eclipse.osgi;version='[3.10.100.v20150529-1857,3.10.100.v20150529-1857]'
--runbundles: \
-       log4j;version='[1.2.17,1.2.18)',\
-       org.apache.aries.jax-rs.cxf-common;version='[1.0.0,1.0.1)',\
-       org.apache.aries.jax-rs.example;version='[1.0.0,1.0.1)',\
-       org.apache.aries.rest.extender;version='[1.0.0,1.0.1)',\
-       org.apache.felix.bundlerepository;version='[1.6.0,1.6.1)',\
-       org.apache.felix.gogo.command;version='[1.0.0,1.0.1)',\
-       org.apache.felix.gogo.jline;version='[1.0.0,1.0.1)',\
-       org.apache.felix.gogo.runtime;version='[1.0.0,1.0.1)',\
-       org.apache.felix.http.jetty;version='[3.2.0,3.2.1)',\
-       org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
-       org.apache.felix.scr;version='[2.0.2,2.0.3)',\
-       org.eclipse.equinox.event;version='[1.3.100,1.3.101)',\
-       org.eclipse.equinox.metatype;version='[1.4.100,1.4.101)',\
-       org.jline;version='[3.0.0,3.0.1)',\
-       org.objectweb.asm;version='[5.0.4,5.0.5)',\
-       org.osgi.compendium;version='[4.1.0,4.1.1)',\
-       org.osgi.service.event;version='[1.3.1,1.3.2)',\
-       org.osgi.service.http.whiteboard;version='[1.0.0,1.0.1)',\
-       org.osgi.service.metatype;version='[1.3.0,1.3.1)',\
-       slf4j.api;version='[1.7.21,1.7.22)',\
-       slf4j.log4j12;version='[1.6.1,1.6.2)'
-
--runee: JavaSE-1.8
--resolve.effective: resolve, active
--runproperties.eqnx:                           \
-       osgi.console.enable.builtin=false, \
-       osgi.console=, \
-       org.osgi.service.http.port=8080
--runsystemcapabilities.dflt:   ${native_capability}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/bndrun/pom.xml
----------------------------------------------------------------------
diff --git a/bndrun/pom.xml b/bndrun/pom.xml
deleted file mode 100644
index df45732..0000000
--- a/bndrun/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<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>
-
-       <parent>
-           <groupId>org.apache.aries</groupId>
-           <artifactId>org.apache.aries.jax-rs</artifactId>
-           <version>1.0.0-SNAPSHOT</version>
-       </parent>
-
-       <artifactId>org.apache.aries.jax-rs.example.bndrun</artifactId>
-
-       <packaging>jar</packaging>
-
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>biz.aQute.bnd</groupId>
-                               <artifactId>bnd-export-maven-plugin</artifactId>
-                               <version>3.4.0-SNAPSHOT</version>
-                               <configuration>
-                                       <failOnChanges>false</failOnChanges>
-                                       <resolve>true</resolve>
-                                       <bndruns>
-                                               
<bndrun>org.apache.aries.jax-rs.example.bndrun</bndrun>
-                                       </bndruns>
-                                       <targetDir>.</targetDir>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>export</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <dependencies>
-               <dependency>
-                       <groupId>org.apache.aries</groupId>
-                       
<artifactId>org.apache.aries.jax-rs.cxf-common</artifactId>
-                       <version>1.0.0-SNAPSHOT</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.aries</groupId>
-                       <artifactId>org.apache.aries.jax-rs.example</artifactId>
-                       <version>1.0.0-SNAPSHOT</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.aries</groupId>
-                       <artifactId>org.apache.aries.rest.extender</artifactId>
-                       <version>1.0.0-SNAPSHOT</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.felix</groupId>
-                       <artifactId>org.apache.felix.http.jetty</artifactId>
-                       <version>3.4.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.felix</groupId>
-                       <artifactId>org.apache.felix.gogo.command</artifactId>
-                       <version>1.0.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.felix</groupId>
-                       <artifactId>org.apache.felix.gogo.jline</artifactId>
-                       <version>1.0.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.felix</groupId>
-                       <artifactId>org.apache.felix.gogo.runtime</artifactId>
-                       <version>1.0.0</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.osgi</groupId>
-                       <artifactId>osgi.enroute.pom.distro</artifactId>
-                       <version>2.0.0</version>
-               </dependency>
-       </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.bndrun/augments.bnd
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.bndrun/augments.bnd 
b/org.apache.aries.jax-rs.bndrun/augments.bnd
new file mode 100644
index 0000000..4a16ea5
--- /dev/null
+++ b/org.apache.aries.jax-rs.bndrun/augments.bnd
@@ -0,0 +1,82 @@
+-augment.javax.servlet-api: \
+       javax.servlet-api; \
+               
requirement:="osgi.implementation;filter:='(osgi.implementation=osgi.http)'"
+
+-augment.javax.ws.rs-api: \
+       javax.ws.rs-api; \
+               
requirement:="osgi.implementation;filter:='(osgi.implementation=osgi.http)'"
+
+-augment.org.apache.aries.jax-rs.cxf-common: \
+       org.apache.aries.jax-rs.cxf-common; \
+               
requirement:="osgi.extender;filter:='(&(osgi.extender=aries.jax-rs)(version>=1.0.0)(!(version>=2.0.0)))',
 \
+                             
osgi.implementation;filter:='(osgi.implementation=osgi.http)'"
+
+-augment.org.apache.commons.fileupload: \
+       org.apache.commons.fileupload; \
+               capability:=" 
generic.dependency;generic.dependency='commons.fileupload'"
+
+-augment.org.apache.felix.gogo.command: \
+       org.apache.felix.gogo.command; \
+               capability:=" 
generic.dependency;generic.dependency='gogo.shell.command';version:Version='1.0.0'";
 \
+               version='1.0.0'
+
+-augment.org.apache.felix.gogo.shell: \
+       org.apache.felix.gogo.shell; \
+               capability:=" 
osgi.implementation;osgi.implementation='gogo.shell';version:Version='1.0.0'"; \
+               
requirement:="generic.dependency;filter:='(generic.dependency=gogo.shell.command)';effective:=active";
 \
+               version='1.0.0'
+
+-augment.org.apache.felix.gogo.jline: \
+       org.apache.felix.gogo.jline; \
+               capability:=" 
osgi.implementation;osgi.implementation='gogo.jline';version:Version='1.0.0'"; \
+               
requirement:="generic.dependency;filter:='(generic.dependency=gogo.shell.command)';effective:=active";
 \
+               version='1.0.0'
+
+-augment.org.apache.felix.log: \
+       org.apache.felix.log; \
+               capability:=" osgi.implementation;osgi.implementation=osgi.log"
+
+-augment.org.apache.felix.scr: \
+       org.apache.felix.scr; \
+               
requirement:="osgi.implementation;filter:='(osgi.implementation=osgi.metatype)'"
+
+-augment.org.eclipse.equinox.coordinator: \
+       org.eclipse.equinox.coordinator; \
+               capability:=" 
osgi.service;objectClass=org.osgi.service.coordinator.Coordinator;effective:=active,
 \
+                             
osgi.implementation;osgi.implementation=osgi.coordinator"
+
+-augment.org.eclipse.equinox.event: \
+       org.eclipse.equinox.event; \
+               capability:=" 
osgi.service;objectClass=org.osgi.service.event.EventAdmin;effective:=active, \
+                                         
osgi.implementation;osgi.implementation=osgi.event"; \
+               
requirement:="osgi.extender;filter:='(osgi.extender=osgi.component)'"
+
+-augment.org.eclipse.equinox.http.jetty: \
+       org.eclipse.equinox.http.jetty; \
+               capability:=" equinox.module.data;activation.policy=eager, \
+                                         
generic.dependency;generic.dependency='osgi.servlet.container';version:Version='1.0.0'"
+
+-augment.org.eclipse.equinox.http.servlet: \
+       org.eclipse.equinox.http.servlet; \
+               capability:=" equinox.module.data;activation.policy=eager"; \
+               
requirement:="generic.dependency;filter:='(generic.dependency=commons.fileupload)';effective:=active,\
+                             
generic.dependency;filter:='(generic.dependency=osgi.servlet.container)';effective:=active"
+
+-augment.org.knopflerfish.bundle.useradmin: \
+       org.knopflerfish.bundle.useradmin; \
+               capability:=" 
osgi.service;objectClass:List<String>=org.osgi.service.useradmin.UserAdmin;effective:=active,
 \
+                                         
osgi.implementation;osgi.implementation=osgi.useradmin"
+
+-augment.org.osgi.service.event: \
+       org.osgi.service.event; \
+               
requirement:="osgi.implementation;filter:='(osgi.implementation=osgi.event)'"
+
+-augment.org.osgi.service.metatype: \
+       org.osgi.service.metatype; \
+               
requirement:="osgi.implementation;filter:='(osgi.implementation=osgi.metatype)'"
+
+-augment.org.osgi.service.remoteserviceadmin: \
+       org.osgi.service.remoteserviceadmin; \
+               
requirement:="osgi.remoteserviceadmin.distribution;filter:='(configs=*)', \
+                             
osgi.remoteserviceadmin.topology;filter:='(policy=*)', \
+                             
osgi.remoteserviceadmin.discovery;filter:='(protocols=*)'"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.bndrun/pom.xml
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.bndrun/pom.xml 
b/org.apache.aries.jax-rs.bndrun/pom.xml
new file mode 100644
index 0000000..eecbde1
--- /dev/null
+++ b/org.apache.aries.jax-rs.bndrun/pom.xml
@@ -0,0 +1,69 @@
+<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>
+
+       <parent>
+           <groupId>org.apache.aries</groupId>
+           <artifactId>org.apache.aries.jax-rs</artifactId>
+           <version>1.0.0-SNAPSHOT</version>
+       </parent>
+
+       <artifactId>org.apache.aries.jax-rs.bndrun</artifactId>
+
+       <packaging>jar</packaging>
+
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>biz.aQute.bnd</groupId>
+                               <artifactId>bnd-export-maven-plugin</artifactId>
+                               <version>3.4.0-SNAPSHOT</version>
+                               <configuration>
+                                       <failOnChanges>false</failOnChanges>
+                                       <resolve>true</resolve>
+                                       <bndruns>
+                                               <bndrun>run.bndrun</bndrun>
+                                       </bndruns>
+                                       <targetDir>.</targetDir>
+                               </configuration>
+                       </plugin>
+               </plugins>
+       </build>
+       <dependencies>
+               <dependency>
+                       <groupId>org.apache.aries</groupId>
+                       <artifactId>org.apache.aries.jax-rs.example</artifactId>
+                       <version>1.0.0-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.aries</groupId>
+                       
<artifactId>org.apache.aries.jax-rs.extender</artifactId>
+                       <version>1.0.0-SNAPSHOT</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.felix</groupId>
+                       <artifactId>org.apache.felix.http.jetty</artifactId>
+                       <version>3.4.0</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.felix</groupId>
+                       <artifactId>org.apache.felix.gogo.command</artifactId>
+                       <version>1.0.0</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.felix</groupId>
+                       <artifactId>org.apache.felix.gogo.jline</artifactId>
+                       <version>1.0.0</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.apache.felix</groupId>
+                       <artifactId>org.apache.felix.gogo.runtime</artifactId>
+                       <version>1.0.0</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.osgi</groupId>
+                       <artifactId>osgi.enroute.pom.distro</artifactId>
+                       <version>2.0.0</version>
+               </dependency>
+       </dependencies>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.bndrun/run.bndrun
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.bndrun/run.bndrun 
b/org.apache.aries.jax-rs.bndrun/run.bndrun
new file mode 100644
index 0000000..248a200
--- /dev/null
+++ b/org.apache.aries.jax-rs.bndrun/run.bndrun
@@ -0,0 +1,52 @@
+-standalone:
+-include: ${.}/augments.bnd
+-resourceonly: true
+
+-plugin.A.pom.repo = \
+       aQute.bnd.repository.maven.pom.provider.BndPomRepository; \
+               
snapshotUrls=https://oss.sonatype.org/content/repositories/osgi/; \
+               releaseUrls=https://repo1.maven.org/maven2/; \
+               pom=${.}/pom.xml; \
+               name=pom.repo; \
+               location=${.}/target/cached.xml
+
+-runrequires: \
+       
osgi.identity;filter:='(osgi.identity=org.apache.aries.jax-rs.example)',\
+       
osgi.identity;filter:='(osgi.identity=org.apache.aries.jax-rs.extender)',\
+       osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.jline)'
+
+-runfw: 
org.eclipse.osgi;version='[3.10.100.v20150529-1857,3.10.100.v20150529-1857]'
+-runbundles: \
+       javax.annotation-api;version='[1.2.0,1.2.1)',\
+       javax.json-api;version='[1.0.0,1.0.1)',\
+       javax.ws.rs-api;version='[2.0.1,2.0.2)',\
+       log4j;version='[1.2.17,1.2.18)',\
+       org.apache.aries.jax-rs.example;version='[1.0.0,1.0.1)',\
+       org.apache.aries.jax-rs.extender;version='[1.0.0,1.0.1)',\
+       org.apache.felix.bundlerepository;version='[1.6.0,1.6.1)',\
+       org.apache.felix.configadmin;version='[1.8.8,1.8.9)',\
+       org.apache.felix.gogo.command;version='[1.0.0,1.0.1)',\
+       org.apache.felix.gogo.jline;version='[1.0.0,1.0.1)',\
+       org.apache.felix.gogo.runtime;version='[1.0.0,1.0.1)',\
+       org.apache.felix.http.api;version='[3.0.0,3.0.1)',\
+       org.apache.felix.http.jetty;version='[3.4.0,3.4.1)',\
+       org.apache.felix.http.servlet-api;version='[1.1.2,1.1.3)',\
+       org.apache.felix.scr;version='[2.0.2,2.0.3)',\
+       org.apache.ws.xmlschema.core;version='[2.2.1,2.2.2)',\
+       org.eclipse.equinox.event;version='[1.3.100,1.3.101)',\
+       org.eclipse.equinox.metatype;version='[1.4.100,1.4.101)',\
+       org.jline;version='[3.0.0,3.0.1)',\
+       org.objectweb.asm;version='[5.0.4,5.0.5)',\
+       org.osgi.compendium;version='[4.1.0,4.1.1)',\
+       org.osgi.service.event;version='[1.3.1,1.3.2)',\
+       org.osgi.service.metatype;version='[1.3.0,1.3.1)',\
+       slf4j.api;version='[1.7.21,1.7.22)',\
+       slf4j.log4j12;version='[1.6.1,1.6.2)'
+
+-runee: JavaSE-1.8
+-resolve.effective: resolve, active
+-runproperties.eqnx:                           \
+       osgi.console.enable.builtin=false, \
+       osgi.console=, \
+       org.osgi.service.http.port=8080
+-runsystemcapabilities.dflt:   ${native_capability}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/.gitignore
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.cxf-common/.gitignore 
b/org.apache.aries.jax-rs.cxf-common/.gitignore
deleted file mode 100644
index 83ccc54..0000000
--- a/org.apache.aries.jax-rs.cxf-common/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/build/
-/bin/

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/bnd.bnd
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.cxf-common/bnd.bnd 
b/org.apache.aries.jax-rs.cxf-common/bnd.bnd
deleted file mode 100644
index 53dfced..0000000
--- a/org.apache.aries.jax-rs.cxf-common/bnd.bnd
+++ /dev/null
@@ -1,55 +0,0 @@
-Bundle-Activator: 
com.liferay.portal.remote.cxf.common.activator.CXFEndpointPublisherActivator
--exportcontents:\
-    javax.json.*,\
-    javax.ws.rs.*,\
-    javax.wsdl.*,\
-       org.apache.cxf.*,\
-       org.apache.ws.commons.schema.*
-Import-Package:\
-       !com.sun.*,\
-       !com.ctc.wstx.*,\
-       !javax.validation.*,\
-       !net.sf.cglib.proxy.*,\
-       !org.apache.abdera.*,\
-       !org.apache.aries.*,\
-       !org.apache.cxf.*,\
-       !org.apache.neethi.*,\
-       !org.apache.velocity.*,\
-       !org.apache.xerces.*,\
-       !org.apache.xml.resolver.*,\
-       !org.apache.xmlbeans.*,\
-       !org.codehaus.stax2.*,\
-       !org.dom4j.*,\
-       !org.junit.*,\
-       !org.jvnet.fastinfoset.*,\
-       !org.jvnet.staxex.*,\
-       !org.osgi.service.blueprint.*,\
-       !org.relaxng.datatype.*,\
-       !org.slf4j.spi.*,\
-       !org.springframework.*,\
-       *
-Provide-Capability:\
-    osgi.contract;\
-        osgi.contract=JavaJAXRS;\
-            
uses:="javax.ws.rs,javax.ws.rs.core,javax.ws.rs.client,javax.ws.rs.container,javax.ws.rs.ext";\
-            version:Version=2,\
-    osgi.contract;\
-        osgi.contract=JavaJSONP;\
-            uses:="javax.json,javax.json.spi,javax.json.stream";\
-            version:Version=1
--includeresource:\
-       lib/cxf-core.jar=cxf-core-*.jar;lib:=true,\
-       lib/cxf-rt-bindings-soap.jar=cxf-rt-bindings-soap-*.jar;lib:=true,\
-       
lib/cxf-rt-databinding-jaxb.jar=cxf-rt-databinding-jaxb-*.jar;lib:=true,\
-    lib/cxf-rt-frontend-jaxrs.jar=cxf-rt-frontend-jaxrs-*.jar;lib:=true,\
-       
lib/cxf-rt-rs-extension-providers.jar=cxf-rt-rs-extension-providers-*.jar;lib:=true,\
-    lib/cxf-rt-transports-http.jar=cxf-rt-transports-http-*.jar;lib:=true,\
-       lib/cxf-rt-wsdl.jar=cxf-rt-wsdl-*.jar;lib:=true,\
-       lib/cxf-tools-common.jar=cxf-tools-common-*.jar;lib:=true,\
-       lib/cxf-tools-validator.jar=cxf-tools-validator-*.jar;lib:=true,\
-       lib/javax.annotation-api.jar=javax.annotation-api-*.jar;lib:=true,\
-    lib/javax.json-api.jar=javax.json-api-*.jar;lib:=true,\
-    lib/javax.ws.rs-api.jar=javax.ws.rs-api-*.jar;lib:=true,\
-    lib/jettison.jar=jettison-*.jar;lib:=true,\
-       lib/wsdl4j.jar=wsdl4j-*.jar;lib:=true,\
-       lib/xmlschema-core.jar=xmlschema-core-*.jar;lib:=true

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/pom.xml
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.cxf-common/pom.xml 
b/org.apache.aries.jax-rs.cxf-common/pom.xml
deleted file mode 100644
index 747c0a8..0000000
--- a/org.apache.aries.jax-rs.cxf-common/pom.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<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>
-    <parent>
-        <groupId>org.apache.aries</groupId>
-        <artifactId>org.apache.aries.jax-rs</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-    <artifactId>org.apache.aries.jax-rs.cxf-common</artifactId>
-    <packaging>jar</packaging>
-    <description>Aries Repackaging of CXF Common Jars</description>
-    <dependencies>
-        <dependency>
-            <groupId>biz.aQute.bnd</groupId>
-            <artifactId>biz.aQute.bndlib</artifactId>
-            <version>3.1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.annotation</groupId>
-            <artifactId>javax.annotation-api</artifactId>
-            <version>1.2</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.json</groupId>
-            <artifactId>javax.json-api</artifactId>
-            <version>1.0</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>javax.servlet-api</artifactId>
-            <version>3.0.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-bindings-soap</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-databinding-jaxb</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-rs-extension-providers</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-transports-http</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-wsdl</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-tools-common</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-tools-validator</artifactId>
-            <version>3.1.7</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.felix</groupId>
-            <artifactId>org.apache.felix.dependencymanager</artifactId>
-            <version>3.2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jettison</groupId>
-            <artifactId>jettison</artifactId>
-            <version>1.3.8</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.woodstox</groupId>
-            <artifactId>stax2-api</artifactId>
-            <version>3.1.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.woodstox</groupId>
-            <artifactId>woodstox-core-asl</artifactId>
-            <version>4.4.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.core</artifactId>
-            <version>6.0.0</version>
-        </dependency>
-               <dependency>
-            <groupId>org.osgi</groupId>
-            <artifactId>org.osgi.service.http.whiteboard</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-               <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.2</version>
-        </dependency>
-        <dependency>
-            <groupId>wsdl4j</groupId>
-            <artifactId>wsdl4j</artifactId>
-            <version>1.6.3</version>
-        </dependency>
-    </dependencies>
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/ServicesRegistrator.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/ServicesRegistrator.java
 
b/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/ServicesRegistrator.java
deleted file mode 100644
index 8169e78..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/ServicesRegistrator.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
- * <p>
- * This library is free software; you can redistribute it and/or modify it 
under
- * the terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- * <p>
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- */
-
-package com.liferay.portal.remote.cxf.common;
-
-import org.apache.cxf.Bus;
-import org.apache.cxf.bus.CXFBusFactory;
-import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.http.context.ServletContextHelper;
-import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.servlet.Servlet;
-import java.util.Dictionary;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Map;
-
-/**
- * @author Carlos Sierra Andrés
- */
-public class ServicesRegistrator {
-
-       public ServicesRegistrator(
-               BundleContext bundleContext, Map<String, Object> properties) {
-
-               _bundleContext = bundleContext;
-
-               _properties = properties;
-       }
-
-       public void start() {
-               Dictionary<String, Object> properties = new Hashtable<>();
-
-               Object contextPathObject = _properties.get("contextPath");
-
-               String contextPath = contextPathObject.toString();
-
-               String contextName = contextPath.substring(1);
-
-               contextName = contextName.replace("/", ".");
-
-               properties.put(
-                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME,
-                       contextName);
-               properties.put(
-                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH,
-                       contextPath);
-
-               _servletContextHelperServiceRegistration =
-                       _bundleContext.registerService(
-                               ServletContextHelper.class,
-                               new 
ServletContextHelper(_bundleContext.getBundle()) {
-                               },
-                               properties);
-
-               CXFNonSpringServlet cxfNonSpringServlet = new 
CXFNonSpringServlet();
-
-               CXFBusFactory cxfBusFactory =
-                       (CXFBusFactory) CXFBusFactory.newInstance(
-                               CXFBusFactory.class.getName());
-
-               Bus bus = cxfBusFactory.createBus();
-
-               properties = new Hashtable<>();
-
-               properties.put(
-                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT,
-                       "(osgi.http.whiteboard.context.name=" + contextName + 
")");
-               properties.put(
-                       HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME,
-                       CXFNonSpringServlet.class.getName());
-               properties.put(
-                       
HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/*");
-
-               cxfNonSpringServlet.setBus(bus);
-
-               _servletServiceRegistration = _bundleContext.registerService(
-                       Servlet.class, cxfNonSpringServlet, properties);
-
-               properties = new Hashtable<>();
-
-               properties.put(
-                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH,
-                       contextPath);
-
-               _busServiceRegistration = _bundleContext.registerService(
-                       Bus.class, bus, properties);
-       }
-
-       public void stop() {
-               try {
-                       _busServiceRegistration.unregister();
-               }
-               catch (Exception e) {
-                       if (_logger.isWarnEnabled()) {
-                               _logger.warn(
-                                       "Unable to unregister CXF bus service 
registration " +
-                                               _busServiceRegistration);
-                       }
-               }
-
-               try {
-                       _servletServiceRegistration.unregister();
-               }
-               catch (Exception e) {
-                       if (_logger.isWarnEnabled()) {
-                               _logger.warn(
-                                       "Unable to unregister servlet service 
registration " +
-                                               _servletServiceRegistration);
-                       }
-               }
-
-               try {
-                       _servletContextHelperServiceRegistration.unregister();
-               }
-               catch (Exception e) {
-                       if (_logger.isWarnEnabled()) {
-                               _logger.warn(
-                                       "Unable to unregister servlet context 
helper service " +
-                                               "registration " +
-                                               
_servletContextHelperServiceRegistration);
-                       }
-               }
-       }
-
-       private static final Logger _logger = LoggerFactory.getLogger(
-               ServicesRegistrator.class);
-
-       private final BundleContext _bundleContext;
-       private ServiceRegistration<Bus> _busServiceRegistration;
-       private final Map<String, Object> _properties;
-       private ServiceRegistration<ServletContextHelper>
-               _servletContextHelperServiceRegistration;
-       private ServiceRegistration<Servlet> _servletServiceRegistration;
-
-}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/activator/CXFEndpointPublisherActivator.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/activator/CXFEndpointPublisherActivator.java
 
b/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/activator/CXFEndpointPublisherActivator.java
deleted file mode 100644
index df299db..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/java/com/liferay/portal/remote/cxf/common/activator/CXFEndpointPublisherActivator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or modify it 
under
- * the terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- */
-
-package com.liferay.portal.remote.cxf.common.activator;
-
-import com.liferay.portal.remote.cxf.common.ServicesRegistrator;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-import java.util.HashMap;
-
-/**
- * @author Carlos Sierra Andrés
- */
-public class CXFEndpointPublisherActivator implements BundleActivator {
-
-       private ServicesRegistrator _servicesRegistrator;
-
-       @Override
-       public void start(BundleContext bundleContext) throws Exception {
-               HashMap<String, Object> properties = new HashMap<String, 
Object>() {{
-                       put("contextPath", "/cxf");
-               }};
-
-               _servicesRegistrator = new ServicesRegistrator(
-                       bundleContext, properties);
-
-               _servicesRegistrator.start();
-       }
-
-       @Override
-       public void stop(BundleContext context) throws Exception {
-               _servicesRegistrator.stop();
-       }
-}
-

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language.properties
deleted file mode 100644
index 12dd09d..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ar.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ar.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ar.properties
deleted file mode 100644
index 1e2a617..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ar.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=نقاط النهاية CXF (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_bg.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_bg.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_bg.properties
deleted file mode 100644
index 64113eb..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_bg.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF крайни точки (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ca.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ca.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ca.properties
deleted file mode 100644
index d434f12..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ca.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Punts finals CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_cs.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_cs.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_cs.properties
deleted file mode 100644
index d6e9761..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_cs.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF koncové body (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_da.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_da.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_da.properties
deleted file mode 100644
index c97e7ad..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_da.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF slutpunkter (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_de.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_de.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_de.properties
deleted file mode 100644
index 12dd09d..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_de.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_el.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_el.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_el.properties
deleted file mode 100644
index 62c364f..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_el.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF απολήξεις (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_en.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_en.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_en.properties
deleted file mode 100644
index 12dd09d..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_en.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_es.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_es.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_es.properties
deleted file mode 100644
index a7da044..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_es.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Puntos finales CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_et.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_et.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_et.properties
deleted file mode 100644
index 50810e0..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_et.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF lõpp (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_eu.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_eu.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_eu.properties
deleted file mode 100644
index b79f51c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_eu.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fa.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fa.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fa.properties
deleted file mode 100644
index a344c54..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fa.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=نقطه پایانی CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fi.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fi.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fi.properties
deleted file mode 100644
index 513c688..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fi.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF-päätepisteet
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fr.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fr.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fr.properties
deleted file mode 100644
index 079f60e..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_fr.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Extrémités CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_gl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_gl.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_gl.properties
deleted file mode 100644
index b79f51c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_gl.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hi_IN.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hi_IN.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hi_IN.properties
deleted file mode 100644
index bce7eb1..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hi_IN.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF अंतिमबिंदु (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hr.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hr.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hr.properties
deleted file mode 100644
index b79f51c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hr.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hu.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hu.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hu.properties
deleted file mode 100644
index f529f91..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_hu.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF végpontok
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_in.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_in.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_in.properties
deleted file mode 100644
index 6b2166f..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_in.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoint (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_it.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_it.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_it.properties
deleted file mode 100644
index 9792228..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_it.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Endpoint CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_iw.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_iw.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_iw.properties
deleted file mode 100644
index 709f990..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_iw.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=נקודות קצה CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ja.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ja.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ja.properties
deleted file mode 100644
index 6227a00..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ja.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF エンドポイント
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ko.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ko.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ko.properties
deleted file mode 100644
index 0ec8433..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ko.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF 끝점 (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lo.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lo.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lo.properties
deleted file mode 100644
index b79f51c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lo.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lt.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lt.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lt.properties
deleted file mode 100644
index c22d773..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_lt.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF importas galiniai punktai (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nb.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nb.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nb.properties
deleted file mode 100644
index 034a23f..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nb.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF endepunkt (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl.properties
deleted file mode 100644
index eef886c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF-endpoints
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl_BE.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl_BE.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl_BE.properties
deleted file mode 100644
index f517012..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_nl_BE.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF eindpunten (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pl.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pl.properties
deleted file mode 100644
index f755610..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pl.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF'A końcowe (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_BR.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_BR.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_BR.properties
deleted file mode 100644
index bd24788..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_BR.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Terminais CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_PT.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_PT.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_PT.properties
deleted file mode 100644
index bd24788..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_pt_PT.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Terminais CXF
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ro.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ro.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ro.properties
deleted file mode 100644
index ae28733..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ro.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF obiective (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ru.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ru.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ru.properties
deleted file mode 100644
index 6e3bb27..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_ru.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF конечные точки (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sk.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sk.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sk.properties
deleted file mode 100644
index d6e9761..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sk.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF koncové body (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sl.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sl.properties
deleted file mode 100644
index 2706ade..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sl.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Končne točke CXF (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS.properties
deleted file mode 100644
index b79f51c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS_latin.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS_latin.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS_latin.properties
deleted file mode 100644
index b79f51c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sr_RS_latin.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF Endpoints (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sv.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sv.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sv.properties
deleted file mode 100644
index ccbfe3c..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_sv.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF ändpunkter (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_tr.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_tr.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_tr.properties
deleted file mode 100644
index ecc09cc..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_tr.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF bitiş noktaları (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_uk.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_uk.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_uk.properties
deleted file mode 100644
index 8de2199..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_uk.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Цього ОПИСУ кінцевих 
точок (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_vi.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_vi.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_vi.properties
deleted file mode 100644
index 2bfeb99..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_vi.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=Hai điểm cuối CXF (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_CN.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_CN.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_CN.properties
deleted file mode 100644
index 9b60693..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_CN.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF终结点
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_TW.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_TW.properties
 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_TW.properties
deleted file mode 100644
index c287f7f..0000000
--- 
a/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_TW.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=CXF 終結點 (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/.gitignore
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.extender/.gitignore 
b/org.apache.aries.jax-rs.extender/.gitignore
new file mode 100644
index 0000000..83ccc54
--- /dev/null
+++ b/org.apache.aries.jax-rs.extender/.gitignore
@@ -0,0 +1,2 @@
+/build/
+/bin/

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/bnd.bnd
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.extender/bnd.bnd 
b/org.apache.aries.jax-rs.extender/bnd.bnd
new file mode 100644
index 0000000..1e44d09
--- /dev/null
+++ b/org.apache.aries.jax-rs.extender/bnd.bnd
@@ -0,0 +1,58 @@
+Bundle-Activator: 
com.liferay.portal.remote.rest.extender.activator.CXFJaxRsBundleActivator
+Provide-Capability: \
+    osgi.extender; \
+        osgi.extender='aries.jax-rs'; \
+               version:Version='1.0.0'
+Import-Package:\
+       !com.sun.*,\
+       !com.ctc.wstx.*,\
+       !javax.imageio.*,\
+       !javax.jws.*,\
+       !javax.net.*,\
+       !javax.security.*,\
+       !javax.tools.*,\
+       !javax.validation.*,\
+       !javax.wsdl.*,\
+       !net.sf.cglib.proxy.*,\
+       !org.apache.abdera.*,\
+       !org.apache.aries.*,\
+       !org.apache.cxf.*,\
+       !org.apache.neethi.*,\
+       !org.apache.velocity.*,\
+       !org.apache.xerces.*,\
+       !org.apache.xml.resolver.*,\
+       !org.apache.xmlbeans.*,\
+       !org.codehaus.stax2.*,\
+       !org.dom4j.*,\
+       !org.junit.*,\
+       !org.jvnet.fastinfoset.*,\
+       !org.jvnet.staxex.*,\
+       !org.ietf.jgss.*,\
+       !org.osgi.service.blueprint.*,\
+       !org.relaxng.datatype.*,\
+       !org.slf4j.spi.*,\
+       !org.springframework.*,\
+       *
+
+#Provide-Capability:\
+#    osgi.contract;\
+#        osgi.contract=JavaJAXRS;\
+#            
uses:="javax.ws.rs,javax.ws.rs.core,javax.ws.rs.client,javax.ws.rs.container,javax.ws.rs.ext";\
+#            version:Version=2,\
+#    osgi.contract;\
+#        osgi.contract=JavaJSONP;\
+#            uses:="javax.json,javax.json.spi,javax.json.stream";\
+#            version:Version=1
+
+#-exportcontents:\
+#      org.apache.cxf.jaxrs.ext.*
+
+-includeresource:\
+       lib/cxf-core.jar=cxf-core-*.jar;lib:=true,\
+       
lib/cxf-rt-databinding-jaxb.jar=cxf-rt-databinding-jaxb-*.jar;lib:=true,\
+    lib/cxf-rt-frontend-jaxrs.jar=cxf-rt-frontend-jaxrs-*.jar;lib:=true,\
+       
lib/cxf-rt-rs-extension-providers.jar=cxf-rt-rs-extension-providers-*.jar;lib:=true,\
+    lib/cxf-rt-transports-http.jar=cxf-rt-transports-http-*.jar;lib:=true,\
+       lib/cxf-tools-common.jar=cxf-tools-common-*.jar;lib:=true,\
+       lib/cxf-tools-validator.jar=cxf-tools-validator-*.jar;lib:=true,\
+    lib/jettison.jar=jettison-*.jar;lib:=true
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/pom.xml
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.extender/pom.xml 
b/org.apache.aries.jax-rs.extender/pom.xml
new file mode 100644
index 0000000..2e756de
--- /dev/null
+++ b/org.apache.aries.jax-rs.extender/pom.xml
@@ -0,0 +1,82 @@
+<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>
+    <parent>
+        <groupId>org.apache.aries</groupId>
+        <artifactId>org.apache.aries.jax-rs</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>org.apache.aries.jax-rs.extender</artifactId>
+    <packaging>jar</packaging>
+    <description>Aries JAX-RS Extender</description>
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>3.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-databinding-jaxb</artifactId>
+            <version>3.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-rs-extension-providers</artifactId>
+            <version>3.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+            <version>3.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-transports-http</artifactId>
+            <version>3.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-tools-common</artifactId>
+            <version>3.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-tools-validator</artifactId>
+            <version>3.1.7</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jettison</groupId>
+            <artifactId>jettison</artifactId>
+            <version>1.3.8</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.annotation</artifactId>
+            <version>6.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <version>5.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.compendium</artifactId>
+            <version>5.0.0</version>
+        </dependency>
+               <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.http.api</artifactId>
+            <version>3.0.0</version>
+        </dependency>
+               <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>1.7.2</version>
+        </dependency>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
new file mode 100644
index 0000000..f3203b0
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it 
under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+
+package com.liferay.portal.remote.rest.extender.activator;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import javax.ws.rs.ext.RuntimeDelegate;
+
+import org.apache.cxf.Bus;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.util.tracker.ServiceTracker;
+
+import 
com.liferay.portal.remote.rest.extender.internal.BusServiceTrackerCustomizer;
+import 
com.liferay.portal.remote.rest.extender.internal.ServicesServiceTrackerCustomizer;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class CXFJaxRsBundleActivator implements BundleActivator {
+
+       private ServiceTracker<?, ?> _busServiceTracker;
+       private ServiceTracker<?, ?> _singletonsTracker;
+       private ServicesRegistrator _servicesRegistrator;
+
+       @Override
+       public void start(BundleContext bundleContext) throws Exception {
+               Thread thread = Thread.currentThread();
+
+               ClassLoader contextClassLoader = thread.getContextClassLoader();
+
+               Bundle bundle = bundleContext.getBundle();
+
+               BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
+
+               thread.setContextClassLoader(bundleWiring.getClassLoader());
+
+               try {
+
+                       // Initialize instance so it is never looked up again
+
+                       RuntimeDelegate.getInstance();
+               }
+               finally {
+                       thread.setContextClassLoader(contextClassLoader);
+               }
+
+               Dictionary<String, Object> runtimeProperties = new 
Hashtable<>();
+
+               runtimeProperties.put("endpoints", new ArrayList<String>());
+
+               // TODO make the context path of the JAX-RS Whiteboard 
configurable.
+
+               _servicesRegistrator = new ServicesRegistrator(
+                       bundleContext, Collections.singletonMap("contextPath", 
"/"));
+
+               _servicesRegistrator.start();
+
+               _busServiceTracker = new ServiceTracker<>(
+                       bundleContext, Bus.class,
+                       new BusServiceTrackerCustomizer(bundleContext));
+
+               _busServiceTracker.open();
+
+               Filter filter = bundleContext.createFilter(
+                       "(jaxrs.application.select=*)");
+
+               _singletonsTracker = new ServiceTracker<>(
+                       bundleContext, filter,
+                       new ServicesServiceTrackerCustomizer(bundleContext));
+
+               _singletonsTracker.open();
+       }
+
+       @Override
+       public void stop(BundleContext context) throws Exception {
+               _busServiceTracker.close();
+
+               _singletonsTracker.close();
+
+               _servicesRegistrator.stop();
+       }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/ServicesRegistrator.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/ServicesRegistrator.java
 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/ServicesRegistrator.java
new file mode 100644
index 0000000..83c802a
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/ServicesRegistrator.java
@@ -0,0 +1,151 @@
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ * <p>
+ * This library is free software; you can redistribute it and/or modify it 
under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * <p>
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+
+package com.liferay.portal.remote.rest.extender.activator;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.bus.CXFBusFactory;
+import org.apache.cxf.transport.servlet.CXFNonSpringServlet;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.http.context.ServletContextHelper;
+import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.Servlet;
+import java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class ServicesRegistrator {
+
+       public ServicesRegistrator(
+               BundleContext bundleContext, Map<String, Object> properties) {
+
+               _bundleContext = bundleContext;
+
+               _properties = properties;
+       }
+
+       public void start() {
+               Dictionary<String, Object> properties = new Hashtable<>();
+
+               Object contextPathObject = _properties.get("contextPath");
+
+               String contextPath = contextPathObject.toString();
+
+               String contextName = contextPath.substring(1);
+
+               contextName = contextName.replace("/", ".");
+
+               properties.put(
+                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME,
+                       contextName);
+               properties.put(
+                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH,
+                       contextPath);
+
+               _servletContextHelperServiceRegistration =
+                       _bundleContext.registerService(
+                               ServletContextHelper.class,
+                               new 
ServletContextHelper(_bundleContext.getBundle()) {
+                               },
+                               properties);
+
+               CXFNonSpringServlet cxfNonSpringServlet = new 
CXFNonSpringServlet();
+
+               CXFBusFactory cxfBusFactory =
+                       (CXFBusFactory) CXFBusFactory.newInstance(
+                               CXFBusFactory.class.getName());
+
+               Bus bus = cxfBusFactory.createBus();
+
+               properties = new Hashtable<>();
+
+               properties.put(
+                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT,
+                       "(osgi.http.whiteboard.context.name=" + contextName + 
")");
+               properties.put(
+                       HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME,
+                       CXFNonSpringServlet.class.getName());
+               properties.put(
+                       
HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/*");
+
+               cxfNonSpringServlet.setBus(bus);
+
+               _servletServiceRegistration = _bundleContext.registerService(
+                       Servlet.class, cxfNonSpringServlet, properties);
+
+               properties = new Hashtable<>();
+
+               properties.put(
+                       HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH,
+                       contextPath);
+
+               _busServiceRegistration = _bundleContext.registerService(
+                       Bus.class, bus, properties);
+       }
+
+       public void stop() {
+               try {
+                       _busServiceRegistration.unregister();
+               }
+               catch (Exception e) {
+                       if (_logger.isWarnEnabled()) {
+                               _logger.warn(
+                                       "Unable to unregister CXF bus service 
registration " +
+                                               _busServiceRegistration);
+                       }
+               }
+
+               try {
+                       _servletServiceRegistration.unregister();
+               }
+               catch (Exception e) {
+                       if (_logger.isWarnEnabled()) {
+                               _logger.warn(
+                                       "Unable to unregister servlet service 
registration " +
+                                               _servletServiceRegistration);
+                       }
+               }
+
+               try {
+                       _servletContextHelperServiceRegistration.unregister();
+               }
+               catch (Exception e) {
+                       if (_logger.isWarnEnabled()) {
+                               _logger.warn(
+                                       "Unable to unregister servlet context 
helper service " +
+                                               "registration " +
+                                               
_servletContextHelperServiceRegistration);
+                       }
+               }
+       }
+
+       private static final Logger _logger = LoggerFactory.getLogger(
+               ServicesRegistrator.class);
+
+       private final BundleContext _bundleContext;
+       private ServiceRegistration<Bus> _busServiceRegistration;
+       private final Map<String, Object> _properties;
+       private ServiceRegistration<ServletContextHelper>
+               _servletContextHelperServiceRegistration;
+       private ServiceRegistration<Servlet> _servletServiceRegistration;
+
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/AddonsServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/AddonsServiceTrackerCustomizer.java
 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/AddonsServiceTrackerCustomizer.java
new file mode 100644
index 0000000..8900ded
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/AddonsServiceTrackerCustomizer.java
@@ -0,0 +1,102 @@
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ * <p>
+ * This library is free software; you can redistribute it and/or modify it 
under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * <p>
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+
+package com.liferay.portal.remote.rest.extender.internal;
+
+import 
com.liferay.portal.remote.rest.extender.internal.CXFJaxRsServiceRegistrator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+import javax.ws.rs.ext.Provider;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class AddonsServiceTrackerCustomizer
+       implements ServiceTrackerCustomizer<CXFJaxRsServiceRegistrator, 
CXFJaxRsServiceRegistrator> {
+
+       private final BundleContext _bundleContext;
+       private final ClassLoader _classLoader;
+       private final Class<?> _serviceClass;
+       private final Object _service;
+
+       public AddonsServiceTrackerCustomizer(
+               BundleContext bundleContext, ClassLoader classLoader,
+               Object service) {
+
+               _bundleContext = bundleContext;
+               _classLoader = classLoader;
+               _service = service;
+
+               _serviceClass = service.getClass();
+       }
+
+       @Override
+       public CXFJaxRsServiceRegistrator addingService(
+               ServiceReference<CXFJaxRsServiceRegistrator> reference) {
+
+               Thread thread = Thread.currentThread();
+
+               ClassLoader contextClassLoader =
+                       thread.getContextClassLoader();
+
+               CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator =
+                       _bundleContext.getService(reference);
+
+               try {
+                       thread.setContextClassLoader(_classLoader);
+
+                       if (_serviceClass.isAnnotationPresent(Provider.class)) {
+                               
cxfJaxRsServiceRegistrator.addProvider(_service);
+                       } else {
+                               cxfJaxRsServiceRegistrator.addService(_service);
+                       }
+
+                       return cxfJaxRsServiceRegistrator;
+               }
+               catch (Exception e) {
+                       _bundleContext.ungetService(reference);
+
+                       throw e;
+               }
+               finally {
+                       thread.setContextClassLoader(contextClassLoader);
+               }
+       }
+
+       @Override
+       public void modifiedService(
+               ServiceReference<CXFJaxRsServiceRegistrator> reference,
+               CXFJaxRsServiceRegistrator registrator) {
+
+               removedService(reference, registrator);
+
+               addingService(reference);
+       }
+
+       @Override
+       public void removedService(
+               ServiceReference<CXFJaxRsServiceRegistrator> reference,
+               CXFJaxRsServiceRegistrator registrator) {
+
+               if (_serviceClass.isAnnotationPresent(Provider.class)) {
+                       registrator.removeProvider(_service);
+               } else {
+                       registrator.removeService(_service);
+               }
+
+               _bundleContext.ungetService(reference);
+       }
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
new file mode 100644
index 0000000..8296683
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
@@ -0,0 +1,141 @@
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ * <p>
+ * This library is free software; you can redistribute it and/or modify it 
under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * <p>
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+
+package com.liferay.portal.remote.rest.extender.internal;
+
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+import javax.ws.rs.core.Application;
+
+import org.apache.cxf.Bus;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+class ApplicationServiceTrackerCustomizer
+       implements ServiceTrackerCustomizer
+               <Application, ApplicationServiceTrackerCustomizer.Tracked> {
+
+       private BundleContext _bundleContext;
+       private Bus _bus;
+
+       public ApplicationServiceTrackerCustomizer(
+               BundleContext bundleContext, Bus bus) {
+
+               _bundleContext = bundleContext;
+               _bus = bus;
+       }
+
+       @Override
+       public Tracked addingService(
+               ServiceReference<Application> serviceReference) {
+
+               Application application = _bundleContext.getService(
+                       serviceReference);
+
+               try {
+                       String[] propertyKeys = 
serviceReference.getPropertyKeys();
+
+                       Map<String, Object> properties = new HashMap<>(
+                               propertyKeys.length);
+
+                       for (String propertyKey : propertyKeys) {
+                               properties.put(
+                                       propertyKey, 
serviceReference.getProperty(propertyKey));
+                       }
+
+                       properties.put(
+                               "CXF_ENDPOINT_ADDRESS",
+                               
serviceReference.getProperty("osgi.jaxrs.application.base").
+                                       toString());
+
+                       CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator =
+                               new CXFJaxRsServiceRegistrator(_bus, 
application, properties);
+
+                       return new Tracked(
+                               cxfJaxRsServiceRegistrator, application,
+                               _bundleContext.registerService(
+                                       CXFJaxRsServiceRegistrator.class,
+                                       cxfJaxRsServiceRegistrator, new 
Hashtable<>(properties)));
+               }
+               catch (Throwable e) {
+                       _bundleContext.ungetService(serviceReference);
+
+                       throw e;
+               }
+       }
+
+       @Override
+       public void modifiedService(
+               ServiceReference<Application> serviceReference, Tracked 
tracked) {
+
+               removedService(serviceReference, tracked);
+
+               addingService(serviceReference);
+       }
+
+       @Override
+       public void removedService(
+               ServiceReference<Application> reference, Tracked tracked) {
+
+               _bundleContext.ungetService(reference);
+
+               tracked.getCxfJaxRsServiceRegistrator().close();
+
+               
tracked.getCxfJaxRsServiceRegistratorServiceRegistration().unregister();
+       }
+
+       public static class Tracked {
+
+               private final CXFJaxRsServiceRegistrator 
_cxfJaxRsServiceRegistrator;
+               private final Application _application;
+               private final ServiceRegistration<CXFJaxRsServiceRegistrator>
+                       _cxfJaxRsServiceRegistratorServiceRegistration;
+
+               public Application getApplication() {
+                       return _application;
+               }
+
+               public CXFJaxRsServiceRegistrator 
getCxfJaxRsServiceRegistrator() {
+                       return _cxfJaxRsServiceRegistrator;
+               }
+
+               public ServiceRegistration<CXFJaxRsServiceRegistrator>
+                       getCxfJaxRsServiceRegistratorServiceRegistration() {
+
+                       return _cxfJaxRsServiceRegistratorServiceRegistration;
+               }
+
+               public Tracked(
+                       CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator,
+                       Application application,
+                       ServiceRegistration<CXFJaxRsServiceRegistrator>
+                               cxfJaxRsServiceRegistratorServiceRegistration) {
+
+                       _cxfJaxRsServiceRegistrator = 
cxfJaxRsServiceRegistrator;
+                       _application = application;
+                       _cxfJaxRsServiceRegistratorServiceRegistration =
+                               cxfJaxRsServiceRegistratorServiceRegistration;
+               }
+
+       }
+}
+
+

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/17c51be0/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
new file mode 100644
index 0000000..ba15c1e
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
@@ -0,0 +1,117 @@
+/**
+ * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
+ * <p>
+ * This library is free software; you can redistribute it and/or modify it 
under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ * <p>
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+
+package com.liferay.portal.remote.rest.extender.internal;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+import javax.ws.rs.core.Application;
+
+import org.apache.cxf.Bus;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class BusServiceTrackerCustomizer
+       implements ServiceTrackerCustomizer<Bus, Collection<ServiceTracker<?, 
?>>> {
+
+       private BundleContext _bundleContext;
+
+       public BusServiceTrackerCustomizer(BundleContext bundleContext) {
+               _bundleContext = bundleContext;
+       }
+
+       @Override
+       public Collection<ServiceTracker<?, ?>>
+       addingService(ServiceReference<Bus> serviceReference) {
+
+               Bus bus = _bundleContext.getService(serviceReference);
+
+               try {
+                       ServiceTracker<Application,?> applicationTracker =
+                               new ServiceTracker<>(_bundleContext, 
getApplicationFilter(),
+                                       new ApplicationServiceTrackerCustomizer(
+                                               _bundleContext, bus));
+
+                       applicationTracker.open();
+
+                       ServiceTracker<Object, ?> singletonsServiceTracker =
+                               new ServiceTracker<>(_bundleContext, 
getSingletonsFilter(),
+                                       new 
SingletonServiceTrackerCustomizer(_bundleContext, bus));
+
+                       singletonsServiceTracker.open();
+
+                       ServiceTracker<Object, ?> 
filtersAndInterceptorsServiceTracker =
+                               new ServiceTracker<>(_bundleContext, 
getFiltersFilter(),
+                                       new 
FiltersAndInterceptorsServiceTrackerCustomizer(
+                                               _bundleContext));
+
+                       filtersAndInterceptorsServiceTracker.open();
+
+                       return Arrays.asList(applicationTracker, 
singletonsServiceTracker, filtersAndInterceptorsServiceTracker);
+               }
+               catch (InvalidSyntaxException ise) {
+                       throw new RuntimeException(ise);
+               }
+               catch (Exception e) {
+                       _bundleContext.ungetService(serviceReference);
+
+                       throw e;
+               }
+       }
+
+       private Filter getFiltersFilter() throws InvalidSyntaxException {
+               return 
_bundleContext.createFilter("(osgi.jaxrs.filter.base=*)");
+       }
+
+       private Filter getApplicationFilter() throws InvalidSyntaxException {
+               return _bundleContext.createFilter(
+                       "(&(objectClass=" + Application.class.getName() + ")" +
+                               "(osgi.jaxrs.application.base=*))");
+       }
+
+       private Filter getSingletonsFilter() throws InvalidSyntaxException {
+               return 
_bundleContext.createFilter("(osgi.jaxrs.resource.base=*)");
+       }
+
+       @Override
+       public void modifiedService(
+               ServiceReference<Bus> reference,
+               Collection<ServiceTracker<?, ?>> serviceTrackers) {
+
+               removedService(reference, serviceTrackers);
+
+               addingService(reference);
+       }
+
+       @Override
+       public void removedService(
+               ServiceReference<Bus> serviceReference,
+               Collection<ServiceTracker<?, ?>> serviceTrackers) {
+
+               _bundleContext.ungetService(serviceReference);
+
+               for (ServiceTracker<?, ?> serviceTracker : serviceTrackers) {
+                       serviceTracker.close();
+               }
+       }
+
+}

Reply via email to