http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/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
new file mode 100644
index 0000000..c287f7f
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.cxf-common/src/main/resources/content/Language_zh_TW.properties
@@ -0,0 +1 @@
+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/c7de7755/org.apache.aries.jax-rs.example/.gitignore
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.example/.gitignore 
b/org.apache.aries.jax-rs.example/.gitignore
new file mode 100644
index 0000000..83ccc54
--- /dev/null
+++ b/org.apache.aries.jax-rs.example/.gitignore
@@ -0,0 +1,2 @@
+/build/
+/bin/

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.jax-rs.example/pom.xml
----------------------------------------------------------------------
diff --git a/org.apache.aries.jax-rs.example/pom.xml 
b/org.apache.aries.jax-rs.example/pom.xml
new file mode 100644
index 0000000..252a6ba
--- /dev/null
+++ b/org.apache.aries.jax-rs.example/pom.xml
@@ -0,0 +1,27 @@
+<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>com.liferay.portal.rest.example</artifactId>
+    <packaging>jar</packaging>
+    <description>REST Example</description>
+    <dependencies>
+        <dependency>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>2.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+            <version>1.3.0</version>
+        </dependency>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleAddon.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleAddon.java
 
b/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleAddon.java
new file mode 100644
index 0000000..5431e76
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleAddon.java
@@ -0,0 +1,50 @@
+/**
+ * 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.rest.example;
+
+import org.osgi.service.component.annotations.Component;
+
+import javax.annotation.PostConstruct;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.UriInfo;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+@Component(
+       immediate = true,
+       property = "osgi.jaxrs.resource.base=/examples/example-addon",
+       service = ExampleAddon.class
+)
+public class ExampleAddon {
+
+       @GET
+       @Path("/{name}")
+       public String sayHello(@PathParam("name") String name) {
+               return "Hello " + name;
+       }
+
+       @PostConstruct
+       public void init() {
+               System.out.println("URIINFO: " + _uriInfo);
+       }
+
+       @Context
+       UriInfo _uriInfo;
+
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleApplication.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleApplication.java
 
b/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleApplication.java
new file mode 100644
index 0000000..25234b2
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleApplication.java
@@ -0,0 +1,46 @@
+/**
+ * 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.rest.example;
+
+import org.osgi.service.component.annotations.Component;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Application;
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+@Component(
+       immediate = true,
+       property = "osgi.jaxrs.application.base=/example-application",
+       service = Application.class
+)
+public class ExampleApplication extends Application {
+
+       @Override
+       public Set<Object> getSingletons() {
+               return Collections.<Object>singleton(this);
+       }
+
+       @GET
+       @Produces("text/plain")
+       public String sayHello() {
+               return "Hello world";
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleFilter.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleFilter.java
 
b/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleFilter.java
new file mode 100644
index 0000000..c2e89ac
--- /dev/null
+++ 
b/org.apache.aries.jax-rs.example/src/main/java/com/liferay/portal/rest/example/ExampleFilter.java
@@ -0,0 +1,44 @@
+/**
+ * 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.rest.example;
+
+import org.osgi.service.component.annotations.Component;
+
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ContainerRequestFilter;
+import javax.ws.rs.ext.Provider;
+import java.io.IOException;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+@Component(
+       immediate = true,
+       property = {
+               
"jaxrs.application.select=(component.name=com.liferay.portal.rest.example.ExampleApplication)",
+               "osgi.jaxrs.filter.base=/examples"
+       }
+)
+@Provider
+public class ExampleFilter implements ContainerRequestFilter {
+
+       @Override
+       public void filter(ContainerRequestContext requestContext)
+               throws IOException {
+
+               System.out.println("FILTERED!");
+       }
+
+}

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

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/bnd.bnd
----------------------------------------------------------------------
diff --git a/org.apache.aries.rest.extender/bnd.bnd 
b/org.apache.aries.rest.extender/bnd.bnd
new file mode 100644
index 0000000..d03d478
--- /dev/null
+++ b/org.apache.aries.rest.extender/bnd.bnd
@@ -0,0 +1,5 @@
+Bundle-Activator: 
com.liferay.portal.remote.rest.extender.activator.CXFJaxRsBundleActivator
+Provide-Capability: \
+    osgi.extender; \
+        osgi.extender='aries.jax-rs'; \
+               version:Version='1.0.0'
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/pom.xml
----------------------------------------------------------------------
diff --git a/org.apache.aries.rest.extender/pom.xml 
b/org.apache.aries.rest.extender/pom.xml
new file mode 100644
index 0000000..5952b5a
--- /dev/null
+++ b/org.apache.aries.rest.extender/pom.xml
@@ -0,0 +1,67 @@
+<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.rest.extender</artifactId>
+    <packaging>jar</packaging>
+    <description>Aries JAX-RS Extender</description>
+    <dependencies>
+        <dependency>
+            <groupId>biz.aQute.bnd</groupId>
+            <artifactId>biz.aQute.bndlib</artifactId>
+            <version>3.1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>com.liferay</groupId>
+            <artifactId>com.liferay.portal.remote.cxf.jaxrs.common</artifactId>
+            <version>2.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.ws.rs</groupId>
+            <artifactId>javax.ws.rs-api</artifactId>
+            <version>2.0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-core</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-rs-extension-providers</artifactId>
+            <version>3.1.7</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.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>
+    </dependencies>
+</project>

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
new file mode 100644
index 0000000..04017d6
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/activator/CXFJaxRsBundleActivator.java
@@ -0,0 +1,78 @@
+/**
+ * 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 javax.ws.rs.ext.RuntimeDelegate;
+
+import 
com.liferay.portal.remote.rest.extender.internal.BusServiceTrackerCustomizer;
+import 
com.liferay.portal.remote.rest.extender.internal.ServicesServiceTrackerCustomizer;
+import org.apache.cxf.Bus;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.util.tracker.ServiceTracker;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class CXFJaxRsBundleActivator implements BundleActivator {
+
+       private ServiceTracker<?, ?> _busServiceTracker;
+       private ServiceTracker<?, ?> _singletonsTracker;
+
+       @Override
+       public void start(BundleContext bundleContext) throws Exception {
+               Thread thread = Thread.currentThread();
+
+               ClassLoader contextClassLoader = thread.getContextClassLoader();
+
+               ClassLoader classLoader = 
RuntimeDelegate.class.getClassLoader();
+
+               thread.setContextClassLoader(classLoader);
+
+               try {
+
+                       // Initialize instance so it is never looked up again
+
+                       RuntimeDelegate.getInstance();
+               }
+               finally {
+                       thread.setContextClassLoader(contextClassLoader);
+               }
+
+               _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();
+       }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/AddonsServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/AddonsServiceTrackerCustomizer.java
 
b/org.apache.aries.rest.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.rest.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/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
new file mode 100644
index 0000000..2594ac3
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ApplicationServiceTrackerCustomizer.java
@@ -0,0 +1,140 @@
+/**
+ * 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 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;
+
+import javax.ws.rs.core.Application;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+/**
+ * @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 (Exception 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/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
new file mode 100644
index 0000000..8440196
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/BusServiceTrackerCustomizer.java
@@ -0,0 +1,116 @@
+/**
+ * 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 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;
+
+import javax.ws.rs.core.Application;
+import java.util.Arrays;
+import java.util.Collection;
+
+/**
+ * @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);
+               }
+               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();
+               }
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/CXFJaxRsServiceRegistrator.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/CXFJaxRsServiceRegistrator.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/CXFJaxRsServiceRegistrator.java
new file mode 100644
index 0000000..7449ec8
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/CXFJaxRsServiceRegistrator.java
@@ -0,0 +1,148 @@
+/**
+ * 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.internal;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+
+import javax.ws.rs.core.Application;
+import javax.ws.rs.ext.RuntimeDelegate;
+
+import org.apache.cxf.Bus;
+import org.apache.cxf.endpoint.Server;
+import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
+import org.apache.cxf.jaxrs.provider.json.JSONProvider;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class CXFJaxRsServiceRegistrator {
+
+       public CXFJaxRsServiceRegistrator(
+               Bus bus, Application application, Map<String, Object> 
properties) {
+
+               _bus = bus;
+               _application = application;
+               _properties = properties;
+
+               rewire();
+       }
+
+       public void close() {
+               if (_closed) {
+                       return;
+               }
+
+               if (_server != null) {
+                       _server.destroy();
+               }
+
+               _closed = true;
+       }
+
+       public void addProvider(Object provider) {
+               if (_closed) {
+                       return;
+               }
+
+               _providers.add(provider);
+
+               rewire();
+       }
+
+       public void addService(Object service) {
+               if (_closed) {
+                       return;
+               }
+
+               _services.add(service);
+
+               rewire();
+       }
+
+       public void removeProvider(Object provider) {
+               if (_closed) {
+                       return;
+               }
+
+               _providers.remove(provider);
+
+               rewire();
+       }
+
+       public void removeService(Object service) {
+               if (_closed) {
+                       return;
+               }
+
+               _services.remove(service);
+
+               rewire();
+       }
+
+       protected synchronized void rewire() {
+               if (_server != null) {
+                       _server.destroy();
+               }
+
+               RuntimeDelegate runtimeDelegate = RuntimeDelegate.getInstance();
+
+               JAXRSServerFactoryBean jaxRsServerFactoryBean =
+                       runtimeDelegate.createEndpoint(
+                               _application, JAXRSServerFactoryBean.class);
+
+               jaxRsServerFactoryBean.setBus(_bus);
+               jaxRsServerFactoryBean.setProperties(_properties);
+
+               JSONProvider<Object> jsonProvider = new JSONProvider<>();
+
+               jsonProvider.setDropCollectionWrapperElement(true);
+               jsonProvider.setDropRootElement(true);
+               jsonProvider.setSerializeAsArray(true);
+               jsonProvider.setSupportUnwrapped(true);
+
+               jaxRsServerFactoryBean.setProvider(jsonProvider);
+
+               for (Object provider : _providers) {
+                       jaxRsServerFactoryBean.setProvider(provider);
+               }
+
+               for (Object service : _services) {
+                       jaxRsServerFactoryBean.setResourceProvider(
+                               new SingletonResourceProvider(service, true));
+               }
+
+               String address = 
_properties.get("CXF_ENDPOINT_ADDRESS").toString();
+
+               if (address != null) {
+                       jaxRsServerFactoryBean.setAddress(address);
+               }
+
+               _server = jaxRsServerFactoryBean.create();
+
+               _server.start();
+       }
+
+       private volatile boolean _closed = false;
+       private final Application _application;
+       private final Bus _bus;
+       private final Map<String, Object> _properties;
+       private final Collection<Object> _providers = new ArrayList<>();
+       private Server _server;
+       private final Collection<Object> _services = new ArrayList<>();
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/FiltersAndInterceptorsServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/FiltersAndInterceptorsServiceTrackerCustomizer.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/FiltersAndInterceptorsServiceTrackerCustomizer.java
new file mode 100644
index 0000000..07e8c7a
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/FiltersAndInterceptorsServiceTrackerCustomizer.java
@@ -0,0 +1,123 @@
+/**
+ * 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 org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class FiltersAndInterceptorsServiceTrackerCustomizer
+       implements ServiceTrackerCustomizer<Object, ServiceTracker<?, ?>> {
+
+       private BundleContext _bundleContext;
+
+       public FiltersAndInterceptorsServiceTrackerCustomizer(
+               BundleContext bundleContext) {
+
+               _bundleContext = bundleContext;
+       }
+
+       @Override
+       public ServiceTracker<?, ?> addingService(final 
ServiceReference<Object> reference) {
+               final String filterBase =
+                       
reference.getProperty("osgi.jaxrs.filter.base").toString();
+
+               final Object service = _bundleContext.getService(reference);
+
+               ServiceTracker<CXFJaxRsServiceRegistrator, 
CXFJaxRsServiceRegistrator> serviceTracker = new ServiceTracker<>(
+                       _bundleContext, CXFJaxRsServiceRegistrator.class,
+                       new ServiceTrackerCustomizer
+                               <CXFJaxRsServiceRegistrator, 
CXFJaxRsServiceRegistrator>() {
+
+                               @Override
+                               public CXFJaxRsServiceRegistrator addingService(
+                                       
ServiceReference<CXFJaxRsServiceRegistrator> cxfReference) {
+
+                                       Object resourceBaseObject =
+                                               
cxfReference.getProperty("CXF_ENDPOINT_ADDRESS");
+
+                                       if (resourceBaseObject == null) {
+                                               return null;
+                                       }
+
+                                       String resourceBase = 
resourceBaseObject.toString();
+
+                                       if 
(resourceBase.startsWith(filterBase)) {
+                                               CXFJaxRsServiceRegistrator 
serviceRegistrator =
+                                                       
_bundleContext.getService(cxfReference);
+                                               try {
+                                                       
serviceRegistrator.addProvider(service);
+
+                                                       return 
serviceRegistrator;
+                                               }
+                                               finally {
+                                                       
_bundleContext.ungetService(reference);
+                                               }
+                                       }
+
+                                       return null;
+                               }
+
+                               @Override
+                               public void modifiedService(
+                                       
ServiceReference<CXFJaxRsServiceRegistrator> reference,
+                                       CXFJaxRsServiceRegistrator service) {
+
+                                       removedService(reference, service);
+                                       addingService(reference);
+                               }
+
+                               @Override
+                               public void removedService(
+                                       
ServiceReference<CXFJaxRsServiceRegistrator> reference,
+                                       CXFJaxRsServiceRegistrator service) {
+
+                                       CXFJaxRsServiceRegistrator 
serviceRegistrator =
+                                               
_bundleContext.getService(reference);
+                                       try {
+                                               
serviceRegistrator.removeProvider(service);
+                                       }
+                                       finally {
+                                               
_bundleContext.ungetService(reference);
+                                       }
+                               }
+                       });
+
+               serviceTracker.open();
+
+               return serviceTracker;
+       }
+
+       @Override
+       public void modifiedService(
+               ServiceReference<Object> reference, ServiceTracker<?, ?> 
serviceTracker) {
+
+               removedService(reference, serviceTracker);
+               addingService(reference);
+       }
+
+       @Override
+       public void removedService(
+               ServiceReference<Object> reference, ServiceTracker<?, ?> 
serviceTracker) {
+
+               _bundleContext.ungetService(reference);
+
+               serviceTracker.close();
+       }
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ServicesServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ServicesServiceTrackerCustomizer.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ServicesServiceTrackerCustomizer.java
new file mode 100644
index 0000000..433f70c
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/ServicesServiceTrackerCustomizer.java
@@ -0,0 +1,104 @@
+/**
+ * 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 org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Filter;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.wiring.BundleWiring;
+import org.osgi.util.tracker.ServiceTracker;
+import org.osgi.util.tracker.ServiceTrackerCustomizer;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+public class ServicesServiceTrackerCustomizer
+       implements ServiceTrackerCustomizer
+               <Object, ServiceTracker
+                       <CXFJaxRsServiceRegistrator, 
CXFJaxRsServiceRegistrator>> {
+
+       private final BundleContext _bundleContext;
+
+       public ServicesServiceTrackerCustomizer(BundleContext bundleContext) {
+               _bundleContext = bundleContext;
+       }
+
+       @Override
+       public ServiceTracker
+               <CXFJaxRsServiceRegistrator, CXFJaxRsServiceRegistrator>
+       addingService(ServiceReference<Object> reference) {
+
+               String applicationSelector =
+                       
reference.getProperty("jaxrs.application.select").toString();
+
+               Bundle bundle = reference.getBundle();
+
+               BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
+
+               ClassLoader classLoader = bundleWiring.getClassLoader();
+
+               Object service = _bundleContext.getService(reference);
+
+               try {
+                       Filter filter = _bundleContext.createFilter(
+                               "(&(objectClass=" + 
CXFJaxRsServiceRegistrator.class.getName() + ")" +
+                                       applicationSelector + ")");
+
+                       ServiceTracker
+                               <CXFJaxRsServiceRegistrator, 
CXFJaxRsServiceRegistrator>
+                               serviceTracker = new ServiceTracker<>(
+                                       _bundleContext, filter,
+                                       new AddonsServiceTrackerCustomizer(
+                                               _bundleContext, classLoader,
+                                               service));
+
+                       serviceTracker.open();
+
+                       return serviceTracker;
+               }
+               catch (InvalidSyntaxException ise) {
+                       _bundleContext.ungetService(reference);
+
+                       throw new RuntimeException(ise);
+               }
+       }
+
+       @Override
+       public void modifiedService(
+               ServiceReference<Object> reference,
+               ServiceTracker
+                       <CXFJaxRsServiceRegistrator, CXFJaxRsServiceRegistrator>
+                       serviceTracker) {
+
+               removedService(reference, serviceTracker);
+
+               addingService(reference);
+       }
+
+       @Override
+       public void removedService(
+               ServiceReference<Object> reference,
+               ServiceTracker
+                       <CXFJaxRsServiceRegistrator, CXFJaxRsServiceRegistrator>
+                       serviceTracker) {
+
+               serviceTracker.close();
+
+               _bundleContext.ungetService(reference);
+       }
+
+}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/SingletonServiceTrackerCustomizer.java
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/SingletonServiceTrackerCustomizer.java
 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/SingletonServiceTrackerCustomizer.java
new file mode 100644
index 0000000..8645504
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/java/com/liferay/portal/remote/rest/extender/internal/SingletonServiceTrackerCustomizer.java
@@ -0,0 +1,159 @@
+/**
+ * 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 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;
+
+import javax.ws.rs.core.Application;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author Carlos Sierra Andrés
+ */
+class SingletonServiceTrackerCustomizer
+       implements ServiceTrackerCustomizer
+               <Object, SingletonServiceTrackerCustomizer.Tracked> {
+
+       private BundleContext _bundleContext;
+       private Bus _bus;
+
+       public SingletonServiceTrackerCustomizer(
+               BundleContext bundleContext, Bus bus) {
+
+               _bundleContext = bundleContext;
+               _bus = bus;
+       }
+
+       @Override
+       public Tracked addingService(
+               ServiceReference<Object> serviceReference) {
+
+               final Object service = _bundleContext.getService(
+                       serviceReference);
+
+               try {
+                       String[] propertyKeys = 
serviceReference.getPropertyKeys();
+
+                       Map<String, Object> properties = new HashMap<>(
+                               propertyKeys.length);
+
+                       for (String propertyKey : propertyKeys) {
+                               if 
(propertyKey.equals("osgi.jaxrs.resource.base")) {
+                                       continue;
+                               }
+                               properties.put(
+                                       propertyKey, 
serviceReference.getProperty(propertyKey));
+                       }
+
+                       properties.put(
+                               "CXF_ENDPOINT_ADDRESS",
+                               
serviceReference.getProperty("osgi.jaxrs.resource.base").
+                                       toString());
+
+                       CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator =
+                               new CXFJaxRsServiceRegistrator(
+                                       _bus,
+                                       new Application() {
+                                               @Override
+                                               public Set<Object> 
getSingletons() {
+                                                       return 
Collections.singleton(service);
+                                               }
+                                       },
+                                       properties);
+
+                       return new Tracked(
+                               cxfJaxRsServiceRegistrator, service,
+                               _bundleContext.registerService(
+                                       CXFJaxRsServiceRegistrator.class,
+                                       cxfJaxRsServiceRegistrator, new 
Hashtable<>(properties)));
+               }
+               catch (Exception e) {
+                       _bundleContext.ungetService(serviceReference);
+
+                       throw e;
+               }
+       }
+
+       @Override
+       public void modifiedService(
+               ServiceReference<Object> serviceReference, Tracked tracked) {
+
+               removedService(serviceReference, tracked);
+
+               addingService(serviceReference);
+       }
+
+       @Override
+       public void removedService(
+               ServiceReference<Object> reference, Tracked tracked) {
+
+               _bundleContext.ungetService(reference);
+
+               Object service = tracked.getService();
+
+               CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator =
+                       tracked.getCxfJaxRsServiceRegistrator();
+
+               cxfJaxRsServiceRegistrator.close();
+
+               
tracked.getCxfJaxRsServiceRegistratorServiceRegistration().unregister();
+       }
+
+       public static class Tracked {
+
+               private final CXFJaxRsServiceRegistrator 
_cxfJaxRsServiceRegistrator;
+               private final Object _service;
+               private final ServiceRegistration<CXFJaxRsServiceRegistrator>
+                       _cxfJaxRsServiceRegistratorServiceRegistration;
+
+               public Object getService() {
+                       return _service;
+               }
+
+               public CXFJaxRsServiceRegistrator 
getCxfJaxRsServiceRegistrator() {
+                       return _cxfJaxRsServiceRegistrator;
+               }
+
+               public ServiceRegistration<CXFJaxRsServiceRegistrator>
+                       getCxfJaxRsServiceRegistratorServiceRegistration() {
+
+                       return _cxfJaxRsServiceRegistratorServiceRegistration;
+               }
+
+               public Tracked(
+                       CXFJaxRsServiceRegistrator cxfJaxRsServiceRegistrator,
+                       Object service,
+                       ServiceRegistration<CXFJaxRsServiceRegistrator>
+                               cxfJaxRsServiceRegistratorServiceRegistration) {
+
+                       _cxfJaxRsServiceRegistrator = 
cxfJaxRsServiceRegistrator;
+                       _service = service;
+                       _cxfJaxRsServiceRegistratorServiceRegistration =
+                               cxfJaxRsServiceRegistratorServiceRegistration;
+               }
+
+       }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language.properties 
b/org.apache.aries.rest.extender/src/main/resources/content/Language.properties
new file mode 100644
index 0000000..ff2b883
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_ar.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_ar.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ar.properties
new file mode 100644
index 0000000..f7ddde5
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ar.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=بقية موسع (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_bg.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_bg.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_bg.properties
new file mode 100644
index 0000000..93f99d3
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_bg.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=ПОЧИВКА Extender (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_ca.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_ca.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ca.properties
new file mode 100644
index 0000000..9476a3e
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ca.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Amplificador REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_cs.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_cs.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_cs.properties
new file mode 100644
index 0000000..76bc497
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_cs.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=OSTATNÍ zařízení Extender (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_da.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_da.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_da.properties
new file mode 100644
index 0000000..9b885db
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_da.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=RESTEN Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_de.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_de.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_de.properties
new file mode 100644
index 0000000..ff2b883
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_de.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_el.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_el.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_el.properties
new file mode 100644
index 0000000..1fd60a7
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_el.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=ΥΠΌΛΟΙΠΟ αραίωσης (Automatic 
Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_en.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_en.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_en.properties
new file mode 100644
index 0000000..ff2b883
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_en.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_es.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_es.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_es.properties
new file mode 100644
index 0000000..cc489da
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_es.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Extensor REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_et.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_et.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_et.properties
new file mode 100644
index 0000000..824e6e1
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_et.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=ÜLEJÄÄNUD Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_eu.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_eu.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_eu.properties
new file mode 100644
index 0000000..e82a9e0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_eu.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_fa.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_fa.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_fa.properties
new file mode 100644
index 0000000..64e00d0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_fa.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=گسترش دهنده REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_fi.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_fi.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_fi.properties
new file mode 100644
index 0000000..d0e0a1d
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_fi.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST laajennin
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_fr.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_fr.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_fr.properties
new file mode 100644
index 0000000..52e43d9
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_fr.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Extendeur REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_gl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_gl.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_gl.properties
new file mode 100644
index 0000000..e82a9e0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_gl.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_hi_IN.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_hi_IN.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_hi_IN.properties
new file mode 100644
index 0000000..340d552
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_hi_IN.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=बाकी भरनेवाला 
(Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_hr.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_hr.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_hr.properties
new file mode 100644
index 0000000..e82a9e0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_hr.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_hu.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_hu.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_hu.properties
new file mode 100644
index 0000000..cdc65c6
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_hu.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST kiterjesztő
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_in.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_in.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_in.properties
new file mode 100644
index 0000000..b60839d
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_in.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=SISANYA Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_it.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_it.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_it.properties
new file mode 100644
index 0000000..ff2b883
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_it.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_iw.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_iw.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_iw.properties
new file mode 100644
index 0000000..667e11d
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_iw.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=מאריך REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_ja.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_ja.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ja.properties
new file mode 100644
index 0000000..ff2b883
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ja.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_ko.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_ko.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ko.properties
new file mode 100644
index 0000000..3b3ecce
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ko.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=나머지 익스텐더 (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_lo.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_lo.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_lo.properties
new file mode 100644
index 0000000..e82a9e0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_lo.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_lt.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_lt.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_lt.properties
new file mode 100644
index 0000000..4f37958
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_lt.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=POILSIO plėstuvo (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_nb.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_nb.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_nb.properties
new file mode 100644
index 0000000..9b885db
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_nb.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=RESTEN Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_nl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_nl.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_nl.properties
new file mode 100644
index 0000000..b62adc9
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_nl.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST-extenders
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_nl_BE.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_nl_BE.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_nl_BE.properties
new file mode 100644
index 0000000..d137e77
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_nl_BE.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_pl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_pl.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_pl.properties
new file mode 100644
index 0000000..0055a27
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_pl.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=RESZTA Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_BR.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_BR.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_BR.properties
new file mode 100644
index 0000000..cc489da
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_BR.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Extensor REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_PT.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_PT.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_PT.properties
new file mode 100644
index 0000000..cc489da
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_pt_PT.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Extensor REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_ro.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_ro.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ro.properties
new file mode 100644
index 0000000..2c26380
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ro.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=RESTUL Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_ru.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_ru.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ru.properties
new file mode 100644
index 0000000..068b2cd
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_ru.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=ОСТАЛЬНЫЕ расширитель 
(Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_sk.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_sk.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sk.properties
new file mode 100644
index 0000000..05a4cbe
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sk.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Rozširovač REST
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_sl.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_sl.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sl.properties
new file mode 100644
index 0000000..393ff7f
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sl.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=OSTALI Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS.properties
new file mode 100644
index 0000000..e82a9e0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS_latin.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS_latin.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS_latin.properties
new file mode 100644
index 0000000..e82a9e0
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sr_RS_latin.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST Extender (Automatic Copy)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_sv.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_sv.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sv.properties
new file mode 100644
index 0000000..9b885db
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_sv.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=RESTEN Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_tr.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_tr.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_tr.properties
new file mode 100644
index 0000000..87ddb28
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_tr.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=DİĞER Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_uk.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_uk.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_uk.properties
new file mode 100644
index 0000000..2e65121
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_uk.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=РЕШТА Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_vi.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_vi.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_vi.properties
new file mode 100644
index 0000000..e01047a
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_vi.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=Còn lại Extender (Automatic Translation)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_CN.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_CN.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_CN.properties
new file mode 100644
index 0000000..1d4ebb9
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_CN.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=其他扩展程序
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_TW.properties
----------------------------------------------------------------------
diff --git 
a/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_TW.properties
 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_TW.properties
new file mode 100644
index 0000000..36dac4d
--- /dev/null
+++ 
b/org.apache.aries.rest.extender/src/main/resources/content/Language_zh_TW.properties
@@ -0,0 +1 @@
+rest.extender.configuration.name=REST擴充器
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/osgi-rest.iml
----------------------------------------------------------------------
diff --git a/osgi-rest.iml b/osgi-rest.iml
deleted file mode 100644
index caad45e..0000000
--- a/osgi-rest.iml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module external.linked.project.id="osgi-rest" 
external.linked.project.path="$MODULE_DIR$" 
external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" 
external.system.module.group="" external.system.module.version="unspecified" 
type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="false">
-    <output url="file://$MODULE_DIR$/build" />
-    <output-test url="file://$MODULE_DIR$/build" />
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
-      <excludeFolder url="file://$MODULE_DIR$/build" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2ef5d2b..3da7abe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -36,7 +36,7 @@
             <plugin>
                 <groupId>biz.aQute.bnd</groupId>
                 <artifactId>bnd-maven-plugin</artifactId>
-                <version>3.3.0</version>
+                <version>3.4.0-SNAPSHOT</version>
                 <executions>
                     <execution>
                         <goals>
@@ -47,6 +47,11 @@
             </plugin>
         </plugins>
     </build>
+    <modules>
+        <module>org.apache.aries.jax-rs.example</module>
+        <module>org.apache.aries.jax-rs.cxf-common</module>
+        <module>org.apache.aries.rest.extender</module>
+    </modules>
     <dependencies>
         <dependency>
             <groupId>org.osgi</groupId>
@@ -71,4 +76,11 @@
             <layout>default</layout>
         </repository>
     </repositories>
-</project>
\ No newline at end of file
+    <pluginRepositories>
+        <pluginRepository>
+            <id>bnd-snapshots</id>
+            
<url>https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/dist/bundles/</url>
+            <layout>default</layout>
+        </pluginRepository>
+    </pluginRepositories>
+</project>

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

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/.lfrbuild-portal
----------------------------------------------------------------------
diff --git a/portal-remote-cxf-common/.lfrbuild-portal 
b/portal-remote-cxf-common/.lfrbuild-portal
deleted file mode 100644
index e69de29..0000000

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/bnd.bnd
----------------------------------------------------------------------
diff --git a/portal-remote-cxf-common/bnd.bnd b/portal-remote-cxf-common/bnd.bnd
deleted file mode 100644
index 3daca64..0000000
--- a/portal-remote-cxf-common/bnd.bnd
+++ /dev/null
@@ -1,63 +0,0 @@
-Bundle-Activator: 
com.liferay.portal.remote.cxf.common.activator.CXFEndpointPublisherActivator
-Bundle-ClassPath:\
-       .,\
-       lib/cxf-core.jar,\
-       lib/cxf-rt-bindings-soap.jar,\
-       lib/cxf-rt-databinding-jaxb.jar,\
-       lib/cxf-rt-transports-http.jar,\
-       lib/cxf-rt-wsdl.jar,\
-       lib/cxf-tools-common.jar,\
-       lib/cxf-tools-validator.jar,\
-       lib/javax.annotation-api.jar,\
-       lib/wsdl4j.jar,\
-       lib/xmlschema-core.jar
-Bundle-Name: Liferay Portal Remote CXF Common
-Bundle-SymbolicName: com.liferay.portal.remote.cxf.common
-Bundle-Version: 2.0.6
-Export-Package:\
-       javax.wsdl.*;version="1.2",\
-       \
-       org.apache.cxf.*;version="3.1.7",\
-       org.apache.ws.commons.schema.*;version="2.1.0"
-Import-Package:\
-       !com.sun.*,\
-       \
-       !javax.validation.*,\
-       \
-       !net.sf.cglib.proxy.*,\
-       \
-       !org.apache.abdera.*,\
-       !org.apache.aries.*,\
-       !org.apache.cxf.aegis.*,\
-       !org.apache.cxf.ws.policy.*,\
-       !org.apache.neethi.*,\
-       !org.apache.velocity.*,\
-       !org.apache.xml.resolver.*,\
-       !org.apache.xmlbeans.*,\
-       \
-       !org.junit.*,\
-       \
-       !org.jvnet.fastinfoset.*,\
-       !org.jvnet.staxex.*,\
-       \
-       !org.osgi.service.blueprint.*,\
-       \
-       !org.relaxng.datatype.*,\
-       \
-       !org.slf4j.spi.*,\
-       \
-       !org.springframework.*,\
-       *
-Liferay-Releng-Module-Group-Description:
-Liferay-Releng-Module-Group-Title: Remote Service Engines
--includeresource:\
-       lib/cxf-core.jar=cxf-core-3.1.7.jar,\
-       lib/cxf-rt-bindings-soap.jar=cxf-rt-bindings-soap-3.1.7.jar,\
-       lib/cxf-rt-databinding-jaxb.jar=cxf-rt-databinding-jaxb-3.1.7.jar,\
-       lib/cxf-rt-transports-http.jar=cxf-rt-transports-http-3.1.7.jar,\
-       lib/cxf-rt-wsdl.jar=cxf-rt-wsdl-3.1.7.jar,\
-       lib/cxf-tools-common.jar=cxf-tools-common-3.1.7.jar,\
-       lib/cxf-tools-validator.jar=cxf-tools-validator-3.1.7.jar,\
-       lib/javax.annotation-api.jar=javax.annotation-api-1.2.jar,\
-       lib/wsdl4j.jar=wsdl4j-1.6.3.jar,\
-       lib/xmlschema-core.jar=xmlschema-core-2.2.1.jar

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/build.gradle
----------------------------------------------------------------------
diff --git a/portal-remote-cxf-common/build.gradle 
b/portal-remote-cxf-common/build.gradle
deleted file mode 100644
index f431c26..0000000
--- a/portal-remote-cxf-common/build.gradle
+++ /dev/null
@@ -1,48 +0,0 @@
-task deployDependencies(type: Copy)
-
-dependencies {
-       compile group: "biz.aQute.bnd", name: "biz.aQute.bndlib", version: 
"3.1.0"
-       compile group: 'javax.annotation', name: 'javax.annotation-api', 
version: '1.2'
-       compile group: "javax.servlet", name: "javax.servlet-api", version: 
"3.0.1"
-       compile group: "org.apache.cxf", name: "cxf-core", version: "3.1.7"
-       compile group: "org.apache.cxf", name: "cxf-rt-bindings-soap", version: 
"3.1.7"
-       compile group: "org.apache.cxf", name: "cxf-rt-databinding-jaxb", 
version: "3.1.7"
-       compile group: "org.apache.cxf", name: "cxf-rt-transports-http", 
version: "3.1.7"
-       compile group: "org.apache.cxf", name: "cxf-rt-wsdl", version: "3.1.7"
-       compile group: "org.apache.cxf", name: "cxf-tools-common", version: 
"3.1.7"
-       compile group: "org.apache.cxf", name: "cxf-tools-validator", version: 
"3.1.7"
-       compile group: "org.apache.felix", name: 
"org.apache.felix.dependencymanager", version: "3.2.0"
-//     compile group: "org.apache.ws.xmlschema", name: "xmlschema-core", 
version: "2.1.0"
-       compile group: "org.codehaus.woodstox", name: "stax2-api", version: 
"3.1.4"
-       compile group: "org.codehaus.woodstox", name: "woodstox-core-asl", 
version: "4.4.1"
-       compile group: "org.osgi", name: "org.osgi.core", version: "5.0.0"
-       compile group: "org.osgi", name: "org.osgi.service.http.whiteboard", 
version: "1.0.0"
-       compile group: "org.slf4j", name: "slf4j-api", version: "1.7.2"
-       compile group: "wsdl4j", name: "wsdl4j", version: "1.6.3"
-}
-
-deployDependencies {
-       boolean keepDependencyVersions = 
Boolean.getBoolean("deploy.dependencies.keep.versions")
-
-       ext {
-               autoClean = false
-       }
-
-       from configurations.runtime
-
-       include "stax2-api-*.jar"
-       include "woodstox-core-asl-*.jar"
-
-       into {
-               liferay.deployDir
-       }
-
-       String renameSuffix = ".jar"
-
-       if (keepDependencyVersions) {
-               renameSuffix = '-$1.jar'
-       }
-
-       rename(/stax2-api-(.+)\.jar/, "org.codehaus.stax2" + renameSuffix)
-       rename(/woodstox-core-asl-(.+)\.jar/, "com.ctc.wstx" + renameSuffix)
-}

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$1.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$1.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$1.class
deleted file mode 100644
index 8bcb75e..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$1.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$1.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$1.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$1.class
deleted file mode 100644
index 524bf3a..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$1.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$RemoteAccessFilter.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$RemoteAccessFilter.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$RemoteAccessFilter.class
deleted file mode 100644
index 359d9e3..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator$RemoteAccessFilter.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator.class
deleted file mode 100644
index fe4d730..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher$ServicesRegistrator.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher.class
deleted file mode 100644
index 01b4059..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/CXFEndpointPublisher.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/ExtensionManager.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/ExtensionManager.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/ExtensionManager.class
deleted file mode 100644
index c54e11c..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/ExtensionManager.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/configuration/CXFEndpointPublisherConfiguration.class
----------------------------------------------------------------------
diff --git 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/configuration/CXFEndpointPublisherConfiguration.class
 
b/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/configuration/CXFEndpointPublisherConfiguration.class
deleted file mode 100644
index aabdb47..0000000
Binary files 
a/portal-remote-cxf-common/classes/com/liferay/portal/remote/cxf/common/configuration/CXFEndpointPublisherConfiguration.class
 and /dev/null differ

http://git-wip-us.apache.org/repos/asf/aries-jax-rs-whiteboard/blob/c7de7755/portal-remote-cxf-common/classes/content/Language.properties
----------------------------------------------------------------------
diff --git a/portal-remote-cxf-common/classes/content/Language.properties 
b/portal-remote-cxf-common/classes/content/Language.properties
deleted file mode 100644
index 12dd09d..0000000
--- a/portal-remote-cxf-common/classes/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/c7de7755/portal-remote-cxf-common/classes/content/Language_ar.properties
----------------------------------------------------------------------
diff --git a/portal-remote-cxf-common/classes/content/Language_ar.properties 
b/portal-remote-cxf-common/classes/content/Language_ar.properties
deleted file mode 100644
index 1e2a617..0000000
--- a/portal-remote-cxf-common/classes/content/Language_ar.properties
+++ /dev/null
@@ -1 +0,0 @@
-cxf.endpoint.configuration.name=نقاط النهاية CXF (Automatic 
Translation)
\ No newline at end of file

Reply via email to