You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by jt...@apache.org on 2017/10/24 14:14:55 UTC

[incubator-netbeans-html4j] branch master updated (c705a3d -> 35d4422)

This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git.


    from c705a3d  Test API against version 1.5 now when it has been released
     new 62202b0  Using JSON library from Android SDK licensed under Apache License 2.0
     new ce34df6  It is acceptable to read properties while computing a @ComputedProperty
     new f461c37  Regular subclassing of Proto.Type is possible
     new 35d4422  NETBEANS-89 & co. Using Apache licensed org.json API.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 DEPENDENCIES                                       |  8 +--
 .../java/org/netbeans/html/json/spi/Observers.java |  1 -
 .../java/org/netbeans/html/json/spi/Proto.java     | 10 +---
 .../test/java/net/java/html/json/ModelTest.java    | 14 ++---
 .../test/java/net/java/html/json/TypesTest.java    | 69 ++++++++++++++++++----
 ko-felix-test/pom.xml                              |  4 +-
 ko-osgi-test/pom.xml                               |  4 +-
 ko-ws-tyrus/pom.xml                                |  4 +-
 .../java/org/netbeans/html/wstyrus/LoadJSON.java   | 20 +++----
 pom.xml                                            |  6 +-
 src/main/javadoc/overview.html                     | 10 ++++
 11 files changed, 92 insertions(+), 58 deletions(-)

-- 
To stop receiving notification emails like this one, please contact
['"commits@netbeans.apache.org" <co...@netbeans.apache.org>'].

[incubator-netbeans-html4j] 04/04: NETBEANS-89 & co. Using Apache licensed org.json API.

Posted by jt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git

commit 35d4422a31b2f5fcc5abd64900a551cb5ebf5738
Merge: c705a3d f461c37
Author: Jaroslav Tulach <ja...@oracle.com>
AuthorDate: Tue Oct 24 16:12:54 2017 +0200

    NETBEANS-89 & co. Using Apache licensed org.json API.

 DEPENDENCIES                                       |  8 +--
 .../java/org/netbeans/html/json/spi/Observers.java |  1 -
 .../java/org/netbeans/html/json/spi/Proto.java     | 10 +---
 .../test/java/net/java/html/json/ModelTest.java    | 14 ++---
 .../test/java/net/java/html/json/TypesTest.java    | 69 ++++++++++++++++++----
 ko-felix-test/pom.xml                              |  4 +-
 ko-osgi-test/pom.xml                               |  4 +-
 ko-ws-tyrus/pom.xml                                |  4 +-
 .../java/org/netbeans/html/wstyrus/LoadJSON.java   | 20 +++----
 pom.xml                                            |  6 +-
 src/main/javadoc/overview.html                     | 10 ++++
 11 files changed, 92 insertions(+), 58 deletions(-)


-- 
To stop receiving notification emails like this one, please contact
"commits@netbeans.apache.org" <co...@netbeans.apache.org>.

[incubator-netbeans-html4j] 03/04: Regular subclassing of Proto.Type is possible

Posted by jt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git

commit f461c370b8a4b3be47349bcd31466b1fe09d4083
Author: Jaroslav Tulach <ja...@oracle.com>
AuthorDate: Wed Oct 18 04:38:29 2017 +0200

    Regular subclassing of Proto.Type is possible
---
 .../java/org/netbeans/html/json/spi/Proto.java     | 10 +---
 .../test/java/net/java/html/json/TypesTest.java    | 69 ++++++++++++++++++----
 src/main/javadoc/overview.html                     |  2 +
 3 files changed, 60 insertions(+), 21 deletions(-)

diff --git a/json/src/main/java/org/netbeans/html/json/spi/Proto.java b/json/src/main/java/org/netbeans/html/json/spi/Proto.java
index 6f9065f..d54cf58 100644
--- a/json/src/main/java/org/netbeans/html/json/spi/Proto.java
+++ b/json/src/main/java/org/netbeans/html/json/spi/Proto.java
@@ -526,7 +526,7 @@ public final class Proto {
      * @since 0.7
      */
     public static abstract class Type<Model> {
-        private final Class<Model> clazz;
+        private final Class<? extends Model> clazz;
         private final String[] propertyNames;
         private final byte[] propertyType;
         private final String[] functions;
@@ -540,14 +540,8 @@ public final class Proto {
          * @param functions  number of functions the class has
          */
         protected Type(
-            Class<Model> clazz, Class<?> modelFor, int properties, int functions
+            Class<? extends Model> clazz, Class<?> modelFor, int properties, int functions
         ) {
-            assert getClass().getName().endsWith("$Html4JavaType");
-            try {
-                assert getClass().getDeclaringClass() == clazz;
-            } catch (SecurityException ex) {
-                // OK, no check
-            }
             this.clazz = clazz;
             this.propertyNames = new String[properties];
             this.propertyType = new byte[properties];
diff --git a/json/src/test/java/net/java/html/json/TypesTest.java b/json/src/test/java/net/java/html/json/TypesTest.java
index 432885b..465c752 100644
--- a/json/src/test/java/net/java/html/json/TypesTest.java
+++ b/json/src/test/java/net/java/html/json/TypesTest.java
@@ -20,13 +20,12 @@ package net.java.html.json;
 
 import net.java.html.BrwsrCtx;
 import java.util.Map;
-import java.util.logging.Level;
-import java.util.logging.Logger;
 import javax.script.ScriptEngine;
 import javax.script.ScriptEngineManager;
 import javax.script.ScriptException;
 import net.java.html.json.MapModelTest.One;
 import org.netbeans.html.context.spi.Contexts;
+import org.netbeans.html.json.spi.Proto;
 import org.netbeans.html.json.spi.Technology;
 import org.netbeans.html.json.spi.Transfer;
 import org.testng.annotations.BeforeMethod;
@@ -57,18 +56,18 @@ public class TypesTest {
         c = Contexts.newBuilder().register(Technology.class, t, 1).
             register(Transfer.class, t, 1).build();
     }
-    @Function static void readFromEvent(int intX, 
-        byte byteX, 
-        short shortX, long longX, float floatX, 
+    @Function static void readFromEvent(int intX,
+        byte byteX,
+        short shortX, long longX, float floatX,
         boolean boolX,
         char charX,
         double doubleX,
         String StringX, Types myModel) {
-        
+
         myModel.setIntX(intX);
         myModel.setDoubleX(doubleX);
         myModel.setStringX(StringX);
-        
+
         myModel.setByteX(byteX);
         myModel.setShortX(shortX);
         myModel.setLongX(longX);
@@ -76,7 +75,7 @@ public class TypesTest {
         myModel.setBoolX(boolX);
         myModel.setCharX(charX);
     }
-    
+
     @Test public void canParseEventAttributes() {
         Types t = Models.bind(new Types(), c);
         t.setIntX(33);
@@ -88,16 +87,16 @@ public class TypesTest {
         t.setLongX(66);
         t.setFloatX(99f);
         t.setBoolX(true);
-        
+
         assertValidJSON(t.toString());
-        
+
         Object json = Models.toRaw(t);
-        
+
         Types copy = Models.bind(new Types(), c);
         Map copyMap = (Map) Models.toRaw(copy);
         One o = (One) copyMap.get("readFromEvent");
         o.fb.call(null, json);
-        
+
         assertEquals(copy.getIntX(), 33);
         assertEquals(copy.getDoubleX(), 180.5);
         assertEquals(copy.getStringX(), "Ahoj");
@@ -108,7 +107,7 @@ public class TypesTest {
         assertTrue(copy.isBoolX());
         assertEquals(copy.getCharX(), 'A');
     }
-    
+
     private static void assertValidJSON(String text) {
         ScriptEngineManager sem = new ScriptEngineManager();
         ScriptEngine eng = sem.getEngineByMimeType("text/javascript");
@@ -118,4 +117,48 @@ public class TypesTest {
             fail("Cannot parse " + text, ex);
         }
     }
+
+    @Test
+    public void subclassOfProtoType() {
+        class MyType extends Proto.Type<Number> {
+            public MyType() {
+                super(Integer.class, Integer.class, 0, 0);
+            }
+
+            @Override
+            protected void setValue(Number model, int index, Object value) {
+            }
+
+            @Override
+            protected Object getValue(Number model, int index) {
+                return null;
+            }
+
+            @Override
+            protected void call(Number model, int index, Object data, Object event) throws Exception {
+            }
+
+            @Override
+            protected Number cloneTo(Number model, BrwsrCtx ctx) {
+                return model;
+            }
+
+            @Override
+            protected Number read(BrwsrCtx c, Object json) {
+                return null;
+            }
+
+            @Override
+            protected void onChange(Number model, int index) {
+            }
+
+            @Override
+            protected Proto protoFor(Object object) {
+                return null;
+            }
+        }
+
+        MyType type = new MyType();
+        assertNotNull(type, "Can be instantiated");
+    }
 }
diff --git a/src/main/javadoc/overview.html b/src/main/javadoc/overview.html
index b894c78..9bdbc8b 100644
--- a/src/main/javadoc/overview.html
+++ b/src/main/javadoc/overview.html
@@ -58,6 +58,8 @@
         bug <a target="_blank" href="https://issues.apache.org/jira/browse/NETBEANS-89">#89</a>.
         It is acceptable to read properties of a model when
         {@link net.java.html.json.ComputedProperty computing a property}.
+        Regular subclassing of {@link org.netbeans.html.json.spi.Proto.Type} is
+        possible.
         
         <h3>New in version 1.5</h3>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@netbeans.apache.org" <co...@netbeans.apache.org>.

[incubator-netbeans-html4j] 02/04: It is acceptable to read properties while computing a @ComputedProperty

Posted by jt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git

commit ce34df620771e96f782ee075b7a93cac19a9139c
Author: Jaroslav Tulach <ja...@oracle.com>
AuthorDate: Wed Oct 18 04:27:19 2017 +0200

    It is acceptable to read properties while computing a @ComputedProperty
---
 .../main/java/org/netbeans/html/json/spi/Observers.java    |  1 -
 json/src/test/java/net/java/html/json/ModelTest.java       | 14 +++++---------
 src/main/javadoc/overview.html                             |  2 ++
 3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/json/src/main/java/org/netbeans/html/json/spi/Observers.java b/json/src/main/java/org/netbeans/html/json/spi/Observers.java
index 0728f1a..19f6b16 100644
--- a/json/src/main/java/org/netbeans/html/json/spi/Observers.java
+++ b/json/src/main/java/org/netbeans/html/json/spi/Observers.java
@@ -58,7 +58,6 @@ final class Observers {
 
     static void accessingValue(Proto p, String propName) {
         synchronized (GLOBAL) {
-            verifyUnlocked(p);
             for (Watcher w : GLOBAL) {
                 Observers mine = p.observers(true);
                 mine.add(w, new Ref(w, propName));
diff --git a/json/src/test/java/net/java/html/json/ModelTest.java b/json/src/test/java/net/java/html/json/ModelTest.java
index b7e5268..ce19ff5 100644
--- a/json/src/test/java/net/java/html/json/ModelTest.java
+++ b/json/src/test/java/net/java/html/json/ModelTest.java
@@ -206,14 +206,10 @@ public class ModelTest {
         }
     }
 
-    @Test public void computedPropertyCannotReadToModel() {
+    @Test public void computedPropertyReadToModel() {
         leakedModel = model;
-        try {
-            String res = model.getNotAllowedRead();
-            fail("We should not be allowed to read from the model: " + res);
-        } catch (IllegalStateException ex) {
-            // OK, we can't read
-        }
+        String res = model.getAllowedRead();
+        assertEquals("Allowed: " + model.getUnrelated(), res);
     }
 
     @OnReceive(url = "{protocol}://{host}?query={query}", data = Person.class, onError = "errorState")
@@ -303,8 +299,8 @@ public class ModelTest {
     }
 
     @ComputedProperty
-    static String notAllowedRead() {
-        return "Not allowed callback: " + leakedModel.getUnrelated();
+    static String allowedRead() {
+        return "Allowed: " + leakedModel.getUnrelated();
     }
 
     @ComputedProperty
diff --git a/src/main/javadoc/overview.html b/src/main/javadoc/overview.html
index 88f9bb9..b894c78 100644
--- a/src/main/javadoc/overview.html
+++ b/src/main/javadoc/overview.html
@@ -56,6 +56,8 @@
         Using <a target="_blank" href="http://search.maven.org/#artifactdetails%7Ccom.vaadin.external.google%7Candroid-json%7C0.0.20131108.vaadin1%7Cjar">Android JSON</a>
         parsing library as it is Apache licensed - 
         bug <a target="_blank" href="https://issues.apache.org/jira/browse/NETBEANS-89">#89</a>.
+        It is acceptable to read properties of a model when
+        {@link net.java.html.json.ComputedProperty computing a property}.
         
         <h3>New in version 1.5</h3>
 

-- 
To stop receiving notification emails like this one, please contact
"commits@netbeans.apache.org" <co...@netbeans.apache.org>.

[incubator-netbeans-html4j] 01/04: Using JSON library from Android SDK licensed under Apache License 2.0

Posted by jt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jtulach pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-netbeans-html4j.git

commit 62202b0d491229ddf635cc69bb6e69e13a35d613
Author: Jaroslav Tulach <ja...@oracle.com>
AuthorDate: Wed Oct 18 04:14:24 2017 +0200

    Using JSON library from Android SDK licensed under Apache License 2.0
---
 DEPENDENCIES                                         |  8 ++------
 ko-felix-test/pom.xml                                |  4 ++--
 ko-osgi-test/pom.xml                                 |  4 ++--
 ko-ws-tyrus/pom.xml                                  |  4 ++--
 .../java/org/netbeans/html/wstyrus/LoadJSON.java     | 20 ++++++++------------
 pom.xml                                              |  6 +++---
 src/main/javadoc/overview.html                       |  6 ++++++
 7 files changed, 25 insertions(+), 27 deletions(-)

diff --git a/DEPENDENCIES b/DEPENDENCIES
index ba9ae29..4eb2c35 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -7,8 +7,8 @@ HTML APIs via Java
 
 
 From: 'an unknown organization'
-  - OSGi json classes (http://wiki.twentyeleven.de/org.json-osgi) de.twentyeleven.skysail:org.json-osgi:bundle:20080701
-    License: Apache 2  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+  - JSON library from Android SDK (http://developer.android.com/sdk) com.vaadin.external.google:android-json:jar:0.0.20131108.vaadin1
+    License: Apache License 2.0  (http://www.apache.org/licenses/LICENSE-2.0)
   - Eclipse Equinox OSGi Framework (http://www.eclipse.org/equinox/) org.eclipse:org.eclipse.osgi:jar:3.8.0.v20120529-1548
     License: Eclipse Public License  (http://www.eclipse.org/legal/epl-v10.html)
   - Plexus Cipher: encryption/decryption Component (http://spice.sonatype.org/plexus-cipher) org.sonatype.plexus:plexus-cipher:jar:1.4
@@ -32,10 +32,6 @@ From: 'Google, Inc.' (http://www.google.com)
   - Sisu Guice - Core Library (http://code.google.com/p/google-guice/sisu-guice/) org.sonatype.sisu:sisu-guice:jar:3.1.0
     License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
 
-From: 'JSON' (http://json.org/)
-  - JSON (JavaScript Object Notation) (http://www.json.org/java/index.html) org.json:json:jar:20080701
-    License: provided without support or warranty  (http://www.json.org/license.html)
-
 From: 'ObjectWeb' (http://www.objectweb.org/)
   - ASM Debug All (http://asm.objectweb.org/asm-debug-all/) org.ow2.asm:asm-debug-all:jar:5.0.3
     License: BSD  (http://asm.objectweb.org/license.html)
diff --git a/ko-felix-test/pom.xml b/ko-felix-test/pom.xml
index cdc91ff..1f8f74b 100644
--- a/ko-felix-test/pom.xml
+++ b/ko-felix-test/pom.xml
@@ -78,8 +78,8 @@
             <systemPath>${jfxrt.jar}</systemPath>
         </dependency>
         <dependency>
-            <groupId>de.twentyeleven.skysail</groupId>
-            <artifactId>org.json-osgi</artifactId>
+            <groupId>com.vaadin.external.google</groupId>
+            <artifactId>android-json</artifactId>
         </dependency>
         <dependency>
             <groupId>org.netbeans.html</groupId>
diff --git a/ko-osgi-test/pom.xml b/ko-osgi-test/pom.xml
index 4990cb0..c934edd 100644
--- a/ko-osgi-test/pom.xml
+++ b/ko-osgi-test/pom.xml
@@ -77,8 +77,8 @@
             <systemPath>${jfxrt.jar}</systemPath>
         </dependency>
         <dependency>
-            <groupId>de.twentyeleven.skysail</groupId>
-            <artifactId>org.json-osgi</artifactId>
+            <groupId>com.vaadin.external.google</groupId>
+            <artifactId>android-json</artifactId>
         </dependency>
         <dependency>
             <groupId>org.netbeans.html</groupId>
diff --git a/ko-ws-tyrus/pom.xml b/ko-ws-tyrus/pom.xml
index 82de6b2..b0bf25c 100644
--- a/ko-ws-tyrus/pom.xml
+++ b/ko-ws-tyrus/pom.xml
@@ -78,8 +78,8 @@
       <type>jar</type>
     </dependency>
     <dependency>
-        <groupId>de.twentyeleven.skysail</groupId>
-        <artifactId>org.json-osgi</artifactId>
+        <groupId>com.vaadin.external.google</groupId>
+        <artifactId>android-json</artifactId>
     </dependency>
     <dependency>
       <artifactId>javax.websocket-api</artifactId>
diff --git a/ko-ws-tyrus/src/main/java/org/netbeans/html/wstyrus/LoadJSON.java b/ko-ws-tyrus/src/main/java/org/netbeans/html/wstyrus/LoadJSON.java
index 39cad2b..403b169 100644
--- a/ko-ws-tyrus/src/main/java/org/netbeans/html/wstyrus/LoadJSON.java
+++ b/ko-ws-tyrus/src/main/java/org/netbeans/html/wstyrus/LoadJSON.java
@@ -185,20 +185,16 @@ final class LoadJSON implements Runnable {
 
     private static JSONTokener createTokener(InputStream is) throws IOException {
         Reader r = new InputStreamReader(is, "UTF-8");
-        try {
-            return new JSONTokener(r);
-        } catch (LinkageError ex) {
-            // phones may carry outdated version of JSONTokener
-            StringBuilder sb = new StringBuilder();
-            for (;;) {
-                int ch = r.read();
-                if (ch == -1) {
-                    break;
-                }
-                sb.append((char)ch);
+        StringBuilder sb = new StringBuilder();
+        char[] arr = new char[4096];
+        for (;;) {
+            int len = r.read(arr);
+            if (len == -1) {
+                break;
             }
-            return new JSONTokener(sb.toString());
+            sb.append(arr, 0, len);
         }
+        return new JSONTokener(sb.toString());
     }
 
     static Object convertToArray(Object o) throws JSONException {
diff --git a/pom.xml b/pom.xml
index a9d8479..d989cd2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -341,9 +341,9 @@ org.netbeans.html.boot.impl:org.netbeans.html.boot.fx:org.netbeans.html.context.
           </exclusions>
         </dependency>
         <dependency>
-            <groupId>de.twentyeleven.skysail</groupId>
-            <artifactId>org.json-osgi</artifactId>
-            <version>20080701</version>
+            <groupId>com.vaadin.external.google</groupId>
+            <artifactId>android-json</artifactId>
+            <version>0.0.20131108.vaadin1</version>
         </dependency>
         <dependency>
             <groupId>org.ow2.asm</groupId>
diff --git a/src/main/javadoc/overview.html b/src/main/javadoc/overview.html
index d3ef56d..88f9bb9 100644
--- a/src/main/javadoc/overview.html
+++ b/src/main/javadoc/overview.html
@@ -51,6 +51,12 @@
          yet the application code can be written in Java.
         </p>
 
+        <h3>New in version 1.5.1</h3>
+        
+        Using <a target="_blank" href="http://search.maven.org/#artifactdetails%7Ccom.vaadin.external.google%7Candroid-json%7C0.0.20131108.vaadin1%7Cjar">Android JSON</a>
+        parsing library as it is Apache licensed - 
+        bug <a target="_blank" href="https://issues.apache.org/jira/browse/NETBEANS-89">#89</a>.
+        
         <h3>New in version 1.5</h3>
 
         <p>

-- 
To stop receiving notification emails like this one, please contact
"commits@netbeans.apache.org" <co...@netbeans.apache.org>.