1.1 --- a/javaquery/demo-twitter/nbactions.xml Fri Apr 26 13:48:36 2013 +0200
1.2 +++ b/javaquery/demo-twitter/nbactions.xml Fri Apr 26 13:51:15 2013 +0200
1.3 @@ -23,7 +23,7 @@
1.4 <actionName>run</actionName>
1.5 <goals>
1.6 <goal>process-classes</goal>
1.7 - <goal>org.apidesign.bck2brwsr:mojo:0.6-SNAPSHOT:brwsr</goal>
1.8 + <goal>org.apidesign.bck2brwsr:mojo:0.7-SNAPSHOT:brwsr</goal>
1.9 </goals>
1.10 </action>
1.11 </actions>
2.1 --- a/javaquery/demo-twitter/pom.xml Fri Apr 26 13:48:36 2013 +0200
2.2 +++ b/javaquery/demo-twitter/pom.xml Fri Apr 26 13:51:15 2013 +0200
2.3 @@ -128,6 +128,7 @@
2.4 <groupId>org.apidesign.bck2brwsr</groupId>
2.5 <artifactId>javaquery.api</artifactId>
2.6 <version>0.7-SNAPSHOT</version>
2.7 + <scope>runtime</scope>
2.8 </dependency>
2.9 <dependency>
2.10 <groupId>org.testng</groupId>
2.11 @@ -141,5 +142,11 @@
2.12 <version>0.7-SNAPSHOT</version>
2.13 <scope>test</scope>
2.14 </dependency>
2.15 + <dependency>
2.16 + <groupId>org.apidesign.html</groupId>
2.17 + <artifactId>net.java.html.json</artifactId>
2.18 + <version>0.1-SNAPSHOT</version>
2.19 + <type>jar</type>
2.20 + </dependency>
2.21 </dependencies>
2.22 </project>
3.1 --- a/javaquery/demo-twitter/src/main/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClient.java Fri Apr 26 13:48:36 2013 +0200
3.2 +++ b/javaquery/demo-twitter/src/main/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClient.java Fri Apr 26 13:51:15 2013 +0200
3.3 @@ -19,16 +19,19 @@
3.4
3.5 import java.util.Arrays;
3.6 import java.util.List;
3.7 -import org.apidesign.bck2brwsr.htmlpage.api.*;
3.8 -import org.apidesign.bck2brwsr.htmlpage.api.Page;
3.9 -import org.apidesign.bck2brwsr.htmlpage.api.Property;
3.10 -import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
3.11 +import net.java.html.json.ComputedProperty;
3.12 +import net.java.html.json.Context;
3.13 +import net.java.html.json.Function;
3.14 +import net.java.html.json.Model;
3.15 +import net.java.html.json.OnPropertyChange;
3.16 +import net.java.html.json.OnReceive;
3.17 +import net.java.html.json.Property;
3.18
3.19 /** Controller class for access to Twitter.
3.20 *
3.21 * @author Jaroslav Tulach
3.22 */
3.23 -@Page(xhtml="index.html", className="TwitterModel", properties={
3.24 +@Model(className="TwitterModel", properties={
3.25 @Property(name="savedLists", type=Tweeters.class, array = true),
3.26 @Property(name="activeTweetersName", type=String.class),
3.27 @Property(name="activeTweeters", type=String.class, array = true),
3.28 @@ -106,8 +109,9 @@
3.29 model.queryTweets("http://search.twitter.com", sb.toString());
3.30 }
3.31
3.32 + private static final Context DEFAULT = Context.findDefault(TwitterClient.class);
3.33 static {
3.34 - final TwitterModel model = new TwitterModel();
3.35 + final TwitterModel model = new TwitterModel(DEFAULT);
3.36 final List<Tweeters> svdLst = model.getSavedLists();
3.37 svdLst.add(newTweeters("API Design", "JaroslavTulach"));
3.38 svdLst.add(newTweeters("Celebrities", "JohnCleese", "MCHammer", "StephenFry", "algore", "StevenSanderson"));
3.39 @@ -143,19 +147,19 @@
3.40 !activeTweeters.contains(userNameToAdd);
3.41 }
3.42
3.43 - @OnFunction
3.44 + @Function
3.45 static void deleteList(TwitterModel model) {
3.46 final List<Tweeters> sl = model.getSavedLists();
3.47 sl.remove(findByName(sl, model.getActiveTweetersName()));
3.48 if (sl.isEmpty()) {
3.49 - final Tweeters t = new Tweeters();
3.50 + final Tweeters t = new Tweeters(DEFAULT);
3.51 t.setName("New");
3.52 sl.add(t);
3.53 }
3.54 model.setActiveTweetersName(sl.get(0).getName());
3.55 }
3.56
3.57 - @OnFunction
3.58 + @Function
3.59 static void saveChanges(TwitterModel model) {
3.60 Tweeters t = findByName(model.getSavedLists(), model.getActiveTweetersName());
3.61 int indx = model.getSavedLists().indexOf(t);
3.62 @@ -166,12 +170,12 @@
3.63 }
3.64 }
3.65
3.66 - @OnFunction
3.67 + @Function
3.68 static void addUser(TwitterModel model) {
3.69 String n = model.getUserNameToAdd();
3.70 model.getActiveTweeters().add(n);
3.71 }
3.72 - @OnFunction
3.73 + @Function
3.74 static void removeUser(String data, TwitterModel model) {
3.75 model.getActiveTweeters().remove(data);
3.76 }
3.77 @@ -182,11 +186,11 @@
3.78 return l;
3.79 }
3.80 }
3.81 - return list.isEmpty() ? new Tweeters() : list.get(0);
3.82 + return list.isEmpty() ? new Tweeters(DEFAULT) : list.get(0);
3.83 }
3.84
3.85 private static Tweeters newTweeters(String listName, String... userNames) {
3.86 - Tweeters t = new Tweeters();
3.87 + Tweeters t = new Tweeters(DEFAULT);
3.88 t.setName(listName);
3.89 t.getUserNames().addAll(Arrays.asList(userNames));
3.90 return t;
4.1 --- a/javaquery/demo-twitter/src/test/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClientTest.java Fri Apr 26 13:48:36 2013 +0200
4.2 +++ b/javaquery/demo-twitter/src/test/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClientTest.java Fri Apr 26 13:51:15 2013 +0200
4.3 @@ -18,6 +18,7 @@
4.4 package org.apidesign.bck2brwsr.demo.twitter;
4.5
4.6 import java.util.List;
4.7 +import net.java.html.json.Context;
4.8 import static org.testng.Assert.*;
4.9 import org.testng.annotations.BeforeMethod;
4.10 import org.testng.annotations.Test;
4.11 @@ -32,12 +33,12 @@
4.12
4.13 @BeforeMethod
4.14 public void initModel() {
4.15 - model = new TwitterModel().applyBindings();
4.16 + model = new TwitterModel(Context.EMPTY);
4.17 }
4.18
4.19 @Test public void testIsValidToAdd() {
4.20 model.setUserNameToAdd("Joe");
4.21 - Tweeters t = new Tweeters();
4.22 + Tweeters t = new Tweeters(Context.EMPTY);
4.23 t.setName("test");
4.24 model.getSavedLists().add(t);
4.25 model.setActiveTweetersName("test");
5.1 --- a/javaquery/demo-twitter/src/test/java/org/apidesign/bck2brwsr/demo/twitter/TwitterProtocolTest.java Fri Apr 26 13:48:36 2013 +0200
5.2 +++ b/javaquery/demo-twitter/src/test/java/org/apidesign/bck2brwsr/demo/twitter/TwitterProtocolTest.java Fri Apr 26 13:51:15 2013 +0200
5.3 @@ -17,6 +17,7 @@
5.4 */
5.5 package org.apidesign.bck2brwsr.demo.twitter;
5.6
5.7 +import net.java.html.json.Context;
5.8 import org.apidesign.bck2brwsr.vmtest.BrwsrTest;
5.9 import org.apidesign.bck2brwsr.vmtest.Http;
5.10 import org.apidesign.bck2brwsr.vmtest.VMTest;
5.11 @@ -73,7 +74,7 @@
5.12 ))
5.13 @BrwsrTest public void readFromTwttr() throws InterruptedException {
5.14 if (page == null) {
5.15 - page = new TwitterModel();
5.16 + page = new TwitterModel(Context.findDefault(TwitterProtocolTest.class));
5.17 page.applyBindings();
5.18 page.queryTweets("", "q=xyz");
5.19 }