You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/07/16 18:26:21 UTC
svn commit: r964849 - in /myfaces/extensions/cdi/trunk/core:
api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/annotate/
impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/
Author: gpetracek
Date: Fri Jul 16 16:26:20 2010
New Revision: 964849
URL: http://svn.apache.org/viewvc?rev=964849&view=rev
Log:
EXTCDI-1, EXTCDI-2 and EXTCDI-3 workaround for weld
Modified:
myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/annotate/DefaultAnnotation.java
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractConversationContextAdapter.java
Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/annotate/DefaultAnnotation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/annotate/DefaultAnnotation.java?rev=964849&r1=964848&r2=964849&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/annotate/DefaultAnnotation.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/tools/annotate/DefaultAnnotation.java Fri Jul 16 16:26:20 2010
@@ -105,6 +105,8 @@ public class DefaultAnnotation implement
return method.getDefaultValue();
}
+ //don't change these methods!
+
@Override
public boolean equals(Object o)
{
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractConversationContextAdapter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractConversationContextAdapter.java?rev=964849&r1=964848&r2=964849&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractConversationContextAdapter.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractConversationContextAdapter.java Fri Jul 16 16:26:20 2010
@@ -37,9 +37,26 @@ public abstract class AbstractConversati
{
protected BeanManager beanManager;
+ private static RuntimeException runtimeException = new RuntimeException();
+
+ //workaround for weld
+ private final boolean useFallback;
+
public AbstractConversationContextAdapter(BeanManager beanManager)
{
this.beanManager = beanManager;
+
+ boolean useFallback = true;
+ for(StackTraceElement element : runtimeException.getStackTrace())
+ {
+ if(element.toString().contains("org.apache.webbeans."))
+ {
+ useFallback = false;
+ break;
+ }
+ }
+
+ this.useFallback = useFallback;
}
/**
@@ -59,6 +76,18 @@ public abstract class AbstractConversati
{
if (component instanceof Bean)
{
+ //workaround for weld - start
+ if(useFallback)
+ {
+ T scopedBean = get(component);
+
+ if(scopedBean != null)
+ {
+ return scopedBean;
+ }
+ }
+ //workaround for weld - end
+
WindowContextManager conversationManager = resolveWindowContextManager();
Bean<T> bean = ((Bean<T>) component);