[webbeans-commits] Webbeans SVN: r311 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/contexts and 2 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-16 07:38:37 -0500 (Sun, 16 Nov 2008)
New Revision: 311
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
Log:
ThreadLocal private contexts (still serialized whole beanmap, thoug)
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -1,23 +0,0 @@
-package org.jboss.webbeans;
-
-
-public class Lifecycle
-{
- public static void beginApplication()
- {
- }
-
- public static void endApplication()
- {
- }
-
- public static void beginSession()
- {
- }
-
- public static void endSession()
- {
- }
-
-
-}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -2,7 +2,6 @@
import java.lang.annotation.Annotation;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -3,6 +3,7 @@
import java.lang.annotation.Annotation;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Context;
@@ -21,10 +22,10 @@
public abstract class AbstractContext implements Context
{
- protected class BeanMap extends ForwardingMap<Bean<? extends Object>, Object>
+ public class BeanMap extends ForwardingMap<Bean<? extends Object>, Object>
{
- Map<Bean<? extends Object>, Object> delegate;
+ protected Map<Bean<? extends Object>, Object> delegate;
public BeanMap()
{
@@ -46,12 +47,12 @@
}
private Class<? extends Annotation> scopeType;
- protected boolean active;
+ protected AtomicBoolean active;
public AbstractContext(Class<? extends Annotation> scopeType)
{
this.scopeType = scopeType;
-
+ active = new AtomicBoolean(true);
}
public abstract <T> T get(Bean<T> bean, boolean create);
@@ -65,12 +66,12 @@
public boolean isActive()
{
- return active;
+ return active.get();
}
- public void setActive(boolean active)
+ public void setActive(boolean value)
{
- this.active = active;
+ active.set(value);
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -2,7 +2,7 @@
import javax.webbeans.ApplicationScoped;
-public class ApplicationContext extends NormalContext {
+public class ApplicationContext extends SharedContext {
public ApplicationContext()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -3,7 +3,7 @@
import javax.webbeans.ConversationScoped;
-public class ConversationContext extends NormalContext {
+public class ConversationContext extends PrivateContext {
public ConversationContext()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -11,13 +11,13 @@
public DependentContext()
{
super(Dependent.class);
- active = false;
+ setActive(false);
}
@Override
public <T> T get(Bean<T> bean, boolean create)
{
- if (!active)
+ if (!isActive())
{
throw new ContextNotActiveException();
}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -1,58 +0,0 @@
-package org.jboss.webbeans.contexts;
-
-import java.lang.annotation.Annotation;
-
-import javax.webbeans.ContextNotActiveException;
-import javax.webbeans.manager.Bean;
-import javax.webbeans.manager.Manager;
-
-public abstract class NormalContext extends AbstractContext
-{
- private BeanMap beans;
-
- public NormalContext(Class<? extends Annotation> scopeType)
- {
- super(scopeType);
- beans = new BeanMap();
- // TODO active on create?
- active = true;
- }
-
- public <T> T get(Bean<T> bean, boolean create)
- {
- if (!active)
- {
- throw new ContextNotActiveException();
- }
- T instance = beans.get(bean);
- if (instance != null)
- {
- return instance;
- }
- if (!create)
- {
- return null;
- }
-
- // TODO should bean creation be synchronized?
- instance = bean.create();
- beans.put(bean, instance);
- return instance;
- }
-
- private <T> void destroy(Manager manager, Bean<T> bean)
- {
- bean.destroy(beans.get(bean));
- }
-
- public void destroy(Manager manager)
- {
- for (Bean<? extends Object> bean : beans.keySet())
- {
- destroy(manager, bean);
- }
- beans = new BeanMap();
- active = false;
- }
-
-}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java (from rev 310, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -0,0 +1,76 @@
+package org.jboss.webbeans.contexts;
+
+import java.lang.annotation.Annotation;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import javax.webbeans.ContextNotActiveException;
+import javax.webbeans.manager.Bean;
+import javax.webbeans.manager.Manager;
+
+public abstract class PrivateContext extends AbstractContext
+{
+ private ThreadLocal<AtomicBoolean> active;
+ private ThreadLocal<BeanMap> beans;
+
+ public PrivateContext(Class<? extends Annotation> scopeType)
+ {
+ super(scopeType);
+ beans = new ThreadLocal<BeanMap>();
+ beans.set(new BeanMap());
+ active = new ThreadLocal<AtomicBoolean>();
+ active.set(new AtomicBoolean(true));
+ }
+
+ public void setBeans(BeanMap beans) {
+ this.beans.set(beans);
+ }
+
+ public <T> T get(Bean<T> bean, boolean create)
+ {
+ if (!isActive())
+ {
+ throw new ContextNotActiveException();
+ }
+ T instance = beans.get().get(bean);
+ if (instance != null)
+ {
+ return instance;
+ }
+ if (!create)
+ {
+ return null;
+ }
+
+ // TODO should bean creation be synchronized?
+ instance = bean.create();
+ beans.get().put(bean, instance);
+ return instance;
+ }
+
+ private <T> void destroy(Manager manager, Bean<T> bean)
+ {
+ bean.destroy(beans.get().get(bean));
+ }
+
+ public void destroy(Manager manager)
+ {
+ for (Bean<? extends Object> bean : beans.get().keySet())
+ {
+ destroy(manager, bean);
+ }
+ beans.set(new BeanMap());
+ }
+
+ @Override
+ public boolean isActive()
+ {
+ return active.get().get();
+ }
+
+ @Override
+ public void setActive(boolean value)
+ {
+ active.get().set(value);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -2,7 +2,7 @@
import javax.webbeans.RequestScoped;
-public class RequestContext extends NormalContext
+public class RequestContext extends PrivateContext
{
public RequestContext()
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -2,7 +2,7 @@
import javax.webbeans.SessionScoped;
-public class SessionContext extends NormalContext {
+public class SessionContext extends PrivateContext {
public SessionContext()
{
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -0,0 +1,56 @@
+package org.jboss.webbeans.contexts;
+
+import java.lang.annotation.Annotation;
+
+import javax.webbeans.ContextNotActiveException;
+import javax.webbeans.manager.Bean;
+import javax.webbeans.manager.Manager;
+
+public abstract class SharedContext extends AbstractContext
+{
+ private BeanMap beans;
+
+ public SharedContext(Class<? extends Annotation> scopeType)
+ {
+ super(scopeType);
+ beans = new BeanMap();
+ setActive(true);
+ }
+
+ public <T> T get(Bean<T> bean, boolean create)
+ {
+ if (!isActive())
+ {
+ throw new ContextNotActiveException();
+ }
+ T instance = beans.get(bean);
+ if (instance != null)
+ {
+ return instance;
+ }
+ if (!create)
+ {
+ return null;
+ }
+
+ // TODO should bean creation be synchronized?
+ instance = bean.create();
+ beans.put(bean, instance);
+ return instance;
+ }
+
+ private <T> void destroy(Manager manager, Bean<T> bean)
+ {
+ bean.destroy(beans.get(bean));
+ }
+
+ public void destroy(Manager manager)
+ {
+ for (Bean<? extends Object> bean : beans.keySet())
+ {
+ destroy(manager, bean);
+ }
+ beans = new BeanMap();
+ }
+
+}
\ No newline at end of file
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -3,12 +3,17 @@
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
+import javax.webbeans.SessionScoped;
-import org.jboss.webbeans.Lifecycle;
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.contexts.SessionContext;
+import org.jboss.webbeans.contexts.AbstractContext.BeanMap;
+import org.jboss.webbeans.util.JNDI;
public class ServletLifecycle
{
private static ServletContext servletContext;
+ private static final String SESSION_BEANMAP_KEY = "org.jboss.webbeans.context.session.data";
public static void beginApplication(ServletContext context)
{
@@ -21,14 +26,16 @@
public static void beginSession(HttpSession session)
{
- Lifecycle.beginSession();
}
public static void endSession(HttpSession session) {
- Lifecycle.endSession();
}
public static void beginRequest(HttpServletRequest request) {
+ ManagerImpl manager = (ManagerImpl) JNDI.lookup("manager");
+ SessionContext sessionContext = (SessionContext) manager.getContext(SessionScoped.class);
+ BeanMap sessionBeans = (BeanMap) request.getAttribute(SESSION_BEANMAP_KEY);
+ sessionContext.setBeans(sessionBeans);
}
public static void endRequest(HttpServletRequest request) {
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-11-14 13:12:23 UTC (rev 310)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-11-16 12:38:37 UTC (rev 311)
@@ -4,7 +4,7 @@
import javax.webbeans.RequestScoped;
import javax.webbeans.manager.Context;
-import org.jboss.webbeans.contexts.NormalContext;
+import org.jboss.webbeans.contexts.PrivateContext;
import org.jboss.webbeans.contexts.RequestContext;
import org.testng.annotations.Test;
@@ -22,7 +22,7 @@
public void testGetContextWithNoActiveContextsFails()
{
Context requestContext = new RequestContext();
- ((NormalContext)requestContext).setActive(false);
+ ((PrivateContext)requestContext).setActive(false);
manager.setContexts(requestContext);
manager.getContext(RequestScoped.class);
}
17 years, 4 months
[webbeans-commits] Webbeans SVN: r310 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans: contexts and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-14 08:12:23 -0500 (Fri, 14 Nov 2008)
New Revision: 310
Removed:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
Log:
Rollback.
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,52 +1,23 @@
package org.jboss.webbeans;
-import java.util.Map;
-import javax.webbeans.ApplicationScoped;
-import javax.webbeans.SessionScoped;
-
-import org.jboss.webbeans.contexts.Contexts;
-import org.jboss.webbeans.contexts.SessionContext;
-import org.jboss.webbeans.servlet.ServletApplicationMap;
-import org.jboss.webbeans.servlet.ServletSessionMap;
-
public class Lifecycle
{
- private static ServletApplicationMap application;
-
- public static void beginApplication(ServletApplicationMap serverApplicationMap)
+ public static void beginApplication()
{
- application = serverApplicationMap;
}
- public static Map<String, Object> getApplication()
- {
- return application;
- }
-
public static void endApplication()
{
- Contexts.destroyContext(ApplicationScoped.class);
- Contexts.applicationContext.set(null);
- application = null;
}
- public static void beginSession(ServletSessionMap servletSessionMap)
+ public static void beginSession()
{
- Contexts.sessionContext.set(new SessionContext(servletSessionMap));
}
- public static void endSession(ServletSessionMap servletSessionMap)
+ public static void endSession()
{
- Contexts.destroyContext(SessionScoped.class);
- Contexts.sessionContext.set(null);
}
- public static void clearThreadlocals()
- {
- Contexts.applicationContext.set(null);
- Contexts.sessionContext.set(null);
- Contexts.requestContext.set(null);
- }
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,7 +1,5 @@
package org.jboss.webbeans.contexts;
-import java.util.Map;
-
import javax.webbeans.ApplicationScoped;
public class ApplicationContext extends NormalContext {
@@ -11,11 +9,6 @@
super(ApplicationScoped.class);
}
- public ApplicationContext(Map<String, Object> data)
- {
- super(ApplicationScoped.class, data);
- }
-
@Override
public String toString()
{
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,30 +0,0 @@
-package org.jboss.webbeans.contexts;
-
-import java.lang.annotation.Annotation;
-
-import javax.webbeans.manager.Context;
-
-public class Contexts
-{
- public static final ThreadLocal<Context> sessionContext = new ThreadLocal<Context>();
- public static final ThreadLocal<Context> requestContext = new ThreadLocal<Context>();
- public static final ThreadLocal<Context> applicationContext = new ThreadLocal<Context>();
-
- public Context getSessionContext() {
- return sessionContext.get();
- }
-
- public Context getRequestContext() {
- return requestContext.get();
- }
-
- public Context getApplicationContext() {
- return applicationContext.get();
- }
-
- public static void destroyContext(Class<? extends Annotation> scopeType)
- {
- // TODO: destroy the context;
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,7 +1,6 @@
package org.jboss.webbeans.contexts;
import java.lang.annotation.Annotation;
-import java.util.Map;
import javax.webbeans.ContextNotActiveException;
import javax.webbeans.manager.Bean;
@@ -19,12 +18,6 @@
active = true;
}
- public NormalContext(Class<? extends Annotation> scopeType, Map<String, Object> data) {
- super(scopeType);
- // TODO: load data into map
- active = true;
- }
-
public <T> T get(Bean<T> bean, boolean create)
{
if (!active)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,7 +1,5 @@
package org.jboss.webbeans.contexts;
-import java.util.Map;
-
import javax.webbeans.RequestScoped;
public class RequestContext extends NormalContext
@@ -12,11 +10,6 @@
super(RequestScoped.class);
}
- public RequestContext(Map<String, Object> data)
- {
- super(RequestScoped.class, data);
- }
-
@Override
public String toString()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,7 +1,5 @@
package org.jboss.webbeans.contexts;
-import java.util.Map;
-
import javax.webbeans.SessionScoped;
public class SessionContext extends NormalContext {
@@ -10,11 +8,6 @@
{
super(SessionScoped.class);
}
-
- public SessionContext(Map<String, Object> data)
- {
- super(SessionScoped.class, data);
- }
@Override
public String toString()
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,41 +0,0 @@
-package org.jboss.webbeans.servlet;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-
-
-public abstract class ContextualHttpServletRequest
-{
- private final HttpServletRequest request;
-
- public ContextualHttpServletRequest(HttpServletRequest request)
- {
- this.request = request;
- }
-
- public abstract void process() throws Exception;
-
- public void run() throws ServletException, IOException
- {
- ServletLifecycle.beginRequest(request);
-
- if (request.getSession(false) == null)
- {
- request.getSession(true);
- }
-
- try
- {
- process();
- } catch (Exception e)
- {
- throw new IOException(e);
- } finally
- {
- ServletLifecycle.endRequest(request);
- }
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,90 +0,0 @@
-package org.jboss.webbeans.servlet;
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.ServletContext;
-
-public class ServletApplicationMap implements Map<String, Object>
-{
- private ServletContext servletContext;
-
- public ServletApplicationMap(ServletContext servletContext)
- {
- this.servletContext = servletContext;
- }
-
- public void clear()
- {
- throw new UnsupportedOperationException();
- }
-
- public boolean containsKey(Object key)
- {
- return servletContext.getAttribute( (String) key )!=null;
- }
-
- public boolean containsValue(Object value)
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<java.util.Map.Entry<String, Object>> entrySet()
- {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Object key)
- {
- return servletContext.getAttribute( (String) key );
- }
-
- public boolean isEmpty()
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<String> keySet()
- {
- Set<String> keys = new HashSet<String>();
- Enumeration<String> names = servletContext.getAttributeNames();
- while ( names.hasMoreElements() )
- {
- keys.add( names.nextElement() );
- }
- return keys;
- }
-
- public Object put(String key, Object value)
- {
- Object result = servletContext.getAttribute(key);
- servletContext.setAttribute(key, value);
- return result;
- }
-
- public void putAll(Map<? extends String, ? extends Object> t)
- {
- throw new UnsupportedOperationException();
- }
-
- public Object remove(Object key)
- {
- Object result = servletContext.getAttribute( (String) key );
- servletContext.removeAttribute( (String) key );
- return result;
- }
-
- public int size()
- {
- throw new UnsupportedOperationException();
- }
-
- public Collection<Object> values()
- {
- throw new UnsupportedOperationException();
- }
-
-}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -5,10 +5,6 @@
import javax.servlet.http.HttpSession;
import org.jboss.webbeans.Lifecycle;
-import org.jboss.webbeans.contexts.ApplicationContext;
-import org.jboss.webbeans.contexts.Contexts;
-import org.jboss.webbeans.contexts.RequestContext;
-import org.jboss.webbeans.contexts.SessionContext;
public class ServletLifecycle
{
@@ -17,31 +13,25 @@
public static void beginApplication(ServletContext context)
{
servletContext = context;
- Lifecycle.beginApplication(new ServletApplicationMap(context));
}
public static void endApplication() {
- Lifecycle.endApplication();
servletContext = null;
}
public static void beginSession(HttpSession session)
{
- Lifecycle.beginSession( new ServletSessionMap(session) );
+ Lifecycle.beginSession();
}
public static void endSession(HttpSession session) {
- Lifecycle.endSession( new ServletSessionMap(session) );
+ Lifecycle.endSession();
}
public static void beginRequest(HttpServletRequest request) {
- Contexts.applicationContext.set(new ApplicationContext( Lifecycle.getApplication() ) );
- Contexts.requestContext.set( new RequestContext( new ServletRequestMap(request) ) );
- Contexts.sessionContext.set( new SessionContext( new ServletRequestSessionMap(request) ) );
}
public static void endRequest(HttpServletRequest request) {
- Lifecycle.clearThreadlocals();
}
public static ServletContext getServletContext()
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,91 +0,0 @@
-package org.jboss.webbeans.servlet;
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.ServletRequest;
-
-public class ServletRequestMap implements Map<String, Object>
-{
-
- private ServletRequest request;
-
- public ServletRequestMap(ServletRequest request)
- {
- this.request = request;
- }
-
- public void clear()
- {
- throw new UnsupportedOperationException();
- }
-
- public boolean containsKey(Object key)
- {
- return request.getAttribute( (String) key )!=null;
- }
-
- public boolean containsValue(Object value)
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<java.util.Map.Entry<String, Object>> entrySet()
- {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Object key)
- {
- return request.getAttribute( (String) key );
- }
-
- public boolean isEmpty()
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<String> keySet()
- {
- Set<String> keys = new HashSet<String>();
- Enumeration<String> names = request.getAttributeNames();
- while ( names.hasMoreElements() )
- {
- keys.add( names.nextElement() );
- }
- return keys;
- }
-
- public Object put(String key, Object value)
- {
- Object result = request.getAttribute(key);
- request.setAttribute(key, value);
- return result;
- }
-
- public void putAll(Map<? extends String, ? extends Object> t)
- {
- throw new UnsupportedOperationException();
- }
-
- public Object remove(Object key)
- {
- Object result = request.getAttribute( (String) key );
- request.removeAttribute( (String) key );
- return result;
- }
-
- public int size()
- {
- throw new UnsupportedOperationException();
- }
-
- public Collection<Object> values()
- {
- throw new UnsupportedOperationException();
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,111 +0,0 @@
-package org.jboss.webbeans.servlet;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpSession;
-
-public class ServletRequestSessionMap implements Map<String, Object>
-{
- private HttpServletRequest request;
-
- public ServletRequestSessionMap(HttpServletRequest request)
- {
- this.request = request;
- }
-
- public void clear()
- {
- throw new UnsupportedOperationException();
- }
-
- public boolean containsKey(Object key)
- {
- HttpSession session = request.getSession(false);
- return session==null ? false : session.getAttribute( (String) key )!=null;
- }
-
- public boolean containsValue(Object value)
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<java.util.Map.Entry<String, Object>> entrySet()
- {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Object key)
- {
- HttpSession session = request.getSession(false);
- return session==null ? null : session.getAttribute( (String) key );
- }
-
- public boolean isEmpty()
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<String> keySet()
- {
- HttpSession session = request.getSession(false);
- if (session==null)
- {
- return Collections.EMPTY_SET;
- }
- else
- {
- Set<String> keys = new HashSet<String>();
- Enumeration<String> names = session.getAttributeNames();
- while ( names.hasMoreElements() )
- {
- keys.add( names.nextElement() );
- }
- return keys;
- }
- }
-
- public Object put(String key, Object value)
- {
- HttpSession session = request.getSession(true);
- Object result = session.getAttribute(key);
- session.setAttribute(key, value);
- return result;
- }
-
- public void putAll(Map<? extends String, ? extends Object> t)
- {
- throw new UnsupportedOperationException();
- }
-
- public Object remove(Object key)
- {
- HttpSession session = request.getSession(false);
- if (session==null)
- {
- return null;
- }
- else
- {
- Object result = session.getAttribute( (String) key );
- session.removeAttribute( (String) key );
- return result;
- }
- }
-
- public int size()
- {
- throw new UnsupportedOperationException();
- }
-
- public Collection<Object> values()
- {
- throw new UnsupportedOperationException();
- }
-
-}
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java 2008-11-14 13:06:02 UTC (rev 309)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java 2008-11-14 13:12:23 UTC (rev 310)
@@ -1,90 +0,0 @@
-package org.jboss.webbeans.servlet;
-
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpSession;
-
-public class ServletSessionMap implements Map<String, Object>
-{
- private HttpSession session;
-
- public ServletSessionMap(HttpSession session)
- {
- this.session = session;
- }
-
- public void clear()
- {
- throw new UnsupportedOperationException();
- }
-
- public boolean containsKey(Object key)
- {
- return session.getAttribute( (String) key )!=null;
- }
-
- public boolean containsValue(Object value)
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<java.util.Map.Entry<String, Object>> entrySet()
- {
- throw new UnsupportedOperationException();
- }
-
- public Object get(Object key)
- {
- return session.getAttribute( (String) key );
- }
-
- public boolean isEmpty()
- {
- throw new UnsupportedOperationException();
- }
-
- public Set<String> keySet()
- {
- Set<String> keys = new HashSet<String>();
- Enumeration<String> names = session.getAttributeNames();
- while ( names.hasMoreElements() )
- {
- keys.add( names.nextElement() );
- }
- return keys;
- }
-
- public Object put(String key, Object value)
- {
- Object result = session.getAttribute(key);
- session.setAttribute(key, value);
- return result;
- }
-
- public void putAll(Map<? extends String, ? extends Object> t)
- {
- throw new UnsupportedOperationException();
- }
-
- public Object remove(Object key)
- {
- Object result = session.getAttribute( (String) key );
- session.removeAttribute( (String) key );
- return result;
- }
-
- public int size()
- {
- throw new UnsupportedOperationException();
- }
-
- public Collection<Object> values()
- {
- throw new UnsupportedOperationException();
- }
-
-}
17 years, 5 months
[webbeans-commits] Webbeans SVN: r309 - ri/trunk.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-14 08:06:02 -0500 (Fri, 14 Nov 2008)
New Revision: 309
Modified:
ri/trunk/pom.xml
Log:
add sources jar
Modified: ri/trunk/pom.xml
===================================================================
--- ri/trunk/pom.xml 2008-11-14 12:36:22 UTC (rev 308)
+++ ri/trunk/pom.xml 2008-11-14 13:06:02 UTC (rev 309)
@@ -150,6 +150,22 @@
<version>1.0-beta-2</version>
</extension>
</extensions>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
<pluginManagement>
<plugins>
<plugin>
17 years, 5 months
[webbeans-commits] Webbeans SVN: r308 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans: contexts and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-14 07:36:22 -0500 (Fri, 14 Nov 2008)
New Revision: 308
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansListener.java
Log:
First attempt at migrating parts of bootstrap/lifecycle/session propagation from Seam
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/Lifecycle.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,52 @@
+package org.jboss.webbeans;
+
+import java.util.Map;
+
+import javax.webbeans.ApplicationScoped;
+import javax.webbeans.SessionScoped;
+
+import org.jboss.webbeans.contexts.Contexts;
+import org.jboss.webbeans.contexts.SessionContext;
+import org.jboss.webbeans.servlet.ServletApplicationMap;
+import org.jboss.webbeans.servlet.ServletSessionMap;
+
+public class Lifecycle
+{
+ private static ServletApplicationMap application;
+
+ public static void beginApplication(ServletApplicationMap serverApplicationMap)
+ {
+ application = serverApplicationMap;
+ }
+
+ public static Map<String, Object> getApplication()
+ {
+ return application;
+ }
+
+ public static void endApplication()
+ {
+ Contexts.destroyContext(ApplicationScoped.class);
+ Contexts.applicationContext.set(null);
+ application = null;
+ }
+
+ public static void beginSession(ServletSessionMap servletSessionMap)
+ {
+ Contexts.sessionContext.set(new SessionContext(servletSessionMap));
+ }
+
+ public static void endSession(ServletSessionMap servletSessionMap)
+ {
+ Contexts.destroyContext(SessionScoped.class);
+ Contexts.sessionContext.set(null);
+ }
+
+ public static void clearThreadlocals()
+ {
+ Contexts.applicationContext.set(null);
+ Contexts.sessionContext.set(null);
+ Contexts.requestContext.set(null);
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -66,7 +66,7 @@
public DependentContext getDependentContext()
{
- return (DependentContext) get(Dependent.class).get(0);
+ return (DependentContext) get(Dependent.class).iterator().next();
}
@Override
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -1,5 +1,7 @@
package org.jboss.webbeans.contexts;
+import java.util.Map;
+
import javax.webbeans.ApplicationScoped;
public class ApplicationContext extends NormalContext {
@@ -9,6 +11,11 @@
super(ApplicationScoped.class);
}
+ public ApplicationContext(Map<String, Object> data)
+ {
+ super(ApplicationScoped.class, data);
+ }
+
@Override
public String toString()
{
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/Contexts.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,30 @@
+package org.jboss.webbeans.contexts;
+
+import java.lang.annotation.Annotation;
+
+import javax.webbeans.manager.Context;
+
+public class Contexts
+{
+ public static final ThreadLocal<Context> sessionContext = new ThreadLocal<Context>();
+ public static final ThreadLocal<Context> requestContext = new ThreadLocal<Context>();
+ public static final ThreadLocal<Context> applicationContext = new ThreadLocal<Context>();
+
+ public Context getSessionContext() {
+ return sessionContext.get();
+ }
+
+ public Context getRequestContext() {
+ return requestContext.get();
+ }
+
+ public Context getApplicationContext() {
+ return applicationContext.get();
+ }
+
+ public static void destroyContext(Class<? extends Annotation> scopeType)
+ {
+ // TODO: destroy the context;
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/NormalContext.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -1,6 +1,7 @@
package org.jboss.webbeans.contexts;
import java.lang.annotation.Annotation;
+import java.util.Map;
import javax.webbeans.ContextNotActiveException;
import javax.webbeans.manager.Bean;
@@ -18,6 +19,12 @@
active = true;
}
+ public NormalContext(Class<? extends Annotation> scopeType, Map<String, Object> data) {
+ super(scopeType);
+ // TODO: load data into map
+ active = true;
+ }
+
public <T> T get(Bean<T> bean, boolean create)
{
if (!active)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -1,14 +1,22 @@
package org.jboss.webbeans.contexts;
+import java.util.Map;
+
import javax.webbeans.RequestScoped;
-public class RequestContext extends NormalContext {
+public class RequestContext extends NormalContext
+{
public RequestContext()
{
super(RequestScoped.class);
}
+ public RequestContext(Map<String, Object> data)
+ {
+ super(RequestScoped.class, data);
+ }
+
@Override
public String toString()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -1,5 +1,7 @@
package org.jboss.webbeans.contexts;
+import java.util.Map;
+
import javax.webbeans.SessionScoped;
public class SessionContext extends NormalContext {
@@ -9,6 +11,11 @@
super(SessionScoped.class);
}
+ public SessionContext(Map<String, Object> data)
+ {
+ super(SessionScoped.class, data);
+ }
+
@Override
public String toString()
{
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ContextualHttpServletRequest.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,41 @@
+package org.jboss.webbeans.servlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+
+
+public abstract class ContextualHttpServletRequest
+{
+ private final HttpServletRequest request;
+
+ public ContextualHttpServletRequest(HttpServletRequest request)
+ {
+ this.request = request;
+ }
+
+ public abstract void process() throws Exception;
+
+ public void run() throws ServletException, IOException
+ {
+ ServletLifecycle.beginRequest(request);
+
+ if (request.getSession(false) == null)
+ {
+ request.getSession(true);
+ }
+
+ try
+ {
+ process();
+ } catch (Exception e)
+ {
+ throw new IOException(e);
+ } finally
+ {
+ ServletLifecycle.endRequest(request);
+ }
+ }
+
+}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletApplicationMap.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,90 @@
+package org.jboss.webbeans.servlet;
+
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.ServletContext;
+
+public class ServletApplicationMap implements Map<String, Object>
+{
+ private ServletContext servletContext;
+
+ public ServletApplicationMap(ServletContext servletContext)
+ {
+ this.servletContext = servletContext;
+ }
+
+ public void clear()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean containsKey(Object key)
+ {
+ return servletContext.getAttribute( (String) key )!=null;
+ }
+
+ public boolean containsValue(Object value)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<java.util.Map.Entry<String, Object>> entrySet()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object get(Object key)
+ {
+ return servletContext.getAttribute( (String) key );
+ }
+
+ public boolean isEmpty()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<String> keySet()
+ {
+ Set<String> keys = new HashSet<String>();
+ Enumeration<String> names = servletContext.getAttributeNames();
+ while ( names.hasMoreElements() )
+ {
+ keys.add( names.nextElement() );
+ }
+ return keys;
+ }
+
+ public Object put(String key, Object value)
+ {
+ Object result = servletContext.getAttribute(key);
+ servletContext.setAttribute(key, value);
+ return result;
+ }
+
+ public void putAll(Map<? extends String, ? extends Object> t)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object remove(Object key)
+ {
+ Object result = servletContext.getAttribute( (String) key );
+ servletContext.removeAttribute( (String) key );
+ return result;
+ }
+
+ public int size()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Collection<Object> values()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -1,14 +1,15 @@
package org.jboss.webbeans.servlet;
import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
+import org.jboss.webbeans.Lifecycle;
+import org.jboss.webbeans.contexts.ApplicationContext;
+import org.jboss.webbeans.contexts.Contexts;
+import org.jboss.webbeans.contexts.RequestContext;
+import org.jboss.webbeans.contexts.SessionContext;
-/**
- *
- * @author Shane Bryzak
- *
- */
public class ServletLifecycle
{
private static ServletContext servletContext;
@@ -16,13 +17,33 @@
public static void beginApplication(ServletContext context)
{
servletContext = context;
+ Lifecycle.beginApplication(new ServletApplicationMap(context));
}
+ public static void endApplication() {
+ Lifecycle.endApplication();
+ servletContext = null;
+ }
+
public static void beginSession(HttpSession session)
{
- // TODO
+ Lifecycle.beginSession( new ServletSessionMap(session) );
}
+ public static void endSession(HttpSession session) {
+ Lifecycle.endSession( new ServletSessionMap(session) );
+ }
+
+ public static void beginRequest(HttpServletRequest request) {
+ Contexts.applicationContext.set(new ApplicationContext( Lifecycle.getApplication() ) );
+ Contexts.requestContext.set( new RequestContext( new ServletRequestMap(request) ) );
+ Contexts.sessionContext.set( new SessionContext( new ServletRequestSessionMap(request) ) );
+ }
+
+ public static void endRequest(HttpServletRequest request) {
+ Lifecycle.clearThreadlocals();
+ }
+
public static ServletContext getServletContext()
{
return servletContext;
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestMap.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,91 @@
+package org.jboss.webbeans.servlet;
+
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.ServletRequest;
+
+public class ServletRequestMap implements Map<String, Object>
+{
+
+ private ServletRequest request;
+
+ public ServletRequestMap(ServletRequest request)
+ {
+ this.request = request;
+ }
+
+ public void clear()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean containsKey(Object key)
+ {
+ return request.getAttribute( (String) key )!=null;
+ }
+
+ public boolean containsValue(Object value)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<java.util.Map.Entry<String, Object>> entrySet()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object get(Object key)
+ {
+ return request.getAttribute( (String) key );
+ }
+
+ public boolean isEmpty()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<String> keySet()
+ {
+ Set<String> keys = new HashSet<String>();
+ Enumeration<String> names = request.getAttributeNames();
+ while ( names.hasMoreElements() )
+ {
+ keys.add( names.nextElement() );
+ }
+ return keys;
+ }
+
+ public Object put(String key, Object value)
+ {
+ Object result = request.getAttribute(key);
+ request.setAttribute(key, value);
+ return result;
+ }
+
+ public void putAll(Map<? extends String, ? extends Object> t)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object remove(Object key)
+ {
+ Object result = request.getAttribute( (String) key );
+ request.removeAttribute( (String) key );
+ return result;
+ }
+
+ public int size()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Collection<Object> values()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletRequestSessionMap.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,111 @@
+package org.jboss.webbeans.servlet;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+public class ServletRequestSessionMap implements Map<String, Object>
+{
+ private HttpServletRequest request;
+
+ public ServletRequestSessionMap(HttpServletRequest request)
+ {
+ this.request = request;
+ }
+
+ public void clear()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean containsKey(Object key)
+ {
+ HttpSession session = request.getSession(false);
+ return session==null ? false : session.getAttribute( (String) key )!=null;
+ }
+
+ public boolean containsValue(Object value)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<java.util.Map.Entry<String, Object>> entrySet()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object get(Object key)
+ {
+ HttpSession session = request.getSession(false);
+ return session==null ? null : session.getAttribute( (String) key );
+ }
+
+ public boolean isEmpty()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<String> keySet()
+ {
+ HttpSession session = request.getSession(false);
+ if (session==null)
+ {
+ return Collections.EMPTY_SET;
+ }
+ else
+ {
+ Set<String> keys = new HashSet<String>();
+ Enumeration<String> names = session.getAttributeNames();
+ while ( names.hasMoreElements() )
+ {
+ keys.add( names.nextElement() );
+ }
+ return keys;
+ }
+ }
+
+ public Object put(String key, Object value)
+ {
+ HttpSession session = request.getSession(true);
+ Object result = session.getAttribute(key);
+ session.setAttribute(key, value);
+ return result;
+ }
+
+ public void putAll(Map<? extends String, ? extends Object> t)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object remove(Object key)
+ {
+ HttpSession session = request.getSession(false);
+ if (session==null)
+ {
+ return null;
+ }
+ else
+ {
+ Object result = session.getAttribute( (String) key );
+ session.removeAttribute( (String) key );
+ return result;
+ }
+ }
+
+ public int size()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Collection<Object> values()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletSessionMap.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -0,0 +1,90 @@
+package org.jboss.webbeans.servlet;
+
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.http.HttpSession;
+
+public class ServletSessionMap implements Map<String, Object>
+{
+ private HttpSession session;
+
+ public ServletSessionMap(HttpSession session)
+ {
+ this.session = session;
+ }
+
+ public void clear()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public boolean containsKey(Object key)
+ {
+ return session.getAttribute( (String) key )!=null;
+ }
+
+ public boolean containsValue(Object value)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<java.util.Map.Entry<String, Object>> entrySet()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object get(Object key)
+ {
+ return session.getAttribute( (String) key );
+ }
+
+ public boolean isEmpty()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Set<String> keySet()
+ {
+ Set<String> keys = new HashSet<String>();
+ Enumeration<String> names = session.getAttributeNames();
+ while ( names.hasMoreElements() )
+ {
+ keys.add( names.nextElement() );
+ }
+ return keys;
+ }
+
+ public Object put(String key, Object value)
+ {
+ Object result = session.getAttribute(key);
+ session.setAttribute(key, value);
+ return result;
+ }
+
+ public void putAll(Map<? extends String, ? extends Object> t)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object remove(Object key)
+ {
+ Object result = session.getAttribute( (String) key );
+ session.removeAttribute( (String) key );
+ return result;
+ }
+
+ public int size()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Collection<Object> values()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansListener.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansListener.java 2008-11-14 10:48:00 UTC (rev 307)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/WebBeansListener.java 2008-11-14 12:36:22 UTC (rev 308)
@@ -5,35 +5,27 @@
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
-
-/**
- *
- * @author Shane Bryzak
- *
- */
public class WebBeansListener implements ServletContextListener, HttpSessionListener
{
public void contextInitialized(ServletContextEvent event)
{
- ServletLifecycle.beginApplication( event.getServletContext() );
+ ServletLifecycle.beginApplication(event.getServletContext());
}
public void sessionCreated(HttpSessionEvent event)
{
- ServletLifecycle.beginSession( event.getSession() );
+ ServletLifecycle.beginSession(event.getSession());
}
public void sessionDestroyed(HttpSessionEvent event)
{
- // TODO Auto-generated method stub
-
+ ServletLifecycle.endSession(event.getSession());
}
public void contextDestroyed(ServletContextEvent event)
{
- // TODO Auto-generated method stub
-
+ ServletLifecycle.endApplication();
}
}
17 years, 5 months
[webbeans-commits] Webbeans SVN: r307 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-14 05:48:00 -0500 (Fri, 14 Nov 2008)
New Revision: 307
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
Log:
Minor. JDK6 compile issue.
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2008-11-14 08:05:09 UTC (rev 306)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedClassImpl.java 2008-11-14 10:48:00 UTC (rev 307)
@@ -230,9 +230,9 @@
{
this.constructors = new HashSet<AnnotatedConstructor<T>>();
this.constructorsByArgumentMap = new HashMap<List<Class<?>>, AnnotatedConstructor<T>>();
- for (Constructor<T> constructor : clazz.getDeclaredConstructors())
+ for (Constructor<?> constructor : clazz.getDeclaredConstructors())
{
- AnnotatedConstructor<T> annotatedConstructor = new AnnotatedConstructorImpl<T>(constructor, this);
+ AnnotatedConstructor<T> annotatedConstructor = new AnnotatedConstructorImpl<T>((Constructor<T>) constructor, this);
if (!constructor.isAccessible()) constructor.setAccessible(true);
constructors.add(annotatedConstructor);
constructorsByArgumentMap.put(Arrays.asList(constructor.getParameterTypes()), annotatedConstructor);
17 years, 5 months
[webbeans-commits] Webbeans SVN: r306 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans: bootstrap and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-11-14 03:05:09 -0500 (Fri, 14 Nov 2008)
New Revision: 306
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
Log:
Change bootstrapper to use bulk setBeans
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-13 12:59:29 UTC (rev 305)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-11-14 08:05:09 UTC (rev 306)
@@ -29,6 +29,7 @@
import javax.webbeans.manager.Interceptor;
import javax.webbeans.manager.Manager;
+import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.bean.proxy.ProxyPool;
import org.jboss.webbeans.contexts.ApplicationContext;
@@ -215,10 +216,10 @@
* Since this overwrites any existing list of beans in the manager,
* this should only be done on startup and other controlled situations.
*
- * @param beans The collection of beans to wrap.
*/
- public Manager setBeans(Collection<Bean<?>> beans) {
+ public Manager setBeans(Set<AbstractBean<?, ?>> beans) {
this.beans = new CopyOnWriteArrayList<Bean<?>>(beans);
+ getResolutionManager().clear();
return this;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-13 12:59:29 UTC (rev 305)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-14 08:05:09 UTC (rev 306)
@@ -95,10 +95,7 @@
public void registerBeans(Set<Class<?>> classes)
{
Set<AbstractBean<?, ?>> beans = createBeans(classes);
- for (Bean<?> bean : beans)
- {
- manager.addBean(bean);
- }
+ manager.setBeans(beans);
}
/**
17 years, 5 months
[webbeans-commits] Webbeans SVN: r305 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-13 07:59:29 -0500 (Thu, 13 Nov 2008)
New Revision: 305
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/DeploymentProperties.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
Log:
Basic tests for discovery and load discovery class from properties file or system property
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-13 12:28:05 UTC (rev 304)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-13 12:59:29 UTC (rev 305)
@@ -4,7 +4,9 @@
import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+import java.util.Arrays;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import javax.webbeans.manager.Bean;
@@ -12,12 +14,20 @@
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.AbstractClassBean;
+import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
import org.jboss.webbeans.introspector.AnnotatedMethod;
+import org.jboss.webbeans.log.LogProvider;
+import org.jboss.webbeans.log.Logging;
public class Bootstrap
{
+ private LogProvider log = Logging.getLogProvider(Bootstrap.class);
+
+ private static String WEB_BEAN_DISCOVERY_PROPERTY_NAME = "org.jboss.webbeans.bootstrap.webBeanDiscovery";
+
private ManagerImpl manager;
+ private DeploymentProperties deploymentProperties;
public Bootstrap()
{
@@ -27,14 +37,64 @@
protected Bootstrap(ManagerImpl manager)
{
this.manager = manager;
+ this.deploymentProperties = new DeploymentProperties(Thread.currentThread().getContextClassLoader());
}
+ protected List<String> getWebBeanDiscoveryClassNames()
+ {
+ return deploymentProperties.getPropertyValues(WEB_BEAN_DISCOVERY_PROPERTY_NAME);
+ }
+
+ public void discoverBeans()
+ {
+ WebBeanDiscovery webBeanDiscovery = null;
+ for (String className : getWebBeanDiscoveryClassNames())
+ {
+ Class<WebBeanDiscovery> webBeanDiscoveryClass = null;
+ try
+ {
+ webBeanDiscoveryClass = (Class<WebBeanDiscovery>) Class.forName(className);
+ }
+ catch (ClassNotFoundException e)
+ {
+ log.debug("Unable to load WebBeanDiscovery provider " + className, e);
+ }
+ catch (NoClassDefFoundError e) {
+ log.warn("Unable to load WebBeanDiscovery provider " + className + " due classDependencyProblem", e);
+ }
+
+ try
+ {
+ webBeanDiscovery = webBeanDiscoveryClass.newInstance();
+ break;
+ }
+ catch (InstantiationException e)
+ {
+ log.warn("Error creating WebBeanDiscovery provider" + className, e);
+ }
+ catch (IllegalAccessException e)
+ {
+ log.warn("Error creating WebBeanDiscovery provider" + className, e);
+ }
+ }
+ if (webBeanDiscovery == null)
+ {
+ throw new IllegalStateException("No WebBeanDiscovery provider found, you need to implement the org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery interface, and tell the RI to use it by specifying -D" + WEB_BEAN_DISCOVERY_PROPERTY_NAME + "=<classname>");
+ }
+ registerBeans(webBeanDiscovery.discoverWebBeanClasses());
+ }
+
/**
* Register any beans defined by the provided classes with the manager
*/
public void registerBeans(Class<?>...classes)
{
- Set<AbstractBean<?, ?>> beans = discoverBeans(classes);
+ registerBeans(new HashSet<Class<?>>(Arrays.asList(classes)));
+ }
+
+ public void registerBeans(Set<Class<?>> classes)
+ {
+ Set<AbstractBean<?, ?>> beans = createBeans(classes);
for (Bean<?> bean : beans)
{
manager.addBean(bean);
@@ -46,8 +106,13 @@
*
* Beans discovered are not registered with the manager
*/
- public Set<AbstractBean<?, ?>> discoverBeans(Class<?>... classes)
+ public Set<AbstractBean<?, ?>> createBeans(Class<?>... classes)
{
+ return createBeans(new HashSet<Class<?>>(Arrays.asList(classes)));
+ }
+
+ public Set<AbstractBean<?, ?>> createBeans(Set<Class<?>> classes)
+ {
Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();
for (Class<?> clazz : classes)
{
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/DeploymentProperties.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/DeploymentProperties.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/DeploymentProperties.java 2008-11-13 12:59:29 UTC (rev 305)
@@ -0,0 +1,109 @@
+package org.jboss.webbeans.bootstrap;
+
+import static org.jboss.webbeans.util.Strings.split;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.Properties;
+
+/*
+ * Utility class to load deployment properties
+ */
+public class DeploymentProperties
+{
+
+ private ClassLoader classLoader;
+ private Enumeration<URL> urlEnum;
+
+ public DeploymentProperties(ClassLoader classLoader)
+ {
+ this.classLoader = classLoader;
+ }
+
+ /**
+ * The resource bundle used to control Web Beans RI deployment
+ */
+ public static final String RESOURCE_BUNDLE = "META-INF/web-beans-ri.properties";
+
+ /**
+ * Get a list of possible values for a given key.
+ *
+ * First, System properties are tried, followed by the specified resource
+ * bundle (first in classpath only).
+ *
+ * Colon (:) deliminated lists are split out.
+ *
+ */
+ public List<String> getPropertyValues(String key)
+ {
+ List<String>values = new ArrayList<String>();
+ addPropertiesFromSystem(key, values);
+ addPropertiesFromResourceBundle(key, values);
+ return values;
+ }
+
+ private void addPropertiesFromSystem(String key, List<String> values)
+ {
+ addProperty(key, System.getProperty(key), values);
+ }
+
+ private void addPropertiesFromResourceBundle(String key, List<String> values)
+ {
+ try
+ {
+ while ( getResources().hasMoreElements() )
+ {
+ URL url = getResources().nextElement();
+ Properties properties = new Properties();
+ InputStream propertyStream = url.openStream();
+ try
+ {
+ properties.load(propertyStream);
+ addProperty(key, properties.getProperty(key), values);
+ }
+ finally
+ {
+ if (propertyStream != null)
+ {
+ propertyStream.close();
+ }
+ }
+ }
+ }
+ catch (IOException e)
+ {
+ // No - op, file is optional
+ }
+ }
+
+ /*
+ * Add the property to the set of properties only if it hasn't already been added
+ */
+ private void addProperty(String key, String value, List<String> values)
+ {
+ if (value != null)
+ {
+ String[] properties = split(value, ":");
+ for (String property : properties)
+ {
+ values.add(property);
+ }
+
+ }
+ }
+
+ private Enumeration<URL> getResources() throws IOException
+ {
+
+ if (urlEnum == null)
+ {
+ urlEnum = classLoader.getResources(RESOURCE_BUNDLE);
+ }
+ return urlEnum;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/DeploymentProperties.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-11-13 12:28:05 UTC (rev 304)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-11-13 12:59:29 UTC (rev 305)
@@ -1,6 +1,10 @@
package org.jboss.webbeans.test;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -21,6 +25,8 @@
import org.jboss.webbeans.test.beans.Tiger;
import org.jboss.webbeans.test.beans.Tuna;
import org.jboss.webbeans.test.ejb.model.valid.Hound;
+import org.jboss.webbeans.test.mock.MockBootstrap;
+import org.jboss.webbeans.test.mock.MockWebBeanDiscovery;
import org.testng.annotations.Test;
public class BoostrapTest extends AbstractTest
@@ -28,7 +34,7 @@
@Test(groups="bootstrap")
public void testSingleSimpleBean()
{
- Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Tuna.class);
+ Set<AbstractBean<?, ?>> beans = bootstrap.createBeans(Tuna.class);
assert beans.size() == 1;
assert beans.iterator().next().getType().equals(Tuna.class);
}
@@ -36,7 +42,7 @@
@Test(groups="bootstrap")
public void testSingleEnterpriseBean()
{
- Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class);
+ Set<AbstractBean<?, ?>> beans = bootstrap.createBeans(Hound.class);
assert beans.size() == 1;
assert beans.iterator().next().getType().equals(Hound.class);
}
@@ -44,7 +50,7 @@
@Test(groups="bootstrap")
public void testMultipleSimpleBean()
{
- Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ Set<AbstractBean<?, ?>> beans = bootstrap.createBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
assert beans.size() == 4;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
@@ -65,7 +71,7 @@
@Test(groups="bootstrap")
public void testProducerMethodBean()
{
- Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(TarantulaProducer.class);
+ Set<AbstractBean<?, ?>> beans = bootstrap.createBeans(TarantulaProducer.class);
assert beans.size() == 2;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
@@ -82,7 +88,7 @@
@Test(groups="bootstrap")
public void testMultipleEnterpriseBean()
{
- Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
+ Set<AbstractBean<?, ?>> beans = bootstrap.createBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
assert beans.size() == 4;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
@@ -103,7 +109,7 @@
@Test(groups="bootstrap")
public void testMultipleEnterpriseAndSimpleBean()
{
- Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ Set<AbstractBean<?, ?>> beans = bootstrap.createBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
assert beans.size() == 8;
Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
@@ -177,4 +183,53 @@
assert classes.get(SeaBass.class) instanceof SimpleBean;
assert classes.get(Sole.class) instanceof SimpleBean;
}
+
+ @Test(groups="bootstrap", expectedExceptions=IllegalStateException.class)
+ public void testDiscoverFails()
+ {
+ bootstrap = new MockBootstrap(manager)
+ {
+
+ @Override
+ protected List<String> getWebBeanDiscoveryClassNames()
+ {
+ return new ArrayList<String>();
+ }
+
+ };
+ bootstrap.discoverBeans();
+ }
+
+ @Test(groups="bootstrap")
+ public void testDiscover()
+ {
+ MockWebBeanDiscovery.webBeanClasses = new HashSet<Class<?>>(Arrays.asList(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class));
+ bootstrap.discoverBeans();
+
+ assert manager.getBeans().size() == 9;
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : manager.getBeans())
+ {
+
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
+ assert classes.containsKey(DefaultEnterpriseBeanLookup.class);
+ assert classes.containsKey(Hound.class);
+ assert classes.containsKey(Elephant.class);
+ assert classes.containsKey(Panther.class);
+ assert classes.containsKey(Tiger.class);
+ assert classes.containsKey(Tuna.class);
+ assert classes.containsKey(Salmon.class);
+ assert classes.containsKey(SeaBass.class);
+ assert classes.containsKey(Sole.class);
+
+ assert classes.get(Hound.class) instanceof EnterpriseBean;
+ assert classes.get(Elephant.class) instanceof EnterpriseBean;
+ assert classes.get(Panther.class) instanceof EnterpriseBean;
+ assert classes.get(Tiger.class) instanceof EnterpriseBean;
+ assert classes.get(Tuna.class) instanceof SimpleBean;
+ assert classes.get(Salmon.class) instanceof SimpleBean;
+ assert classes.get(SeaBass.class) instanceof SimpleBean;
+ assert classes.get(Sole.class) instanceof SimpleBean;
+ }
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-11-13 12:28:05 UTC (rev 304)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-11-13 12:59:29 UTC (rev 305)
@@ -1,11 +1,22 @@
package org.jboss.webbeans.test.mock;
+import java.util.Arrays;
+import java.util.List;
+
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bootstrap.Bootstrap;
public class MockBootstrap extends Bootstrap
{
+
+ private static final List<String> MOCK_WEB_BEAN_DISCOVERY_CLASS_NAMES = Arrays.asList(MockWebBeanDiscovery.class.getName());
+ @Override
+ protected List<String> getWebBeanDiscoveryClassNames()
+ {
+ return MOCK_WEB_BEAN_DISCOVERY_CLASS_NAMES;
+ }
+
public MockBootstrap(ManagerImpl manager)
{
super(manager);
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java 2008-11-13 12:59:29 UTC (rev 305)
@@ -0,0 +1,18 @@
+package org.jboss.webbeans.test.mock;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
+
+public class MockWebBeanDiscovery implements WebBeanDiscovery
+{
+
+ public static Set<Class<?>> webBeanClasses = new HashSet<Class<?>>();
+
+ public Set<Class<?>> discoverWebBeanClasses()
+ {
+ return webBeanClasses;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockWebBeanDiscovery.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 5 months
[webbeans-commits] Webbeans SVN: r304 - in ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap: spi and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-13 07:28:05 -0500 (Thu, 13 Nov 2008)
New Revision: 304
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java
Log:
Add WebBeanDiscovery SPI
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java 2008-11-13 12:28:05 UTC (rev 304)
@@ -0,0 +1,10 @@
+package org.jboss.webbeans.bootstrap.spi;
+
+import java.util.Set;
+
+public interface WebBeanDiscovery
+{
+
+ public Set<Class<?>> discoverWebBeanClasses();
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/spi/WebBeanDiscovery.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
17 years, 5 months
[webbeans-commits] Webbeans SVN: r303 - in ri/trunk/webbeans-ri/src: test/java/org/jboss/webbeans/test and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-13 07:17:36 -0500 (Thu, 13 Nov 2008)
New Revision: 303
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
Log:
Add register methods
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-13 12:06:36 UTC (rev 302)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-13 12:17:36 UTC (rev 303)
@@ -7,6 +7,8 @@
import java.util.HashSet;
import java.util.Set;
+import javax.webbeans.manager.Bean;
+
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.bean.AbstractBean;
import org.jboss.webbeans.bean.AbstractClassBean;
@@ -27,6 +29,23 @@
this.manager = manager;
}
+ /**
+ * Register any beans defined by the provided classes with the manager
+ */
+ public void registerBeans(Class<?>...classes)
+ {
+ Set<AbstractBean<?, ?>> beans = discoverBeans(classes);
+ for (Bean<?> bean : beans)
+ {
+ manager.addBean(bean);
+ }
+ }
+
+ /**
+ * Discover any beans defined by the provided classes
+ *
+ * Beans discovered are not registered with the manager
+ */
public Set<AbstractBean<?, ?>> discoverBeans(Class<?>... classes)
{
Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-11-13 12:06:36 UTC (rev 302)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-11-13 12:17:36 UTC (rev 303)
@@ -1,9 +1,16 @@
package org.jboss.webbeans.test;
-import java.util.HashSet;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
+import javax.webbeans.manager.Bean;
+
import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.EnterpriseBean;
+import org.jboss.webbeans.bean.ProducerMethodBean;
+import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.ejb.DefaultEnterpriseBeanLookup;
import org.jboss.webbeans.test.beans.Elephant;
import org.jboss.webbeans.test.beans.Panther;
import org.jboss.webbeans.test.beans.Salmon;
@@ -39,15 +46,20 @@
{
Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
assert beans.size() == 4;
- Set<Class<?>> classes = new HashSet<Class<?>>();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
- classes.add(bean.getType());
+ classes.put(bean.getType(), bean);
}
- assert classes.contains(Tuna.class);
- assert classes.contains(Salmon.class);
- assert classes.contains(SeaBass.class);
- assert classes.contains(Sole.class);
+ assert classes.containsKey(Tuna.class);
+ assert classes.containsKey(Salmon.class);
+ assert classes.containsKey(SeaBass.class);
+ assert classes.containsKey(Sole.class);
+
+ assert classes.get(Tuna.class) instanceof SimpleBean;
+ assert classes.get(Salmon.class) instanceof SimpleBean;
+ assert classes.get(SeaBass.class) instanceof SimpleBean;
+ assert classes.get(Sole.class) instanceof SimpleBean;
}
@Test(groups="bootstrap")
@@ -55,13 +67,16 @@
{
Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(TarantulaProducer.class);
assert beans.size() == 2;
- Set<Class<?>> classes = new HashSet<Class<?>>();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
- classes.add(bean.getType());
+ classes.put(bean.getType(), bean);
}
- assert classes.contains(TarantulaProducer.class);
- assert classes.contains(Tarantula.class);
+ assert classes.containsKey(TarantulaProducer.class);
+ assert classes.containsKey(Tarantula.class);
+
+ assert classes.get(TarantulaProducer.class) instanceof SimpleBean;
+ assert classes.get(Tarantula.class) instanceof ProducerMethodBean;
}
@Test(groups="bootstrap")
@@ -69,15 +84,20 @@
{
Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
assert beans.size() == 4;
- Set<Class<?>> classes = new HashSet<Class<?>>();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
- classes.add(bean.getType());
+ classes.put(bean.getType(), bean);
}
- assert classes.contains(Hound.class);
- assert classes.contains(Elephant.class);
- assert classes.contains(Panther.class);
- assert classes.contains(Tiger.class);
+ assert classes.containsKey(Hound.class);
+ assert classes.containsKey(Elephant.class);
+ assert classes.containsKey(Panther.class);
+ assert classes.containsKey(Tiger.class);
+
+ assert classes.get(Hound.class) instanceof EnterpriseBean;
+ assert classes.get(Elephant.class) instanceof EnterpriseBean;
+ assert classes.get(Panther.class) instanceof EnterpriseBean;
+ assert classes.get(Tiger.class) instanceof EnterpriseBean;
}
@Test(groups="bootstrap")
@@ -85,18 +105,76 @@
{
Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
assert beans.size() == 8;
- Set<Class<?>> classes = new HashSet<Class<?>>();
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
for (AbstractBean<?, ?> bean : beans)
{
- classes.add(bean.getType());
+ classes.put(bean.getType(), bean);
}
- assert classes.contains(Hound.class);
- assert classes.contains(Elephant.class);
- assert classes.contains(Panther.class);
- assert classes.contains(Tiger.class);
- assert classes.contains(Tuna.class);
- assert classes.contains(Salmon.class);
- assert classes.contains(SeaBass.class);
- assert classes.contains(Sole.class);
+ assert classes.containsKey(Hound.class);
+ assert classes.containsKey(Elephant.class);
+ assert classes.containsKey(Panther.class);
+ assert classes.containsKey(Tiger.class);
+ assert classes.containsKey(Tuna.class);
+ assert classes.containsKey(Salmon.class);
+ assert classes.containsKey(SeaBass.class);
+ assert classes.containsKey(Sole.class);
+
+ assert classes.get(Hound.class) instanceof EnterpriseBean;
+ assert classes.get(Elephant.class) instanceof EnterpriseBean;
+ assert classes.get(Panther.class) instanceof EnterpriseBean;
+ assert classes.get(Tiger.class) instanceof EnterpriseBean;
+ assert classes.get(Tuna.class) instanceof SimpleBean;
+ assert classes.get(Salmon.class) instanceof SimpleBean;
+ assert classes.get(SeaBass.class) instanceof SimpleBean;
+ assert classes.get(Sole.class) instanceof SimpleBean;
}
+
+ @Test(groups="bootstrap")
+ public void testRegisterProducerMethodBean()
+ {
+ bootstrap.registerBeans(TarantulaProducer.class);
+ assert manager.getBeans().size() == 3;
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : manager.getBeans())
+ {
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
+ assert classes.containsKey(TarantulaProducer.class);
+ assert classes.containsKey(Tarantula.class);
+
+
+ assert classes.get(TarantulaProducer.class) instanceof SimpleBean;
+ assert classes.get(Tarantula.class) instanceof ProducerMethodBean;
+ }
+
+ @Test(groups="bootstrap")
+ public void testRegisterMultipleEnterpriseAndSimpleBean()
+ {
+ bootstrap.registerBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ assert manager.getBeans().size() == 9;
+ Map<Class<?>, Bean<?>> classes = new HashMap<Class<?>, Bean<?>>();
+ for (Bean<?> bean : manager.getBeans())
+ {
+
+ classes.put(((AbstractBean<?, ?>) bean).getType(), bean);
+ }
+ assert classes.containsKey(DefaultEnterpriseBeanLookup.class);
+ assert classes.containsKey(Hound.class);
+ assert classes.containsKey(Elephant.class);
+ assert classes.containsKey(Panther.class);
+ assert classes.containsKey(Tiger.class);
+ assert classes.containsKey(Tuna.class);
+ assert classes.containsKey(Salmon.class);
+ assert classes.containsKey(SeaBass.class);
+ assert classes.containsKey(Sole.class);
+
+ assert classes.get(Hound.class) instanceof EnterpriseBean;
+ assert classes.get(Elephant.class) instanceof EnterpriseBean;
+ assert classes.get(Panther.class) instanceof EnterpriseBean;
+ assert classes.get(Tiger.class) instanceof EnterpriseBean;
+ assert classes.get(Tuna.class) instanceof SimpleBean;
+ assert classes.get(Salmon.class) instanceof SimpleBean;
+ assert classes.get(SeaBass.class) instanceof SimpleBean;
+ assert classes.get(Sole.class) instanceof SimpleBean;
+ }
}
17 years, 5 months
[webbeans-commits] Webbeans SVN: r302 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean and 9 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-11-13 07:06:36 -0500 (Thu, 13 Nov 2008)
New Revision: 302
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TarantulaProducer.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Cougar.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Cougar.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/MergedStereotypes.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java
Log:
Add Boostrap class and basic tests
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ModelManager.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -5,7 +5,6 @@
import java.util.Map;
import org.jboss.webbeans.ejb.EjbMetaData;
-import org.jboss.webbeans.introspector.AnnotatedClass;
import org.jboss.webbeans.model.AnnotationModel;
import org.jboss.webbeans.model.BindingTypeModel;
import org.jboss.webbeans.model.ScopeModel;
@@ -84,23 +83,23 @@
}
- private class EjbMetaDataMap extends ForwardingMap<AnnotatedClass<?>, EjbMetaData<?>>
+ private class EjbMetaDataMap extends ForwardingMap<Class<?>, EjbMetaData<?>>
{
- private Map<AnnotatedClass<?>, EjbMetaData<?>> delegate;
+ private Map<Class<?>, EjbMetaData<?>> delegate;
public EjbMetaDataMap()
{
- delegate = new HashMap<AnnotatedClass<?>, EjbMetaData<?>>();
+ delegate = new HashMap<Class<?>, EjbMetaData<?>>();
}
@Override
- protected Map<AnnotatedClass<?>, EjbMetaData<?>> delegate()
+ protected Map<Class<?>, EjbMetaData<?>> delegate()
{
return delegate;
}
- public <T> EjbMetaData<T> putIfAbsent(AnnotatedClass<T> key)
+ public <T> EjbMetaData<T> putIfAbsent(Class<T> key)
{
if (!containsKey(key))
{
@@ -142,7 +141,7 @@
return bindingTypes.putIfAbsent(bindingType);
}
- public <E> EjbMetaData<E> getEjbMetaData(AnnotatedClass<E> clazz)
+ public <T> EjbMetaData<T> getEjbMetaData(Class<T> clazz)
{
return ejbMetaDataMap.putIfAbsent(clazz);
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -66,6 +66,11 @@
}
}
+ public Set<AnnotatedMethod<Object>> getProducerMethods()
+ {
+ return getAnnotatedItem().getAnnotatedMethods(Produces.class);
+ }
+
@Override
protected void initInjectionPoints()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -109,14 +109,14 @@
}
if (!isDefinedInXml())
{
- if (!getManager().getModelManager().getEjbMetaData(getAnnotatedItem().getSuperclass()).isEjb())
+ if (!getManager().getModelManager().getEjbMetaData(getAnnotatedItem().getSuperclass().getType()).isEjb())
{
throw new DefinitionException("Annotation defined specializing EJB must have EJB superclass");
}
}
else
{
- if (getManager().getModelManager().getEjbMetaData(getAnnotatedItem().getSuperclass()).isEjb())
+ if (getManager().getModelManager().getEjbMetaData(getAnnotatedItem().getSuperclass().getType()).isEjb())
{
throw new DefinitionException("XML defined specializing EJB must have annotation defined EJB implementation");
}
@@ -135,7 +135,7 @@
// >1 @Destructor
if (getEjbMetaData().getDestructorMethods().size() > 1)
{
- throw new DefinitionException("Multiple @Destructor methods not allowed");
+ throw new DefinitionException("Multiple @Destructor methods not allowed on " + getAnnotatedItem());
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/MergedStereotypes.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/MergedStereotypes.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/MergedStereotypes.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -40,7 +40,7 @@
StereotypeModel<?> stereotype = manager.getModelManager().getStereotype(stereotypeAnnotation.annotationType());
if (stereotype == null)
{
- throw new NullPointerException("Stereotype " + stereotypeAnnotation + " not registered with container");
+ throw new IllegalStateException("Stereotype " + stereotypeAnnotation + " not registered with container");
}
if (stereotype.getDefaultDeploymentType() != null)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -29,8 +29,13 @@
public ProducerMethodBean(Method method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
{
+ this(new AnnotatedMethodImpl<T>(method, declaringBean.getAnnotatedItem()), declaringBean, manager);
+ }
+
+ public ProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean, ManagerImpl manager)
+ {
super(manager);
- this.method = new AnnotatedMethodImpl<T>(method, declaringBean.getAnnotatedItem());
+ this.method = method;
this.declaringBean = declaringBean;
init();
}
Added: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -0,0 +1,54 @@
+package org.jboss.webbeans.bootstrap;
+
+import static org.jboss.webbeans.util.BeanFactory.createEnterpriseBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.bean.AbstractClassBean;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+public class Bootstrap
+{
+
+ private ManagerImpl manager;
+
+ public Bootstrap()
+ {
+ this(new ManagerImpl());
+ }
+
+ protected Bootstrap(ManagerImpl manager)
+ {
+ this.manager = manager;
+ }
+
+ public Set<AbstractBean<?, ?>> discoverBeans(Class<?>... classes)
+ {
+ Set<AbstractBean<?, ?>> beans = new HashSet<AbstractBean<?, ?>>();
+ for (Class<?> clazz : classes)
+ {
+ AbstractClassBean<?> bean;
+ if (manager.getModelManager().getEjbMetaData(clazz).isEjb())
+ {
+ bean = createEnterpriseBean(clazz, manager);
+ }
+ else
+ {
+ bean = createSimpleBean(clazz, manager);
+ }
+ beans.add(bean);
+ for (AnnotatedMethod<Object> producerMethod : bean.getProducerMethods())
+ {
+ beans.add(createProducerMethodBean(producerMethod.getType(), producerMethod, manager, bean));
+ }
+
+ }
+ return beans;
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java (from rev 296, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -0,0 +1,46 @@
+package org.jboss.webbeans.util;
+
+import java.lang.reflect.Method;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.bean.AbstractClassBean;
+import org.jboss.webbeans.bean.EnterpriseBean;
+import org.jboss.webbeans.bean.ProducerMethodBean;
+import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.bean.XmlEnterpriseBean;
+import org.jboss.webbeans.bean.XmlSimpleBean;
+import org.jboss.webbeans.introspector.AnnotatedMethod;
+
+public class BeanFactory
+{
+ public static <T> SimpleBean<T> createSimpleBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new SimpleBean<T>(clazz, manager);
+ }
+
+ public static <T> XmlSimpleBean<T> createXmlSimpleBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new XmlSimpleBean<T>(clazz, manager);
+ }
+
+ public static <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new EnterpriseBean<T>(clazz, manager);
+ }
+
+ public static <T> XmlEnterpriseBean<T> createXmlEnterpriseBean(Class<T> clazz, ManagerImpl manager)
+ {
+ return new XmlEnterpriseBean<T>(clazz, manager);
+ }
+
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager, AbstractClassBean<?> declaringBean)
+ {
+ return new ProducerMethodBean<T>(method, declaringBean, manager);
+ }
+
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, AnnotatedMethod<T> method, ManagerImpl manager, AbstractClassBean<?> declaringBean)
+ {
+ return new ProducerMethodBean<T>(method, declaringBean, manager);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/examples/Tests.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -5,7 +5,7 @@
import org.jboss.webbeans.bean.ProducerMethodBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.test.AbstractTest;
-import org.jboss.webbeans.test.util.Util;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
public class Tests extends AbstractTest
@@ -26,11 +26,11 @@
private void setupGameGenerator() throws NoSuchMethodException
{
- SimpleBean<Game> gameBean = Util.createSimpleBean(Game.class, manager);
- SimpleBean<Generator> generatorBean = Util.createSimpleBean(Generator.class, manager);
+ SimpleBean<Game> gameBean = BeanFactory.createSimpleBean(Game.class, manager);
+ SimpleBean<Generator> generatorBean = BeanFactory.createSimpleBean(Generator.class, manager);
Method method = Generator.class.getDeclaredMethod("next");
method.setAccessible(true);
- ProducerMethodBean<Integer> nextBean = Util.createProducerMethodBean(int.class, method, manager, generatorBean);
+ ProducerMethodBean<Integer> nextBean = BeanFactory.createProducerMethodBean(int.class, method, manager, generatorBean);
manager.addBean(gameBean);
manager.addBean(generatorBean);
@@ -65,10 +65,10 @@
private void setupTextTranslator()
{
- SimpleBean<SentenceParser> spBean = Util.createSimpleBean(SentenceParser.class, manager);
- SimpleBean<SentenceTranslator> stBean = Util.createSimpleBean(SentenceTranslator.class, manager);
- SimpleBean<MockSentenceTranslator> mstBean = Util.createSimpleBean(MockSentenceTranslator.class, manager);
- SimpleBean<TextTranslator> ttBean = Util.createSimpleBean(TextTranslator.class, manager);
+ SimpleBean<SentenceParser> spBean = BeanFactory.createSimpleBean(SentenceParser.class, manager);
+ SimpleBean<SentenceTranslator> stBean = BeanFactory.createSimpleBean(SentenceTranslator.class, manager);
+ SimpleBean<MockSentenceTranslator> mstBean = BeanFactory.createSimpleBean(MockSentenceTranslator.class, manager);
+ SimpleBean<TextTranslator> ttBean = BeanFactory.createSimpleBean(TextTranslator.class, manager);
manager.addBean(spBean);
manager.addBean(stBean);
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/AbstractTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -9,6 +9,7 @@
import javax.webbeans.Production;
import javax.webbeans.Standard;
+import org.jboss.webbeans.bootstrap.Bootstrap;
import org.jboss.webbeans.model.StereotypeModel;
import org.jboss.webbeans.test.annotations.AnimalStereotype;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
@@ -18,6 +19,7 @@
import org.jboss.webbeans.test.annotations.MammalStereotype;
import org.jboss.webbeans.test.annotations.RequestScopedAnimalStereotype;
import org.jboss.webbeans.test.annotations.RiverFishStereotype;
+import org.jboss.webbeans.test.mock.MockBootstrap;
import org.jboss.webbeans.test.mock.MockManagerImpl;
import org.testng.annotations.BeforeMethod;
@@ -25,12 +27,14 @@
{
protected MockManagerImpl manager;
+ protected Bootstrap bootstrap;
@BeforeMethod
public final void before()
{
manager = new MockManagerImpl();
+ bootstrap = new MockBootstrap(manager);
init();
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BindingTypeTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -0,0 +1,102 @@
+package org.jboss.webbeans.test;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.jboss.webbeans.bean.AbstractBean;
+import org.jboss.webbeans.test.beans.Elephant;
+import org.jboss.webbeans.test.beans.Panther;
+import org.jboss.webbeans.test.beans.Salmon;
+import org.jboss.webbeans.test.beans.SeaBass;
+import org.jboss.webbeans.test.beans.Sole;
+import org.jboss.webbeans.test.beans.Tarantula;
+import org.jboss.webbeans.test.beans.TarantulaProducer;
+import org.jboss.webbeans.test.beans.Tiger;
+import org.jboss.webbeans.test.beans.Tuna;
+import org.jboss.webbeans.test.ejb.model.valid.Hound;
+import org.testng.annotations.Test;
+
+public class BoostrapTest extends AbstractTest
+{
+ @Test(groups="bootstrap")
+ public void testSingleSimpleBean()
+ {
+ Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Tuna.class);
+ assert beans.size() == 1;
+ assert beans.iterator().next().getType().equals(Tuna.class);
+ }
+
+ @Test(groups="bootstrap")
+ public void testSingleEnterpriseBean()
+ {
+ Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class);
+ assert beans.size() == 1;
+ assert beans.iterator().next().getType().equals(Hound.class);
+ }
+
+ @Test(groups="bootstrap")
+ public void testMultipleSimpleBean()
+ {
+ Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ assert beans.size() == 4;
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ for (AbstractBean<?, ?> bean : beans)
+ {
+ classes.add(bean.getType());
+ }
+ assert classes.contains(Tuna.class);
+ assert classes.contains(Salmon.class);
+ assert classes.contains(SeaBass.class);
+ assert classes.contains(Sole.class);
+ }
+
+ @Test(groups="bootstrap")
+ public void testProducerMethodBean()
+ {
+ Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(TarantulaProducer.class);
+ assert beans.size() == 2;
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ for (AbstractBean<?, ?> bean : beans)
+ {
+ classes.add(bean.getType());
+ }
+ assert classes.contains(TarantulaProducer.class);
+ assert classes.contains(Tarantula.class);
+ }
+
+ @Test(groups="bootstrap")
+ public void testMultipleEnterpriseBean()
+ {
+ Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class);
+ assert beans.size() == 4;
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ for (AbstractBean<?, ?> bean : beans)
+ {
+ classes.add(bean.getType());
+ }
+ assert classes.contains(Hound.class);
+ assert classes.contains(Elephant.class);
+ assert classes.contains(Panther.class);
+ assert classes.contains(Tiger.class);
+ }
+
+ @Test(groups="bootstrap")
+ public void testMultipleEnterpriseAndSimpleBean()
+ {
+ Set<AbstractBean<?, ?>> beans = bootstrap.discoverBeans(Hound.class, Elephant.class, Panther.class, Tiger.class, Tuna.class, Salmon.class, SeaBass.class, Sole.class);
+ assert beans.size() == 8;
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ for (AbstractBean<?, ?> bean : beans)
+ {
+ classes.add(bean.getType());
+ }
+ assert classes.contains(Hound.class);
+ assert classes.contains(Elephant.class);
+ assert classes.contains(Panther.class);
+ assert classes.contains(Tiger.class);
+ assert classes.contains(Tuna.class);
+ assert classes.contains(Salmon.class);
+ assert classes.contains(SeaBass.class);
+ assert classes.contains(Sole.class);
+ }
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/BoostrapTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ClientProxyTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -14,7 +14,7 @@
import org.jboss.webbeans.test.beans.Fox;
import org.jboss.webbeans.test.beans.Tuna;
import org.jboss.webbeans.test.beans.TunedTuna;
-import org.jboss.webbeans.test.util.Util;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
@SpecVersion("PDR")
@@ -25,7 +25,7 @@
@SpecAssertion(section = { "4.4", "4.8" })
public void testClientProxyUsedForNormalScope()
{
- Bean<Tuna> tunaBean = Util.createSimpleBean(Tuna.class, manager);
+ Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
Tuna tuna = manager.getInstance(tunaBean);
assert ClientProxy.isProxy(tuna);
}
@@ -34,7 +34,7 @@
@SpecAssertion(section = { "4.4", "4.8" })
public void testClientProxyNotUsedForPseudoScope()
{
- Bean<Fox> foxBean = Util.createSimpleBean(Fox.class, manager);
+ Bean<Fox> foxBean = BeanFactory.createSimpleBean(Fox.class, manager);
Fox fox = manager.getInstance(foxBean);
assert !ClientProxy.isProxy(fox);
}
@@ -55,7 +55,7 @@
@SpecAssertion(section = "4.4")
public void testSimpleWebBeanClientProxyIsSerializable() throws IOException, ClassNotFoundException
{
- Bean<TunedTuna> tunaBean = Util.createSimpleBean(TunedTuna.class, manager);
+ Bean<TunedTuna> tunaBean = BeanFactory.createSimpleBean(TunedTuna.class, manager);
TunedTuna tuna = manager.getInstance(tunaBean);
assert ClientProxy.isProxy(tuna);
byte[] bytes = serializeBean(tuna);
@@ -68,7 +68,7 @@
@SpecAssertion(section = "4.4.1")
public void testInjectionPointWithUnproxyableTypeWhichResolvesToNormalScopedWebBean()
{
- Bean<FinalTuna> tunaBean = Util.createSimpleBean(FinalTuna.class, manager);
+ Bean<FinalTuna> tunaBean = BeanFactory.createSimpleBean(FinalTuna.class, manager);
manager.addBean(tunaBean);
FinalTuna tuna = manager.getInstanceByType(FinalTuna.class);
assert false;
@@ -78,7 +78,7 @@
@SpecAssertion(section = "4.4.2")
public void testClientProxyInvocation()
{
- Bean<TunedTuna> tunaBean = Util.createSimpleBean(TunedTuna.class, manager);
+ Bean<TunedTuna> tunaBean = BeanFactory.createSimpleBean(TunedTuna.class, manager);
manager.addBean(tunaBean);
TunedTuna tuna = manager.getInstance(tunaBean);
assert ClientProxy.isProxy(tuna);
@@ -87,7 +87,7 @@
@Test(groups = "clientProxy")
public void testProxyCreationDoesImplicitAddBean() {
- Bean<Tuna> tunaBean = Util.createSimpleBean(Tuna.class, manager);
+ Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
Tuna tuna = manager.getInstance(tunaBean);
assert manager.getBeans().size() == 2;
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/CommonWebBeanTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeferredEventNotificationTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DependentContextTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/DeploymentTypeTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InitializerMethodTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.DefinitionException;
import javax.webbeans.NonexistentMethodException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InjectionTests.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,8 +1,8 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.ContextNotActiveException;
import javax.webbeans.DefinitionException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByNameTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.AmbiguousDependencyException;
import javax.webbeans.manager.Bean;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/InstantiationByTypeTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.AmbiguousDependencyException;
import javax.webbeans.AnnotationLiteral;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NameTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.DefinitionException;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NormalContextTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
@@ -16,7 +16,7 @@
import org.jboss.webbeans.test.beans.SpiderProducer;
import org.jboss.webbeans.test.beans.Tarantula;
import org.jboss.webbeans.test.beans.Tuna;
-import org.jboss.webbeans.test.util.Util;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -40,13 +40,13 @@
@Test(groups="contexts") @SpecAssertion(section="8.1")
public void testGetWithCreateFalseReturnsNull() {
- Bean<Tuna> tunaBean = Util.createSimpleBean(Tuna.class, manager);
+ Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
assert context.get(tunaBean, false) == null;
}
@Test(groups="contexts") @SpecAssertion(section="8.1")
public void testGetWithCreateTrueReturnsBean() {
- Bean<Tuna> tunaBean = Util.createSimpleBean(Tuna.class, manager);
+ Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
assert context.get(tunaBean, true) != null;
}
@@ -59,7 +59,7 @@
@Test(groups="contexts") @SpecAssertion(section="8.1")
public void testReturnsCorrectExistingBean() {
- Bean<Tuna> tunaBean = Util.createSimpleBean(Tuna.class, manager);
+ Bean<Tuna> tunaBean = BeanFactory.createSimpleBean(Tuna.class, manager);
Tuna firstTuna = context.get(tunaBean, true);
Tuna secondTuna = context.get(tunaBean, false);
assert firstTuna == secondTuna;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,5 +1,5 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.annotation.Annotation;
import java.util.ArrayList;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanLifecycleTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ProducerMethodBeanModelTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByNameTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.manager.Bean;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ResolutionByTypeTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,7 +1,7 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createProducerMethodBean;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createProducerMethodBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.reflect.Method;
import java.util.Set;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ScopeTypeTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.DefinitionException;
import javax.webbeans.Dependent;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanLifecycleTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import javax.webbeans.manager.Bean;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/SimpleBeanModelTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.lang.annotation.Annotation;
import java.util.HashMap;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/StereotypesTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import java.util.Arrays;
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/TypeTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,6 +1,6 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.test.util.Util.createSimpleBean;
+import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
import org.jboss.webbeans.bean.SimpleBean;
import org.jboss.webbeans.test.beans.Haddock;
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Cougar.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Cougar.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Cougar.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,31 +0,0 @@
-package org.jboss.webbeans.test.beans;
-
-import javax.ejb.Remove;
-import javax.ejb.Stateful;
-import javax.webbeans.Destructor;
-import javax.webbeans.Production;
-
-@Production
-@Stateful
-public class Cougar
-{
-
- @Remove
- public void remove()
- {
-
- }
-
- @Remove @Destructor
- public void remove1()
- {
-
- }
-
- @Remove @Destructor
- public void remove2()
- {
-
- }
-
-}
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TarantulaProducer.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TarantulaProducer.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TarantulaProducer.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -0,0 +1,15 @@
+package org.jboss.webbeans.test.beans;
+
+import javax.webbeans.Produces;
+
+import org.jboss.webbeans.test.annotations.Tame;
+
+public class TarantulaProducer
+{
+
+ @Produces @Tame public Tarantula produceTameTarantula()
+ {
+ return new DefangedTarantula();
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/TarantulaProducer.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Cougar.java (from rev 296, ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/Cougar.java)
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Cougar.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Cougar.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -0,0 +1,31 @@
+package org.jboss.webbeans.test.beans.broken;
+
+import javax.ejb.Remove;
+import javax.ejb.Stateful;
+import javax.webbeans.Destructor;
+import javax.webbeans.Production;
+
+@Production
+@Stateful
+public class Cougar
+{
+
+ @Remove
+ public void remove()
+ {
+
+ }
+
+ @Remove @Destructor
+ public void remove1()
+ {
+
+ }
+
+ @Remove @Destructor
+ public void remove2()
+ {
+
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/beans/broken/Cougar.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanDeclarationTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -20,7 +20,7 @@
import org.jboss.webbeans.test.ejb.model.invalid.Pug;
import org.jboss.webbeans.test.ejb.model.valid.Laika;
import org.jboss.webbeans.test.ejb.model.valid.Pitbull;
-import org.jboss.webbeans.test.util.Util;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
@SpecVersion("PDR")
@@ -32,84 +32,84 @@
@SpecAssertion(section = "3.3")
public void testStatelessWithDependentScopeOK()
{
- EnterpriseBean<Giraffe> giraffe = Util.createEnterpriseBean(Giraffe.class, manager);
+ EnterpriseBean<Giraffe> giraffe = BeanFactory.createEnterpriseBean(Giraffe.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testStatelessWithRequestScopeFails()
{
- EnterpriseBean<Beagle> beagle = Util.createEnterpriseBean(Beagle.class, manager);
+ EnterpriseBean<Beagle> beagle = BeanFactory.createEnterpriseBean(Beagle.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testStatelessWithConversationScopeFails()
{
- EnterpriseBean<Boxer> boxer = Util.createEnterpriseBean(Boxer.class, manager);
+ EnterpriseBean<Boxer> boxer = BeanFactory.createEnterpriseBean(Boxer.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testStatelessWithSessionScopeFails()
{
- EnterpriseBean<Bullmastiff> boxer = Util.createEnterpriseBean(Bullmastiff.class, manager);
+ EnterpriseBean<Bullmastiff> boxer = BeanFactory.createEnterpriseBean(Bullmastiff.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testStatelessWithApplicationScopeFails()
{
- EnterpriseBean<Dachshund> dachshund = Util.createEnterpriseBean(Dachshund.class, manager);
+ EnterpriseBean<Dachshund> dachshund = BeanFactory.createEnterpriseBean(Dachshund.class, manager);
}
@Test
@SpecAssertion(section = "3.3")
public void testSingletonWithDependentScopeOK()
{
- EnterpriseBean<GreatDane> greatDane = Util.createEnterpriseBean(GreatDane.class, manager);
+ EnterpriseBean<GreatDane> greatDane = BeanFactory.createEnterpriseBean(GreatDane.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testSingletonWithRequestScopeFails()
{
- EnterpriseBean<Greyhound> greyhound = Util.createEnterpriseBean(Greyhound.class, manager);
+ EnterpriseBean<Greyhound> greyhound = BeanFactory.createEnterpriseBean(Greyhound.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testSingletonWithConversationScopeFails()
{
- EnterpriseBean<Husky> husky = Util.createEnterpriseBean(Husky.class, manager);
+ EnterpriseBean<Husky> husky = BeanFactory.createEnterpriseBean(Husky.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testSingletonWithSessionScopeFails()
{
- EnterpriseBean<IrishTerrier> irishTerrier = Util.createEnterpriseBean(IrishTerrier.class, manager);
+ EnterpriseBean<IrishTerrier> irishTerrier = BeanFactory.createEnterpriseBean(IrishTerrier.class, manager);
}
@Test
@SpecAssertion(section = "3.3")
public void testSingletonWithApplicationScopeOK()
{
- EnterpriseBean<Laika> laika = Util.createEnterpriseBean(Laika.class, manager);
+ EnterpriseBean<Laika> laika = BeanFactory.createEnterpriseBean(Laika.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testEnterpriseBeanInterceptorFails()
{
- EnterpriseBean<Pug> pug = Util.createEnterpriseBean(Pug.class, manager);
+ EnterpriseBean<Pug> pug = BeanFactory.createEnterpriseBean(Pug.class, manager);
}
@Test(expectedExceptions = DefinitionException.class)
@SpecAssertion(section = "3.3")
public void testEnterpriseBeanDecoratorFails()
{
- EnterpriseBean<Pekingese> pekingese = Util.createEnterpriseBean(Pekingese.class, manager);
+ EnterpriseBean<Pekingese> pekingese = BeanFactory.createEnterpriseBean(Pekingese.class, manager);
}
@Test(expectedExceptions = DefinitionException.class, groups = {"enterpriseBeans", "stub"})
@@ -172,7 +172,7 @@
@SpecAssertion(section = "3.3.2")
public void testObjectIsInAPITypes()
{
- EnterpriseBean<Laika> laika = Util.createEnterpriseBean(Laika.class, manager);
+ EnterpriseBean<Laika> laika = BeanFactory.createEnterpriseBean(Laika.class, manager);
assert laika.getTypes().contains(Object.class);
}
@@ -201,7 +201,7 @@
@SpecAssertion(section = "3.3")
public void testMessageDrivenBeansNotOK()
{
- EnterpriseBean<Leopard> Leopard = Util.createEnterpriseBean(Leopard.class, manager);
+ EnterpriseBean<Leopard> Leopard = BeanFactory.createEnterpriseBean(Leopard.class, manager);
}
@@ -209,7 +209,7 @@
@SpecAssertion(section = "3.3.7")
public void testDefaultName()
{
- EnterpriseBean<Pitbull> pitbull = Util.createEnterpriseBean(Pitbull.class, manager);
+ EnterpriseBean<Pitbull> pitbull = BeanFactory.createEnterpriseBean(Pitbull.class, manager);
assert pitbull.getName().equals("pitbull");
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -21,7 +21,7 @@
import org.jboss.webbeans.test.ejb.model.valid.Koirus;
import org.jboss.webbeans.test.ejb.model.valid.Toller;
import org.jboss.webbeans.test.ejb.model.valid.WelshCorgie;
-import org.jboss.webbeans.test.util.Util;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
@SpecVersion("PDR")
@@ -35,7 +35,7 @@
@SpecAssertion(section = "3.3.5")
public void testStatelessEnterpriseBeansWithRemoveMethodsFails()
{
- EnterpriseBean<Armant> bean = Util.createEnterpriseBean(Armant.class, manager);
+ EnterpriseBean<Armant> bean = BeanFactory.createEnterpriseBean(Armant.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod", "lifecycle", "stub"})
@@ -43,7 +43,7 @@
public void testStatefulEnterpriseBeanRemoveMethodCalledWhenDestroyedByManager()
{
EnterpriseBeanRemoveMethodTest.tickle = false;
- EnterpriseBean<Toller> bena = Util.createEnterpriseBean(Toller.class, manager);
+ EnterpriseBean<Toller> bena = BeanFactory.createEnterpriseBean(Toller.class, manager);
RequestContext context = (RequestContext) manager.getContext(RequestScoped.class);
Toller instance = context.get(bena, true);
context.destroy(manager);
@@ -54,21 +54,21 @@
@SpecAssertion(section = "3.3.5")
public void testStatefulEnterpriseBeanWithoutRemoveMethodMustBeDependentScoped()
{
- EnterpriseBean<Pumi> bean = Util.createEnterpriseBean(Pumi.class, manager);
+ EnterpriseBean<Pumi> bean = BeanFactory.createEnterpriseBean(Pumi.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"})
@SpecAssertion(section = "3.3.5")
public void testStatefulEnterpriseBeanWithoutRemoveMethodMustBeDependentScoped2()
{
- EnterpriseBean<WelshCorgie> bean = Util.createEnterpriseBean(WelshCorgie.class, manager);
+ EnterpriseBean<WelshCorgie> bean = BeanFactory.createEnterpriseBean(WelshCorgie.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod", "stub"}, expectedExceptions = UnremovedException.class)
@SpecAssertion(section = "3.3.5")
public void testStatefulEnterpriseBeanWithoutRemoveMethodMustBeRemovedByApplicationBeforeManager()
{
- EnterpriseBean<Toller> bean = Util.createEnterpriseBean(Toller.class, manager);
+ EnterpriseBean<Toller> bean = BeanFactory.createEnterpriseBean(Toller.class, manager);
Toller instance = manager.getInstance(bean);
RequestContext context = (RequestContext) manager
.getContext(RequestScoped.class);
@@ -79,7 +79,7 @@
@SpecAssertion(section = "3.3.5")
public void testApplicationRemoveMethodCallRemovesInstanceFromContext()
{
- EnterpriseBean<Toller> bean = Util.createEnterpriseBean(Toller.class, manager);
+ EnterpriseBean<Toller> bean = BeanFactory.createEnterpriseBean(Toller.class, manager);
RequestContext context = (RequestContext) manager.getContext(RequestScoped.class);
Toller instance = context.get(bean, true);
instance.bye();
@@ -91,7 +91,7 @@
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testEnterpriseBeanWithoutDestructorUsesNoArgsRemoveAnnotatedMethodAsRemoveMethod()
{
- EnterpriseBean<Toller> bean = Util.createEnterpriseBean(Toller.class, manager);
+ EnterpriseBean<Toller> bean = BeanFactory.createEnterpriseBean(Toller.class, manager);
assert "bye".equals(bean.getRemoveMethod().getName());
}
@@ -99,7 +99,7 @@
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testEnterpriseBeanWithoutDestructorAndNoArgsRemoveAnnotatedMethodHasNoRemoveMethod()
{
- EnterpriseBean<Koirus> bean = Util.createEnterpriseBean(Koirus.class, manager);
+ EnterpriseBean<Koirus> bean = BeanFactory.createEnterpriseBean(Koirus.class, manager);
assert bean.getRemoveMethod() == null;
}
@@ -107,49 +107,49 @@
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testMultipleDestructorAnnotatedMethodsFails()
{
- EnterpriseBean<Rottweiler> bean = Util.createEnterpriseBean(Rottweiler.class, manager);
+ EnterpriseBean<Rottweiler> bean = BeanFactory.createEnterpriseBean(Rottweiler.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"}, expectedExceptions = DefinitionException.class)
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testDestructorAnnotatedMethodNotRemoveAnnotatedFails()
{
- EnterpriseBean<RussellTerrier> bean = Util.createEnterpriseBean(RussellTerrier.class, manager);
+ EnterpriseBean<RussellTerrier> bean = BeanFactory.createEnterpriseBean(RussellTerrier.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"}, expectedExceptions = DefinitionException.class)
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testRemoveMethodIsInitializerFails()
{
- EnterpriseBean<Saluki> bean = Util.createEnterpriseBean(Saluki.class, manager);
+ EnterpriseBean<Saluki> bean = BeanFactory.createEnterpriseBean(Saluki.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"}, expectedExceptions = DefinitionException.class)
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testRemoveMethodIsProducerFails()
{
- EnterpriseBean<Spitz> bean = Util.createEnterpriseBean(Spitz.class, manager);
+ EnterpriseBean<Spitz> bean = BeanFactory.createEnterpriseBean(Spitz.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"}, expectedExceptions = DefinitionException.class)
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testRemoveMethodWithDisposesParameterFails()
{
- EnterpriseBean<GoldenRetriever> bean = Util.createEnterpriseBean(GoldenRetriever.class, manager);
+ EnterpriseBean<GoldenRetriever> bean = BeanFactory.createEnterpriseBean(GoldenRetriever.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"}, expectedExceptions = DefinitionException.class)
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testRemoveMethodWithObservesParameterFails()
{
- EnterpriseBean<JackRussellTerrier> bean = Util.createEnterpriseBean(JackRussellTerrier.class, manager);
+ EnterpriseBean<JackRussellTerrier> bean = BeanFactory.createEnterpriseBean(JackRussellTerrier.class, manager);
}
@Test(groups={"enterpriseBeans", "removeMethod"}, expectedExceptions = DefinitionException.class)
@SpecAssertion(section = {"3.3.5.1", "3.3.5.2"})
public void testMultipleRemoveAnnotationsButNoDestructorFails()
{
- EnterpriseBean<Poodle> bean = Util.createEnterpriseBean(Poodle.class, manager);
+ EnterpriseBean<Poodle> bean = BeanFactory.createEnterpriseBean(Poodle.class, manager);
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanSpecializationTest.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -10,7 +10,7 @@
import org.jboss.webbeans.test.ejb.model.invalid.GreaterDane;
import org.jboss.webbeans.test.ejb.model.valid.Hound;
import org.jboss.webbeans.test.ejb.model.valid.HoundOfBaskerville;
-import org.jboss.webbeans.test.util.Util;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.Test;
@SpecVersion("PDR")
@@ -21,8 +21,8 @@
@SpecAssertion(section = "3.3.6")
public void testSpecializingBeanInheritsBindingTypes()
{
- EnterpriseBean<Hound> hound = Util.createEnterpriseBean(Hound.class, manager);
- EnterpriseBean<HoundOfBaskerville> houndOfBaskerville = Util.createEnterpriseBean(HoundOfBaskerville.class, manager);
+ EnterpriseBean<Hound> hound = BeanFactory.createEnterpriseBean(Hound.class, manager);
+ EnterpriseBean<HoundOfBaskerville> houndOfBaskerville = BeanFactory.createEnterpriseBean(HoundOfBaskerville.class, manager);
assert compareBindingTypesOK(hound, houndOfBaskerville);
}
@@ -45,7 +45,7 @@
@SpecAssertion(section = "3.3.6")
public void testSpecializingBeanInheritsNameIfAny()
{
- EnterpriseBean<HoundOfBaskerville> houndOfBaskerville = Util.createEnterpriseBean(HoundOfBaskerville.class, manager);
+ EnterpriseBean<HoundOfBaskerville> houndOfBaskerville = BeanFactory.createEnterpriseBean(HoundOfBaskerville.class, manager);
assert houndOfBaskerville.getName().equals("Pongo");
}
@@ -82,7 +82,7 @@
@SpecAssertion(section = "3.3.6")
public void testAnnotationDefinedSpecializingEnterpriseBeanNotDirectlyExtendingAnnotationDefinedEnterpriseBeanFails()
{
- EnterpriseBean<GreaterDane> greaterDane = Util.createEnterpriseBean(GreaterDane.class, manager);
+ EnterpriseBean<GreaterDane> greaterDane = BeanFactory.createEnterpriseBean(GreaterDane.class, manager);
}
@Test(expectedExceptions=DefinitionException.class, groups={"stub", "specialization", "enterpriseBeans"})
Added: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java (rev 0)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -0,0 +1,14 @@
+package org.jboss.webbeans.test.mock;
+
+import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.bootstrap.Bootstrap;
+
+public class MockBootstrap extends Bootstrap
+{
+
+ public MockBootstrap(ManagerImpl manager)
+ {
+ super(manager);
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockBootstrap.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-13 10:35:56 UTC (rev 301)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/util/Util.java 2008-11-13 12:06:36 UTC (rev 302)
@@ -1,40 +0,0 @@
-package org.jboss.webbeans.test.util;
-
-import java.lang.reflect.Method;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.AbstractClassBean;
-import org.jboss.webbeans.bean.EnterpriseBean;
-import org.jboss.webbeans.bean.ProducerMethodBean;
-import org.jboss.webbeans.bean.SimpleBean;
-import org.jboss.webbeans.bean.XmlEnterpriseBean;
-import org.jboss.webbeans.bean.XmlSimpleBean;
-
-public class Util
-{
- public static <T> SimpleBean<T> createSimpleBean(Class<T> clazz, ManagerImpl manager)
- {
- return new SimpleBean<T>(clazz, manager);
- }
-
- public static <T> XmlSimpleBean<T> createXmlSimpleBean(Class<T> clazz, ManagerImpl manager)
- {
- return new XmlSimpleBean<T>(clazz, manager);
- }
-
- public static <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz, ManagerImpl manager)
- {
- return new EnterpriseBean<T>(clazz, manager);
- }
-
- public static <T> XmlEnterpriseBean<T> createXmlEnterpriseBean(Class<T> clazz, ManagerImpl manager)
- {
- return new XmlEnterpriseBean<T>(clazz, manager);
- }
-
- public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, Method method, ManagerImpl manager, AbstractClassBean<?> declaringBean)
- {
- return new ProducerMethodBean<T>(method, declaringBean, manager);
- }
-
-}
17 years, 5 months