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
{
/**