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) {