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:57 UTC

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

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>.