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/11/05 01:52:45 UTC
svn commit: r1031378 - in /myfaces/extensions/cdi/trunk:
core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/
core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/spi/
core/impl/src/m...
Author: gpetracek
Date: Fri Nov 5 00:52:44 2010
New Revision: 1031378
URL: http://svn.apache.org/viewvc?rev=1031378&view=rev
Log:
EXTCDI-1, EXTCDI-2 and EXTCDI-3 first draft of BeanEntryFactory and cleanup
Added:
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/spi/BeanEntryFactory.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/ConversationBeanEntry.java
- copied, changed from r1030384, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/ConversationBeanEntry.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/DefaultBeanEntryFactory.java
Removed:
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/ConversationBeanEntry.java
Modified:
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractGroupedConversationContext.java
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/ClassDeactivation.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContext.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/RequestCache.java
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractGroupedConversationContext.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/AbstractGroupedConversationContext.java?rev=1031378&r1=1031377&r2=1031378&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractGroupedConversationContext.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/AbstractGroupedConversationContext.java Fri Nov 5 00:52:44 2010
@@ -21,6 +21,7 @@ package org.apache.myfaces.extensions.cd
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationConfig;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntry;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean;
@@ -81,8 +82,11 @@ public abstract class AbstractGroupedCon
WindowContextManager windowContextManager = resolveWindowContextManager();
- BeanEntry<T> beanEntry = new ConversationBeanEntry<T>(creationalContext, bean, this.beanManager,
- this.scopeBeanEventEnable, this.accessBeanEventEnable, this.unscopeBeanEventEnable);
+ BeanEntry<T> beanEntry = resolveBeanEntryFactory().createBeanEntry(bean,
+ creationalContext,
+ this.scopeBeanEventEnable,
+ this.accessBeanEventEnable,
+ this.unscopeBeanEventEnable);
scopeBeanEntry(windowContextManager, beanEntry);
@@ -100,12 +104,18 @@ public abstract class AbstractGroupedCon
}
/**
- * @return an instance of a custom (the default)
+ * @return an instance of a custom or the default
* {@link org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager}
*/
protected abstract WindowContextManager resolveWindowContextManager();
/**
+ * @return an instance of a custom or the default
+ * {@link org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory}
+ */
+ protected abstract BeanEntryFactory resolveBeanEntryFactory();
+
+ /**
* @param windowContextManager the current
* {@link org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager}
* @param beanDescriptor descriptor of the requested bean
Added: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/spi/BeanEntryFactory.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/spi/BeanEntryFactory.java?rev=1031378&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/spi/BeanEntryFactory.java (added)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/spi/BeanEntryFactory.java Fri Nov 5 00:52:44 2010
@@ -0,0 +1,34 @@
+/*
+ * 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.myfaces.extensions.cdi.core.impl.scope.conversation.spi;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.context.spi.CreationalContext;
+
+/**
+ * @author Gerhard Petracek
+ */
+public interface BeanEntryFactory
+{
+ <T> BeanEntry<T> createBeanEntry(Bean<T> bean,
+ CreationalContext<T> creationalContext,
+ boolean scopeBeanEventEnabled,
+ boolean accessBeanEventEnabled,
+ boolean unscopeBeanEventEnabled);
+}
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/ClassDeactivation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/ClassDeactivation.java?rev=1031378&r1=1031377&r2=1031378&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/ClassDeactivation.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/ClassDeactivation.java Fri Nov 5 00:52:44 2010
@@ -57,7 +57,7 @@ public class ClassDeactivation
private static ClassDeactivator getClassDeactivator()
{
- ClassDeactivator classDeactivator = null;
+ ClassDeactivator classDeactivator;
// check system property
classDeactivator = getClassDeactivatorFromEnvironment();
Copied: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/ConversationBeanEntry.java (from r1030384, myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/ConversationBeanEntry.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/ConversationBeanEntry.java?p2=myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/ConversationBeanEntry.java&p1=myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/ConversationBeanEntry.java&r1=1030384&r2=1031378&rev=1031378&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/scope/conversation/ConversationBeanEntry.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/ConversationBeanEntry.java Fri Nov 5 00:52:44 2010
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.myfaces.extensions.cdi.core.impl.scope.conversation;
+package org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.event.AccessBeanEvent;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.event.ScopeBeanEvent;
Added: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/DefaultBeanEntryFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/DefaultBeanEntryFactory.java?rev=1031378&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/DefaultBeanEntryFactory.java (added)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/DefaultBeanEntryFactory.java Fri Nov 5 00:52:44 2010
@@ -0,0 +1,52 @@
+/*
+ * 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.myfaces.extensions.cdi.jsf.impl.scope.conversation;
+
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntry;
+
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+
+/**
+ * @author Gerhard Petracek
+ */
+@ApplicationScoped
+class DefaultBeanEntryFactory implements BeanEntryFactory
+{
+ @Inject
+ private BeanManager beanManager;
+
+ public <T> BeanEntry<T> createBeanEntry(Bean<T> bean,
+ CreationalContext<T> creationalContext,
+ boolean scopeBeanEventEnabled,
+ boolean accessBeanEventEnabled,
+ boolean unscopeBeanEventEnabled)
+ {
+ return new ConversationBeanEntry<T>(creationalContext,
+ bean,
+ this.beanManager,
+ scopeBeanEventEnabled,
+ accessBeanEventEnabled,
+ unscopeBeanEventEnabled);
+ }
+}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContext.java?rev=1031378&r1=1031377&r2=1031378&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContext.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/GroupedConversationContext.java Fri Nov 5 00:52:44 2010
@@ -18,13 +18,13 @@
*/
package org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation;
-import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.Conversation;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationConfig;
import org.apache.myfaces.extensions.cdi.core.api.resolver.ConfigResolver;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.AbstractGroupedConversationContext;
import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.EditableConversation;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntry;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory;
import static org.apache.myfaces.extensions.cdi.core.impl.utils.CodiUtils.getOrCreateScopedInstanceOfBeanByClass;
import org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils;
import org.apache.myfaces.extensions.cdi.jsf.impl.util.RequestCache;
@@ -67,6 +67,11 @@ class GroupedConversationContext extends
return RequestCache.getWindowContextManager();
}
+ protected BeanEntryFactory resolveBeanEntryFactory()
+ {
+ return RequestCache.getBeanEntryFactory();
+ }
+
/**
* @param windowContextManager the current
* {@link org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager}
@@ -98,9 +103,10 @@ class GroupedConversationContext extends
}
Bean<?> bean = beanEntry.getBean();
- Conversation foundConversation = getConversation((EditableWindowContextManager)windowContextManager, bean);
+ EditableConversation foundConversation =
+ getConversation((EditableWindowContextManager)windowContextManager, bean);
- ((EditableConversation) foundConversation).addBean(beanEntry);
+ foundConversation.addBean(beanEntry);
}
protected ConversationConfig getConversationConfig()
@@ -121,4 +127,4 @@ class GroupedConversationContext extends
return editableWindowContext
.getConversation(conversationGroup, qualifiers.toArray(new Annotation[qualifiers.size()]));
}
-}
\ No newline at end of file
+}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java?rev=1031378&r1=1031377&r2=1031378&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java Fri Nov 5 00:52:44 2010
@@ -27,6 +27,7 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;
import org.apache.myfaces.extensions.cdi.core.api.tools.DefaultAnnotation;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory;
import org.apache.myfaces.extensions.cdi.core.impl.utils.CodiUtils;
import org.apache.myfaces.extensions.cdi.jsf.api.Jsf;
import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.WindowContextIdHolderComponent;
@@ -95,6 +96,25 @@ public class ConversationUtils
return (Bean<WindowContextManager>) conversationManagerBeans.iterator().next();
}
+ public static Bean<BeanEntryFactory> resolveBeanEntryFactoryBean()
+ {
+ BeanManager beanManager = BeanManagerProvider.getInstance().getBeanManager();
+
+ Set<?> beanEntryFactoryBeans = beanManager.getBeans(BeanEntryFactory.class, JSF_QUALIFIER);
+
+ if (beanEntryFactoryBeans.isEmpty())
+ {
+ beanEntryFactoryBeans = getDefaultBeanEntryFactory(beanManager);
+ }
+
+ if (beanEntryFactoryBeans.size() != 1)
+ {
+ throw new IllegalStateException(beanEntryFactoryBeans.size() + " BeanEntry-Factories were found");
+ }
+ //noinspection unchecked
+ return (Bean<BeanEntryFactory>) beanEntryFactoryBeans.iterator().next();
+ }
+
public static Class getConversationGroup(Bean<?> bean)
{
Class<? extends Annotation> scopeType = bean.getScope();
@@ -139,6 +159,16 @@ public class ConversationUtils
return beanManager.getBeans(WindowContextManager.class);
}
+ /**
+ * @param beanManager current {@link javax.enterprise.inject.spi.BeanManager}
+ * @return the descriptor of the default
+ * {@link org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory}
+ */
+ private static Set<Bean<?>> getDefaultBeanEntryFactory(BeanManager beanManager)
+ {
+ return beanManager.getBeans(BeanEntryFactory.class);
+ }
+
//TODO
public static String resolveWindowContextId(WindowHandler windowHandler,
boolean requestParameterSupported,
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/RequestCache.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/RequestCache.java?rev=1031378&r1=1031377&r2=1031378&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/RequestCache.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/RequestCache.java Fri Nov 5 00:52:44 2010
@@ -19,10 +19,12 @@
package org.apache.myfaces.extensions.cdi.jsf.impl.util;
import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager;
+import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.BeanEntryFactory;
import org.apache.myfaces.extensions.cdi.core.impl.utils.CodiUtils;
import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.WindowContext;
import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.ConversationKey;
import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.EditableConversation;
+import static org.apache.myfaces.extensions.cdi.jsf.impl.util.ConversationUtils.*;
import javax.enterprise.inject.spi.Bean;
import java.util.Map;
@@ -38,8 +40,8 @@ public class RequestCache
private static ThreadLocal<WindowContextManager> windowContextManagerCache
= new ThreadLocal<WindowContextManager>();
- private static ThreadLocal<Bean<WindowContextManager>> windowContextManagerBeanCache
- = new ThreadLocal<Bean<WindowContextManager>>();
+ private static ThreadLocal<BeanEntryFactory> beanEntryFactoryCache
+ = new ThreadLocal<BeanEntryFactory>();
private static ThreadLocal<Map<ConversationKey, EditableConversation>> conversationCache
= new ThreadLocal<Map<ConversationKey, EditableConversation>>();
@@ -49,8 +51,8 @@ public class RequestCache
windowContextManagerCache.set(null);
windowContextManagerCache.remove();
- windowContextManagerBeanCache.set(null);
- windowContextManagerBeanCache.remove();
+ beanEntryFactoryCache.set(null);
+ beanEntryFactoryCache.remove();
windowContextCache.set(null);
windowContextCache.remove();
@@ -70,19 +72,9 @@ public class RequestCache
if(windowContextManager == null)
{
- return resolveWindowContextManager(resolveWindowContextManagerBean());
+ return resolveWindowContextManager(resolveConversationManagerBean());
}
- /* TODO remove it after tests
- if(windowContextManager == null)
- {
- windowContextManager = CodiUtils.getOrCreateScopedInstanceOfBeanByName(
- WindowContextManager.WINDOW_CONTEXT_MANAGER_BEAN_NAME, WindowContextManager.class);
-
- windowContextManagerCache.set(windowContextManager);
- }
- */
-
return windowContextManager;
}
@@ -99,17 +91,29 @@ public class RequestCache
return windowContextManager;
}
- private static Bean<WindowContextManager> resolveWindowContextManagerBean()
+ public static BeanEntryFactory getBeanEntryFactory()
+ {
+ BeanEntryFactory beanEntryFactory = beanEntryFactoryCache.get();
+
+ if(beanEntryFactory == null)
+ {
+ return resolveBeanEntryFactory(resolveBeanEntryFactoryBean());
+ }
+
+ return beanEntryFactory;
+ }
+
+ private static BeanEntryFactory resolveBeanEntryFactory(Bean<BeanEntryFactory> beanEntryFactoryBean)
{
- Bean<WindowContextManager> windowContextManagerBean = windowContextManagerBeanCache.get();
+ BeanEntryFactory beanEntryFactory = beanEntryFactoryCache.get();
- if(windowContextManagerBean == null)
+ if(beanEntryFactory == null)
{
- windowContextManagerBean = ConversationUtils.resolveConversationManagerBean();
- windowContextManagerBeanCache.set(windowContextManagerBean);
+ beanEntryFactory = CodiUtils.getOrCreateScopedInstanceOfBean(beanEntryFactoryBean);
+ beanEntryFactoryCache.set(beanEntryFactory);
}
- return windowContextManagerBean;
+ return beanEntryFactory;
}
public static WindowContext getCurrentWindowContext()