Author: rmannibucau
Date: Fri Sep 21 21:17:23 2012
New Revision: 1388683
URL: http://svn.apache.org/viewvc?rev=1388683&view=rev
Log:
@Context in Application.getClasses + fixing pojo custom @Context
Added:
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
Modified:
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBPerRequestPojoResourceProvider.java
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RsHttpListener.java
Added:
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java?rev=1388683&view=auto
==============================================================================
---
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
(added)
+++
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/Contexts.java
Fri Sep 21 21:17:23 2012
@@ -0,0 +1,102 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.server.cxf.rs;
+
+import org.apache.cxf.jaxrs.ext.ContextProvider;
+import org.apache.cxf.jaxrs.model.ClassResourceInfo;
+import org.apache.cxf.jaxrs.model.OperationResourceInfo;
+import org.apache.cxf.jaxrs.provider.ProviderFactory;
+import org.apache.cxf.jaxrs.utils.JAXRSUtils;
+import org.apache.cxf.message.Exchange;
+import org.apache.cxf.message.Message;
+import org.apache.openejb.rest.ThreadLocalContextManager;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Request;
+import javax.ws.rs.core.SecurityContext;
+import javax.ws.rs.core.UriInfo;
+import javax.ws.rs.ext.ContextResolver;
+import javax.ws.rs.ext.Providers;
+import java.lang.reflect.Field;
+import java.util.HashMap;
+import java.util.Map;
+
+public final class Contexts {
+ private Contexts() {
+ // no-op
+ }
+
+ public static void bind(final Exchange exchange) {
+ if (exchange == null) {
+ return;
+ }
+
+ final ClassResourceInfo cri =
exchange.get(OperationResourceInfo.class).getClassResourceInfo();
+
+ // binding context fields
+ for (Field field : cri.getContextFields()) {
+ Class<?> type = field.getType();
+ if (Request.class.equals(type)) {
+ Request binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, Request.class);
+ ThreadLocalContextManager.REQUEST.set(binding);
+ } else if (UriInfo.class.equals(type)) {
+ UriInfo binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, UriInfo.class);
+ ThreadLocalContextManager.URI_INFO.set(binding);
+ } else if (HttpHeaders.class.equals(type)) {
+ HttpHeaders binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, HttpHeaders.class);
+ ThreadLocalContextManager.HTTP_HEADERS.set(binding);
+ } else if (SecurityContext.class.equals(type)) {
+ SecurityContext binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
SecurityContext.class);
+ ThreadLocalContextManager.SECURITY_CONTEXT.set(binding);
+ } else if (ContextResolver.class.equals(type)) {
+ ContextResolver<?> binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), type,
ContextResolver.class);
+ ThreadLocalContextManager.CONTEXT_RESOLVER.set(binding);
+ } else if (Providers.class.equals(type)) {
+ Providers providers =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, Providers.class);
+ ThreadLocalContextManager.PROVIDERS.set(providers);
+ } else if (ServletRequest.class.equals(type)) {
+ ServletRequest servletRequest =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
ServletRequest.class);
+ ThreadLocalContextManager.SERVLET_REQUEST.set(servletRequest);
+ } else if (HttpServletRequest.class.equals(type)) {
+ HttpServletRequest httpServletRequest =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
HttpServletRequest.class);
+
ThreadLocalContextManager.HTTP_SERVLET_REQUEST.set(httpServletRequest);
+ } else if (HttpServletResponse.class.equals(type)) {
+ HttpServletResponse httpServletResponse =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
HttpServletResponse.class);
+
ThreadLocalContextManager.HTTP_SERVLET_RESPONSE.set(httpServletResponse);
+ } else if (ServletConfig.class.equals(type)) {
+ ServletConfig servletConfig =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
ServletConfig.class);
+ ThreadLocalContextManager.SERVLET_CONFIG.set(servletConfig);
+ } else {
+ final Message message = exchange.getInMessage();
+ final ContextProvider<?> provider =
ProviderFactory.getInstance(message).createContextProvider(type, message);
+ if (provider != null) {
+ final Object value = provider.createContext(message);
+ Map<String, Object> map =
ThreadLocalContextManager.OTHERS.get();
+ if (map == null) {
+ map = new HashMap<String, Object>();
+ ThreadLocalContextManager.OTHERS.set(map);
+ }
+ map.put(type.getName(), value);
+ }
+ }
+ }
+ }
+}
Modified:
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1388683&r1=1388682&r2=1388683&view=diff
==============================================================================
---
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
(original)
+++
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
Fri Sep 21 21:17:23 2012
@@ -84,26 +84,26 @@ public class CxfRsHttpListener implement
@Override
public void deploySingleton(String fullContext, Object o, Application
appInstance,
- Collection<Class<?>> additionalProviders,
ServiceConfiguration configuration) {
+ Collection<Object> additionalProviders,
ServiceConfiguration configuration) {
deploy(o.getClass(), fullContext, new SingletonResourceProvider(o), o,
appInstance, null, additionalProviders, configuration);
}
@Override
public void deployPojo(String fullContext, Class<?> loadedClazz,
Application app, Collection<Injection> injections,
- Context context, WebBeansContext owbCtx,
Collection<Class<?>> additionalProviders, ServiceConfiguration configuration) {
+ Context context, WebBeansContext owbCtx,
Collection<Object> additionalProviders, ServiceConfiguration configuration) {
deploy(loadedClazz, fullContext, new
OpenEJBPerRequestPojoResourceProvider(loadedClazz, injections, context, owbCtx),
null, app, null, additionalProviders,
configuration);
}
@Override
- public void deployEJB(String fullContext, BeanContext beanContext,
Collection<Class<?>> additionalProviders, ServiceConfiguration configuration) {
+ public void deployEJB(String fullContext, BeanContext beanContext,
Collection<Object> additionalProviders, ServiceConfiguration configuration) {
final Object proxy = ProxyEJB.proxy(beanContext);
deploy(beanContext.getBeanClass(), fullContext, new
NoopResourceProvider(beanContext.getBeanClass(), proxy),
proxy, null, new OpenEJBEJBInvoker(), additionalProviders,
configuration);
}
private void deploy(Class<?> clazz, String address, ResourceProvider rp,
Object serviceBean, Application app, Invoker invoker,
- Collection<Class<?>> additionalProviders,
ServiceConfiguration configuration) {
+ Collection<Object> additionalProviders,
ServiceConfiguration configuration) {
final String impl;
if (serviceBean != null) {
impl = serviceBean.getClass().getName();
@@ -159,18 +159,23 @@ public class CxfRsHttpListener implement
destination = (AbstractHTTPDestination) server.getDestination();
}
- private Collection<Object> providers(final Collection<ServiceInfo>
services, final Collection<Class<?>> additionalProviders) {
+ private Collection<Object> providers(final Collection<ServiceInfo>
services, final Collection<Object> additionalProviders) {
final Collection<Object> instances = new ArrayList<Object>();
- for (Class<?> clazz : additionalProviders) {
- final Object instance = ServiceInfos.resolve(services,
clazz.getName());
- if (instance != null) {
- instances.add(instance);
- } else {
- try {
- instances.add(clazz.newInstance());
- } catch (Exception e) {
- LOGGER.error("can't instantiate " + clazz.getName(), e);
+ for (Object o : additionalProviders) {
+ if (o instanceof Class<?>) {
+ final Class<?> clazz = (Class<?>) o;
+ final Object instance = ServiceInfos.resolve(services,
clazz.getName());
+ if (instance != null) {
+ instances.add(instance);
+ } else {
+ try {
+ instances.add(clazz.newInstance());
+ } catch (Exception e) {
+ LOGGER.error("can't instantiate " + clazz.getName(),
e);
+ }
}
+ } else {
+ instances.add(o);
}
}
return instances;
Modified:
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java?rev=1388683&r1=1388682&r2=1388683&view=diff
==============================================================================
---
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
(original)
+++
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBEJBInvoker.java
Fri Sep 21 21:17:23 2012
@@ -17,86 +17,18 @@
package org.apache.openejb.server.cxf.rs;
import org.apache.cxf.jaxrs.JAXRSInvoker;
-import org.apache.cxf.jaxrs.ext.ContextProvider;
-import org.apache.cxf.jaxrs.model.ClassResourceInfo;
-import org.apache.cxf.jaxrs.model.OperationResourceInfo;
-import org.apache.cxf.jaxrs.provider.ProviderFactory;
-import org.apache.cxf.jaxrs.utils.JAXRSUtils;
import org.apache.cxf.message.Exchange;
-import org.apache.cxf.message.Message;
import org.apache.openejb.InvalidateReferenceException;
import org.apache.openejb.rest.ThreadLocalContextManager;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletRequest;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.ws.rs.core.HttpHeaders;
-import javax.ws.rs.core.Request;
-import javax.ws.rs.core.SecurityContext;
-import javax.ws.rs.core.UriInfo;
-import javax.ws.rs.ext.ContextResolver;
-import javax.ws.rs.ext.Providers;
-import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.rmi.RemoteException;
-import java.util.HashMap;
-import java.util.Map;
public class OpenEJBEJBInvoker extends JAXRSInvoker {
@Override
public Object invoke(final Exchange exchange, final Object request, final
Object resourceObject) {
- final ClassResourceInfo cri =
exchange.get(OperationResourceInfo.class).getClassResourceInfo();
-
- // binding context fields
- for (Field field : cri.getContextFields()) {
- Class<?> type = field.getType();
- if (Request.class.equals(type)) {
- Request binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, Request.class);
- ThreadLocalContextManager.REQUEST.set(binding);
- } else if (UriInfo.class.equals(type)) {
- UriInfo binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, UriInfo.class);
- ThreadLocalContextManager.URI_INFO.set(binding);
- } else if (HttpHeaders.class.equals(type)) {
- HttpHeaders binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, HttpHeaders.class);
- ThreadLocalContextManager.HTTP_HEADERS.set(binding);
- } else if (SecurityContext.class.equals(type)) {
- SecurityContext binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
SecurityContext.class);
- ThreadLocalContextManager.SECURITY_CONTEXT.set(binding);
- } else if (ContextResolver.class.equals(type)) {
- ContextResolver<?> binding =
JAXRSUtils.createContextValue(exchange.getInMessage(), type,
ContextResolver.class);
- ThreadLocalContextManager.CONTEXT_RESOLVER.set(binding);
- } else if (Providers.class.equals(type)) {
- Providers providers =
JAXRSUtils.createContextValue(exchange.getInMessage(), null, Providers.class);
- ThreadLocalContextManager.PROVIDERS.set(providers);
- } else if (ServletRequest.class.equals(type)) {
- ServletRequest servletRequest =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
ServletRequest.class);
- ThreadLocalContextManager.SERVLET_REQUEST.set(servletRequest);
- } else if (HttpServletRequest.class.equals(type)) {
- HttpServletRequest httpServletRequest =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
HttpServletRequest.class);
-
ThreadLocalContextManager.HTTP_SERVLET_REQUEST.set(httpServletRequest);
- } else if (HttpServletResponse.class.equals(type)) {
- HttpServletResponse httpServletResponse =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
HttpServletResponse.class);
-
ThreadLocalContextManager.HTTP_SERVLET_RESPONSE.set(httpServletResponse);
- } else if (ServletConfig.class.equals(type)) {
- ServletConfig servletConfig =
JAXRSUtils.createContextValue(exchange.getInMessage(), null,
ServletConfig.class);
- ThreadLocalContextManager.SERVLET_CONFIG.set(servletConfig);
- } else {
- final Message message = exchange.getInMessage();
- final ContextProvider<?> provider =
ProviderFactory.getInstance(message).createContextProvider(type, message);
- if (provider != null) {
- final Object value = provider.createContext(message);
- Map<String, Object> map =
ThreadLocalContextManager.OTHERS.get();
- if (map == null) {
- map = new HashMap<String, Object>();
- ThreadLocalContextManager.OTHERS.set(map);
- }
- map.put(type.getName(), value);
- }
- }
- }
-
+ Contexts.bind(exchange);
try {
return super.invoke(exchange, request, resourceObject);
} finally {
Modified:
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBPerRequestPojoResourceProvider.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBPerRequestPojoResourceProvider.java?rev=1388683&r1=1388682&r2=1388683&view=diff
==============================================================================
---
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBPerRequestPojoResourceProvider.java
(original)
+++
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/OpenEJBPerRequestPojoResourceProvider.java
Fri Sep 21 21:17:23 2012
@@ -39,6 +39,7 @@ import org.apache.cxf.message.Message;
import org.apache.openejb.Injection;
import org.apache.openejb.InjectionProcessor;
import org.apache.openejb.OpenEJBException;
+import org.apache.openejb.rest.ThreadLocalContextManager;
import org.apache.webbeans.config.WebBeansContext;
import org.apache.webbeans.container.BeanManagerImpl;
import org.apache.webbeans.inject.OWBInjector;
@@ -69,6 +70,8 @@ public class OpenEJBPerRequestPojoResour
@Override
public Object getInstance(Message m) {
+ Contexts.bind(m.getExchange());
+
final BeanManagerImpl bm = webbeansContext.getBeanManagerImpl();
if (bm.isInUse()) {
creator = new CdiBeanCreator(bm);
@@ -89,6 +92,7 @@ public class OpenEJBPerRequestPojoResour
if (creator != null) {
creator.release();
}
+ ThreadLocalContextManager.reset();
}
@Override
Modified:
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1388683&r1=1388682&r2=1388683&view=diff
==============================================================================
---
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
(original)
+++
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
Fri Sep 21 21:17:23 2012
@@ -44,12 +44,14 @@ import org.apache.openejb.spi.ContainerS
import org.apache.openejb.util.LogCategory;
import org.apache.openejb.util.Logger;
import org.apache.webbeans.config.WebBeansContext;
+import org.apache.xbean.finder.MetaAnnotatedClass;
import javax.naming.Context;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.Path;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.UriBuilder;
+import javax.ws.rs.ext.Provider;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -111,7 +113,7 @@ public abstract class RESTService implem
context = webContext.getAppContext().getAppJndiContext();
}
- final Collection<Class<?>> additionalProviders = new
HashSet<Class<?>>();
+ final Collection<Object> additionalProviders = new HashSet<Object>();
if (useDiscoveredProviders()) {
for (String name : webApp.jaxRsProviders) {
try {
@@ -167,7 +169,21 @@ public abstract class RESTService implem
}
}
+ Set<Class<?>> classes = appInstance.getClasses();
Set<Object> singletons = appInstance.getSingletons();
+
+ // look for providers
+ for (Class<?> clazz : classes) {
+ if (isProvider(clazz)) {
+ additionalProviders.add(clazz);
+ }
+ }
+ for (Object obj : singletons) {
+ if (obj != null && isProvider(obj.getClass())) {
+ additionalProviders.add(obj);
+ }
+ }
+
for (Object o : singletons) {
if (o == null) {
continue;
@@ -182,8 +198,12 @@ public abstract class RESTService implem
new
ServiceConfiguration(PojoUtil.findConfiguration(pojoConfigurations,
o.getClass().getName()), appInfo.services));
}
}
- Set<Class<?>> classes = appInstance.getClasses();
+
for (Class<?> clazz : classes) {
+ if (additionalProviders.contains(clazz)) {
+ continue;
+ }
+
if (hasEjbAndIsNotAManagedBean(restEjbs, clazz.getName()))
{
deployEJB(appPrefix,
restEjbs.get(clazz.getName()).context, additionalProviders, appInfo.services);
} else {
@@ -230,6 +250,10 @@ public abstract class RESTService implem
}
}
+ private static <T> boolean isProvider(final Class<T> clazz) {
+ return new
MetaAnnotatedClass<T>(clazz).isAnnotationPresent(Provider.class);
+ }
+
private boolean hasEjbAndIsNotAManagedBean(final Map<String,
EJBRestServiceInfo> restEjbs, final String clazz) {
return restEjbs.containsKey(clazz) &&
!BeanType.MANAGED.equals(restEjbs.get(clazz).context.getComponentType());
}
@@ -238,8 +262,8 @@ public abstract class RESTService implem
return
SystemInstance.get().getOptions().get(OPENEJB_JAXRS_PROVIDERS_AUTO_PROP, false);
}
- private Collection<Class<?>> appProviders(final AppInfo appInfo, final
ClassLoader classLoader) {
- final Collection<Class<?>> additionalProviders = new
HashSet<Class<?>>();
+ private Collection<Object> appProviders(final AppInfo appInfo, final
ClassLoader classLoader) {
+ final Collection<Object> additionalProviders = new HashSet<Object>();
for (String name : appInfo.jaxRsProviders) {
try {
additionalProviders.add(classLoader.loadClass(name));
@@ -255,11 +279,11 @@ public abstract class RESTService implem
if (deployedApplications.add(appInfo)) {
if (appInfo.webApps.size() == 0) {
final Map<String, EJBRestServiceInfo> restEjbs =
getRestEjbs(appInfo);
- final Collection<Class<?>> providers;
+ final Collection<Object> providers;
if (useDiscoveredProviders()) {
providers = appProviders(appInfo,
containerSystem.getAppContext(appInfo.appId).getClassLoader());
} else {
- providers = new ArrayList<Class<?>>();
+ providers = new ArrayList<Object>();
}
for (Map.Entry<String, EJBRestServiceInfo> ejb :
restEjbs.entrySet()) {
@@ -324,7 +348,7 @@ public abstract class RESTService implem
}
private void deploySingleton(String contextRoot, Object o, Application
appInstance, ClassLoader classLoader,
- Collection<Class<?>> additionalProviders,
ServiceConfiguration configuration) {
+ Collection<Object> additionalProviders,
ServiceConfiguration configuration) {
final String nopath = getAddress(contextRoot, o.getClass());
final RsHttpListener listener = createHttpListener();
final RsRegistry.AddressInfo address =
rsRegistry.createRsHttpListener(contextRoot, listener, classLoader,
nopath.substring(NOPATH_PREFIX.length() - 1), virtualHost);
@@ -336,7 +360,7 @@ public abstract class RESTService implem
}
private void deployPojo(String contextRoot, Class<?> loadedClazz,
Application app, ClassLoader classLoader, Collection<Injection> injections,
- Context context, WebBeansContext owbCtx,
Collection<Class<?>> additionalProviders, ServiceConfiguration config) {
+ Context context, WebBeansContext owbCtx,
Collection<Object> additionalProviders, ServiceConfiguration config) {
if (loadedClazz.isInterface()) {
return;
}
@@ -352,7 +376,7 @@ public abstract class RESTService implem
LOGGER.info("REST Service: " + address.complete + " -> Pojo " +
loadedClazz.getName());
}
- private void deployEJB(String context, BeanContext beanContext,
Collection<Class<?>> additionalProviders, Collection<ServiceInfo> serviceInfos)
{
+ private void deployEJB(String context, BeanContext beanContext,
Collection<Object> additionalProviders, Collection<ServiceInfo> serviceInfos) {
final String nopath = getAddress(context, beanContext.getBeanClass());
final RsHttpListener listener = createHttpListener();
final RsRegistry.AddressInfo address =
rsRegistry.createRsHttpListener(context, listener,
beanContext.getClassLoader(), nopath.substring(NOPATH_PREFIX.length() - 1),
virtualHost);
Modified:
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RsHttpListener.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RsHttpListener.java?rev=1388683&r1=1388682&r2=1388683&view=diff
==============================================================================
---
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RsHttpListener.java
(original)
+++
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RsHttpListener.java
Fri Sep 21 21:17:23 2012
@@ -29,12 +29,12 @@ import java.util.Collection;
public interface RsHttpListener extends HttpListener {
void deploySingleton(String fullContext, Object o, Application appInstance,
- Collection<Class<?>> additionalProviders,
ServiceConfiguration serviceInfos);
+ Collection<Object> additionalProviders,
ServiceConfiguration serviceInfos);
void deployPojo(String fullContext, Class<?> loadedClazz, Application app,
Collection<Injection> injections,
- Context context, WebBeansContext owbCtx,
Collection<Class<?>> additionalProviders, ServiceConfiguration serviceInfos);
+ Context context, WebBeansContext owbCtx,
Collection<Object> additionalProviders, ServiceConfiguration serviceInfos);
- void deployEJB(String fullContext, BeanContext beanContext,
Collection<Class<?>> additionalProviders, ServiceConfiguration serviceInfos);
+ void deployEJB(String fullContext, BeanContext beanContext,
Collection<Object> additionalProviders, ServiceConfiguration serviceInfos);
void undeploy();
}