Author: dallen6
Date: 2009-06-01 05:35:12 -0400 (Mon, 01 Jun 2009)
New Revision: 2738
Added:
ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/AnyLiteral.java
Removed:
ri/trunk/api/src/main/java/javax/event/Fires.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/FiresLiteral.java
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
Log:
Removed @Fires annotation and added/implemented use of @Any
Deleted: ri/trunk/api/src/main/java/javax/event/Fires.java
===================================================================
--- ri/trunk/api/src/main/java/javax/event/Fires.java 2009-06-01 09:15:59 UTC (rev 2737)
+++ ri/trunk/api/src/main/java/javax/event/Fires.java 2009-06-01 09:35:12 UTC (rev 2738)
@@ -1,45 +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 javax.event;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.TYPE;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-import javax.enterprise.inject.BindingType;
-
-/**
- * Annotates a variable to be injected with an Event object that can be fired and
- * observed by observer methods
- *
- * @author David Allen
- * @author Gavin King
- */
-
-@BindingType
-@Retention(RUNTIME)
-@Target( { TYPE, METHOD, FIELD, PARAMETER })
-@Documented
-public @interface Fires
-{
-}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-01 09:15:59
UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/BeanValidator.java 2009-06-01 09:35:12
UTC (rev 2738)
@@ -35,7 +35,7 @@
import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.InjectionPoint;
import javax.event.Event;
-import javax.event.Fires;
+import javax.enterprise.inject.Any;
import javax.inject.DefinitionException;
import javax.inject.InconsistentSpecializationException;
import javax.inject.NullableDependencyException;
@@ -103,7 +103,7 @@
}
}
checkFacadeInjectionPoint(injectionPoint, Obtains.class, Instance.class);
- checkFacadeInjectionPoint(injectionPoint, Fires.class, Event.class);
+ checkFacadeInjectionPoint(injectionPoint, Any.class, Event.class);
Annotation[] bindings = injectionPoint.getBindings().toArray(new
Annotation[0]);
AnnotatedItem<?, ?> annotatedItem =
ResolvableAnnotatedClass.of(injectionPoint.getType(), bindings);
Set<?> resolvedBeans = manager.resolveByType(annotatedItem,
injectionPoint, bindings);
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-06-01 09:15:59
UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/ManagerImpl.java 2009-06-01 09:35:12
UTC (rev 2738)
@@ -60,8 +60,6 @@
import javax.inject.DeploymentException;
import javax.inject.DuplicateBindingTypeException;
-import org.jboss.webbeans.bean.AbstractDecorator;
-import org.jboss.webbeans.bean.AbstractInterceptor;
import org.jboss.webbeans.bean.DisposalMethodBean;
import org.jboss.webbeans.bean.EnterpriseBean;
import org.jboss.webbeans.bean.NewEnterpriseBean;
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-06-01
09:15:59 UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/AbstractBean.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -42,6 +42,7 @@
import org.jboss.webbeans.introspector.AnnotatedField;
import org.jboss.webbeans.introspector.AnnotatedItem;
import org.jboss.webbeans.introspector.AnnotatedParameter;
+import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.literal.CurrentLiteral;
import org.jboss.webbeans.log.LogProvider;
import org.jboss.webbeans.log.Logging;
@@ -60,6 +61,8 @@
public abstract class AbstractBean<T, E> extends RIBean<T>
{
+ private static final Annotation ANY_BINDING = new AnyLiteral();
+
@SuppressWarnings("unchecked")
private static Set<Class<?>> STANDARD_WEB_BEAN_CLASSES = new
HashSet<Class<?>>(Arrays.asList(Event.class, ManagerImpl.class,
ConversationImpl.class));
@@ -176,6 +179,7 @@
{
this.bindings = new HashSet<Annotation>();
this.bindings.addAll(getAnnotatedItem().getMetaAnnotations(BindingType.class));
+ initDefaultBindings();
}
protected void initDefaultBindings()
@@ -184,9 +188,14 @@
{
log.trace("Adding default @Current binding type");
this.bindings.add(new CurrentLiteral());
+ this.bindings.add(ANY_BINDING);
}
else
{
+ if (!bindings.contains(ANY_BINDING))
+ {
+ bindings.add(ANY_BINDING);
+ }
if (log.isTraceEnabled())
log.trace("Using binding types " + bindings + " specified by
annotations");
}
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-06-01
09:15:59 UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/DisposalMethodBean.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -48,6 +48,13 @@
public class DisposalMethodBean<T> extends AbstractBean<T, Method>
{
+ private static final LogProvider log =
Logging.getLogProvider(AbstractProducerBean.class);
+ protected AbstractClassBean<?> declaringBean;
+ private DisposalMethodBean<?> specializedBean;
+ protected MethodInjectionPoint<T> disposalMethodInjectionPoint;
+ protected Set<AnnotatedInjectionPoint<?, ?>> disposalInjectionPoints;
+ private final String id;
+
protected DisposalMethodBean(ManagerImpl manager, AnnotatedMethod<T>
disposalMethod, AbstractClassBean<?> declaringBean)
{
super(manager);
@@ -55,19 +62,12 @@
this.declaringBean = declaringBean;
checkDisposalMethod();
initInjectionPoints();
+ initBindings();
initType();
initTypes();
this.id = createId("DisposalMethod-" + declaringBean.getName() +
"-" + disposalMethod.getSignature().toString());
}
-
- private static final LogProvider log =
Logging.getLogProvider(AbstractProducerBean.class);
- protected AbstractClassBean<?> declaringBean;
- private DisposalMethodBean<?> specializedBean;
- protected MethodInjectionPoint<T> disposalMethodInjectionPoint;
- protected Set<AnnotatedInjectionPoint<?, ?>> disposalInjectionPoints;
- private final String id;
-
@SuppressWarnings("unchecked")
protected void initType()
@@ -107,10 +107,12 @@
}
@Override
- public Set<Annotation> getBindings()
+ protected void initBindings()
{
// At least 1 parameter exists, already checked in constructor
- return disposalMethodInjectionPoint.getParameters().get(0).getBindings();
+ this.bindings = new HashSet<Annotation>();
+
this.bindings.addAll(disposalMethodInjectionPoint.getParameters().get(0).getBindings());
+ initDefaultBindings();
}
@Override
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java
===================================================================
---
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java 2009-06-01
09:15:59 UTC (rev 2737)
+++
ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/AbstractStandardBean.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -29,12 +29,13 @@
import org.jboss.webbeans.bean.RIBean;
import org.jboss.webbeans.bootstrap.BeanDeployerEnvironment;
import org.jboss.webbeans.injection.AnnotatedInjectionPoint;
+import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.literal.CurrentLiteral;
public abstract class AbstractStandardBean<T> extends RIBean<T>
{
- private static final Annotation[] DEFAULT_BINDING_ARRAY = { new CurrentLiteral() };
+ private static final Annotation[] DEFAULT_BINDING_ARRAY = { new CurrentLiteral(), new
AnyLiteral() };
private static final Set<Annotation> DEFAULT_BINDING = new
HashSet<Annotation>(Arrays.asList(DEFAULT_BINDING_ARRAY));
private final String id;
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java 2009-06-01
09:15:59 UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/bean/standard/EventBean.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -24,22 +24,22 @@
import javax.enterprise.inject.TypeLiteral;
import javax.event.Event;
-import javax.event.Fires;
+import javax.enterprise.inject.Any;
import javax.inject.Obtains;
import org.jboss.webbeans.ManagerImpl;
import org.jboss.webbeans.event.EventImpl;
import org.jboss.webbeans.injection.resolution.AnnotatedItemTransformer;
-import org.jboss.webbeans.literal.FiresLiteral;
+import org.jboss.webbeans.literal.AnyLiteral;
public class EventBean extends AbstractFacadeBean<Event<?>>
{
- private static final Class<Event<?>> TYPE = new
TypeLiteral<Event<?>>() {}.getRawType();
- private static final Set<Type> DEFAULT_TYPES = new
HashSet<Type>(Arrays.asList(TYPE, Object.class));
- private static final Fires FIRES = new FiresLiteral();
- private static final Set<Annotation> DEFAULT_BINDINGS = new
HashSet<Annotation>(Arrays.asList(FIRES));
- public static final AnnotatedItemTransformer TRANSFORMER = new
FacadeBeanAnnotatedItemTransformer(Event.class, FIRES);
+ private static final Class<Event<?>> TYPE
= new TypeLiteral<Event<?>>(){}.getRawType();
+ private static final Set<Type> DEFAULT_TYPES
= new HashSet<Type>(Arrays.asList(TYPE, Object.class));
+ private static final Annotation ANY = new
AnyLiteral();
+ private static final Set<Annotation> DEFAULT_BINDINGS
= new HashSet<Annotation>(Arrays.asList(ANY));
+ public static final AnnotatedItemTransformer TRANSFORMER = new
FacadeBeanAnnotatedItemTransformer(Event.class, ANY);
private static final Set<Class<? extends Annotation>>
FILTERED_ANNOTATION_TYPES = new HashSet<Class<? extends
Annotation>>(Arrays.asList(Obtains.class));
Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-06-01
09:15:59 UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/event/EventImpl.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -26,7 +26,7 @@
import org.jboss.webbeans.FacadeImpl;
import org.jboss.webbeans.ManagerImpl;
-import org.jboss.webbeans.literal.FiresLiteral;
+import org.jboss.webbeans.literal.AnyLiteral;
import org.jboss.webbeans.util.Strings;
/**
@@ -58,7 +58,7 @@
public EventImpl(Type eventType, ManagerImpl manager, Set<Annotation> bindings)
{
super(eventType, manager, bindings);
- this.bindings.remove(new FiresLiteral());
+ this.bindings.remove(new AnyLiteral());
}
/**
Modified:
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java
===================================================================
---
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-06-01
09:15:59 UTC (rev 2737)
+++
ri/trunk/impl/src/main/java/org/jboss/webbeans/introspector/AnnotatedMethod.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -30,7 +30,7 @@
import javax.event.AfterTransactionSuccess;
import javax.event.Asynchronously;
import javax.event.BeforeTransactionCompletion;
-import javax.event.Fires;
+import javax.enterprise.inject.Any;
import javax.event.IfExists;
import javax.event.Observes;
@@ -44,7 +44,7 @@
public interface AnnotatedMethod<T> extends AnnotatedMember<T, Method>
{
@SuppressWarnings("unchecked")
- public static final Set<Class<? extends Annotation>>
MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends
Annotation>>(Arrays.asList(Disposes.class, Observes.class, Fires.class,
IfExists.class, BeforeTransactionCompletion.class, AfterTransactionCompletion.class,
AfterTransactionFailure.class, AfterTransactionSuccess.class, Asynchronously.class));
+ public static final Set<Class<? extends Annotation>>
MAPPED_PARAMETER_ANNOTATIONS = new HashSet<Class<? extends
Annotation>>(Arrays.asList(Disposes.class, Observes.class, IfExists.class,
BeforeTransactionCompletion.class, AfterTransactionCompletion.class,
AfterTransactionFailure.class, AfterTransactionSuccess.class, Asynchronously.class));
/**
* Gets the abstracted parameters of the method
Copied: ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/AnyLiteral.java (from rev
2719, ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/FiresLiteral.java)
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/AnyLiteral.java
(rev 0)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/AnyLiteral.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -0,0 +1,25 @@
+/*
+ * 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.literal;
+
+import javax.enterprise.inject.AnnotationLiteral;
+import javax.enterprise.inject.Any;
+
+public class AnyLiteral extends AnnotationLiteral<Any> implements Any
+{
+
+}
Property changes on:
ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/AnyLiteral.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Deleted: ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/FiresLiteral.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/FiresLiteral.java 2009-06-01
09:15:59 UTC (rev 2737)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/literal/FiresLiteral.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -1,25 +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.literal;
-
-import javax.enterprise.inject.AnnotationLiteral;
-import javax.event.Fires;
-
-public class FiresLiteral extends AnnotationLiteral<Fires> implements Fires
-{
-
-}
Modified:
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java
===================================================================
---
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java 2009-06-01
09:15:59 UTC (rev 2737)
+++
ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/implementation/event/SimpleEventTest.java 2009-06-01
09:35:12 UTC (rev 2738)
@@ -1,8 +1,8 @@
package org.jboss.webbeans.test.unit.implementation.event;
import javax.enterprise.inject.AnnotationLiteral;
+import javax.enterprise.inject.Any;
import javax.event.Event;
-import javax.event.Fires;
import javax.event.Observes;
import org.jboss.testharness.impl.packaging.Artifact;
@@ -87,14 +87,13 @@
public static class App
{
- @Fires
+ @Any
Event<String> event1;
- @Fires
- @Updated
+ @Updated @Any
Event<String> event2;
- @Fires
+ @Any
Event<String> event3;
public void fireEventByAnnotationLiteral()