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
