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/02 00:32:56 UTC

svn commit: r1029892 - in /myfaces/extensions/cdi/trunk: core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/ core/api/src/main/java/org/apache/myfaces/extensions/c...

Author: gpetracek
Date: Mon Nov  1 23:32:54 2010
New Revision: 1029892

URL: http://svn.apache.org/viewvc?rev=1029892&view=rev
Log:
cleanup and basic javadoc for core-api

Added:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/qualifier/
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/qualifier/BeanValidation.java
      - copied, changed from r1022888, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/BeanValidation.java
Removed:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/BeanValidation.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/config/CodiWebConfig12.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/config/DefaultCodiWebConfig.java
Modified:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/BeanNames.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CodiInformation.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CoreModuleBeanNames.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AbstractCodiConfig.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AttributeAware.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiConfig.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CoreCodiConfigParameter.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/View.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewConfig.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewMetaData.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/ConfigResolver.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/GenericResolver.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/CloseConversationGroup.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationConfig.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationGroup.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationScoped.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContext.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowScoped.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AbstractAccessDecisionVoter.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDecisionVoter.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDeniedException.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/DefaultErrorView.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/Secured.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/SecurityViolation.java
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/SecurityUtils.java
    myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/ConfigDemoBean.java
    myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/FacesDemoBean.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/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/ConfigParameter.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter1.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter2.java

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/AbstractClassDeactivator.java Mon Nov  1 23:32:54 2010
@@ -22,12 +22,17 @@ import java.util.Set;
 import java.util.HashSet;
 
 /**
+ * Base implementation which allows an easier class-deactivator implementation
+ *
  * @author Gerhard Petracek
  */
 public abstract class AbstractClassDeactivator implements ClassDeactivator
 {
     private Set<Class> deactivatedClasses;
 
+    /**
+     * {@inheritDoc}
+     */
     public final Set<Class> getDeactivatedClasses()
     {
         if(this.deactivatedClasses == null)
@@ -38,10 +43,19 @@ public abstract class AbstractClassDeact
         return this.deactivatedClasses;
     }
 
+    /**
+     * Can be used by sub-classes to add deactivated classes easily.
+     *
+     * @param deactivatedClass class to deactivate
+     */
     protected final void addDeactivatedClass(Class deactivatedClass)
     {
         this.deactivatedClasses.add(deactivatedClass);
     }
 
+    /**
+     * An implementation has to add classes which shouldn't be used by CODI.
+     * (use {@link #addDeactivatedClass(Class)} for adding classes)
+     */
     protected abstract void deactivateClasses();
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/BeanNames.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/BeanNames.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/BeanNames.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/BeanNames.java Mon Nov  1 23:32:54 2010
@@ -19,7 +19,7 @@
 package org.apache.myfaces.extensions.cdi.core.api;
 
 /**
- * Marker interface
+ * Interface which marks all interfaces which provide bean-names. 
  *
  * @author Gerhard Petracek
  */

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/ClassDeactivator.java Mon Nov  1 23:32:54 2010
@@ -21,9 +21,16 @@ package org.apache.myfaces.extensions.cd
 import java.util.Set;
 
 /**
+ * Interface for an implementation which provides classes of default implementations which should be deactivated.
+ *
  * @author Gerhard Petracek
  */
 public interface ClassDeactivator
 {
+    /**
+     * Provides classes which should be deactivated.
+     *
+     * @return classes which should be deactivated
+     */
     public Set<Class> getDeactivatedClasses();
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CodiInformation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CodiInformation.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CodiInformation.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CodiInformation.java Mon Nov  1 23:32:54 2010
@@ -21,6 +21,8 @@ package org.apache.myfaces.extensions.cd
 import org.apache.myfaces.extensions.cdi.core.api.util.ClassUtils;
 
 /**
+ * Allows to get the version of the active CODI-Core.
+ *
  * @author Gerhard Petracek
  */
 public interface CodiInformation

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CoreModuleBeanNames.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CoreModuleBeanNames.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CoreModuleBeanNames.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/CoreModuleBeanNames.java Mon Nov  1 23:32:54 2010
@@ -19,6 +19,8 @@
 package org.apache.myfaces.extensions.cdi.core.api;
 
 /**
+ * Core-impl has to provide beans for the names specified below.
+ *
  * @author Gerhard Petracek
  */
 public interface CoreModuleBeanNames extends BeanNames

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/Deactivatable.java Mon Nov  1 23:32:54 2010
@@ -19,11 +19,19 @@
 package org.apache.myfaces.extensions.cdi.core.api;
 
 /**
- * Interface to allow easier detection of deactivatable classes
+ * Interface to allow easier detection of deactivatable classes.
+ * These classes are activated by default (e.g. via CDI config).
+ * Since CDI, JSF,... currently don't allow to deactivate default implementations,
+ * CODI has to introduce a proprietary mechanism.
  *
  * @author Gerhard Petracek
  */
 public interface Deactivatable
 {
+    /**
+     * Returns if the current instance is active or not.
+     *
+     * @return true if the current instance is active, false otherwise
+     */
     boolean isActivated();
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AbstractCodiConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AbstractCodiConfig.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AbstractCodiConfig.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AbstractCodiConfig.java Mon Nov  1 23:32:54 2010
@@ -22,9 +22,12 @@ import java.util.Map;
 import java.util.HashMap;
 
 /**
+ * Base config implementation which implements {@link org.apache.myfaces.extensions.cdi.core.api.config.AttributeAware}
+ * to support custom attributes for existing configs.
+ *  
  * @author Gerhard Petracek
  */
-public abstract class AbstractCodiConfig implements CodiConfig
+public abstract class AbstractCodiConfig implements CodiConfig, AttributeAware
 {
     private Map<String, Object> configAttributes;
 

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AttributeAware.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AttributeAware.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AttributeAware.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/AttributeAware.java Mon Nov  1 23:32:54 2010
@@ -21,6 +21,10 @@ package org.apache.myfaces.extensions.cd
 import java.io.Serializable;
 
 /**
+ * This interface is just for internal use.
+ * It should ensure that refactorings don't lead to different method-names for the same purpose.
+ * Furthermore, it allows to easily find all artifacts which allow generic attributes.
+ *
  * @author Gerhard Petracek
  */
 public interface AttributeAware extends Serializable

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiConfig.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiConfig.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CodiConfig.java Mon Nov  1 23:32:54 2010
@@ -19,8 +19,10 @@
 package org.apache.myfaces.extensions.cdi.core.api.config;
 
 /**
+ * Marker interface for all type-safe framework configs.
+ * 
  * @author Gerhard Petracek
  */
-public interface CodiConfig extends AttributeAware
+public interface CodiConfig
 {
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CoreCodiConfigParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CoreCodiConfigParameter.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CoreCodiConfigParameter.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/CoreCodiConfigParameter.java Mon Nov  1 23:32:54 2010
@@ -21,7 +21,7 @@ package org.apache.myfaces.extensions.cd
 /**
  * @author Gerhard Petracek
  */
-public interface CoreCodiConfigParameter extends AttributeAware
+public interface CoreCodiConfigParameter
 {
     static final String BASE_NAME = "org.apache.myfaces.extensions.cdi.";
 }
\ No newline at end of file

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/View.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/View.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/View.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/View.java Mon Nov  1 23:32:54 2010
@@ -28,6 +28,9 @@ import static java.lang.annotation.Reten
 import java.lang.annotation.Target;
 
 /**
+ * Allows to restrict e.g. phase-listener methods to specific views.
+ * Use an existing view-config OR ManualView.class + the view-id string/s.
+ *
  * @author Gerhard Petracek
  */
 

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewConfig.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewConfig.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewConfig.java Mon Nov  1 23:32:54 2010
@@ -19,6 +19,8 @@
 package org.apache.myfaces.extensions.cdi.core.api.config.view;
 
 /**
+ * Marker interface for type-safe view-config classes.
+ *
  * @author Gerhard Petracek
  */
 public interface ViewConfig

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewMetaData.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewMetaData.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewMetaData.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/config/view/ViewMetaData.java Mon Nov  1 23:32:54 2010
@@ -25,6 +25,8 @@ import static java.lang.annotation.Reten
 import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
 
 /**
+ * This meta-annotation allows to create custom meta-data which can be used for view-configs.
+ *
  * @author Gerhard Petracek
  */
 @Target({ANNOTATION_TYPE})

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/ConfigResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/ConfigResolver.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/ConfigResolver.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/ConfigResolver.java Mon Nov  1 23:32:54 2010
@@ -23,9 +23,19 @@ import org.apache.myfaces.extensions.cdi
 import java.io.Serializable;
 
 /**
+ * Resolver which allows to resolve type-safe configs.
+ * It allows an easier handling of config values.
+ * 
  * @author Gerhard Petracek
  */
 public interface ConfigResolver extends Serializable
 {
+    /**
+     * Returns the active config for the given type.
+     *
+     * @param targetType the target config-type
+     * @param <T> generic type
+     * @return the config instance for the given type
+     */
     public <T extends CodiConfig> T resolve(Class<T> targetType);
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/GenericResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/GenericResolver.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/GenericResolver.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/GenericResolver.java Mon Nov  1 23:32:54 2010
@@ -19,9 +19,17 @@
 package org.apache.myfaces.extensions.cdi.core.api.resolver;
 
 /**
+ * Generic resolver to decouple different modules.
+ *
  * @author Gerhard Petracek
  */
 public interface GenericResolver<T>
 {
+    /**
+     * Provides the artifact specified by a qualifier.
+     * The artifact might be produced by a different module.
+     *
+     * @return the artifact for the specified qualifier.
+     */
     T resolve();
 }

Copied: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/qualifier/BeanValidation.java (from r1022888, myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/BeanValidation.java)
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/qualifier/BeanValidation.java?p2=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/qualifier/BeanValidation.java&p1=myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/BeanValidation.java&r1=1022888&r2=1029892&rev=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/BeanValidation.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/resolver/qualifier/BeanValidation.java Mon Nov  1 23:32:54 2010
@@ -1,48 +1,51 @@
-/*
- * 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.resolver;
-
-import javax.inject.Qualifier;
-import java.lang.annotation.Target;
-import java.lang.annotation.Retention;
-import java.lang.annotation.Documented;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-import static java.lang.annotation.ElementType.PARAMETER;
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.ElementType.METHOD;
-import static java.lang.annotation.ElementType.CONSTRUCTOR;
-import static java.lang.annotation.ElementType.TYPE;
-
-/**
- * @author Gerhard Petracek
- */
-@Target({PARAMETER, FIELD, METHOD, CONSTRUCTOR, TYPE})
-@Retention(RUNTIME)
-@Documented
-
-@Qualifier
-public @interface BeanValidation
-{
+/*
+ * 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.resolver.qualifier;
+
+import javax.inject.Qualifier;
+import java.lang.annotation.Target;
+import java.lang.annotation.Retention;
+import java.lang.annotation.Documented;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import static java.lang.annotation.ElementType.PARAMETER;
+import static java.lang.annotation.ElementType.FIELD;
+import static java.lang.annotation.ElementType.METHOD;
+import static java.lang.annotation.ElementType.CONSTRUCTOR;
+import static java.lang.annotation.ElementType.TYPE;
+
+/**
+ * Qualifier which allows to decouple the bean-validation module and the other modules like the jsf module.
+ * It can be used in combination with {@link org.apache.myfaces.extensions.cdi.core.api.resolver.GenericResolver}
+ *
+ * @author Gerhard Petracek
+ */
+@Target({PARAMETER, FIELD, METHOD, CONSTRUCTOR, TYPE})
+@Retention(RUNTIME)
+@Documented
+
+@Qualifier
+public @interface BeanValidation
+{
     public enum ArtifactType
-    {
-        ValidatorFactory, Validator, ConstraintValidatorFactory, MessageInterpolator, TraversableResolver
-    }
-
-    ArtifactType value() default ArtifactType.ValidatorFactory;
+    {
+        ValidatorFactory, Validator, ConstraintValidatorFactory, MessageInterpolator, TraversableResolver
+    }
+
+    ArtifactType value() default ArtifactType.ValidatorFactory;
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/CloseConversationGroup.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/CloseConversationGroup.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/CloseConversationGroup.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/CloseConversationGroup.java Mon Nov  1 23:32:54 2010
@@ -29,6 +29,9 @@ import static java.lang.annotation.Eleme
 import static java.lang.annotation.ElementType.METHOD;
 
 /**
+ * Interceptor which allows to close a conversation-group after the invocation of the intercepted method.
+ * If a custom {@link RuntimeException} is specified, the conversation is just closed if the exception occurred.
+ * 
  * @author Gerhard Petracek
  */
 @InterceptorBinding

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationConfig.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationConfig.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationConfig.java Mon Nov  1 23:32:54 2010
@@ -21,12 +21,24 @@ package org.apache.myfaces.extensions.cd
 import java.io.Serializable;
 
 /**
+ * TODO check if we should implement CodiConfig
+ *
  * @author Gerhard Petracek
  */
 public interface ConversationConfig extends Serializable
 {
+    /**
+     * Timeout for {@link org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped} beans,
+     * which will be used if the conversation doesn't get closed manually.
+     * 
+     * @return timeout in minutes
+     */
     int getConversationTimeoutInMinutes();
 
+    /*
+     * event config
+     */
+
     boolean isScopeBeanEventEnable();
 
     boolean isAccessBeanEventEnable();

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationGroup.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationGroup.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationGroup.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationGroup.java Mon Nov  1 23:32:54 2010
@@ -30,6 +30,15 @@ import static java.lang.annotation.Eleme
 import static java.lang.annotation.ElementType.CONSTRUCTOR;
 
 /**
+ * CODI uses {@link org.apache.myfaces.extensions.cdi.core.api.scope.conversation.WindowScoped} for providing a global
+ * conversation per window. {@link org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped} is
+ * a fine-grained version of std. CDI conversations. Per default a
+ * {@link org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped} bean exists in an isolated
+ * conversation which just contains this bean. If multiple beans belong to the same logical conversations,
+ * it's possible to use this special qualifier for grouping such beans.
+ *
+ * Operations like {@link Conversation#close()} will be performed on the whole group.
+ * 
  * @author Gerhard Petracek
  */
 @Target({PARAMETER, FIELD, METHOD, CONSTRUCTOR, TYPE})

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationScoped.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationScoped.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationScoped.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ConversationScoped.java Mon Nov  1 23:32:54 2010
@@ -30,6 +30,9 @@ import static java.lang.annotation.Reten
 
 
 /**
+ * A fine-grained conversation scope.
+ * (It isn't required to start the scope manually.)
+ * 
  * @author Gerhard Petracek
  */
 @Target({METHOD,TYPE,FIELD})

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java Mon Nov  1 23:32:54 2010
@@ -29,6 +29,8 @@ import static java.lang.annotation.Eleme
 import static java.lang.annotation.ElementType.FIELD;
 
 /**
+ * The scope is active as long as it's accessed by a view.
+ *
  * @author Gerhard Petracek
  */
 @Target({METHOD,TYPE,FIELD})

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContext.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContext.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContext.java Mon Nov  1 23:32:54 2010
@@ -25,6 +25,8 @@ import java.lang.annotation.Annotation;
 import java.util.Set;
 
 /**
+ * Interface for handling the current window context as well as the conversations of the current window.
+ *
  * @author Gerhard Petracek
  */
 public interface WindowContext extends AttributeAware, Serializable

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowContextConfig.java Mon Nov  1 23:32:54 2010
@@ -25,18 +25,44 @@ import java.io.Serializable;
  */
 public interface WindowContextConfig extends Serializable
 {
-    //deactivate it e.g. for higher security
+    /**
+     * Specifies if it is allowed to use URL params for forwarding the current window-id.
+     * (deactivate it e.g. for higher security - in this case it's required to use a window id provided by a
+     * component lib or a server-side window-handler)
+     * 
+     * @return true if it is allowed to add the window-id as URL parameter
+     */
     boolean isUrlParameterSupported();
 
+    /**
+     * Allows to restrict window-ids.
+     *
+     * @return true to allow window-ids which aren't generated by CODI, false otherwise
+     */
     boolean isUnknownWindowIdsAllowed();
 
     @Deprecated
     boolean isAddWindowIdToActionUrlsEnabled();
-    
+
+    /**
+     * Specifies the time for the timeout for a window. After a timeout is detected all beans which are only linked
+     * to the window will be destroyed.
+     *
+     * @return the time for the timeout for a window
+     */
     int getWindowContextTimeoutInMinutes();
 
+    /**
+     * Restricts the number of active windows.
+     *
+     * @return limit for active windows
+     */
     int getMaxWindowContextCount();
 
+    /*
+     * event config
+     */
+
     boolean isCreateWindowContextEventEnable();
 
     boolean isCloseWindowContextEventEnable();

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowScoped.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowScoped.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowScoped.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/WindowScoped.java Mon Nov  1 23:32:54 2010
@@ -29,6 +29,8 @@ import static java.lang.annotation.Eleme
 import static java.lang.annotation.ElementType.FIELD;
 
 /**
+ * Beans which use this scope are bound to a window (or tab).
+ *
  * @author Gerhard Petracek
  */
 @Target({METHOD,TYPE,FIELD})

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AbstractAccessDecisionVoter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AbstractAccessDecisionVoter.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AbstractAccessDecisionVoter.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AbstractAccessDecisionVoter.java Mon Nov  1 23:32:54 2010
@@ -18,11 +18,47 @@
  */
 package org.apache.myfaces.extensions.cdi.core.api.security;
 
+import javax.interceptor.InvocationContext;
+import java.util.Set;
+import java.util.HashSet;
+
 /**
+ * Base implementation which provides helper methods.
+ *
  * @author Gerhard Petracek
  */
 public abstract class AbstractAccessDecisionVoter implements AccessDecisionVoter
 {
+    /**
+     * It should be final - but proxy-libs won't support it.
+     *
+     * {@inheritDoc}
+     */
+    public Set<SecurityViolation> checkPermission(InvocationContext invocationContext)
+    {
+        Set<SecurityViolation> result = new HashSet<SecurityViolation>();
+
+        checkPermission(invocationContext, result);
+
+        return result;
+    }
+
+    /**
+     * Allows an easier implementation in combination with {@link #newSecurityViolation(String)}.
+     *
+     * @param invocationContext current invocationContext
+     * @param violations set for adding violations
+     */
+    protected abstract void checkPermission(InvocationContext invocationContext, Set<SecurityViolation> violations);
+
+    /**
+     * Creates an instance of {@link org.apache.myfaces.extensions.cdi.core.api.security.SecurityViolation} for a given
+     * string which will be used as reason to describe the violation.
+     * 
+     * @param reason description of the violation
+     * @return A new instance of {@link org.apache.myfaces.extensions.cdi.core.api.security.SecurityViolation}
+     * which provides details about the found restriction.
+     */
     protected SecurityViolation newSecurityViolation(final String reason)
     {
         return new SecurityViolation()

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDecisionVoter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDecisionVoter.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDecisionVoter.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDecisionVoter.java Mon Nov  1 23:32:54 2010
@@ -22,9 +22,21 @@ import javax.interceptor.InvocationConte
 import java.util.Set;
 
 /**
+ * Interface for implementing concrete voters.
+ * A voter has to add an instance of
+ * {@link org.apache.myfaces.extensions.cdi.core.api.security.SecurityViolation} to the given result-set,
+ * if a restriction is detected.
+ * 
  * @author Gerhard Petracek
  */
 public interface AccessDecisionVoter
 {
-    void checkPermission(InvocationContext invocationContext, Set<SecurityViolation> violations);
+    /**
+     * Checks the permission for the given {@link javax.interceptor.InvocationContext}.
+     * If a violation is detected, it should be added to a set which gets returned by the method.
+     *
+     * @param invocationContext current invocationContext
+     * @return a set which contains violations which have been detected
+     */
+    Set<SecurityViolation> checkPermission(InvocationContext invocationContext);
 }

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDeniedException.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDeniedException.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDeniedException.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/AccessDeniedException.java Mon Nov  1 23:32:54 2010
@@ -23,6 +23,9 @@ import org.apache.myfaces.extensions.cdi
 import java.util.Set;
 
 /**
+ * Exception occurs in case of a security-violation.
+ * It's aware of the reason for the violation as well as the error-view which should be used to display the restriction.
+ * 
  * @author Gerhard Petracek
  */
 public class AccessDeniedException extends SecurityException

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/DefaultErrorView.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/DefaultErrorView.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/DefaultErrorView.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/DefaultErrorView.java Mon Nov  1 23:32:54 2010
@@ -21,6 +21,8 @@ package org.apache.myfaces.extensions.cd
 import org.apache.myfaces.extensions.cdi.core.api.config.view.ViewConfig;
 
 /**
+ * Interface which marks an error view.
+ *
  * @author Gerhard Petracek
  */
 public interface DefaultErrorView extends ViewConfig

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/Secured.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/Secured.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/Secured.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/Secured.java Mon Nov  1 23:32:54 2010
@@ -30,6 +30,9 @@ import static java.lang.annotation.Eleme
 import static java.lang.annotation.ElementType.METHOD;
 
 /**
+ * Interceptor for securing beans.
+ * It's also possible to use it as meta-annotation for type-safe view-configs.
+ * 
  * @author Gerhard Petracek
  */
 @InterceptorBinding

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/SecurityViolation.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/SecurityViolation.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/SecurityViolation.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/security/SecurityViolation.java Mon Nov  1 23:32:54 2010
@@ -19,9 +19,16 @@
 package org.apache.myfaces.extensions.cdi.core.api.security;
 
 /**
+ * Provides the concrete reason for the restriction.
+ *
  * @author Gerhard Petracek
  */
 public interface SecurityViolation
 {
+    /**
+     * Provides a description of the violation.
+     *
+     * @return description of the violation
+     */
     String getReason();
 }

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/SecurityUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/SecurityUtils.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/SecurityUtils.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/utils/SecurityUtils.java Mon Nov  1 23:32:54 2010
@@ -27,7 +27,6 @@ import static org.apache.myfaces.extensi
 import javax.interceptor.InvocationContext;
 import javax.enterprise.inject.spi.BeanManager;
 import java.util.Set;
-import java.util.HashSet;
 
 /**
  * @author Gerhard Petracek
@@ -44,15 +43,16 @@ public class SecurityUtils
             return;
         }
 
-        Set<SecurityViolation> violations = new HashSet<SecurityViolation>();
+        Set<SecurityViolation> violations;
 
         AccessDecisionVoter voter;
         for(Class<? extends AccessDecisionVoter> voterClass : accessDecisionVoters)
         {
             voter = getOrCreateScopedInstanceOfBeanByClass(beanManager, voterClass);
 
-            voter.checkPermission(invocationContext, violations);
-            if(violations.size() > 0)
+            violations = voter.checkPermission(invocationContext);
+
+            if(violations != null && violations.size() > 0)
             {
                 throw new AccessDeniedException(violations, errorView);
             }

Modified: myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/ConfigDemoBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/ConfigDemoBean.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/ConfigDemoBean.java (original)
+++ myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/ConfigDemoBean.java Mon Nov  1 23:32:54 2010
@@ -20,7 +20,8 @@ package org.apache.myfaces.examples.codi
 
 import org.apache.myfaces.extensions.cdi.core.api.config.CodiConfig;
 import org.apache.myfaces.extensions.cdi.core.api.resolver.ConfigResolver;
-import org.apache.myfaces.extensions.cdi.jsf.api.config.CodiWebConfig12;
+import org.apache.myfaces.extensions.cdi.jsf.impl.config.DefaultWindowContextConfig;
+import org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation.spi.JsfAwareWindowContextConfig;
 
 import javax.enterprise.inject.Model;
 import javax.enterprise.inject.Typed;
@@ -30,7 +31,7 @@ import java.util.Set;
 //just an internal demo
 @Model
 @Typed(ConfigDemoBean.class)
-public class ConfigDemoBean extends CodiWebConfig12
+public class ConfigDemoBean extends DefaultWindowContextConfig
 {
     private static final long serialVersionUID = -6915243682321970384L;
 
@@ -50,14 +51,15 @@ public class ConfigDemoBean extends Codi
         this.codiConfig = codiConfig;
         this.configResolver = configResolver;
 
-        if(this.codiConfig.isEmpty() || this.configResolver.resolve(CodiWebConfig12.class) == null)
+        if(this.codiConfig.isEmpty() || this.configResolver.resolve(JsfAwareWindowContextConfig.class) == null)
         {
             throw new IllegalStateException("invalid config");
         }
     }
 
-    public boolean isTransactionTokenEnabled()
+    @Override
+    public boolean isInitialRedirectDisable()
     {
-        return this.configResolver.resolve(CodiWebConfig12.class).isTransactionTokenEnabled();
+        return this.configResolver.resolve(JsfAwareWindowContextConfig.class).isInitialRedirectDisable();
     }
 }

Modified: myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/FacesDemoBean.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/FacesDemoBean.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/FacesDemoBean.java (original)
+++ myfaces/extensions/cdi/trunk/examples/jsf-examples/hello_myfaces-codi_jsf12/src/main/java/org/apache/myfaces/examples/codi/jsf12/listener/phase/FacesDemoBean.java Mon Nov  1 23:32:54 2010
@@ -56,7 +56,7 @@ public class FacesDemoBean
     @PostConstruct
     public void triggerInternalDemos()
     {
-        this.configDemoBean.isTransactionTokenEnabled();
+        this.configDemoBean.isInitialRedirectDisable();
     }
 
     //no restriction via @View -> invoked before rendering any view

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=1029892&r1=1029891&r2=1029892&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 Mon Nov  1 23:32:54 2010
@@ -19,7 +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.resolver.BeanValidation;
+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;
 

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/ConfigParameter.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/ConfigParameter.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/ConfigParameter.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/api/src/main/java/org/apache/myfaces/extensions/cdi/jsf/api/ConfigParameter.java Mon Nov  1 23:32:54 2010
@@ -25,10 +25,12 @@ import org.apache.myfaces.extensions.cdi
  */
 public interface ConfigParameter
 {
+    /*
     static final String TRANSACTION_TOKEN_ENABLED =
             CoreCodiConfigParameter.BASE_NAME + "TRANSACTION_TOKEN_ENABLED";
 
     static final Boolean TRANSACTION_TOKEN_ENABLED_DEFAULT = Boolean.FALSE;
+    */
 
     static final String URL_PARAMETER_ENABLED =
             CoreCodiConfigParameter.BASE_NAME + "URL_PARAMETER_ENABLED";

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter1.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter1.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter1.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter1.java Mon Nov  1 23:32:54 2010
@@ -29,8 +29,9 @@ import java.util.Set;
  */
 class TestAccessDecisionVoter1 implements AccessDecisionVoter
 {
-    public void checkPermission(InvocationContext invocationContext, Set<SecurityViolation> violations)
+    public Set<SecurityViolation> checkPermission(InvocationContext invocationContext)
     {
         //do nothing
+        return null;
     }
 }

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter2.java?rev=1029892&r1=1029891&r2=1029892&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter2.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/jsf/test/impl/config/view/TestAccessDecisionVoter2.java Mon Nov  1 23:32:54 2010
@@ -29,8 +29,9 @@ import java.util.Set;
  */
 class TestAccessDecisionVoter2 implements AccessDecisionVoter
 {
-    public void checkPermission(InvocationContext invocationContext, Set<SecurityViolation> violations)
+    public Set<SecurityViolation> checkPermission(InvocationContext invocationContext)
     {
         //do nothing
+        return null;
     }
 }
\ No newline at end of file