slight refactoring of rest utility method - now we have a better config some parameters are useless, in particular a string so removing it
git-svn-id: https://svn.apache.org/repos/asf/openejb/trunk@1432143 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java b/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
index 573327b..c04f368 100644
--- a/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
+++ b/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
@@ -40,7 +40,6 @@
import org.apache.openejb.server.httpd.HttpRequestImpl;
import org.apache.openejb.server.httpd.HttpResponse;
import org.apache.openejb.server.rest.EJBRestServiceInfo;
-import org.apache.openejb.server.rest.InternalApplication;
import org.apache.openejb.server.rest.RsHttpListener;
import org.apache.openejb.util.Classes;
import org.apache.openejb.util.LogCategory;
@@ -154,18 +153,10 @@
private void deploy(Class<?> clazz, String address, ResourceProvider rp, Object serviceBean, Application app, Invoker invoker,
Collection<Object> additionalProviders, ServiceConfiguration configuration) {
- final String impl;
- if (serviceBean != null) {
- impl = serviceBean.getClass().getName();
- } else {
- impl = clazz.getName();
- }
-
final JAXRSServerFactoryBean factory = newFactory(address);
- configureFactory(impl, additionalProviders, configuration, factory);
+ configureFactory(additionalProviders, configuration, factory);
factory.setResourceClasses(clazz);
-
if (rp != null) {
factory.setResourceProvider(rp);
}
@@ -218,16 +209,7 @@
final Collection<Injection> injections, final Context context, final WebBeansContext owbCtx,
final ServiceConfiguration serviceConfiguration) {
final JAXRSServerFactoryBean factory = newFactory(prefix);
- if (InternalApplication.class.equals(application.getClass())) { // todo: check it is the good choice
- final Application original = InternalApplication.class.cast(application).getOriginal();
- if (original == null) {
- configureFactory("jaxrs-application", additionalProviders, serviceConfiguration, factory);
- } else {
- configureFactory(original.getClass().getName(), additionalProviders, serviceConfiguration, factory);
- }
- } else {
- configureFactory(application.getClass().getName(), additionalProviders, serviceConfiguration, factory);
- }
+ configureFactory(additionalProviders, serviceConfiguration, factory);
factory.setApplication(application);
final List<Class<?>> classes = new ArrayList<Class<?>>();
@@ -379,8 +361,8 @@
return factory;
}
- private void configureFactory(String application, Collection<Object> additionalProviders, ServiceConfiguration serviceConfiguration, JAXRSServerFactoryBean factory) {
- CxfUtil.configureEndpoint(factory, serviceConfiguration, CXF_JAXRS_PREFIX, application);
+ private void configureFactory(Collection<Object> additionalProviders, ServiceConfiguration serviceConfiguration, JAXRSServerFactoryBean factory) {
+ CxfUtil.configureEndpoint(factory, serviceConfiguration, CXF_JAXRS_PREFIX);
final Collection<ServiceInfo> services = serviceConfiguration.getAvailableServices();
diff --git a/openejb/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/util/CxfUtil.java b/openejb/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/util/CxfUtil.java
index 89f569d..7991cdc 100644
--- a/openejb/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/util/CxfUtil.java
+++ b/openejb/server/openejb-cxf-transport/src/main/java/org/apache/openejb/server/cxf/transport/util/CxfUtil.java
@@ -79,7 +79,7 @@
}
}
- public static void configureEndpoint(final AbstractEndpointFactory svrFactory, final ServiceConfiguration configuration, final String prefix, final String beanId) {
+ public static void configureEndpoint(final AbstractEndpointFactory svrFactory, final ServiceConfiguration configuration, final String prefix) {
final Properties beanConfig = configuration.getProperties();
if (beanConfig == null || beanConfig.isEmpty()) {
return;
diff --git a/openejb/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java b/openejb/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
index fb7b40c..a8cbedd 100644
--- a/openejb/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
+++ b/openejb/server/openejb-cxf/src/main/java/org/apache/openejb/server/cxf/CxfEndpoint.java
@@ -158,7 +158,7 @@
svrFactory.setServiceClass(serviceFactory.getServiceClass());
// look for bean info if exists
- CxfUtil.configureEndpoint(svrFactory, serviceConfiguration, CXF_JAXWS_PREFIX, getImplementorClass().getName());
+ CxfUtil.configureEndpoint(svrFactory, serviceConfiguration, CXF_JAXWS_PREFIX);
if (HTTPBinding.HTTP_BINDING.equals(implInfo.getBindingType())) {
svrFactory.setTransportId("http://cxf.apache.org/bindings/xformat");
diff --git a/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java b/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
index 95c9a10..6d24960 100644
--- a/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
+++ b/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
@@ -375,13 +375,20 @@
private void deployApplication(final AppInfo appInfo, final String contextRoot, final Map<String, EJBRestServiceInfo> restEjbs, final ClassLoader classLoader, final Collection<Injection> injections, final WebBeansContext owbCtx, final Context context, final Collection<Object> additionalProviders, final Collection<IdPropertiesInfo> pojoConfigurations, final Application application, final String prefix) {
// get configuration
- Properties configuration = PojoUtil.findConfiguration(pojoConfigurations, application.getClass().getName());
+ Properties configuration = null;
+ if (InternalApplication.class.equals(application.getClass())) {
+ final Application original = InternalApplication.class.cast(application).getOriginal();
+ if (original == null) {
+ configuration = PojoUtil.findConfiguration(pojoConfigurations, "jaxrs-application");
+ } else {
+ configuration = PojoUtil.findConfiguration(pojoConfigurations, original.getClass().getName());
+ }
+ } else {
+ configuration = PojoUtil.findConfiguration(pojoConfigurations, application.getClass().getName());
+ }
if (configuration == null) { // try a constant (common in half of cases)
configuration = PojoUtil.findConfiguration(pojoConfigurations, "jaxrs-application");
}
- if (configuration == null) { // try with context
- configuration = PojoUtil.findConfiguration(pojoConfigurations, contextRoot);
- }
final String base = getAddress(contextRoot);
final String nopath;