Merge of work on default branch MutableArrays
authorJaroslav Tulach <jtulach@netbeans.org>
Tue, 26 Aug 2014 17:34:03 +0200
branchMutableArrays
changeset 8291baad5268149
parent 827 410ac5c0f39a
parent 828 c803e26d3942
child 830 861f15abe944
Merge of work on default branch
json/src/main/java/org/netbeans/html/json/impl/ModelProcessor.java
     1.1 --- a/json/src/main/java/org/netbeans/html/json/impl/ModelProcessor.java	Tue Aug 26 17:32:42 2014 +0200
     1.2 +++ b/json/src/main/java/org/netbeans/html/json/impl/ModelProcessor.java	Tue Aug 26 17:34:03 2014 +0200
     1.3 @@ -655,8 +655,13 @@
     1.4                  } else if (isModel(toCheck)) {
     1.5                      // OK
     1.6                  } else {
     1.7 -                    ok = false;
     1.8 -                    error(sn + " cannot return " + toCheck, e);
     1.9 +                    try {
    1.10 +                        tu.unboxedType(toCheck);
    1.11 +                        // boxed types are OK
    1.12 +                    } catch (IllegalArgumentException ex) {
    1.13 +                        ok = false;
    1.14 +                        error(sn + " cannot return " + toCheck, e);
    1.15 +                    }
    1.16                  }
    1.17              }
    1.18              
     2.1 --- a/json/src/test/java/net/java/html/json/PrimitiveArrayTest.java	Tue Aug 26 17:32:42 2014 +0200
     2.2 +++ b/json/src/test/java/net/java/html/json/PrimitiveArrayTest.java	Tue Aug 26 17:34:03 2014 +0200
     2.3 @@ -42,6 +42,7 @@
     2.4   */
     2.5  package net.java.html.json;
     2.6  
     2.7 +import java.util.Collections;
     2.8  import java.util.List;
     2.9  import org.testng.Assert;
    2.10  import org.testng.annotations.Test;
    2.11 @@ -57,6 +58,14 @@
    2.12      @ComputedProperty static int length(List<Byte> array) {
    2.13          return array.size();
    2.14      }
    2.15 +
    2.16 +    @ComputedProperty static List<Integer> lengthAsList(List<Byte> array) {
    2.17 +        return Collections.nCopies(1, array.size());
    2.18 +    }
    2.19 +
    2.20 +    @ComputedProperty static List<String> lengthTextList(List<Byte> array) {
    2.21 +        return Collections.nCopies(1, "" + array.size());
    2.22 +    }
    2.23      
    2.24      @Test public void generatedConstructorWithPrimitiveType() {
    2.25          byte[] arr = new byte[10];
    2.26 @@ -65,5 +74,7 @@
    2.27          Assert.assertEquals(a.getArray().size(), 10, "Ten elements");
    2.28          Assert.assertEquals(a.getArray().get(3).byteValue(), 10, "Value ten");
    2.29          Assert.assertEquals(a.getLength(), 10, "Derived property is OK too");
    2.30 +        Assert.assertEquals(a.getLengthTextList().get(0), "10", "Derived string list property is OK");
    2.31 +        Assert.assertEquals((int)a.getLengthAsList().get(0), 10, "Derived Integer list property is OK");
    2.32      }
    2.33  }