[webbeans-commits] Webbeans SVN: r423 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test.
by webbeans-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2008-12-06 13:47:41 -0500 (Sat, 06 Dec 2008)
New Revision: 423
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
Log:
fix build breakage :)
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-05 23:00:17 UTC (rev 422)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/NewEventTest.java 2008-12-06 18:47:41 UTC (rev 423)
@@ -41,7 +41,7 @@
public void create() {
SimpleBean<MyTest> myTestBean = BeanFactory.createSimpleBean(MyTest.class);
for (AnnotatedField<Object> field : myTestBean.getEventFields()) {
- EventBean eventBean = BeanFactory.createEventBean(field.getType(), field);
+ EventBean eventBean = BeanFactory.createEventBean(field);
@SuppressWarnings("unused")
Event<Param> event = eventBean.create();
}
17 years, 4 months
[webbeans-commits] Webbeans SVN: r422 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bootstrap and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-12-05 18:00:17 -0500 (Fri, 05 Dec 2008)
New Revision: 422
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.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/EventTest.java
Log:
minor manager singleton cleanups
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-05 21:52:51 UTC (rev 421)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-05 23:00:17 UTC (rev 422)
@@ -25,7 +25,6 @@
import javax.webbeans.Event;
import javax.webbeans.Standard;
-import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedItem;
@@ -162,11 +161,12 @@
/**
* @see javax.webbeans.manager.Bean#create()
*/
+ @SuppressWarnings("unchecked")
@Override
public Event<T> create()
{
Class<T> eventType = (Class<T>) annotatedItem.getType().getTypeParameters()[0].getClass();
- return new EventImpl<T>(ManagerImpl.instance(), eventType, annotatedItem.getBindingTypesAsArray());
+ return new EventImpl<T>(eventType, annotatedItem.getBindingTypesAsArray());
}
}
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-12-05 21:52:51 UTC (rev 421)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bootstrap/Bootstrap.java 2008-12-05 23:00:17 UTC (rev 422)
@@ -126,13 +126,13 @@
ManagerImpl.instance().getResolver().addInjectionPoints(bean.getInjectionPoints());
for (AnnotatedMethod<Object> producerMethod : bean.getProducerMethods())
{
- ProducerMethodBean<?> producerMethodBean = createProducerMethodBean(producerMethod.getType(), producerMethod, bean);
+ ProducerMethodBean<?> producerMethodBean = createProducerMethodBean(producerMethod, bean);
beans.add(producerMethodBean);
ManagerImpl.instance().getResolver().addInjectionPoints(producerMethodBean.getInjectionPoints());
}
for (AnnotatedField<Object> eventField : bean.getEventFields())
{
- EventBean<?> eventBean = createEventBean(eventField.getType(), eventField);
+ EventBean<?> eventBean = createEventBean(eventField);
beans.add(eventBean);
ManagerImpl.instance().getResolver().addInjectionPoints(eventBean.getInjectionPoints());
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-05 21:52:51 UTC (rev 421)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-05 23:00:17 UTC (rev 422)
@@ -39,27 +39,22 @@
* @param <T>
* @see javax.webbeans.Event
*/
-@Standard
-@Dependent
public class EventImpl<T> implements Event<T>
{
// The set of binding types
private final Set<? extends Annotation> bindingTypes;
// The event type
private final Class<T> eventType;
- // The Web Beans manager
- protected final ManagerImpl manager;
/**
* Constructor
*
* @param bindingTypes The binding types
*/
- public EventImpl(ManagerImpl manager, Class<T> eventType, Annotation... bindingTypes)
+ public EventImpl(Class<T> eventType, Annotation... bindingTypes)
{
this.bindingTypes = getBindingTypes(bindingTypes);
this.eventType = eventType;
- this.manager = manager;
}
/**
@@ -68,8 +63,8 @@
* Removes @Observable from the list
*
* @param annotations The annotations to validate
- * @return A set of binding type annotations (minus @Observable, if it
- * was present)
+ * @return A set of binding type annotations (minus @Observable, if it was
+ * present)
*/
private static Set<Annotation> getBindingTypes(Annotation... annotations)
{
@@ -103,10 +98,12 @@
{
throw new IllegalArgumentException(annotation + " is not a binding type");
}
- for (Annotation bindingAnnotation: this.bindingTypes) {
- if (bindingAnnotation.annotationType().equals(annotation.annotationType())) {
+ for (Annotation bindingAnnotation : this.bindingTypes)
+ {
+ if (bindingAnnotation.annotationType().equals(annotation.annotationType()))
+ {
throw new DuplicateBindingTypeException(annotation + " is already present in the bindings list");
- }
+ }
}
result.add(annotation);
}
@@ -123,7 +120,7 @@
{
Set<Annotation> bindingParameters = checkBindingTypes(bindingTypes);
bindingParameters.addAll(this.bindingTypes);
- manager.fireEvent(event, bindingParameters.toArray(new Annotation[0]));
+ ManagerImpl.instance().fireEvent(event, bindingParameters.toArray(new Annotation[0]));
}
/**
@@ -136,7 +133,7 @@
{
Set<Annotation> bindingParameters = checkBindingTypes(bindingTypes);
bindingParameters.addAll(this.bindingTypes);
- manager.addObserver(observer, eventType, bindingParameters.toArray(new Annotation[0]));
+ ManagerImpl.instance().addObserver(observer, eventType, bindingParameters.toArray(new Annotation[0]));
}
-
+
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 21:52:51 UTC (rev 421)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 23:00:17 UTC (rev 422)
@@ -60,7 +60,7 @@
* Invokes the observer method
*
* @param instance The instance to invoke
- * @param event the event object
+ * @param event the event object
* @return A reference to the instance
*/
public T invokeWithSpecialValue(Object instance, Class<? extends Annotation> specialParam, Object specialVal);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-12-05 21:52:51 UTC (rev 421)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-12-05 23:00:17 UTC (rev 422)
@@ -101,12 +101,11 @@
/**
* Creates a producer method Web Bean
*
- * @param type The type
* @param method The underlying method abstraction
* @param declaringBean The declaring bean abstraction
* @return A producer Web Bean
*/
- public static <T> ProducerMethodBean<T> createProducerMethodBean(Class<T> type, AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean)
+ public static <T> ProducerMethodBean<T> createProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean)
{
return new ProducerMethodBean<T>(method, declaringBean);
}
@@ -114,13 +113,11 @@
/**
* Creates an event Web Bean
*
- * @param <T>
- * @param type The type
* @param field The observer field abstraction
* @param declaringBean The declaring bean abstraction
* @return An event Web Bean
*/
- public static <T> EventBean<T> createEventBean(Class<T> type, AnnotatedField<T> field)
+ public static <T> EventBean<T> createEventBean(AnnotatedField<T> field)
{
return new EventBean<T>(field);
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java 2008-12-05 21:52:51 UTC (rev 421)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java 2008-12-05 23:00:17 UTC (rev 422)
@@ -56,6 +56,7 @@
enabledDeploymentTypes.add(Standard.class);
enabledDeploymentTypes.add(AnotherDeploymentType.class);
manager = new MockManagerImpl();
+ MockManagerImpl.setInstance(manager);
manager.setEnabledDeploymentTypes(Standard.class, AnotherDeploymentType.class);
}
@@ -72,7 +73,7 @@
//Create a test annotation for the event and use it to construct the
//event object
Annotation[] annotations = new Annotation[] { new TameAnnotationLiteral() };
- EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>(manager, DangerCall.class, annotations);
+ EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>(DangerCall.class, annotations);
eventComponent.fire(anEvent, new SynchronousAnnotationLiteral());
assert anEvent.equals(manager.getEvent());
assert Reflections.annotationSetMatches(manager.getEventBindings(),
@@ -113,7 +114,7 @@
//Create a test annotation for the event and use it to construct the
//event object
Annotation[] annotations = new Annotation[] { new TameAnnotationLiteral() };
- EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>(manager, DangerCall.class, annotations);
+ EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>(DangerCall.class, annotations);
Observer<DangerCall> observer = new AnObserver<DangerCall>();
eventComponent.observe(observer, new SynchronousAnnotationLiteral());
assert manager.getObservedEventType().equals(DangerCall.class);
17 years, 4 months
[webbeans-commits] Webbeans SVN: r421 - ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test.
by webbeans-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2008-12-05 16:52:51 -0500 (Fri, 05 Dec 2008)
New Revision: 421
Modified:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
Log:
further test
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-12-05 21:50:03 UTC (rev 420)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-05 21:52:51 UTC (rev 421)
@@ -75,7 +75,7 @@
public final void testNotify() throws Exception
{
SampleEvent event = new SampleEvent();
- assert notified == false;
+ notified = false;
observer.notify(event);
assert notified == true;
}
@@ -83,14 +83,18 @@
@Test(groups = "observerMethod") @SpecAssertion(section={"7.5.7"})
public final void testNotifyViaManager() throws Exception
{
- SampleEvent event = new SampleEvent();
+ notified = false;
+ manager.fireEvent(new SampleEvent());
assert notified == false;
- manager.fireEvent(event);
+ manager.fireEvent(new Object(), new AnnotationLiteral<Asynchronous>() {});
assert notified == false;
- manager.fireEvent(event, new AnnotationLiteral<Foo>() {});
+ manager.fireEvent(new SampleEvent(), new AnnotationLiteral<Foo>() {});
assert notified == false;
- manager.fireEvent(event, new AnnotationLiteral<Asynchronous>() {});
+ manager.fireEvent(new SampleEvent(), new AnnotationLiteral<Asynchronous>() {});
assert notified == true;
+ notified = false;
+ manager.fireEvent(new SampleEvent(), new AnnotationLiteral<Asynchronous>() {}, new AnnotationLiteral<Foo>() {});
+ assert notified == true;
}
}
17 years, 4 months
[webbeans-commits] Webbeans SVN: r420 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/event and 4 other directories.
by webbeans-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2008-12-05 16:50:03 -0500 (Fri, 05 Dec 2008)
New Revision: 420
Removed:
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java
Log:
Make the event bus finally work :-)
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-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -212,7 +212,7 @@
*/
public <T> Set<Observer<T>> resolveObservers(T event, Annotation... bindings)
{
- return eventManager.getObservers(event, bindings);
+ return eventManager.getObservers(metaDataCache, event, bindings);
}
/**
@@ -536,6 +536,12 @@
{
return getInstanceByType(new AnnotatedClassImpl<T>(type, type, bindings), bindings);
}
+
+ public <T> T getMostSpecializedInstance(Bean<T> bean, boolean create)
+ {
+ //TODO!!!!!
+ return getInstance(bean);
+ }
/**
* Returns an instance by type literal and binding types
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -31,6 +31,7 @@
import javax.webbeans.Observer;
import org.jboss.webbeans.ManagerImpl;
+import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.transaction.TransactionListener;
import org.jboss.webbeans.util.JNDI;
import org.jboss.webbeans.util.Strings;
@@ -170,12 +171,12 @@
* matches.
*/
@SuppressWarnings("unchecked")
- public <T> Set<Observer<T>> getObservers(T event, Annotation... bindings)
+ public <T> Set<Observer<T>> getObservers(MetaDataCache mdc, T event, Annotation... bindings)
{
Set<Observer<T>> interestedObservers = new HashSet<Observer<T>>();
for (EventObserver<?> observer : registeredObservers.get(event.getClass()))
{
- if (observer.isObserverInterested(bindings))
+ if (observer.isObserverInterested(mdc, bindings))
{
interestedObservers.add((Observer<T>) observer.getObserver());
}
@@ -192,7 +193,7 @@
{
try
{
- return userTransaction.getStatus() == Status.STATUS_ACTIVE;
+ return userTransaction!=null && userTransaction.getStatus() == Status.STATUS_ACTIVE;
}
catch (SystemException e)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventObserver.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -23,6 +23,8 @@
import javax.webbeans.Observer;
+import org.jboss.webbeans.MetaDataCache;
+
/**
* <p>
* EventObserver wraps various {@link Observer} objects created by application
@@ -88,17 +90,30 @@
* @param bindings The event bindings
* @return true only if all required bindings match
*/
- public boolean isObserverInterested(Annotation... bindings)
+ public boolean isObserverInterested(MetaDataCache mdc, Annotation... bindings)
{
// Simply check that all event bindings specified by the observer are
// in the list provided.
- List<Annotation> bindingsArray = Arrays.asList(bindings);
- boolean result = true;
- if (!this.eventBindings.isEmpty())
+ if (this.eventBindings.isEmpty())
{
- result = bindingsArray.containsAll(this.eventBindings);
+ return true;
}
- return result;
+ else
+ {
+ //List<Annotation> bindingsArray = Arrays.asList(bindings);
+ //return bindingsArray.containsAll(this.eventBindings);
+ for (Annotation x: eventBindings) {
+ boolean found = false;
+ for (Annotation y: bindings)
+ {
+ if ( mdc.getBindingTypeModel(x.annotationType()).isEqual(x, y) ) {
+ found = true;
+ }
+ }
+ if (!found) return false;
+ }
+ return true;
+ }
}
/*
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/ObserverImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -17,7 +17,12 @@
package org.jboss.webbeans.event;
-import java.lang.annotation.Annotation;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_COMPLETION;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_FAILURE;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_SUCCESS;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.BEFORE_COMPLETION;
+import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.NONE;
+
import java.util.ArrayList;
import java.util.List;
@@ -28,16 +33,11 @@
import javax.webbeans.DefinitionException;
import javax.webbeans.IfExists;
import javax.webbeans.Observer;
+import javax.webbeans.Observes;
+import javax.webbeans.manager.Bean;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.EventBean;
import org.jboss.webbeans.event.EventManager.TransactionObservationPhase;
-
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_COMPLETION;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_FAILURE;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.AFTER_SUCCESS;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.BEFORE_COMPLETION;
-import static org.jboss.webbeans.event.EventManager.TransactionObservationPhase.NONE;
import org.jboss.webbeans.introspector.AnnotatedMethod;
/**
@@ -53,7 +53,7 @@
*/
public class ObserverImpl<T> implements Observer<T>
{
- private EventBean<T> eventBean;
+ private Bean<?> observerBean;
private final AnnotatedMethod<Object> observerMethod;
private final Class<T> eventType;
private TransactionObservationPhase transactionObservationPhase;
@@ -71,9 +71,9 @@
* @param observer The observer method to notify
* @param eventType The type of event being observed
*/
- public ObserverImpl(final EventBean<T> eventBean, final AnnotatedMethod<Object> observer, final Class<T> eventType)
+ public ObserverImpl(final Bean<?> observerBean, final AnnotatedMethod<Object> observer, final Class<T> eventType)
{
- this.eventBean = eventBean;
+ this.observerBean = observerBean;
this.observerMethod = observer;
this.eventType = eventType;
initTransactionObservationPhase();
@@ -83,19 +83,19 @@
private void initTransactionObservationPhase()
{
List<TransactionObservationPhase> observationPhases = new ArrayList<TransactionObservationPhase>();
- if (observerMethod.getAnnotatedParameters(BeforeTransactionCompletion.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(BeforeTransactionCompletion.class).isEmpty())
{
observationPhases.add(BEFORE_COMPLETION);
}
- if (observerMethod.getAnnotatedParameters(AfterTransactionCompletion.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(AfterTransactionCompletion.class).isEmpty())
{
observationPhases.add(AFTER_COMPLETION);
}
- if (observerMethod.getAnnotatedParameters(AfterTransactionFailure.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(AfterTransactionFailure.class).isEmpty())
{
observationPhases.add(AFTER_FAILURE);
}
- if (observerMethod.getAnnotatedParameters(AfterTransactionSuccess.class).isEmpty())
+ if (!observerMethod.getAnnotatedParameters(AfterTransactionSuccess.class).isEmpty())
{
observationPhases.add(AFTER_SUCCESS);
}
@@ -113,22 +113,11 @@
}
}
- /*
- * (non-Javadoc)
- *
- * @see javax.webbeans.Observer#getEventType()
- */
public Class<T> getEventType()
{
return eventType;
}
- /*
- * (non-Javadoc)
- *
- * @see javax.webbeans.Observer#notify(javax.webbeans.Container,
- * java.lang.Object)
- */
public void notify(final T event)
{
// Get the most specialized instance of the component
@@ -136,7 +125,7 @@
if (instance != null)
{
// TODO replace event parameter
- observerMethod.invoke(instance);
+ observerMethod.invokeWithSpecialValue(instance, Observes.class, event);
}
}
@@ -152,7 +141,7 @@
protected Object getInstance(boolean conditional)
{
// Return the most specialized instance of the component
- return ManagerImpl.instance().getInstanceByType(eventBean.getType(), eventBean.getBindingTypes().toArray(new Annotation[0]));
+ return ManagerImpl.instance().getMostSpecializedInstance(observerBean, conditional);
}
/**
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -57,6 +57,15 @@
public T invoke(Object instance);
/**
+ * Invokes the observer method
+ *
+ * @param instance The instance to invoke
+ * @param event the event object
+ * @return A reference to the instance
+ */
+ public T invokeWithSpecialValue(Object instance, Class<? extends Annotation> specialParam, Object specialVal);
+
+ /**
* Invokes the method
*
* @param instance The instance to invoke
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -194,7 +194,7 @@
}
return annotationMap;
}
-
+
/**
* Static helper method for getting the current parameter values from a list
* of annotated parameters.
@@ -205,11 +205,32 @@
*/
protected static Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters)
{
+ return getParameterValues(parameters, null, null);
+ }
+
+ /**
+ * Static helper method for getting the current parameter values from a list
+ * of annotated parameters.
+ *
+ * @param parameters The list of annotated parameter to look up
+ * @return The object array of looked up values
+ *
+ */
+ protected static Object[] getParameterValues(List<AnnotatedParameter<Object>> parameters, Object specialVal, Class<? extends Annotation> specialParam)
+ {
Object[] parameterValues = new Object[parameters.size()];
Iterator<AnnotatedParameter<Object>> iterator = parameters.iterator();
for (int i = 0; i < parameterValues.length; i++)
{
- parameterValues[i] = iterator.next().getValue();
+ AnnotatedParameter<Object> param = iterator.next();
+ if ( specialParam!=null && param.isAnnotationPresent(specialParam))
+ {
+ parameterValues[i] = specialVal;
+ }
+ else
+ {
+ parameterValues[i] = param.getValue();
+ }
}
return parameterValues;
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedMethodImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -241,6 +241,12 @@
return (T) Reflections.invokeAndWrap(getDelegate(), instance, getParameterValues(parameters));
}
+ @SuppressWarnings("unchecked")
+ public T invokeWithSpecialValue(Object instance, Class<? extends Annotation> specialParam, Object specialVal)
+ {
+ return (T) Reflections.invokeAndWrap(getDelegate(), instance, getParameterValues(parameters, specialVal, specialParam));
+ }
+
/**
* Invokes the method on an instance with given parameters
*
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventManagerTest.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -5,6 +5,7 @@
import javax.transaction.Synchronization;
import javax.webbeans.Observer;
+import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.event.DeferredEventNotification;
import org.jboss.webbeans.event.EventManager;
import org.jboss.webbeans.test.beans.DangerCall;
@@ -41,16 +42,16 @@
eventManager.addObserver(observer, DangerCall.class);
DangerCall event = new DangerCall();
- Set<Observer<DangerCall>> observerSet = eventManager.getObservers(event);
+ Set<Observer<DangerCall>> observerSet = eventManager.getObservers(new MetaDataCache(), event);
assert observerSet.size() == 1;
assert observerSet.iterator().next().equals(observer);
// Add another observer for the same event, but with an event binding
observer = new AnObserver<DangerCall>();
eventManager.addObserver(observer, DangerCall.class, new TameAnnotationLiteral());
- observerSet = eventManager.getObservers(event);
+ observerSet = eventManager.getObservers(new MetaDataCache(), event);
assert observerSet.size() == 1;
- observerSet = eventManager.getObservers(event, new TameAnnotationLiteral());
+ observerSet = eventManager.getObservers(new MetaDataCache(), event, new TameAnnotationLiteral());
assert observerSet.size() == 2;
}
@@ -66,7 +67,7 @@
eventManager.addObserver(observer, DangerCall.class);
eventManager.removeObserver(observer, DangerCall.class);
// FIXME CopyOnWrite broke remove, have to check later
- assert eventManager.getObservers(new DangerCall()).isEmpty();
+ assert eventManager.getObservers(new MetaDataCache(), new DangerCall()).isEmpty();
}
/**
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventObserverTest.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -2,6 +2,7 @@
import javax.webbeans.Observer;
+import org.jboss.webbeans.MetaDataCache;
import org.jboss.webbeans.event.EventObserver;
import org.jboss.webbeans.test.beans.DangerCall;
import org.jboss.webbeans.test.bindings.AnimalStereotypeAnnotationLiteral;
@@ -39,15 +40,15 @@
Observer<DangerCall> observer = new AnObserver<DangerCall>();
EventObserver<DangerCall> wrappedObserver = new EventObserver<DangerCall>(observer, DangerCall.class, new TameAnnotationLiteral());
assert wrappedObserver.getEventBindings().size() == 1;
- assert wrappedObserver.isObserverInterested(new TameAnnotationLiteral());
- assert !wrappedObserver.isObserverInterested(new AnimalStereotypeAnnotationLiteral());
- assert !wrappedObserver.isObserverInterested();
- assert wrappedObserver.isObserverInterested(new TameAnnotationLiteral(), new RoleBinding("Admin"));
+ assert wrappedObserver.isObserverInterested(new MetaDataCache(), new TameAnnotationLiteral());
+ assert !wrappedObserver.isObserverInterested(new MetaDataCache(), new AnimalStereotypeAnnotationLiteral());
+ assert !wrappedObserver.isObserverInterested(new MetaDataCache());
+ assert wrappedObserver.isObserverInterested(new MetaDataCache(), new TameAnnotationLiteral(), new RoleBinding("Admin"));
// Perform some tests with binding values (7.7.1)
wrappedObserver = new EventObserver<DangerCall>(observer, DangerCall.class, new RoleBinding("Admin"));
assert wrappedObserver.getEventBindings().size() == 1;
- assert wrappedObserver.isObserverInterested(new RoleBinding("Admin"));
- assert !wrappedObserver.isObserverInterested(new RoleBinding("User"));
+ assert wrappedObserver.isObserverInterested(new MetaDataCache(), new RoleBinding("Admin"));
+ assert !wrappedObserver.isObserverInterested(new MetaDataCache(), new RoleBinding("User"));
}
}
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-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ObserverTest.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -1,21 +1,19 @@
package org.jboss.webbeans.test;
-import static org.jboss.webbeans.util.BeanFactory.createSimpleBean;
-
import java.lang.annotation.Annotation;
-import java.util.ArrayList;
-import java.util.List;
+import java.lang.reflect.Method;
+import javax.webbeans.AnnotationLiteral;
+import javax.webbeans.Observer;
import javax.webbeans.Observes;
-import javax.webbeans.Standard;
import org.jboss.webbeans.bean.SimpleBean;
+import org.jboss.webbeans.event.ObserverImpl;
import org.jboss.webbeans.introspector.AnnotatedMethod;
import org.jboss.webbeans.introspector.jlr.AnnotatedClassImpl;
import org.jboss.webbeans.introspector.jlr.AnnotatedMethodImpl;
-import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
import org.jboss.webbeans.test.annotations.Asynchronous;
-import org.jboss.webbeans.test.beans.Tuna;
import org.jboss.webbeans.test.mock.MockManagerImpl;
+import org.jboss.webbeans.util.BeanFactory;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
@@ -29,42 +27,43 @@
public class ObserverTest
{
private MockManagerImpl manager;
- private SimpleBean<Tuna> tuna;
+ //private SimpleBean<Tuna> tuna;
+ private SimpleBean<SampleObserver> ob;
private AnnotatedMethod<Object> om;
+ Observer<SampleEvent> observer;
- public class SampleEvent
+ private static boolean notified = false;
+
+ public static class SampleEvent
{
// Simple class used for testing
}
- public class AnObserver
+ public static class SampleObserver
{
- protected boolean notified = false;
public void observe(@Observes @Asynchronous SampleEvent e)
{
// An observer method
- this.notified = true;
+ notified = true;
}
+
}
+
+ public static @interface Foo {}
@BeforeMethod
public void before() throws Exception
{
- List<Class<? extends Annotation>> enabledDeploymentTypes = new ArrayList<Class<? extends Annotation>>();
- enabledDeploymentTypes.add(Standard.class);
- enabledDeploymentTypes.add(AnotherDeploymentType.class);
manager = new MockManagerImpl();
- manager.setEnabledDeploymentTypes(Standard.class, AnotherDeploymentType.class);
-
- // Create an observer with known binding types
- // TODO This should be a real class being mapped
- //Map<Class<? extends Annotation>, Annotation> annotations = new HashMap<Class<? extends Annotation>, Annotation>();
- //annotations.put(Asynchronous.class, new AsynchronousAnnotationLiteral());
- //AnnotatedClass<Tuna> annotatedItem = new SimpleAnnotatedClass<Tuna>(Tuna.class, annotations);
-
- tuna = createSimpleBean(Tuna.class);
- om = new AnnotatedMethodImpl<Object>(AnObserver.class.getMethod("observe", new Class[] { SampleEvent.class }), new AnnotatedClassImpl<AnObserver>(AnObserver.class));
+ ob = BeanFactory.createSimpleBean(SampleObserver.class);
+ manager.addBean(ob);
+ Method method = SampleObserver.class.getMethod("observe", SampleEvent.class);
+ om = new AnnotatedMethodImpl<Object>(method, new AnnotatedClassImpl<SampleObserver>(SampleObserver.class));
+ observer = new ObserverImpl<SampleEvent>(ob, om, SampleEvent.class);
+ Annotation annotation = method.getParameterAnnotations()[0][1];
+ manager.addObserver(observer, SampleEvent.class, annotation);
+ notified = false;
}
/**
@@ -75,12 +74,23 @@
@Test(groups = "observerMethod") @SpecAssertion(section={"7.5.7"})
public final void testNotify() throws Exception
{
- AnObserver observerInstance = new AnObserver();
- /*Observer<SampleEvent> observer = new MockObserverImpl<SampleEvent>(tuna, om, SampleEvent.class);
- ((MockObserverImpl<SampleEvent>) observer).setInstance(observerInstance);
- SampleEvent event = new SampleEvent();
+ SampleEvent event = new SampleEvent();
+ assert notified == false;
observer.notify(event);
- assert observerInstance.notified;*/
+ assert notified == true;
}
+ @Test(groups = "observerMethod") @SpecAssertion(section={"7.5.7"})
+ public final void testNotifyViaManager() throws Exception
+ {
+ SampleEvent event = new SampleEvent();
+ assert notified == false;
+ manager.fireEvent(event);
+ assert notified == false;
+ manager.fireEvent(event, new AnnotationLiteral<Foo>() {});
+ assert notified == false;
+ manager.fireEvent(event, new AnnotationLiteral<Asynchronous>() {});
+ assert notified == true;
+ }
+
}
Deleted: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java 2008-12-05 20:15:58 UTC (rev 419)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockObserverImpl.java 2008-12-05 21:50:03 UTC (rev 420)
@@ -1,40 +0,0 @@
-package org.jboss.webbeans.test.mock;
-
-import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.bean.EventBean;
-import org.jboss.webbeans.event.ObserverImpl;
-import org.jboss.webbeans.introspector.AnnotatedMethod;
-
-/**
- * An implementation used for unit testing only.
- *
- * @author David Allen
- *
- */
-public class MockObserverImpl<T> extends ObserverImpl<T>
-{
-
- private Object specializedInstance;
-
- public MockObserverImpl(ManagerImpl manager, EventBean<T> beanModel, AnnotatedMethod<Object> observer, Class<T> eventType)
- {
- super(beanModel, observer, eventType);
- }
-
- @Override
- protected final Object getInstance(boolean conditional)
- {
- return specializedInstance;
- }
-
- /**
- * The most specialized instance of this observer type.
- *
- * @param instance The instance to use for testing
- */
- public final void setInstance(Object instance)
- {
- specializedInstance = instance;
- }
-
-}
17 years, 4 months
[webbeans-commits] Webbeans SVN: r419 - in ri/trunk/webbeans-ri: src/main/java/org/jboss/webbeans/bean and 3 other directories.
by webbeans-commits@lists.jboss.org
Author: gavin.king(a)jboss.com
Date: 2008-12-05 15:15:58 -0500 (Fri, 05 Dec 2008)
New Revision: 419
Modified:
ri/trunk/webbeans-ri/
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java
ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
Log:
tests for Event object now working
Property changes on: ri/trunk/webbeans-ri
___________________________________________________________________
Name: svn:ignore
- .project
.classpath
target
test-output
temp-testng-customsuite.xml
+ .project
.classpath
target
test-output
temp-testng-customsuite.xml
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-05 14:17:46 UTC (rev 418)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-05 20:15:58 UTC (rev 419)
@@ -25,6 +25,7 @@
import javax.webbeans.Event;
import javax.webbeans.Standard;
+import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedItem;
@@ -164,7 +165,8 @@
@Override
public Event<T> create()
{
- return new EventImpl<T>(annotatedItem.getBindingTypesAsArray());
+ Class<T> eventType = (Class<T>) annotatedItem.getType().getTypeParameters()[0].getClass();
+ return new EventImpl<T>(ManagerImpl.instance(), eventType, annotatedItem.getBindingTypesAsArray());
}
}
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-05 14:17:46 UTC (rev 418)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-05 20:15:58 UTC (rev 419)
@@ -44,20 +44,22 @@
public class EventImpl<T> implements Event<T>
{
// The set of binding types
- private Set<? extends Annotation> bindingTypes;
+ private final Set<? extends Annotation> bindingTypes;
// The event type
- private Class<T> eventType;
+ private final Class<T> eventType;
// The Web Beans manager
- protected static final ManagerImpl manager = ManagerImpl.instance();
+ protected final ManagerImpl manager;
/**
* Constructor
*
* @param bindingTypes The binding types
*/
- public EventImpl(Annotation... bindingTypes)
+ public EventImpl(ManagerImpl manager, Class<T> eventType, Annotation... bindingTypes)
{
- this.bindingTypes = checkBindingTypes(bindingTypes);
+ this.bindingTypes = getBindingTypes(bindingTypes);
+ this.eventType = eventType;
+ this.manager = manager;
}
/**
@@ -66,28 +68,49 @@
* Removes @Observable from the list
*
* @param annotations The annotations to validate
- * @return A set of unique binding type annotations (minus @Observable, if it
+ * @return A set of binding type annotations (minus @Observable, if it
* was present)
*/
- private Set<Annotation> checkBindingTypes(Annotation... annotations)
+ private static Set<Annotation> getBindingTypes(Annotation... annotations)
{
- Set<Annotation> uniqueAnnotations = new HashSet<Annotation>();
+ Set<Annotation> result = new HashSet<Annotation>();
for (Annotation annotation : annotations)
{
if (!annotation.annotationType().isAnnotationPresent(BindingType.class))
{
throw new IllegalArgumentException(annotation + " is not a binding type");
}
- if (uniqueAnnotations.contains(annotation))
+ if (!annotation.annotationType().equals(Observable.class))
{
- throw new DuplicateBindingTypeException(annotation + " is already present in the bindings list");
+ result.add(annotation);
}
- if (!annotation.annotationType().equals(Observable.class))
+ }
+ return result;
+ }
+
+ /**
+ * Validates the binding types and checks for dupes
+ *
+ * @param annotations The annotations to validate
+ * @return A set of unique binding type annotations
+ */
+ private Set<Annotation> checkBindingTypes(Annotation... annotations)
+ {
+ Set<Annotation> result = new HashSet<Annotation>();
+ for (Annotation annotation : annotations)
+ {
+ if (!annotation.annotationType().isAnnotationPresent(BindingType.class))
{
- uniqueAnnotations.add(annotation);
+ throw new IllegalArgumentException(annotation + " is not a binding type");
}
+ for (Annotation bindingAnnotation: this.bindingTypes) {
+ if (bindingAnnotation.annotationType().equals(annotation.annotationType())) {
+ throw new DuplicateBindingTypeException(annotation + " is already present in the bindings list");
+ }
+ }
+ result.add(annotation);
}
- return uniqueAnnotations;
+ return result;
}
/**
@@ -115,5 +138,5 @@
bindingParameters.addAll(this.bindingTypes);
manager.addObserver(observer, eventType, bindingParameters.toArray(new Annotation[0]));
}
-
-}
\ No newline at end of file
+
+}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java 2008-12-05 14:17:46 UTC (rev 418)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/EventTest.java 2008-12-05 20:15:58 UTC (rev 419)
@@ -4,12 +4,24 @@
import java.util.ArrayList;
import java.util.List;
+import javax.webbeans.DuplicateBindingTypeException;
+import javax.webbeans.Event;
import javax.webbeans.Observer;
import javax.webbeans.Standard;
+import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.test.annotations.AnotherDeploymentType;
+import org.jboss.webbeans.test.annotations.Synchronous;
+import org.jboss.webbeans.test.annotations.Tame;
+import org.jboss.webbeans.test.beans.DangerCall;
+import org.jboss.webbeans.test.bindings.FishStereotypeAnnotationLiteral;
+import org.jboss.webbeans.test.bindings.RiverFishStereotypeAnnotationLiteral;
+import org.jboss.webbeans.test.bindings.SynchronousAnnotationLiteral;
+import org.jboss.webbeans.test.bindings.TameAnnotationLiteral;
import org.jboss.webbeans.test.mock.MockManagerImpl;
+import org.jboss.webbeans.util.Reflections;
import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
/**
* Tests for the implementation of an Event component.
@@ -47,93 +59,88 @@
manager.setEnabledDeploymentTypes(Standard.class, AnotherDeploymentType.class);
}
-// /**
-// * Tests the {@link Event#fire(Object, Annotation...)} method with a locally
-// * instantiated implementation.
-// */
-// @SuppressWarnings("unchecked")
-// @Test(groups = "event")
-// @SpecAssertion(section = "7.6")
-// public void testFireEvent()
-// {
-// DangerCall anEvent = new DangerCall();
-// // Create a test annotation for the event and use it to construct the
-// // event object
-// Annotation[] annotations = new Annotation[] { new TameAnnotationLiteral() };
-// EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>();
-// eventComponent.setEventBindings(annotations);
-// eventComponent.setManager(manager);
-// eventComponent.fire(anEvent, new SynchronousAnnotationLiteral());
-// assert anEvent.equals(manager.getEvent());
-// assert Reflections.annotationSetMatches(manager.getEventBindings(),
-// Tame.class, Synchronous.class);
-//
-// // Test duplicate annotations on the fire method call
-// boolean duplicateDetected = false;
-// try
-// {
-// eventComponent.fire(anEvent, new TameAnnotationLiteral(),
-// new TameAnnotationLiteral());
-// } catch (DuplicateBindingTypeException e)
-// {
-// duplicateDetected = true;
-// }
-// assert duplicateDetected;
-//
-// // Test annotations that are not binding types
-// boolean nonBindingTypeDetected = false;
-// try
-// {
-// eventComponent.fire(anEvent, new FishStereotypeAnnotationLiteral());
-// } catch (IllegalArgumentException e)
-// {
-// nonBindingTypeDetected = true;
-// }
-// assert nonBindingTypeDetected;
-// }
+ /**
+ * Tests the {@link Event#fire(Object, Annotation...)} method with a locally
+ * instantiated implementation.
+ */
+ @SuppressWarnings("unchecked")
+ @Test(groups = "event")
+ @SpecAssertion(section = "7.6")
+ public void testFireEvent()
+ {
+ DangerCall anEvent = new DangerCall();
+ //Create a test annotation for the event and use it to construct the
+ //event object
+ Annotation[] annotations = new Annotation[] { new TameAnnotationLiteral() };
+ EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>(manager, DangerCall.class, annotations);
+ eventComponent.fire(anEvent, new SynchronousAnnotationLiteral());
+ assert anEvent.equals(manager.getEvent());
+ assert Reflections.annotationSetMatches(manager.getEventBindings(),
+ Tame.class, Synchronous.class);
-// /**
-// * Tests the {@link Event#observe(javax.webbeans.Observer, Annotation...)}
-// * method with a locally instantiated implementation.
-// */
-// @Test(groups = {"observerMethod"})
-// @SpecAssertion(section = "7.6")
-// public void testObserve()
-// {
-// // Create a test annotation for the event and use it to construct the
-// // event object
-// Annotation[] annotations = new Annotation[] { new TameAnnotationLiteral() };
-// EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>();
-// eventComponent.setEventType(DangerCall.class);
-// eventComponent.setEventBindings(annotations);
-// eventComponent.setManager(manager);
-// Observer<DangerCall> observer = new AnObserver<DangerCall>();
-// eventComponent.observe(observer, new SynchronousAnnotationLiteral());
-// assert manager.getEventType().equals(DangerCall.class);
-//
-// // Try duplicate annotation bindings
-// boolean duplicateDetected = false;
-// try
-// {
-// eventComponent.observe(observer,
-// new TameAnnotationLiteral());
-// } catch (DuplicateBindingTypeException e)
-// {
-// duplicateDetected = true;
-// }
-// assert duplicateDetected;
-//
-// // Try an invalid binding type
-// boolean nonBindingTypeDetected = false;
-// try
-// {
-// eventComponent.observe(observer,
-// new RiverFishStereotypeAnnotationLiteral());
-// } catch (IllegalArgumentException e)
-// {
-// nonBindingTypeDetected = true;
-// }
-// assert nonBindingTypeDetected;
-// }
+ //Test duplicate annotations on the fire method call
+ boolean duplicateDetected = false;
+ try
+ {
+ eventComponent.fire(anEvent, new TameAnnotationLiteral(),
+ new TameAnnotationLiteral());
+ } catch (DuplicateBindingTypeException e)
+ {
+ duplicateDetected = true;
+ }
+ assert duplicateDetected;
+ //Test annotations that are not binding types
+ boolean nonBindingTypeDetected = false;
+ try
+ {
+ eventComponent.fire(anEvent, new FishStereotypeAnnotationLiteral());
+ } catch (IllegalArgumentException e)
+ {
+ nonBindingTypeDetected = true;
+ }
+ assert nonBindingTypeDetected;
+ }
+
+ /**
+ * Tests the {@link Event#observe(javax.webbeans.Observer, Annotation...)}
+ * method with a locally instantiated implementation.
+ */
+ @Test(groups = {"observerMethod"})
+ @SpecAssertion(section = "7.6")
+ public void testObserve()
+ {
+ //Create a test annotation for the event and use it to construct the
+ //event object
+ Annotation[] annotations = new Annotation[] { new TameAnnotationLiteral() };
+ EventImpl<DangerCall> eventComponent = new EventImpl<DangerCall>(manager, DangerCall.class, annotations);
+ Observer<DangerCall> observer = new AnObserver<DangerCall>();
+ eventComponent.observe(observer, new SynchronousAnnotationLiteral());
+ assert manager.getObservedEventType().equals(DangerCall.class);
+
+ //Try duplicate annotation bindings
+ boolean duplicateDetected = false;
+ try
+ {
+ eventComponent.observe(observer,
+ new TameAnnotationLiteral());
+ } catch (DuplicateBindingTypeException e)
+ {
+ duplicateDetected = true;
+ }
+ assert duplicateDetected;
+
+ //Try an invalid binding type
+ boolean nonBindingTypeDetected = false;
+ try
+ {
+ eventComponent.observe(observer,
+ new RiverFishStereotypeAnnotationLiteral());
+ } catch (IllegalArgumentException e)
+ {
+ nonBindingTypeDetected = true;
+ }
+ assert nonBindingTypeDetected;
+ }
+
}
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java 2008-12-05 14:17:46 UTC (rev 418)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java 2008-12-05 20:15:58 UTC (rev 419)
@@ -5,19 +5,18 @@
import java.util.HashSet;
import java.util.Set;
+import javax.webbeans.Observer;
import javax.webbeans.manager.Context;
+import javax.webbeans.manager.Manager;
import org.jboss.webbeans.ManagerImpl;
public class MockManagerImpl extends ManagerImpl
{
- private Object event = null;
- private Class<? extends Object> eventType = null;
+ private Object event = null;
private Annotation[] eventBindings = null;
+ private Class<? extends Object> observedEventType = null;
- /* (non-Javadoc)
- * @see org.jboss.webbeans.ManagerImpl#fireEvent(java.lang.Object, java.lang.annotation.Annotation[])
- */
@Override
public void fireEvent(Object event, Annotation... bindings)
{
@@ -26,6 +25,13 @@
this.eventBindings = bindings;
super.fireEvent(event, bindings);
}
+
+ @Override
+ public <T> Manager addObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings)
+ {
+ this.observedEventType = eventType;
+ return super.addObserver(observer, eventType, bindings);
+ }
/**
* Retrieves the event which was last fired with this manager.
@@ -50,9 +56,9 @@
/**
* @return the eventType
*/
- public final Class<?> getEventType()
+ public final Class<?> getObservedEventType()
{
- return eventType;
+ return observedEventType;
}
public void setEnabledDeploymentTypes(Class<? extends Annotation>... enabledDeploymentTypes)
17 years, 4 months
[webbeans-commits] Webbeans SVN: r418 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/bean/proxy and 7 other directories.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-12-05 09:17:46 -0500 (Fri, 05 Dec 2008)
New Revision: 418
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.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/EventBean.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/main/java/org/jboss/webbeans/bean/SimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlEnterpriseBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlSimpleBean.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractBeanMapAdaptor.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/BasicContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.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/SessionBeanMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/DeferredEventNotification.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanMap.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.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/mock/MockManagerImpl.java
Log:
doc updates
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -107,8 +107,6 @@
/**
* Constructor
- *
- * @param manager The Web Beans manager
*/
public AbstractBean()
{
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/AbstractClassBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -59,7 +59,6 @@
*
* @param annotatedItem Annotations read from java classes
* @param xmlAnnotatedItem Annotations read from XML
- * @param manager The Web Beans manager
*/
public AbstractClassBean(Class<T> type)
{
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EnterpriseBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -56,7 +56,6 @@
* Constructor
*
* @param type The type of the bean
- * @param manager The Web Beans manager
*/
public EnterpriseBean(Class<T> type)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/EventBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -52,8 +52,6 @@
* Constructor
*
* @param field The underlying field abstraction
- * @param declaringBean
- * @param manager The Web Beans manager
*/
@SuppressWarnings("unchecked")
public EventBean(AnnotatedField<T> field)
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/MergedStereotypes.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -48,7 +48,6 @@
* Constructor
*
* @param stereotypeAnnotations The stereotypes to merge
- * @param manager The Web Beans manager
*/
public MergedStereotypes(Set<Annotation> stereotypeAnnotations)
{
@@ -63,7 +62,6 @@
* Perform the merge
*
* @param stereotypeAnnotations The stereotype annotations
- * @param manager The Web Beans manager
*/
protected void merge(Set<Annotation> stereotypeAnnotations)
{
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/ProducerMethodBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -56,7 +56,6 @@
*
* @param method The producer method
* @param declaringBean The declaring bean instance
- * @param manager The Web Beans manager
*/
public ProducerMethodBean(Method method, AbstractClassBean<?> declaringBean)
{
@@ -68,7 +67,6 @@
*
* @param method The producer method abstraction
* @param declaringBean The declaring bean
- * @param manager The Web Beans manager
*/
public ProducerMethodBean(AnnotatedMethod<T> method, AbstractClassBean<?> declaringBean)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/SimpleBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -58,7 +58,6 @@
* Constructor
*
* @param type The type of the bean
- * @param manager The Web Beans manager
*/
public SimpleBean(Class<T> type)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlEnterpriseBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlEnterpriseBean.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlEnterpriseBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -32,7 +32,6 @@
* Constructor
*
* @param type The type of the bean
- * @param manager The Web Beans manager
*/
public XmlEnterpriseBean(Class<T> type)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlSimpleBean.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlSimpleBean.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/XmlSimpleBean.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -32,7 +32,6 @@
* Constructor
*
* @param type The type of the bean
- * @param manager The Web Beans manager
*/
public XmlSimpleBean(Class<T> type)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/bean/proxy/ProxyMethodHandler.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -49,7 +49,6 @@
*
* @param bean The bean to proxy
* @param beanIndex The index to the bean in the manager bean list
- * @param manager The manager implementation
*/
public ProxyMethodHandler(Bean<?> bean, int beanIndex)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractBeanMapAdaptor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractBeanMapAdaptor.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractBeanMapAdaptor.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -1,3 +1,20 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.jboss.webbeans.contexts;
import javax.webbeans.manager.Contextual;
@@ -7,6 +24,11 @@
public abstract class AbstractBeanMapAdaptor implements BeanMap
{
+ /**
+ * Gets a key prefix that should be prefixed to names
+ *
+ * @return The prefix
+ */
protected abstract String getKeyPrefix();
/**
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -125,11 +125,20 @@
this.active.set(Boolean.valueOf(active));
}
+ /**
+ * Destroys a bean
+ *
+ * @param <T> The type of the bean
+ * @param bean The bean to destroy
+ */
private <T> void destroy(Contextual<T> bean)
{
bean.destroy(getBeanMap().get(bean));
}
+ /**
+ * Destroys the context
+ */
public void destroy()
{
for (Contextual<? extends Object> bean : getBeanMap().keySet())
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -32,38 +32,67 @@
*/
public class ApplicationContext extends AbstractContext
{
-
+ // The beans
private BeanMap beanMap;
+ // Is the context active?
private AtomicBoolean active;
+ /**
+ * Constructor
+ */
public ApplicationContext()
{
super(ApplicationScoped.class);
this.active = new AtomicBoolean(true);
}
+ /**
+ * Gets the bean map
+ *
+ * @return The bean map
+ */
@Override
public BeanMap getBeanMap()
{
return this.beanMap;
}
+ /**
+ * Sets the bean map
+ *
+ * @param applicationBeanMap The bean map
+ */
public void setBeanMap(BeanMap applicationBeanMap)
{
this.beanMap = applicationBeanMap;
}
+ /**
+ * Helper method for accessing context
+ *
+ * @return The application context
+ */
public static ApplicationContext instance()
{
return (ApplicationContext) ManagerImpl.instance().getBuiltInContext(ApplicationScoped.class);
}
+ /**
+ * Indicates if the context is active
+ *
+ * @return True if active, false otherwise
+ */
@Override
public boolean isActive()
{
return active.get();
}
+ /**
+ * Sets the active state of the context
+ *
+ * @param active The new state
+ */
@Override
public void setActive(boolean active)
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -34,8 +34,14 @@
*/
public abstract class BasicContext extends AbstractContext
{
+ // The beans
protected ThreadLocal<BeanMap> beans;
+ /**
+ * Constructor
+ *
+ * @param scopeType The scope types
+ */
public BasicContext(Class<? extends Annotation> scopeType)
{
super(scopeType);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ContextMap.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -73,7 +73,14 @@
}
}
}
-
+
+ /**
+ * Gets the list of context with the given scope type
+ *
+ * @param scopeType The scope type to match
+ * @return A list of matching contexts. An empty list is returned if there
+ * are no matches
+ */
public List<Context> getContext(Class<? extends Annotation> scopeType)
{
boolean interrupted = false;
@@ -122,12 +129,12 @@
{
List<Context> contexts = putIfAbsent(context.getScopeType(), new Callable<List<Context>>()
{
-
+
public List<Context> call() throws Exception
{
return new CopyOnWriteArrayList<Context>();
}
-
+
});
contexts.add(context);
}
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -27,6 +27,9 @@
public class ConversationContext extends BasicContext
{
+ /**
+ * Constructor
+ */
public ConversationContext()
{
super(ConversationScoped.class);
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -29,6 +29,9 @@
public class DependentContext extends BasicContext
{
+ /**
+ * Constructor
+ */
public DependentContext()
{
super(Dependent.class);
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -29,11 +29,19 @@
public class RequestContext extends BasicContext
{
+ /**
+ * Constructor
+ */
public RequestContext()
{
super(RequestScoped.class);
}
+ /**
+ * Helper method for accessing context
+ *
+ * @return The request context
+ */
public static RequestContext instance()
{
return (RequestContext) ManagerImpl.instance().getBuiltInContext(RequestScoped.class);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionBeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionBeanMap.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionBeanMap.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -48,7 +48,6 @@
/**
* Constructor
*
- * @param manager The Web Beans manager
* @param keyPrefix The storage names prefix
*/
public SessionBeanMap(String keyPrefix)
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-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -30,28 +30,46 @@
*/
public class SessionContext extends AbstractContext
{
-
private static LogProvider log = Logging.getLogProvider(SessionContext.class);
-
+ // The beans
private ThreadLocal<BeanMap> beanMap;
+ /**
+ * Constructor
+ */
public SessionContext()
{
super(SessionScoped.class);
log.trace("Created session context");
}
-
+
+ /**
+ * Gets the bean map
+ *
+ * @returns The bean map
+ * @see org.jboss.webbeans.contexts.AbstractContext#getBeanMap()
+ */
@Override
public BeanMap getBeanMap()
{
return beanMap.get();
}
-
+
+ /**
+ * Sets the bean map
+ *
+ * @param beanMap The bean map
+ */
public void setBeanMap(BeanMap beanMap)
{
this.beanMap.set(beanMap);
}
-
+
+ /**
+ * Helper method for accessing context
+ *
+ * @return The session context
+ */
public static SessionContext instance()
{
return (SessionContext) ManagerImpl.instance().getBuiltInContext(SessionScoped.class);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/DeferredEventNotification.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/DeferredEventNotification.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/DeferredEventNotification.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -43,7 +43,6 @@
/**
* Creates a new deferred event notifier.
*
- * @param manager The Web Beans manager
* @param observer The observer to be notified
* @param event The event being fired
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventImpl.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -53,7 +53,6 @@
/**
* Constructor
*
- * @param manager The Web Beans manager
* @param bindingTypes The binding types
*/
public EventImpl(Annotation... bindingTypes)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/event/EventManager.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -139,8 +139,6 @@
/**
* Initializes a new instance of the EventManager.
- *
- * @param manager The Web Beans manager
*/
public EventManager()
{
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedConstructor.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -51,7 +51,6 @@
/**
* Creates a new instance of the class, using this constructor
*
- * @param manager The Web Beans manager
* @return The created instance
*/
public T newInstance();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedField.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -40,7 +40,6 @@
* Injects an instance
*
* @param instance The instance to inject
- * @param manager The Web Beans manager
*/
public void inject(Object instance);
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -51,7 +51,6 @@
/**
* Invokes the method
*
- * @param manager The Web Beans manager
* @param instance The instance to invoke
* @return A reference to the instance
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/AnnotatedParameter.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -31,7 +31,6 @@
/**
* Gets the actual value of the parameter from the manager
*
- * @param manager The Web Beans Manager
* @return The value
*/
public T getValue();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedItem.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -200,7 +200,6 @@
* of annotated parameters.
*
* @param parameters The list of annotated parameter to look up
- * @param manager The Web Beans manager
* @return The object array of looked up values
*
*/
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AbstractAnnotatedMember.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -132,7 +132,6 @@
/**
* Gets the current value of the member
*
- * @param manager The Web Beans manager
* @return The current value
*/
public T getValue()
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedConstructorImpl.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -194,7 +194,6 @@
/**
* Creates a new instance
*
- * @param manager The Web Beans manager
* @return An instance
*
* @see org.jboss.webbeans.introspector.AnnotatedConstructor#newInstance(ManagerImpl)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedFieldImpl.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -116,7 +116,6 @@
* Gets the current value and injects this instance into an instance
*
* @param instance The instance to inject into
- * @param manager The Web Beans manager
*
* @see org.jboss.webbeans.introspector.AnnotatedField#inject(Object,
* ManagerImpl)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/introspector/jlr/AnnotatedParameterImpl.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -125,7 +125,6 @@
/**
* Gets the current value
*
- * @param manager The Web Beans manager
* @return the value
*
* @see org.jboss.webbeans.introspector.AnnotatedParameter
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanMap.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ApplicationBeanMap.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -29,13 +29,20 @@
{
private LogProvider log = Logging.getLogProvider(ApplicationBeanMap.class);
+ // The current servlet context
private ServletContext servletContext;
+ /**
+ * Constructor
+ *
+ * @param servletContext The servlet context
+ */
public ApplicationBeanMap(ServletContext servletContext)
{
this.servletContext = servletContext;
}
+
public void clear()
{
throw new UnsupportedOperationException();
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/SessionBeanMap.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -48,7 +48,6 @@
/**
* Constructor
*
- * @param manager The Web Beans manager
* @param keyPrefix The storage names prefix
*/
public SessionBeanMap(HttpSession httpSession)
Modified: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/util/BeanFactory.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -41,7 +41,6 @@
*
* @param <T> The type
* @param clazz The class
- * @param manager The Web Beans manager
* @return A Web Bean
*/
public static <T> SimpleBean<T> createSimpleBean(Class<T> clazz)
@@ -54,7 +53,6 @@
*
* @param <T> The type
* @param clazz The class
- * @param manager The Web Beans manager
* @return A Web Bean
*/
public static <T> XmlSimpleBean<T> createXmlSimpleBean(Class<T> clazz)
@@ -67,7 +65,6 @@
*
* @param <T> The type
* @param clazz The class
- * @param manager The Web Beans manager
* @return An Enterprise Web Bean
*/
public static <T> EnterpriseBean<T> createEnterpriseBean(Class<T> clazz)
@@ -80,7 +77,6 @@
*
* @param <T> The type
* @param clazz The class
- * @param manager The Web Beans manager
* @return An Enterprise Web Bean
*/
public static <T> XmlEnterpriseBean<T> createXmlEnterpriseBean(Class<T> clazz)
@@ -94,7 +90,6 @@
* @param <T> The type
* @param type The class
* @param method The underlying method
- * @param manager The Web Beans manager
* @param declaringBean The declaring bean abstraction
* @return A producer Web Bean
*/
@@ -108,7 +103,6 @@
*
* @param type The type
* @param method The underlying method abstraction
- * @param manager The Web Beans manager
* @param declaringBean The declaring bean abstraction
* @return A producer Web Bean
*/
@@ -123,7 +117,6 @@
* @param <T>
* @param type The type
* @param field The observer field abstraction
- * @param manager The Web Beans manager
* @param declaringBean The declaring bean abstraction
* @return An event Web Bean
*/
Modified: ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java
===================================================================
--- ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java 2008-12-05 12:38:13 UTC (rev 417)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/mock/MockManagerImpl.java 2008-12-05 14:17:46 UTC (rev 418)
@@ -11,12 +11,6 @@
public class MockManagerImpl extends ManagerImpl
{
-
- public static void setInstance(ManagerImpl manager)
- {
- ManagerImpl.instance = manager;
- }
-
private Object event = null;
private Class<? extends Object> eventType = null;
private Annotation[] eventBindings = null;
@@ -70,5 +64,10 @@
{
initContexts(contexts);
}
+
+ public static void setInstance(ManagerImpl manager)
+ {
+ ManagerImpl.instance = manager;
+ }
}
17 years, 4 months
[webbeans-commits] Webbeans SVN: r417 - in ri/trunk: webbeans-ri/src/main/java/org/jboss/webbeans and 1 other directory.
by webbeans-commits@lists.jboss.org
Author: nickarls
Date: 2008-12-05 07:38:13 -0500 (Fri, 05 Dec 2008)
New Revision: 417
Modified:
ri/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java
Log:
oops, forgot child managers
Modified: ri/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java
===================================================================
--- ri/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java 2008-12-05 12:36:39 UTC (rev 416)
+++ ri/trunk/webbeans-api/src/main/java/javax/webbeans/manager/Manager.java 2008-12-05 12:38:13 UTC (rev 417)
@@ -64,7 +64,11 @@
public Manager validate();
public Manager parse(InputStream xmlStream);
+
+ public Manager createChildManager();
+ public Manager setCurrent();
+
public <T> Manager addObserver(Observer<T> observer, Class<T> eventType, Annotation... bindings);
public <T> Manager addObserver(Observer<T> observer, TypeLiteral<T> eventType, Annotation... bindings);
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-12-05 12:36:39 UTC (rev 416)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/ManagerImpl.java 2008-12-05 12:38:13 UTC (rev 417)
@@ -702,4 +702,16 @@
return null;
}
+ public Manager createChildManager()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Manager setCurrent()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
}
17 years, 4 months
[webbeans-commits] Webbeans SVN: r416 - in ri/trunk/webbeans-ri/src: main/java/org/jboss/webbeans/servlet and 1 other directories.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-05 07:36:39 -0500 (Fri, 05 Dec 2008)
New Revision: 416
Modified:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.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/ejb/model/EnterpriseBeanRemoveMethodTest.java
Log:
destroy normal contexts
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-12-05 12:17:38 UTC (rev 415)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-12-05 12:36:39 UTC (rev 416)
@@ -23,7 +23,6 @@
import javax.webbeans.manager.Bean;
import javax.webbeans.manager.Context;
import javax.webbeans.manager.Contextual;
-import javax.webbeans.manager.Manager;
/**
* Base for the Context implementations. Delegates calls to the abstract
@@ -126,18 +125,16 @@
this.active.set(Boolean.valueOf(active));
}
- // TODO Do we need this
- private <T> void destroy(Manager manager, Contextual<T> bean)
+ private <T> void destroy(Contextual<T> bean)
{
bean.destroy(getBeanMap().get(bean));
}
- // TODO Do we need this
- public void destroy(Manager manager)
+ public void destroy()
{
for (Contextual<? extends Object> bean : getBeanMap().keySet())
{
- destroy(manager, bean);
+ destroy(bean);
}
getBeanMap().clear();
}
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-12-05 12:17:38 UTC (rev 415)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/servlet/ServletLifecycle.java 2008-12-05 12:36:39 UTC (rev 416)
@@ -27,6 +27,7 @@
import org.jboss.webbeans.bootstrap.Bootstrap;
import org.jboss.webbeans.bootstrap.spi.WebBeanDiscovery;
import org.jboss.webbeans.contexts.ApplicationContext;
+import org.jboss.webbeans.contexts.RequestContext;
import org.jboss.webbeans.contexts.SessionContext;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
@@ -64,6 +65,7 @@
*/
public static void endApplication()
{
+ ApplicationContext.instance().destroy();
ApplicationContext.instance().setBeanMap(null);
servletContext = null;
}
@@ -84,6 +86,8 @@
*/
public static void endSession(HttpSession session)
{
+ SessionContext.instance().destroy();
+ SessionContext.instance().setBeanMap(null);
}
/**
@@ -105,6 +109,7 @@
*/
public static void endRequest(HttpServletRequest request)
{
+ RequestContext.instance().destroy();
SessionContext.instance().setBeanMap(null);
}
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-12-05 12:17:38 UTC (rev 415)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ejb/model/EnterpriseBeanRemoveMethodTest.java 2008-12-05 12:36:39 UTC (rev 416)
@@ -46,7 +46,7 @@
EnterpriseBean<Toller> bena = BeanFactory.createEnterpriseBean(Toller.class);
RequestContext context = (RequestContext) manager.getContext(RequestScoped.class);
Toller instance = context.get(bena, true);
- context.destroy(manager);
+ context.destroy();
assert EnterpriseBeanRemoveMethodTest.tickle;
}
@@ -72,7 +72,7 @@
Toller instance = manager.getInstance(bean);
RequestContext context = (RequestContext) manager
.getContext(RequestScoped.class);
- context.destroy(manager);
+ context.destroy();
}
@Test(groups={"enterpriseBeans", "removeMethod", "lifecycle", "stub"})
17 years, 4 months
[webbeans-commits] Webbeans SVN: r415 - ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts.
by webbeans-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-12-05 07:17:38 -0500 (Fri, 05 Dec 2008)
New Revision: 415
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/ApplicationContext.java
Log:
Oops contexts are active by default
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-12-05 12:14:16 UTC (rev 414)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-12-05 12:17:38 UTC (rev 415)
@@ -55,7 +55,7 @@
@Override
protected Boolean initialValue()
{
- return Boolean.FALSE;
+ return Boolean.TRUE;
}
};
}
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-12-05 12:14:16 UTC (rev 414)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-12-05 12:17:38 UTC (rev 415)
@@ -39,6 +39,7 @@
public ApplicationContext()
{
super(ApplicationScoped.class);
+ this.active = new AtomicBoolean(true);
}
@Override
17 years, 4 months
[webbeans-commits] Webbeans SVN: r414 - 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-12-05 07:14:16 -0500 (Fri, 05 Dec 2008)
New Revision: 414
Added:
ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java
Removed:
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
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/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/test/java/org/jboss/webbeans/test/ManagerTest.java
Log:
Tidy up use of active
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/AbstractContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -18,7 +18,6 @@
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;
@@ -35,12 +34,13 @@
* @author Pete Muir
*
* @see org.jboss.webbeans.contexts.SharedContext
- * @see org.jboss.webbeans.contexts.PrivateContext
+ * @see org.jboss.webbeans.contexts.BasicContext
*/
public abstract class AbstractContext implements Context
{
// The scope type
private Class<? extends Annotation> scopeType;
+ private ThreadLocal<Boolean> active;
/**
* Constructor
@@ -50,6 +50,14 @@
public AbstractContext(Class<? extends Annotation> scopeType)
{
this.scopeType = scopeType;
+ this.active = new ThreadLocal<Boolean>()
+ {
+ @Override
+ protected Boolean initialValue()
+ {
+ return Boolean.FALSE;
+ }
+ };
}
/**
@@ -105,7 +113,7 @@
*/
public boolean isActive()
{
- return getActive().get();
+ return active.get().booleanValue();
}
/**
@@ -115,7 +123,7 @@
*/
public void setActive(boolean active)
{
- getActive().set(active);
+ this.active.set(Boolean.valueOf(active));
}
// TODO Do we need this
@@ -141,13 +149,6 @@
*/
protected abstract BeanMap getBeanMap();
- /**
- * A method that should return the actual atomic boolean instance
- *
- * @return The active boolean
- */
- protected abstract AtomicBoolean getActive();
-
@Override
public String toString()
{
@@ -159,4 +160,12 @@
return buffer.toString();
}
+ /**
+ * Delegates to a ThreadLocal instance
+ */
+ protected Boolean getActive()
+ {
+ return active.get();
+ }
+
}
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ApplicationContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -17,6 +17,8 @@
package org.jboss.webbeans.contexts;
+import java.util.concurrent.atomic.AtomicBoolean;
+
import javax.webbeans.ApplicationScoped;
import org.jboss.webbeans.ManagerImpl;
@@ -28,10 +30,11 @@
*
* @see org.jboss.webbeans.contexts.ApplicationContext
*/
-public class ApplicationContext extends SharedContext
+public class ApplicationContext extends AbstractContext
{
private BeanMap beanMap;
+ private AtomicBoolean active;
public ApplicationContext()
{
@@ -54,4 +57,16 @@
return (ApplicationContext) ManagerImpl.instance().getBuiltInContext(ApplicationScoped.class);
}
+ @Override
+ public boolean isActive()
+ {
+ return active.get();
+ }
+
+ @Override
+ public void setActive(boolean active)
+ {
+ this.active.set(active);
+ }
+
}
Copied: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java (from rev 413, ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java)
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java (rev 0)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.jboss.webbeans.contexts;
+
+import java.lang.annotation.Annotation;
+
+/**
+ * The abstraction of a private context, on that operates on a ThreadLocal
+ * BeanMap and ThreadLocal active state
+ *
+ * A private context doesn't rely on some external context to hold it's state
+ *
+ * @author Nicklas Karlsson
+ *
+ * @see org.jboss.webbeans.contexts.DependentContext
+ * @see org.jboss.webbeans.contexts.RequestContext
+ * @see org.jboss.webbeans.contexts.ConversationContext
+ * @see org.jboss.webbeans.contexts.SessionContext
+ */
+public abstract class BasicContext extends AbstractContext
+{
+ protected ThreadLocal<BeanMap> beans;
+
+ public BasicContext(Class<? extends Annotation> scopeType)
+ {
+ super(scopeType);
+ beans = new ThreadLocal<BeanMap>()
+ {
+
+ @Override
+ protected BeanMap initialValue()
+ {
+ return new SimpleBeanMap();
+ }
+
+ };
+ }
+
+ /**
+ * Delegates to a ThreadLocal instance
+ */
+ @Override
+ protected BeanMap getBeanMap()
+ {
+ return beans.get();
+ }
+
+}
Property changes on: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/BasicContext.java
___________________________________________________________________
Name: svn:mergeinfo
+
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/ConversationContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -24,7 +24,7 @@
*
* @author Nicklas Karlsson
*/
-public class ConversationContext extends PrivateContext
+public class ConversationContext extends BasicContext
{
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/DependentContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -26,7 +26,7 @@
*
* @author Nicklas Karlsson
*/
-public class DependentContext extends PrivateContext
+public class DependentContext extends BasicContext
{
public DependentContext()
Deleted: ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java
===================================================================
--- ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java 2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/PrivateContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.webbeans.contexts;
-
-import java.lang.annotation.Annotation;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * The abstraction of a private context, on that operates on a ThreadLocal
- * BeanMap and ThreadLocal active state
- *
- * A private context doesn't rely on some external context to hold it's state
- *
- * @author Nicklas Karlsson
- *
- * @see org.jboss.webbeans.contexts.DependentContext
- * @see org.jboss.webbeans.contexts.RequestContext
- * @see org.jboss.webbeans.contexts.ConversationContext
- * @see org.jboss.webbeans.contexts.SessionContext
- */
-public class PrivateContext extends AbstractContext
-{
- private ThreadLocal<AtomicBoolean> active;
- protected ThreadLocal<BeanMap> beans;
-
- public PrivateContext(Class<? extends Annotation> scopeType)
- {
- super(scopeType);
- beans = new ThreadLocal<BeanMap>()
- {
-
- @Override
- protected BeanMap initialValue()
- {
- return new SimpleBeanMap();
- }
-
- };
- active = new ThreadLocal<AtomicBoolean>();
- active.set(new AtomicBoolean(true));
- }
-
- /**
- * Delegates to a ThreadLocal instance
- */
- @Override
- protected AtomicBoolean getActive()
- {
- return active.get();
- }
-
- /**
- * Delegates to a ThreadLocal instance
- */
- @Override
- protected BeanMap getBeanMap()
- {
- return beans.get();
- }
-
-}
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/RequestContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -26,7 +26,7 @@
*
* @author Nicklas Karlsson
*/
-public class RequestContext extends PrivateContext
+public class RequestContext extends BasicContext
{
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SessionContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -28,7 +28,7 @@
*
* @author Nicklas Karlsson
*/
-public class SessionContext extends SharedContext
+public class SessionContext extends AbstractContext
{
private static LogProvider log = Logging.getLogProvider(SessionContext.class);
@@ -47,7 +47,6 @@
return beanMap.get();
}
- @Override
public void setBeanMap(BeanMap beanMap)
{
this.beanMap.set(beanMap);
Deleted: 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 2008-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/main/java/org/jboss/webbeans/contexts/SharedContext.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -1,53 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * http://www.apache.org/licenses/LICENSE-2.0
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.jboss.webbeans.contexts;
-
-import java.lang.annotation.Annotation;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * The abstraction of a shared context with common beans and active state state
- *
- * @author Nicklas Karlsson
- *
- * @see org.jboss.webbeans.contexts.ApplicationContext
- */
-public abstract class SharedContext extends AbstractContext
-{
- private AtomicBoolean active;
-
- public SharedContext(Class<? extends Annotation> scopeType)
- {
- super(scopeType);
- active = new AtomicBoolean(true);
- }
-
- /**
- * Delegates to the ThreadLocal
- */
- @Override
- protected AtomicBoolean getActive()
- {
- return active;
- }
-
- protected abstract BeanMap getBeanMap();
-
- public abstract void setBeanMap(BeanMap beanMap);
-
-}
\ No newline at end of file
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-12-05 12:04:56 UTC (rev 413)
+++ ri/trunk/webbeans-ri/src/test/java/org/jboss/webbeans/test/ManagerTest.java 2008-12-05 12:14:16 UTC (rev 414)
@@ -4,7 +4,7 @@
import javax.webbeans.RequestScoped;
import javax.webbeans.manager.Context;
-import org.jboss.webbeans.contexts.PrivateContext;
+import org.jboss.webbeans.contexts.AbstractContext;
import org.jboss.webbeans.contexts.RequestContext;
import org.testng.annotations.Test;
@@ -22,7 +22,7 @@
public void testGetContextWithNoActiveContextsFails()
{
Context requestContext = new RequestContext();
- ((PrivateContext)requestContext).setActive(false);
+ ((AbstractContext)requestContext).setActive(false);
manager.setContexts(requestContext);
manager.getContext(RequestScoped.class);
}
17 years, 4 months