You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2014/07/08 18:59:17 UTC
svn commit: r1608851 - in /tomee/tomee/trunk/server:
openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
Author: rmannibucau
Date: Tue Jul 8 16:59:17 2014
New Revision: 1608851
URL: http://svn.apache.org/r1608851
Log:
TOMEE-1270 avoid to use deprecated @Providers
Modified:
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
Modified: tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1608851&r1=1608850&r2=1608851&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java (original)
+++ tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java Tue Jul 8 16:59:17 2014
@@ -270,8 +270,7 @@ public class CxfRsHttpListener implement
final ServiceConfiguration configuration) {
final Object proxy = ProxyEJB.subclassProxy(beanContext);
- deploy(contextRoot, beanContext.getBeanClass(), fullContext, new NoopResourceProvider(beanContext.getBeanClass(), proxy),
- proxy, null, new OpenEJBEJBInvoker(Collections.singleton(beanContext)), additionalProviders, configuration);
+ deploy(contextRoot, beanContext.getBeanClass(), fullContext, new NoopResourceProvider(beanContext.getBeanClass(), proxy), proxy, null, new OpenEJBEJBInvoker(Collections.singleton(beanContext)), additionalProviders, configuration);
}
private void deploy(final String contextRoot, final Class<?> clazz, final String address, final ResourceProvider rp, final Object serviceBean,
Modified: tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1608851&r1=1608850&r2=1608851&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java (original)
+++ tomee/tomee/trunk/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java Tue Jul 8 16:59:17 2014
@@ -69,6 +69,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@@ -288,14 +289,9 @@ public abstract class RESTService implem
private void addAppProvidersIfNeeded(AppInfo appInfo, WebAppInfo webApp, ClassLoader classLoader, Collection<Object> additionalProviders) {
if (useDiscoveredProviders(appInfo)) {
- for (final String name : webApp.jaxRsProviders) {
- try {
- additionalProviders.add(classLoader.loadClass(name));
- } catch (final ClassNotFoundException e) {
- LOGGER.warning("can't load '" + name + "'", e);
- }
- }
- additionalProviders.addAll(appProviders(appInfo, classLoader));
+ final Set<String> jaxRsProviders = new HashSet<>(webApp.jaxRsProviders);
+ jaxRsProviders.addAll(appInfo.jaxRsProviders);
+ additionalProviders.addAll(appProviders(jaxRsProviders, classLoader));
}
}
@@ -547,11 +543,15 @@ public abstract class RESTService implem
return SystemInstance.get().getOptions().get(OPENEJB_JAXRS_PROVIDERS_AUTO_PROP, true);
}
- private Collection<Object> appProviders(final AppInfo appInfo, final ClassLoader classLoader) {
+ private Collection<Object> appProviders(final Collection<String> jaxRsProviders, final ClassLoader classLoader) {
final Collection<Object> additionalProviders = new HashSet<Object>();
- for (final String name : appInfo.jaxRsProviders) {
+ for (final String name : jaxRsProviders) {
try {
- additionalProviders.add(classLoader.loadClass(name));
+ final Class<?> providerClass = classLoader.loadClass(name);
+ if (providerClass.getAnnotation(Deprecated.class) != null) {
+ continue;
+ }
+ additionalProviders.add(providerClass);
} catch (final ClassNotFoundException e) {
LOGGER.warning("can't load '" + name + "'", e);
}
@@ -584,7 +584,7 @@ public abstract class RESTService implem
final Collection<Object> providers;
if (useDiscoveredProviders(appInfo)) {
- providers = appProviders(appInfo, appClassLoader);
+ providers = appProviders(appInfo.jaxRsProviders, appClassLoader);
} else {
providers = new ArrayList<Object>();
}