[exo-jcr-commits] exo-jcr SVN: r3974 - ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Feb 15 04:03:39 EST 2011
Author: aparfonov
Date: 2011-02-15 04:03:38 -0500 (Tue, 15 Feb 2011)
New Revision: 3974
Modified:
ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/ApplicationRegistry.java
Log:
EXOJCR-1196
Modified: ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/ApplicationRegistry.java
===================================================================
--- ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/ApplicationRegistry.java 2011-02-15 08:29:10 UTC (rev 3973)
+++ ws/trunk/exo.ws.rest.core/src/main/java/org/exoplatform/services/rest/impl/ApplicationRegistry.java 2011-02-15 09:03:38 UTC (rev 3974)
@@ -35,6 +35,7 @@
import org.picocontainer.Startable;
import java.util.List;
+import java.util.Set;
import javax.ws.rs.Path;
import javax.ws.rs.core.Application;
@@ -48,7 +49,7 @@
* Purpose of this class is to get all subclasses of
* {@link javax.ws.rs.core.Application} from eXo container and to process set of
* object of classes provided by it as JAX-RS components.
- *
+ *
* @author <a href="mailto:andrew00x at gmail.com">Andrey Parfonov</a>
* @version $Id$
*/
@@ -91,72 +92,80 @@
{
String applicationId = app.getClass().getName();
ApplicationProviders appProviders = new ApplicationProviders(applicationId);
- for (Object obj : app.getSingletons())
+ Set<Object> singletons = app.getSingletons();
+ if (singletons != null && singletons.size() > 0)
{
- Class clazz = obj.getClass();
- if (clazz.getAnnotation(Provider.class) != null)
+ for (Object obj : singletons)
{
- if (obj instanceof ContextResolver)
- appProviders.addContextResolver((ContextResolver)obj);
- if (obj instanceof ExceptionMapper)
- appProviders.addExceptionMapper((ExceptionMapper)obj);
- if (obj instanceof MessageBodyReader)
- appProviders.addMessageBodyReader((MessageBodyReader)obj);
- if (obj instanceof MessageBodyWriter)
- appProviders.addMessageBodyWriter((MessageBodyWriter)obj);
+ Class clazz = obj.getClass();
+ if (clazz.getAnnotation(Provider.class) != null)
+ {
+ if (obj instanceof ContextResolver)
+ appProviders.addContextResolver((ContextResolver)obj);
+ if (obj instanceof ExceptionMapper)
+ appProviders.addExceptionMapper((ExceptionMapper)obj);
+ if (obj instanceof MessageBodyReader)
+ appProviders.addMessageBodyReader((MessageBodyReader)obj);
+ if (obj instanceof MessageBodyWriter)
+ appProviders.addMessageBodyWriter((MessageBodyWriter)obj);
+ }
+ else if (clazz.getAnnotation(Filter.class) != null)
+ {
+ if (obj instanceof MethodInvokerFilter)
+ appProviders.addMethodInvokerFilter((MethodInvokerFilter)obj);
+ if (obj instanceof RequestFilter)
+ appProviders.addRequestFilter((RequestFilter)obj);
+ if (obj instanceof ResponseFilter)
+ appProviders.addResponseFilter((ResponseFilter)obj);
+ }
+ else if (clazz.getAnnotation(Path.class) != null)
+ {
+ AbstractResourceDescriptor descriptor = new ApplicationResource(applicationId, obj);
+ descriptor.accept(rdv);
+ resources.addResource(new SingletonObjectFactory<AbstractResourceDescriptor>(descriptor, obj));
+ }
+ else
+ {
+ LOG.warn("Unknown class type: " + clazz.getName() + " found in " + applicationId);
+ }
}
- else if (clazz.getAnnotation(Filter.class) != null)
- {
- if (obj instanceof MethodInvokerFilter)
- appProviders.addMethodInvokerFilter((MethodInvokerFilter)obj);
- if (obj instanceof RequestFilter)
- appProviders.addRequestFilter((RequestFilter)obj);
- if (obj instanceof ResponseFilter)
- appProviders.addResponseFilter((ResponseFilter)obj);
- }
- else if (clazz.getAnnotation(Path.class) != null)
- {
- AbstractResourceDescriptor descriptor = new ApplicationResource(applicationId, obj);
- descriptor.accept(rdv);
- resources.addResource(new SingletonObjectFactory<AbstractResourceDescriptor>(descriptor, obj));
- }
- else
- {
- LOG.warn("Unknown class type: " + clazz.getName() + " found in " + applicationId);
- }
}
- for (Class clazz : app.getClasses())
+ Set<Class<?>> classes = app.getClasses();
+ if (classes != null && classes.size() > 0)
{
- if (clazz.getAnnotation(Provider.class) != null)
+ for (Class clazz : classes)
{
- if (ContextResolver.class.isAssignableFrom(clazz))
- appProviders.addContextResolver(clazz);
- if (ExceptionMapper.class.isAssignableFrom(clazz))
- appProviders.addExceptionMapper(clazz);
- if (MessageBodyReader.class.isAssignableFrom(clazz))
- appProviders.addMessageBodyReader(clazz);
- if (MessageBodyWriter.class.isAssignableFrom(clazz))
- appProviders.addMessageBodyWriter(clazz);
+ if (clazz.getAnnotation(Provider.class) != null)
+ {
+ if (ContextResolver.class.isAssignableFrom(clazz))
+ appProviders.addContextResolver(clazz);
+ if (ExceptionMapper.class.isAssignableFrom(clazz))
+ appProviders.addExceptionMapper(clazz);
+ if (MessageBodyReader.class.isAssignableFrom(clazz))
+ appProviders.addMessageBodyReader(clazz);
+ if (MessageBodyWriter.class.isAssignableFrom(clazz))
+ appProviders.addMessageBodyWriter(clazz);
+ }
+ else if (clazz.getAnnotation(Filter.class) != null)
+ {
+ if (MethodInvokerFilter.class.isAssignableFrom(clazz))
+ appProviders.addMethodInvokerFilter(clazz);
+ if (RequestFilter.class.isAssignableFrom(clazz))
+ appProviders.addRequestFilter(clazz);
+ if (ResponseFilter.class.isAssignableFrom(clazz))
+ appProviders.addResponseFilter(clazz);
+ }
+ else if (clazz.getAnnotation(Path.class) != null)
+ {
+ AbstractResourceDescriptor descriptor = new ApplicationResource(applicationId, clazz);
+ descriptor.accept(rdv);
+ resources.addResource(new PerRequestObjectFactory<AbstractResourceDescriptor>(descriptor));
+ }
+ else
+ {
+ LOG.warn("Unknown class type: " + clazz.getName() + " found in: " + applicationId);
+ }
}
- else if (clazz.getAnnotation(Filter.class) != null)
- {
- if (MethodInvokerFilter.class.isAssignableFrom(clazz))
- appProviders.addMethodInvokerFilter(clazz);
- if (RequestFilter.class.isAssignableFrom(clazz))
- appProviders.addRequestFilter(clazz);
- if (ResponseFilter.class.isAssignableFrom(clazz))
- appProviders.addResponseFilter(clazz);
- }
- else if (clazz.getAnnotation(Path.class) != null)
- {
- AbstractResourceDescriptor descriptor = new ApplicationResource(applicationId, clazz);
- descriptor.accept(rdv);
- resources.addResource(new PerRequestObjectFactory<AbstractResourceDescriptor>(descriptor));
- }
- else
- {
- LOG.warn("Unknown class type: " + clazz.getName() + " found in: " + applicationId);
- }
}
this.providers.addProviders(appProviders);
}
More information about the exo-jcr-commits
mailing list