You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ke...@apache.org on 2011/10/10 16:52:20 UTC

svn commit: r1181009 - /incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java

Author: kevin
Date: Mon Oct 10 14:52:19 2011
New Revision: 1181009

URL: http://svn.apache.org/viewvc?rev=1181009&view=rev
Log:
ISIS-122: extending BooleanValueSemanticsProviderAbstract to also handle "True" and "False" and not just "T" and "F".

Modified:
    incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java

Modified: incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java?rev=1181009&r1=1181008&r2=1181009&view=diff
==============================================================================
--- incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java (original)
+++ incubator/isis/trunk/framework/core/progmodel/src/main/java/org/apache/isis/core/progmodel/facets/value/booleans/BooleanValueSemanticsProviderAbstract.java Mon Oct 10 14:52:19 2011
@@ -84,17 +84,29 @@ public abstract class BooleanValueSemant
 
     @Override
     protected Boolean doRestore(final String data) {
-        if (data.length() != 1) {
-            throw new IsisException("Invalid data for logical, expected 1 byte, got " + data.length());
-        }
-        switch (data.charAt(0)) {
-            case 'T':
-                return Boolean.TRUE;
-            case 'F':
-                return Boolean.FALSE;
-            default:
-                throw new IsisException("Invalid data for logical, expected 'T', 'F' or 'N, but got " + data.charAt(0));
+        final int dataLength = data.length();
+        if (dataLength == 1) {
+            switch (data.charAt(0)) {
+                case 'T':
+                    return Boolean.TRUE;
+                case 'F':
+                    return Boolean.FALSE;
+                default:
+                    throw new IsisException("Invalid data for logical, expected 'T', 'F' or 'N, but got "
+                        + data.charAt(0));
+            }
+        } else if (dataLength == 4 || dataLength == 5) {
+            switch (data.charAt(0)) {
+                case 't':
+                    return Boolean.TRUE;
+                case 'f':
+                    return Boolean.FALSE;
+                default:
+                    throw new IsisException("Invalid data for logical, expected 'T', 'F' or 'N, but got "
+                        + data.charAt(0));
+            }
         }
+        throw new IsisException("Invalid data for logical, expected 1, 4 or 5 bytes, got " + dataLength + ": " + data);
     }
 
     private boolean isSet(final Object value) {