You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2017/09/09 09:17:06 UTC
svn commit: r1807867 - in /myfaces/core/branches/2.3.x/impl/src/main:
java/org/apache/myfaces/cdi/behavior/
java/org/apache/myfaces/cdi/managedproperty/ resources/META-INF/services/
Author: tandraschko
Date: Sat Sep 9 09:17:06 2017
New Revision: 1807867
URL: http://svn.apache.org/viewvc?rev=1807867&view=rev
Log:
MYFACES-4127 refactored other producers to reuse AbstractDynamicProducer
Added:
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorInfo.java
- copied, changed from r1807840, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/BehaviorInfo.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorProducer.java
- copied, changed from r1807840, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/DynamicBehaviorProducer.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyExtension.java
- copied, changed from r1807864, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyExtension.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyInfo.java
- copied, changed from r1807840, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyInfo.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyProducer.java
- copied, changed from r1807864, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyProducer.java
Removed:
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/BehaviorInfo.java
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/DynamicBehaviorProducer.java
Modified:
myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorExtension.java
myfaces/core/branches/2.3.x/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
Modified: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorExtension.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorExtension.java?rev=1807867&r1=1807866&r2=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorExtension.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorExtension.java Sat Sep 9 09:17:06 2017
@@ -35,7 +35,7 @@ import javax.faces.component.behavior.Fa
*/
public class FacesBehaviorExtension implements Extension
{
- private Set<BehaviorInfo> types = new HashSet<BehaviorInfo>();
+ private Set<FacesBehaviorInfo> types = new HashSet<FacesBehaviorInfo>();
public <T> void collect(@Observes ProcessManagedBean<T> event)
{
@@ -52,7 +52,7 @@ public class FacesBehaviorExtension impl
boolean hasValue = conv.value().length() > 0;
if (hasValue)
{
- types.add(new BehaviorInfo(type, conv.value()));
+ types.add(new FacesBehaviorInfo(type, conv.value()));
}
}
}
@@ -60,9 +60,9 @@ public class FacesBehaviorExtension impl
public void afterBean(@Observes AfterBeanDiscovery afterBeanDiscovery, BeanManager beanManager)
{
- for (BehaviorInfo typeInfo : types)
+ for (FacesBehaviorInfo typeInfo : types)
{
- afterBeanDiscovery.addBean(new DynamicBehaviorProducer(beanManager, typeInfo));
+ afterBeanDiscovery.addBean(new FacesBehaviorProducer(beanManager, typeInfo));
}
}
Copied: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorInfo.java (from r1807840, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/BehaviorInfo.java)
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorInfo.java?p2=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorInfo.java&p1=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/BehaviorInfo.java&r1=1807840&r2=1807867&rev=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/BehaviorInfo.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorInfo.java Sat Sep 9 09:17:06 2017
@@ -26,13 +26,13 @@ import java.util.Objects;
/**
*
*/
-public class BehaviorInfo implements Serializable
+public class FacesBehaviorInfo implements Serializable
{
private Type type;
private String behaviorId;
- public BehaviorInfo(Type type, String behaviorId)
+ public FacesBehaviorInfo(Type type, String behaviorId)
{
this.type = type;
this.behaviorId = behaviorId;
@@ -84,7 +84,7 @@ public class BehaviorInfo implements Ser
{
return false;
}
- final BehaviorInfo other = (BehaviorInfo) obj;
+ final FacesBehaviorInfo other = (FacesBehaviorInfo) obj;
if (!Objects.equals(this.type, other.type))
{
return false;
Copied: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorProducer.java (from r1807840, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/DynamicBehaviorProducer.java)
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorProducer.java?p2=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorProducer.java&p1=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/DynamicBehaviorProducer.java&r1=1807840&r2=1807867&rev=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/DynamicBehaviorProducer.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/behavior/FacesBehaviorProducer.java Sat Sep 9 09:17:06 2017
@@ -19,132 +19,57 @@
package org.apache.myfaces.cdi.behavior;
-import java.io.Serializable;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
-import static java.util.Arrays.asList;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.Typed;
-import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager;
-import javax.enterprise.inject.spi.InjectionPoint;
-import javax.enterprise.inject.spi.PassivationCapable;
import javax.faces.FacesException;
import javax.faces.component.behavior.Behavior;
+import org.apache.myfaces.cdi.util.AbstractDynamicProducer;
import org.apache.myfaces.shared.util.ClassUtils;
/**
*
*/
@Typed
-public class DynamicBehaviorProducer implements Bean<Behavior>, Serializable, PassivationCapable
+public class FacesBehaviorProducer extends AbstractDynamicProducer<Behavior>
{
- private static final long serialVersionUID = 1L;
-
- private BeanManager beanManager;
- private BehaviorInfo typeInfo;
- private Set<Type> types;
- private Class<?> beanClass;
-
- public DynamicBehaviorProducer(BeanManager beanManager, BehaviorInfo typeInfo)
- {
- this.beanManager = beanManager;
- this.typeInfo = typeInfo;
- types = new HashSet<Type>(asList(typeInfo.getType(), Object.class));
- beanClass = ClassUtils.simpleClassForName(typeInfo.getType().getTypeName());
- }
-
- @Override
- public String getId()
- {
- String converterId = typeInfo.getBehaviorId() == null ? "" : typeInfo.getBehaviorId();
- return ""+typeInfo.getType()+"_"+converterId;
- }
-
- @Override
- public Class<?> getBeanClass()
- {
- return beanClass;
- }
-
- @Override
- public Set<Type> getTypes()
- {
- return types;
- }
-
- @Override
- public Set<Annotation> getQualifiers()
- {
- return Collections.singleton(
- (Annotation) new FacesBehaviorAnnotationLiteral(
- typeInfo.getBehaviorId() == null ? "" : typeInfo.getBehaviorId(), true));
- }
-
- @Override
- public Class<? extends Annotation> getScope()
+ public FacesBehaviorProducer(BeanManager beanManager, FacesBehaviorInfo typeInfo)
{
- return Dependent.class;
+ super(beanManager);
+
+ FacesBehaviorAnnotationLiteral literal = new FacesBehaviorAnnotationLiteral(
+ typeInfo.getBehaviorId() == null ? "" : typeInfo.getBehaviorId(), true);
+
+ String behaviorId = typeInfo.getBehaviorId() == null ? "" : typeInfo.getBehaviorId();
+ String id = "" + typeInfo.getType() + "_" + behaviorId;
+
+ super.id(id)
+ .scope(Dependent.class)
+ .qualifiers(literal)
+ .types(typeInfo.getType(), Object.class)
+ .beanClass(ClassUtils.simpleClassForName(typeInfo.getType().getTypeName()))
+ .create(e -> createBehavior(e));
}
- @Override
- public String getName()
+ protected Behavior createBehavior(CreationalContext<Behavior> cc)
{
- return null;
- }
-
-
- @Override
- public Set<Class<? extends Annotation>> getStereotypes()
- {
- return Collections.emptySet();
- }
-
- @Override
- public boolean isAlternative()
- {
- return false;
- }
-
- @Override
- public Set<InjectionPoint> getInjectionPoints()
- {
- return Collections.emptySet();
- }
-
- @Override
- public boolean isNullable()
- {
- return true;
- }
-
- @Override
- public Behavior create(CreationalContext<Behavior> cc)
- {
- Class<? extends Behavior> converterClass = (Class<? extends Behavior>) beanClass;
+ Class<? extends Behavior> behaviorClass = (Class<? extends Behavior>) getBeanClass();
Behavior converter = null;
try
{
- converter = converterClass.newInstance();
+ converter = behaviorClass.newInstance();
}
catch (Exception ex)
{
- Logger.getLogger(DynamicBehaviorProducer.class.getName()).log(
- Level.SEVERE, "Could not instantiate converter " + beanClass.getName(), ex);
- throw new FacesException("Could not instantiate converter: " + beanClass.getName(), ex);
+ Logger.getLogger(FacesBehaviorProducer.class.getName()).log(
+ Level.SEVERE, "Could not instantiate behavior " + behaviorClass.getName(), ex);
+ throw new FacesException("Could not instantiate behavior: " + behaviorClass.getName(), ex);
}
return converter;
}
- @Override
- public void destroy(Behavior t, CreationalContext<Behavior> cc)
- {
- }
}
Copied: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyExtension.java (from r1807864, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyExtension.java)
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyExtension.java?p2=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyExtension.java&p1=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyExtension.java&r1=1807864&r2=1807867&rev=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyExtension.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyExtension.java Sat Sep 9 09:17:06 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.myfaces.cdi.bean;
+package org.apache.myfaces.cdi.managedproperty;
import java.lang.reflect.Type;
import java.util.HashSet;
Copied: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyInfo.java (from r1807840, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyInfo.java)
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyInfo.java?p2=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyInfo.java&p1=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyInfo.java&r1=1807840&r2=1807867&rev=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyInfo.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyInfo.java Sat Sep 9 09:17:06 2017
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.myfaces.cdi.bean;
+package org.apache.myfaces.cdi.managedproperty;
import java.io.Serializable;
import java.lang.reflect.Type;
Copied: myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyProducer.java (from r1807864, myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyProducer.java)
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyProducer.java?p2=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyProducer.java&p1=myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyProducer.java&r1=1807864&r2=1807867&rev=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/bean/ManagedPropertyProducer.java (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/java/org/apache/myfaces/cdi/managedproperty/ManagedPropertyProducer.java Sat Sep 9 09:17:06 2017
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.myfaces.cdi.bean;
+package org.apache.myfaces.cdi.managedproperty;
import java.lang.reflect.ParameterizedType;
import javax.enterprise.context.Dependent;
Modified: myfaces/core/branches/2.3.x/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension
URL: http://svn.apache.org/viewvc/myfaces/core/branches/2.3.x/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension?rev=1807867&r1=1807866&r2=1807867&view=diff
==============================================================================
--- myfaces/core/branches/2.3.x/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension (original)
+++ myfaces/core/branches/2.3.x/impl/src/main/resources/META-INF/services/javax.enterprise.inject.spi.Extension Sat Sep 9 09:17:06 2017
@@ -6,7 +6,7 @@ org.apache.myfaces.flow.cdi.FlowScopeCDI
org.apache.myfaces.cdi.dependent.DependentBeanExtension
org.apache.myfaces.config.annotation.CdiAnnotationProviderExtension
org.apache.myfaces.push.cdi.PushContextCDIExtension
-org.apache.myfaces.cdi.bean.ManagedPropertyExtension
+org.apache.myfaces.cdi.managedproperty.ManagedPropertyExtension
org.apache.myfaces.cdi.converter.FacesConverterExtension
org.apache.myfaces.cdi.validator.FacesValidatorExtension
org.apache.myfaces.cdi.behavior.FacesBehaviorExtension