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 }