rubys       01/07/15 18:44:14

  Modified:    java/src/org/apache/soap/encoding/soapenc
                        BooleanDeserializer.java
  Log:
  Per the spec, 0 and 1 are valid boolean values (and, in fact, are the ones
  used by the WhiteMesa implementation).  I updated the BooleanDeserializer
  to be very liberal in what it will accept.
  
  Revision  Changes    Path
  1.2       +13 -1     
xml-soap/java/src/org/apache/soap/encoding/soapenc/BooleanDeserializer.java
  
  Index: BooleanDeserializer.java
  ===================================================================
  RCS file: 
/home/cvs/xml-soap/java/src/org/apache/soap/encoding/soapenc/BooleanDeserializer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BooleanDeserializer.java  2001/01/09 05:35:26     1.1
  +++ BooleanDeserializer.java  2001/07/16 01:44:14     1.2
  @@ -79,6 +79,18 @@
       Element root = (Element)src;
       String value = DOMUtils.getChildCharacterData(root);
       
  -    return new Bean(boolean.class, new Boolean(value));
  +    if ((value == null) || (value.length() == 0))
  +      throw new IllegalArgumentException("Missing boolean value");
  +
  +    switch (value.charAt(0)) {
  +      case '0': case 'f': case 'F':
  +        return new Bean(boolean.class, Boolean.FALSE);
  +
  +      case '1': case 't': case 'T':
  +        return new Bean(boolean.class, Boolean.TRUE);
  +
  +      default:
  +        throw new IllegalArgumentException("Invalid boolean value: " + value);
  +    }
     }
   }
  
  
  

Reply via email to