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/12/22 14:07:27 UTC
svn commit: r1051882 - in /myfaces/extensions/cdi/trunk:
core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/
core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/
jee-modules/bv-module/impl/src/main/java/org/ap...
Author: gpetracek
Date: Wed Dec 22 13:07:26 2010
New Revision: 1051882
URL: http://svn.apache.org/viewvc?rev=1051882&view=rev
Log:
EXTCDI-95 first draft
Added:
myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiCoreConfig.java
Modified:
myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java
myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareBeanValidationProducer.java
myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareValidatorFactory.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextWrapper.java
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/InjectionAwareApplicationWrapper.java
myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/CodiFacesContextWrapper.java
myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/InjectionAwareApplicationWrapper.java
Added: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiCoreConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiCoreConfig.java?rev=1051882&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiCoreConfig.java (added)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiCoreConfig.java Wed Dec 22 13:07:26 2010
@@ -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.myfaces.extensions.cdi.core.api.config;
+
+import javax.enterprise.context.ApplicationScoped;
+
+/**
+ * @author Gerhard Petracek
+ */
+@ApplicationScoped
+public class CodiCoreConfig extends AbstractAttributeAware implements CodiConfig
+{
+ private static final long serialVersionUID = -3332668819111106748L;
+
+ protected CodiCoreConfig()
+ {
+ }
+
+ public boolean isAdvancedQualifierRequiredForDependencyInjection()
+ {
+ return false;
+ }
+}
Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/util/CodiUtils.java Wed Dec 22 13:07:26 2010
@@ -19,6 +19,7 @@
package org.apache.myfaces.extensions.cdi.core.impl.util;
import org.apache.myfaces.extensions.cdi.core.api.Advanced;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
import org.apache.myfaces.extensions.cdi.core.api.projectstage.ProjectStage;
import org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider;
import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
@@ -192,16 +193,27 @@ public class CodiUtils
return getContextualReferenceByClass(ProjectStage.class);
}
- public static <T> T tryToInjectDependencies(T instance)
+ public static <T> T injectFields(T instance)
+ {
+ CodiCoreConfig codiCoreConfig = getContextualReferenceByClass(CodiCoreConfig.class);
+
+ return injectFields(instance, codiCoreConfig.isAdvancedQualifierRequiredForDependencyInjection());
+ }
+
+ public static <T> T injectFields(T instance, boolean requiresAdvancedQualifier)
{
if(instance == null)
{
return null;
}
- if(instance.getClass().isAnnotationPresent(Advanced.class))
+ if(requiresAdvancedQualifier && instance.getClass().isAnnotationPresent(Advanced.class))
+ {
+ tryToInjectFields(instance);
+ }
+ else if(!requiresAdvancedQualifier)
{
- injectFields(instance);
+ tryToInjectFields(instance);
}
return instance;
}
@@ -215,7 +227,7 @@ public class CodiUtils
* a manually injected instance (or null if the given instance is null)
*/
@SuppressWarnings({"unchecked"})
- public static <T> T injectFields(T instance)
+ private static <T> T tryToInjectFields(T instance)
{
if(instance == null)
{
Modified: myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareBeanValidationProducer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareBeanValidationProducer.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareBeanValidationProducer.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareBeanValidationProducer.java Wed Dec 22 13:07:26 2010
@@ -19,6 +19,7 @@
package org.apache.myfaces.extensions.cdi.bv.impl;
import org.apache.myfaces.extensions.cdi.core.api.Advanced;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
import org.apache.myfaces.extensions.cdi.core.api.resolver.qualifier.BeanValidation;
import org.apache.myfaces.extensions.cdi.core.api.resolver.GenericResolver;
import static org.apache.myfaces.extensions.cdi.bv.api.BeanValidationModuleBeanNames.VALIDATOR_FACTORY;
@@ -45,7 +46,8 @@ public class CdiAwareBeanValidationProdu
@Advanced
@Named(VALIDATOR_FACTORY)
public ValidatorFactory createValidatorFactoryForDependencyInjectionAwareConstraintValidators(
- @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver)
+ @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver,
+ CodiCoreConfig codiCoreConfig)
{
ValidatorFactory validatorFactory = validatorFactoryResolver.resolve();
if (validatorFactory == null)
@@ -53,36 +55,39 @@ public class CdiAwareBeanValidationProdu
validatorFactory = ValidatorFactoryStorage.getOrCreateValidatorFactory();
}
- return new CdiAwareValidatorFactory(validatorFactory);
+ return new CdiAwareValidatorFactory(validatorFactory, codiCoreConfig);
}
@Produces
@Dependent
@Advanced
public Validator createValidatorForDependencyInjectionAwareConstraintValidators(
- @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver)
+ @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver,
+ CodiCoreConfig codiCoreConfig)
{
return createValidatorFactoryForDependencyInjectionAwareConstraintValidators(
- validatorFactoryResolver).getValidator();
+ validatorFactoryResolver, codiCoreConfig).getValidator();
}
@Produces
@Dependent
@Advanced
public ConstraintValidatorFactory createConstraintValidatorFactoryForDependencyInjectionAwareConstraintValidators(
- @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver)
+ @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver,
+ CodiCoreConfig codiCoreConfig)
{
return createValidatorFactoryForDependencyInjectionAwareConstraintValidators(
- validatorFactoryResolver).getConstraintValidatorFactory();
+ validatorFactoryResolver, codiCoreConfig).getConstraintValidatorFactory();
}
@Produces
@Dependent
@Advanced
public MessageInterpolator createMessageInterpolator(
- @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver)
+ @BeanValidation GenericResolver<ValidatorFactory> validatorFactoryResolver,
+ CodiCoreConfig codiCoreConfig)
{
return createValidatorFactoryForDependencyInjectionAwareConstraintValidators(
- validatorFactoryResolver).getMessageInterpolator();
+ validatorFactoryResolver, codiCoreConfig).getMessageInterpolator();
}
}
\ No newline at end of file
Modified: myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareValidatorFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareValidatorFactory.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareValidatorFactory.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/bv-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/bv/impl/CdiAwareValidatorFactory.java Wed Dec 22 13:07:26 2010
@@ -18,6 +18,8 @@
*/
package org.apache.myfaces.extensions.cdi.bv.impl;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
+
import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.injectFields;
import javax.enterprise.inject.Typed;
@@ -37,10 +39,13 @@ public class CdiAwareValidatorFactory im
{
private ValidatorFactory wrappedValidatorFactory;
private boolean customContextUsed;
+ private boolean advancedQualifierRequiredForDependencyInjection;
- protected CdiAwareValidatorFactory(ValidatorFactory wrappedValidatorFactory)
+ protected CdiAwareValidatorFactory(ValidatorFactory wrappedValidatorFactory, CodiCoreConfig codiCoreConfig)
{
this.wrappedValidatorFactory = wrappedValidatorFactory;
+ this.advancedQualifierRequiredForDependencyInjection =
+ codiCoreConfig.isAdvancedQualifierRequiredForDependencyInjection();
}
public Validator getValidator()
@@ -77,7 +82,7 @@ public class CdiAwareValidatorFactory im
{
T validator = wrappedValidatorFactory.getConstraintValidatorFactory().getInstance(targetClass);
- return injectFields(validator);
+ return injectFields(validator, advancedQualifierRequiredForDependencyInjection);
}
};
}
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.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/listener/phase/PhaseListenerExtension.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/phase/PhaseListenerExtension.java Wed Dec 22 13:07:26 2010
@@ -18,8 +18,10 @@
*/
package org.apache.myfaces.extensions.cdi.jsf.impl.listener.phase;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
import org.apache.myfaces.extensions.cdi.core.impl.InvocationOrderComparator;
+import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
import org.apache.myfaces.extensions.cdi.jsf.api.listener.phase.JsfPhaseListener;
import javax.enterprise.event.Observes;
@@ -34,7 +36,7 @@ import java.util.concurrent.ConcurrentHa
import java.util.concurrent.CopyOnWriteArrayList;
import static org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation.isClassActivated;
-import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.tryToInjectDependencies;
+import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.injectFields;
/**
* The PhaseListenerExtension picks up all {@link JsfPhaseListener} annotated
@@ -87,6 +89,10 @@ public class PhaseListenerExtension impl
ClassLoader classLoader = getClassLoader();
List<Class<? extends PhaseListener>> foundPhaseListeners = phaseListeners.get(classLoader);
+ boolean advancedQualifierRequiredForDependencyInjection =
+ CodiUtils.getContextualReferenceByClass(CodiCoreConfig.class)
+ .isAdvancedQualifierRequiredForDependencyInjection();
+
if(foundPhaseListeners != null && ! foundPhaseListeners.isEmpty())
{
List<PhaseListener> result = new ArrayList<PhaseListener>(foundPhaseListeners.size());
@@ -94,7 +100,7 @@ public class PhaseListenerExtension impl
for(Class<? extends PhaseListener> phaseListenerClass : foundPhaseListeners)
{
PhaseListener phaseListener = createPhaseListenerInstance(phaseListenerClass);
- result.add(tryToInjectDependencies(phaseListener));
+ result.add(injectFields(phaseListener, advancedQualifierRequiredForDependencyInjection));
}
foundPhaseListeners.clear();
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextWrapper.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/listener/request/CodiFacesContextWrapper.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextWrapper.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/CodiFacesContextWrapper.java Wed Dec 22 13:07:26 2010
@@ -18,8 +18,10 @@
*/
package org.apache.myfaces.extensions.cdi.jsf.impl.listener.request;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
import org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider;
import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
+import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.RedirectedConversationAwareExternalContext;
import javax.el.ELContext;
@@ -50,6 +52,8 @@ class CodiFacesContextWrapper extends Fa
private BeanManager beanManager;
+ private CodiCoreConfig codiCoreConfig;
+
private BeforeAfterFacesRequestBroadcaster beforeAfterFacesRequestBroadcaster;
CodiFacesContextWrapper(FacesContext wrappedFacesContext)
@@ -68,6 +72,8 @@ class CodiFacesContextWrapper extends Fa
{
this.beanManager = BeanManagerProvider.getInstance().getBeanManager();
+ this.codiCoreConfig = CodiUtils.getOrCreateScopedInstanceOfBeanByClass(this.beanManager, CodiCoreConfig.class);
+
initBroadcaster();
broadcastBeforeFacesRequestEvent();
@@ -75,7 +81,7 @@ class CodiFacesContextWrapper extends Fa
public Application getApplication()
{
- return new InjectionAwareApplicationWrapper(wrappedFacesContext.getApplication());
+ return new InjectionAwareApplicationWrapper(wrappedFacesContext.getApplication(), this.codiCoreConfig);
}
private void broadcastBeforeFacesRequestEvent()
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/InjectionAwareApplicationWrapper.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/listener/request/InjectionAwareApplicationWrapper.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/InjectionAwareApplicationWrapper.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/listener/request/InjectionAwareApplicationWrapper.java Wed Dec 22 13:07:26 2010
@@ -18,7 +18,9 @@
*/
package org.apache.myfaces.extensions.cdi.jsf.impl.listener.request;
-import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.tryToInjectDependencies;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
+
+import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.injectFields;
import javax.faces.application.Application;
import javax.faces.application.ViewHandler;
@@ -54,24 +56,31 @@ class InjectionAwareApplicationWrapper e
{
private Application wrapped;
- protected InjectionAwareApplicationWrapper(Application wrapped)
+ private boolean advancedQualifierRequiredForDependencyInjection;
+
+ protected InjectionAwareApplicationWrapper(Application wrapped, CodiCoreConfig codiCoreConfig)
{
this.wrapped = wrapped;
+ this.advancedQualifierRequiredForDependencyInjection =
+ codiCoreConfig.isAdvancedQualifierRequiredForDependencyInjection();
}
public Converter createConverter(String converterId)
{
- return tryToInjectDependencies(this.wrapped.createConverter(converterId));
+ return injectFields(this.wrapped.createConverter(converterId),
+ this.advancedQualifierRequiredForDependencyInjection);
}
public Converter createConverter(Class targetClass)
{
- return tryToInjectDependencies(this.wrapped.createConverter(targetClass));
+ return injectFields(this.wrapped.createConverter(targetClass),
+ this.advancedQualifierRequiredForDependencyInjection);
}
public Validator createValidator(String validatorId) throws FacesException
{
- return tryToInjectDependencies(this.wrapped.createValidator(validatorId));
+ return injectFields(this.wrapped.createValidator(validatorId),
+ this.advancedQualifierRequiredForDependencyInjection);
}
/*
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/CodiFacesContextWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/CodiFacesContextWrapper.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/CodiFacesContextWrapper.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/CodiFacesContextWrapper.java Wed Dec 22 13:07:26 2010
@@ -18,8 +18,10 @@
*/
package org.apache.myfaces.extensions.cdi.jsf2.impl.listener.request;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
import org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider;
import org.apache.myfaces.extensions.cdi.core.impl.util.ClassDeactivation;
+import org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils;
import org.apache.myfaces.extensions.cdi.jsf.impl.listener.request.BeforeAfterFacesRequestBroadcaster;
import org.apache.myfaces.extensions.cdi.jsf2.impl.scope.conversation.RedirectedConversationAwareExternalContext;
@@ -43,6 +45,8 @@ class CodiFacesContextWrapper extends Fa
private BeanManager beanManager;
+ private CodiCoreConfig codiCoreConfig;
+
private BeforeAfterFacesRequestBroadcaster beforeAfterFacesRequestBroadcaster;
CodiFacesContextWrapper(FacesContext wrappedFacesContext)
@@ -61,6 +65,8 @@ class CodiFacesContextWrapper extends Fa
{
this.beanManager = BeanManagerProvider.getInstance().getBeanManager();
+ this.codiCoreConfig = CodiUtils.getOrCreateScopedInstanceOfBeanByClass(this.beanManager, CodiCoreConfig.class);
+
initBroadcaster();
broadcastBeforeFacesRequestEvent();
@@ -69,7 +75,7 @@ class CodiFacesContextWrapper extends Fa
@Override
public Application getApplication()
{
- return new InjectionAwareApplicationWrapper(wrappedFacesContext.getApplication());
+ return new InjectionAwareApplicationWrapper(wrappedFacesContext.getApplication(), this.codiCoreConfig);
}
private void broadcastBeforeFacesRequestEvent()
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/InjectionAwareApplicationWrapper.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/InjectionAwareApplicationWrapper.java?rev=1051882&r1=1051881&r2=1051882&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/InjectionAwareApplicationWrapper.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/listener/request/InjectionAwareApplicationWrapper.java Wed Dec 22 13:07:26 2010
@@ -18,7 +18,8 @@
*/
package org.apache.myfaces.extensions.cdi.jsf2.impl.listener.request;
-import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.tryToInjectDependencies;
+import org.apache.myfaces.extensions.cdi.core.api.config.CodiCoreConfig;
+import static org.apache.myfaces.extensions.cdi.core.impl.util.CodiUtils.injectFields;
import javax.faces.application.ApplicationWrapper;
import javax.faces.application.Application;
@@ -35,9 +36,13 @@ class InjectionAwareApplicationWrapper e
{
private Application wrapped;
- protected InjectionAwareApplicationWrapper(Application wrapped)
+ private boolean advancedQualifierRequiredForDependencyInjection;
+
+ protected InjectionAwareApplicationWrapper(Application wrapped, CodiCoreConfig codiCoreConfig)
{
this.wrapped = wrapped;
+ this.advancedQualifierRequiredForDependencyInjection =
+ codiCoreConfig.isAdvancedQualifierRequiredForDependencyInjection();
}
public Application getWrapped()
@@ -48,18 +53,21 @@ class InjectionAwareApplicationWrapper e
@Override
public Converter createConverter(String converterId)
{
- return tryToInjectDependencies(this.wrapped.createConverter(converterId));
+ return injectFields(this.wrapped.createConverter(converterId),
+ this.advancedQualifierRequiredForDependencyInjection);
}
@Override
public Converter createConverter(Class targetClass)
{
- return tryToInjectDependencies(this.wrapped.createConverter(targetClass));
+ return injectFields(this.wrapped.createConverter(targetClass),
+ this.advancedQualifierRequiredForDependencyInjection);
}
@Override
public Validator createValidator(String validatorId) throws FacesException
{
- return tryToInjectDependencies(this.wrapped.createValidator(validatorId));
+ return injectFields(this.wrapped.createValidator(validatorId),
+ this.advancedQualifierRequiredForDependencyInjection);
}
}