You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2011/03/23 18:10:05 UTC
svn commit: r1084643 - in /openwebbeans/trunk/webbeans-impl/src:
main/java/org/apache/webbeans/event/ main/java/org/apache/webbeans/util/
test/java/org/apache/webbeans/newtests/specalization/
test/java/org/apache/webbeans/newtests/specalization/observer/
Author: struberg
Date: Wed Mar 23 17:10:05 2011
New Revision: 1084643
URL: http://svn.apache.org/viewvc?rev=1084643&view=rev
Log:
OWB-550 cleanup specialization and events
We must not send events to disabled beans.
Added:
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanA.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanB.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/ObserverTest.java (with props)
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/TestEvent.java (with props)
Modified:
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java
openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/AlternativeSpecializesProducerTest.java
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java?rev=1084643&r1=1084642&r2=1084643&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/ObserverMethodImpl.java Wed Mar 23 17:10:05 2011
@@ -187,12 +187,16 @@ public class ObserverMethodImpl<T> imple
{
logger.trace("Notifying with event payload : [{0}]", event);
- AbstractOwbBean<Object> baseComponent = (AbstractOwbBean<Object>) bean;
- AbstractOwbBean<Object> specializedComponent = null;
+ AbstractOwbBean<Object> component = (AbstractOwbBean<Object>) bean;
+ if (!bean.isEnabled())
+ {
+ return;
+ }
+
Object object = null;
CreationalContext<Object> creationalContext = null;
- List<ObserverParams> methodArgsMap = null;
+ List<ObserverParams> methodArgsMap;
if(annotatedMethod == null)
{
methodArgsMap = getMethodArguments(event);
@@ -229,11 +233,10 @@ public class ObserverMethodImpl<T> imple
else
{
BeanManagerImpl manager = bean.getWebBeansContext().getBeanManagerImpl();
- specializedComponent = (AbstractOwbBean<Object>)WebBeansUtil.getMostSpecializedBean(manager, baseComponent);
- Context context = null;
+ Context context;
try
{
- context = manager.getContext(specializedComponent.getScope());
+ context = manager.getContext(component.getScope());
}
catch (ContextNotActiveException cnae)
{
@@ -244,14 +247,14 @@ public class ObserverMethodImpl<T> imple
// on Reception.IF_EXISTS: ignore this bean if a the contextual instance doesn't already exist
- object = context.get(specializedComponent);
+ object = context.get(component);
if (ifExist && object == null)
{
return;
}
- creationalContext = manager.createCreationalContext(specializedComponent);
+ creationalContext = manager.createCreationalContext(component);
if (isPrivateMethod)
{
@@ -260,7 +263,7 @@ public class ObserverMethodImpl<T> imple
// proxy private methods (thus the invocation on the contextual reference would fail)
if (object == null)
{
- object = context.get(specializedComponent, creationalContext);
+ object = context.get(component, creationalContext);
}
}
else
@@ -269,7 +272,7 @@ public class ObserverMethodImpl<T> imple
// we need to pick the contextual reference because of section 7.2:
// "Invocations of producer, disposer and observer methods by the container are
// business method invocations and are in- tercepted by method interceptors and decorators."
- object = manager.getReference(specializedComponent, specializedComponent.getBeanClass(), creationalContext);
+ object = manager.getReference(component, component.getBeanClass(), creationalContext);
}
if (object != null)
@@ -286,9 +289,9 @@ public class ObserverMethodImpl<T> imple
finally
{
//Destory bean instance
- if (baseComponent.getScope().equals(Dependent.class) && object != null)
+ if (component.getScope().equals(Dependent.class) && object != null)
{
- baseComponent.destroy(object,creationalContext);
+ component.destroy(object, creationalContext);
}
//Destroy observer method dependent instances
Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java?rev=1084643&r1=1084642&r2=1084643&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/WebBeansUtil.java Wed Mar 23 17:10:05 2011
@@ -135,7 +135,6 @@ import org.apache.webbeans.exception.hel
import org.apache.webbeans.exception.inject.DefinitionException;
import org.apache.webbeans.exception.inject.DeploymentException;
import org.apache.webbeans.exception.inject.InconsistentSpecializationException;
-import org.apache.webbeans.exception.inject.NullableDependencyException;
import org.apache.webbeans.inject.AlternativesManager;
import org.apache.webbeans.intercept.InterceptorData;
import org.apache.webbeans.intercept.InterceptorDataImpl;
@@ -1319,39 +1318,6 @@ public final class WebBeansUtil
return false;
}
- /**
- * Returns true if array contains the StereoType meta annotation
- *
- * @return true if array contains the StereoType meta annotation
- */
- @Deprecated
- public static boolean isComponentHasStereoType(OwbBean<?> component)
- {
- return WebBeansContext.getInstance().getAnnotationManager().isComponentHasStereoType(component);
- }
-
- /**
- * Returns bean stereotypes.
- * @param bean bean instance
- * @return bean stereotypes
- */
- @Deprecated
- public static Annotation[] getComponentStereoTypes(OwbBean<?> bean)
- {
- return WebBeansContext.getInstance().getAnnotationManager().getComponentStereoTypes(bean);
- }
-
- /**
- * Returns true if name exists,false otherwise.
- * @param bean bean instance
- * @return true if name exists
- */
- @Deprecated
- public static boolean hasNamedOnStereoTypes(OwbBean<?> bean)
- {
- return WebBeansContext.getInstance().getAnnotationManager().hasNamedOnStereoTypes(bean);
- }
-
public static String getManagedBeanDefaultName(String clazzName)
{
Asserts.assertNotNull(clazzName);
@@ -1399,28 +1365,6 @@ public final class WebBeansUtil
}
/**
- * Validates that given class obeys stereotype model
- * defined by the specification.
- * @param clazz stereotype class
- */
- @Deprecated
- public static void checkStereoTypeClass(Class<? extends Annotation> clazz)
- {
- WebBeansContext.getInstance().getAnnotationManager().checkStereoTypeClass(clazz, clazz.getDeclaredAnnotations());
- }
-
- /**
- * Validates that given class obeys stereotype model
- * defined by the specification.
- * @param clazz stereotype class
- */
- @Deprecated
- public static void checkStereoTypeClass(Class<? extends Annotation> clazz, Annotation...annotations)
- {
- WebBeansContext.getInstance().getAnnotationManager().checkStereoTypeClass(clazz, annotations);
- }
-
- /**
* Return true if a list of beans are directly specialized/extended each other.
*
* @param beans, a set of specialized beans.
@@ -1917,21 +1861,6 @@ public final class WebBeansUtil
return webBeansContext.getSecurityService().doPrivilegedGetDeclaredConstructor(clazz);
}
- public static void checkNullable(Class<?> type, AbstractOwbBean<?> component)
- {
- Asserts.assertNotNull(type, "type parameter can not be null");
- Asserts.assertNotNull(component, "component parameter can not be null");
-
- if (type.isPrimitive())
- {
- if (component.isNullable())
- {
- throw new NullableDependencyException("Injection point for primitive type resolves webbeans component "
- + "with return type : " + component.getReturnType().getName() + " with nullable");
- }
- }
- }
-
/**
* Configures the producer method specialization.
*
@@ -1989,18 +1918,6 @@ public final class WebBeansUtil
}
- @Deprecated
- public static void checkInterceptorResolverParams(Annotation... interceptorBindings)
- {
- WebBeansContext.getInstance().getAnnotationManager().checkInterceptorResolverParams(interceptorBindings);
- }
-
- @Deprecated
- public static void checkDecoratorResolverParams(Set<Type> apiTypes, Annotation... qualifiers)
- {
- WebBeansContext.getInstance().getAnnotationManager().checkDecoratorResolverParams(apiTypes, qualifiers);
- }
-
/**
* Returns true if instance injection point false otherwise.
*
@@ -2027,7 +1944,7 @@ public final class WebBeansUtil
return false;
}
- Class<?> rawType = null;
+ Class<?> rawType;
if(ClassUtil.isParametrizedType(injectionPoint.getType()))
{
@@ -2065,7 +1982,7 @@ public final class WebBeansUtil
Class<?> clazz = injectionTargetEvent.getAnnotatedType().getJavaClass();
if (webBeansContext.getInterceptorsManager().isInterceptorEnabled(clazz))
{
- ManagedBean<T> component = null;
+ ManagedBean<T> component;
webBeansContext.getInterceptorUtil().checkInterceptorConditions(clazz);
component = defineManagedBean(managedBeanCreator, injectionTargetEvent, false);
@@ -2201,88 +2118,6 @@ public final class WebBeansUtil
}
}
- public static boolean isManagedBean(AbstractOwbBean<?> component)
- {
- if(component.getWebBeansType().equals(WebBeansType.MANAGED) ||
- component.getWebBeansType().equals(WebBeansType.INTERCEPTOR) ||
- component.getWebBeansType().equals(WebBeansType.DECORATOR))
- {
- return true;
- }
-
- return false;
- }
-
- public static boolean isProducerBean(AbstractOwbBean<?> bean)
- {
- if(bean.getWebBeansType().equals(WebBeansType.PRODUCERFIELD) ||
- bean.getWebBeansType().equals(WebBeansType.PRODUCERMETHOD))
- {
- return true;
- }
-
- return false;
- }
-
- /**
- * Returns true if bean is an enterprise bean, false otherwise.
- * @param bean bean instance
- * @return true if bean is an enterprise bean
- */
- public static boolean isEnterpriseBean(AbstractOwbBean<?> bean)
- {
- Asserts.assertNotNull(bean,"Bean is null");
-
- if(bean.getWebBeansType().equals(WebBeansType.ENTERPRISE))
- {
- return true;
- }
-
- return false;
- }
-
-// public static void addInjectedImplicitEventComponent(InjectionPoint injectionPoint)
-// {
-// Type type = injectionPoint.getType();
-//
-// if(!(type instanceof ParameterizedType))
-// {
-// return;
-// }
-//
-// Type[] args = new Type[0];
-//
-// Class<?> clazz = null;
-// if (type instanceof ParameterizedType)
-// {
-// ParameterizedType pt = (ParameterizedType) type;
-// args = pt.getActualTypeArguments();
-// }
-//
-// clazz = (Class<?>)args[0];
-//
-// Annotation[] qualifiers = new Annotation[injectionPoint.getQualifiers().size()];
-// qualifiers = injectionPoint.getQualifiers().toArray(qualifiers);
-//
-// Bean<?> bean = createObservableImplicitComponent(EventImpl.class, clazz, qualifiers);
-// BeanManagerImpl.getManager().addBean(bean);
-// }
-
-
-// public static <T> void addInjectedImplicitInstanceComponent(InjectionPoint injectionPoint)
-// {
-// ParameterizedType genericType = (ParameterizedType)injectionPoint.getType();
-//
-// Class<Instance<T>> clazz = (Class<Instance<T>>)genericType.getRawType();
-//
-// Annotation[] qualifiers = new Annotation[injectionPoint.getQualifiers().size()];
-// qualifiers = injectionPoint.getQualifiers().toArray(qualifiers);
-//
-// Bean<Instance<T>> bean = createInstanceComponent(genericType,clazz, genericType.getActualTypeArguments()[0], qualifiers);
-// BeanManagerImpl.getManager().addBean(bean);
-//
-// }
-
public static Bean<?> getMostSpecializedBean(BeanManager manager, Bean<?> component)
{
Set<Bean<?>> beans = manager.getBeans(component.getBeanClass(),
@@ -2436,24 +2271,6 @@ public final class WebBeansUtil
}
}
- /**
- * Returns true if bean instance is an enterprise bean instance
- * false otherwise.
- * @param beanInstance bean instance
- * @return true if bean instance is an enterprise bean instance
- */
- public static boolean isBeanHasEnterpriseMarker(Object beanInstance)
- {
- Asserts.assertNotNull(beanInstance,"Bean instance is null");
-
- if(beanInstance instanceof EnterpriseBeanMarker)
- {
- return true;
- }
-
- return false;
- }
-
public static void checkInjectionPointNamedQualifier(InjectionPoint injectionPoint)
{
Set<Annotation> qualifierset = injectionPoint.getQualifiers();
@@ -3117,7 +2934,6 @@ public final class WebBeansUtil
managedBeanCreator.defineDisposalMethods(); //Define disposal method after adding producers
}
-
@SuppressWarnings("unchecked")
public <T> ManagedBean<T> defineAbstractDecorator(AnnotatedType<T> type)
{
Modified: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/AlternativeSpecializesProducerTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/AlternativeSpecializesProducerTest.java?rev=1084643&r1=1084642&r2=1084643&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/AlternativeSpecializesProducerTest.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/AlternativeSpecializesProducerTest.java Wed Mar 23 17:10:05 2011
@@ -32,7 +32,8 @@ import junit.framework.Assert;
import org.apache.webbeans.newtests.AbstractUnitTest;
import org.junit.Test;
-public class AlternativeSpecializesProducerTest extends AbstractUnitTest {
+public class AlternativeSpecializesProducerTest extends AbstractUnitTest
+{
private static final String PACKAGE_NAME = AlternativeSpecializesProducerTest.class.getPackage().getName();
@@ -65,7 +66,6 @@ public class AlternativeSpecializesProdu
Assert.assertTrue(pen.getID().contains("premium"));
shutDownContainer();
-
}
}
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanA.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanA.java?rev=1084643&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanA.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanA.java Wed Mar 23 17:10:05 2011
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.newtests.specalization.observer;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.event.Observes;
+import java.io.Serializable;
+
+@ApplicationScoped
+public class BeanA implements Serializable
+{
+ private static final long serialVersionUID = 9096367220631667211L;
+
+ protected void observeTestEvent(@Observes TestEvent testEvent)
+ {
+ testEvent.addInvocation(getBeanName());
+ }
+
+ public String getBeanName()
+ {
+ return getClass().getSimpleName();
+ }
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanA.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanB.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanB.java?rev=1084643&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanB.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanB.java Wed Mar 23 17:10:05 2011
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.newtests.specalization.observer;
+
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.enterprise.inject.Specializes;
+
+@Specializes
+@ApplicationScoped
+public class BeanB extends BeanA
+{
+ private static final long serialVersionUID = 821164664338581947L;
+
+ @Override
+ public String getBeanName()
+ {
+ return super.getBeanName() + ":[specialize]";
+ }
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/BeanB.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/ObserverTest.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/ObserverTest.java?rev=1084643&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/ObserverTest.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/ObserverTest.java Wed Mar 23 17:10:05 2011
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.newtests.specalization.observer;
+
+import org.apache.webbeans.newtests.AbstractUnitTest;
+import org.junit.Assert;
+import org.junit.Test;
+
+import javax.enterprise.inject.spi.Bean;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Set;
+
+
+public class ObserverTest extends AbstractUnitTest
+{
+
+ @Test
+ public void testObserverMethodsInSpecializedBeans()
+ {
+ Collection<Class<?>> beanClasses = new ArrayList<Class<?>>();
+ beanClasses.add(BeanA.class);
+ beanClasses.add(BeanB.class);
+ startContainer(beanClasses, null);
+
+ Set<Bean<?>> beans = getBeanManager().getBeans(BeanA.class);
+ Assert.assertEquals(1, beans.size());
+
+ TestEvent testEvent = new TestEvent();
+ getBeanManager().fireEvent(testEvent);
+
+ Assert.assertEquals(1, testEvent.getCalledObservers().size());
+ Assert.assertTrue(testEvent.getCalledObservers().iterator().next().endsWith(":[specialize]"));
+
+ shutDownContainer();
+ }
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/ObserverTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/TestEvent.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/TestEvent.java?rev=1084643&view=auto
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/TestEvent.java (added)
+++ openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/TestEvent.java Wed Mar 23 17:10:05 2011
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.webbeans.newtests.specalization.observer;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TestEvent
+{
+ private List<String> calledObserverNames = new ArrayList<String>();
+
+ public void addInvocation(String observerName)
+ {
+ this.calledObserverNames.add(observerName);
+ }
+
+ public List<String> getCalledObservers()
+ {
+ return calledObserverNames;
+ }
+}
Propchange: openwebbeans/trunk/webbeans-impl/src/test/java/org/apache/webbeans/newtests/specalization/observer/TestEvent.java
------------------------------------------------------------------------------
svn:eol-style = native