You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2012/12/31 02:28:38 UTC

[3/9] git commit: Default all Compatibility Traits to enabled

Default all Compatibility Traits to enabled


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/ceeb8813
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/ceeb8813
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/ceeb8813

Branch: refs/heads/master
Commit: ceeb8813cf273e609b5d85eeecbb1aed2984a61d
Parents: ac34f39
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Sun Dec 30 17:15:04 2012 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Sun Dec 30 17:15:04 2012 -0800

----------------------------------------------------------------------
 .../services/compatibility/CompatibilityImpl.java  |   16 +++++++++++---
 .../services/compatibility/Compatibility.java      |    9 ++++---
 2 files changed, 17 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ceeb8813/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/compatibility/CompatibilityImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/compatibility/CompatibilityImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/compatibility/CompatibilityImpl.java
index 296dd82..63027cf 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/compatibility/CompatibilityImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/compatibility/CompatibilityImpl.java
@@ -17,18 +17,26 @@ package org.apache.tapestry5.internal.services.compatibility;
 import org.apache.tapestry5.services.compatibility.Compatibility;
 import org.apache.tapestry5.services.compatibility.Trait;
 
-import java.util.Collection;
 import java.util.EnumSet;
+import java.util.Map;
 
 public class CompatibilityImpl implements Compatibility
 {
     private final EnumSet<Trait> traits;
 
-    public CompatibilityImpl(Collection<Trait> configuration)
+    public CompatibilityImpl(Map<Trait, Boolean> configuration)
     {
-        traits = EnumSet.noneOf(Trait.class);
+        // Since the default in 5.4 is true, we can just remove those for which the value is false.
 
-        traits.addAll(configuration);
+        traits = EnumSet.allOf(Trait.class);
+
+        for (Map.Entry<Trait, Boolean> entry : configuration.entrySet())
+        {
+            if (entry.getValue().equals(Boolean.FALSE))
+            {
+                traits.remove(entry.getKey());
+            }
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/ceeb8813/tapestry-core/src/main/java/org/apache/tapestry5/services/compatibility/Compatibility.java
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/services/compatibility/Compatibility.java b/tapestry-core/src/main/java/org/apache/tapestry5/services/compatibility/Compatibility.java
index 15685e9..6825282 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/services/compatibility/Compatibility.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/services/compatibility/Compatibility.java
@@ -14,16 +14,17 @@
 
 package org.apache.tapestry5.services.compatibility;
 
-import org.apache.tapestry5.ioc.annotations.UsesConfiguration;
+import org.apache.tapestry5.ioc.annotations.UsesMappedConfiguration;
 
 /**
- * Used globally to track what compatibility traits are enabled.
+ * Used globally to track what compatibility traits are enabled.  By default, in Tapestry 5.4,
+ * all traits are enabled unless explicitly disabled. This behavior may change in Tapestry 5.5.
  * <p/>
- * Temporarily, all traits are enabled.
+ * The configuration allows traits to be explicitly enabled or disabled.
  *
  * @since 5.4
  */
-@UsesConfiguration(Trait.class)
+@UsesMappedConfiguration(key = Trait.class, value = Boolean.class)
 public interface Compatibility
 {
     /**