javaquery/demo-twitter/src/main/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClient.java
1.1 --- a/javaquery/demo-twitter/src/main/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClient.java Wed Apr 10 09:55:26 2013 +0200
1.2 +++ b/javaquery/demo-twitter/src/main/java/org/apidesign/bck2brwsr/demo/twitter/TwitterClient.java Fri Apr 26 13:51:15 2013 +0200
1.3 @@ -19,16 +19,19 @@
1.4
1.5 import java.util.Arrays;
1.6 import java.util.List;
1.7 -import org.apidesign.bck2brwsr.htmlpage.api.*;
1.8 -import org.apidesign.bck2brwsr.htmlpage.api.Page;
1.9 -import org.apidesign.bck2brwsr.htmlpage.api.Property;
1.10 -import org.apidesign.bck2brwsr.htmlpage.api.ComputedProperty;
1.11 +import net.java.html.json.ComputedProperty;
1.12 +import net.java.html.json.Context;
1.13 +import net.java.html.json.Function;
1.14 +import net.java.html.json.Model;
1.15 +import net.java.html.json.OnPropertyChange;
1.16 +import net.java.html.json.OnReceive;
1.17 +import net.java.html.json.Property;
1.18
1.19 /** Controller class for access to Twitter.
1.20 *
1.21 * @author Jaroslav Tulach
1.22 */
1.23 -@Page(xhtml="index.html", className="TwitterModel", properties={
1.24 +@Model(className="TwitterModel", properties={
1.25 @Property(name="savedLists", type=Tweeters.class, array = true),
1.26 @Property(name="activeTweetersName", type=String.class),
1.27 @Property(name="activeTweeters", type=String.class, array = true),
1.28 @@ -106,8 +109,9 @@
1.29 model.queryTweets("http://search.twitter.com", sb.toString());
1.30 }
1.31
1.32 + private static final Context DEFAULT = Context.findDefault(TwitterClient.class);
1.33 static {
1.34 - final TwitterModel model = new TwitterModel();
1.35 + final TwitterModel model = new TwitterModel(DEFAULT);
1.36 final List<Tweeters> svdLst = model.getSavedLists();
1.37 svdLst.add(newTweeters("API Design", "JaroslavTulach"));
1.38 svdLst.add(newTweeters("Celebrities", "JohnCleese", "MCHammer", "StephenFry", "algore", "StevenSanderson"));
1.39 @@ -143,19 +147,19 @@
1.40 !activeTweeters.contains(userNameToAdd);
1.41 }
1.42
1.43 - @OnFunction
1.44 + @Function
1.45 static void deleteList(TwitterModel model) {
1.46 final List<Tweeters> sl = model.getSavedLists();
1.47 sl.remove(findByName(sl, model.getActiveTweetersName()));
1.48 if (sl.isEmpty()) {
1.49 - final Tweeters t = new Tweeters();
1.50 + final Tweeters t = new Tweeters(DEFAULT);
1.51 t.setName("New");
1.52 sl.add(t);
1.53 }
1.54 model.setActiveTweetersName(sl.get(0).getName());
1.55 }
1.56
1.57 - @OnFunction
1.58 + @Function
1.59 static void saveChanges(TwitterModel model) {
1.60 Tweeters t = findByName(model.getSavedLists(), model.getActiveTweetersName());
1.61 int indx = model.getSavedLists().indexOf(t);
1.62 @@ -166,12 +170,12 @@
1.63 }
1.64 }
1.65
1.66 - @OnFunction
1.67 + @Function
1.68 static void addUser(TwitterModel model) {
1.69 String n = model.getUserNameToAdd();
1.70 model.getActiveTweeters().add(n);
1.71 }
1.72 - @OnFunction
1.73 + @Function
1.74 static void removeUser(String data, TwitterModel model) {
1.75 model.getActiveTweeters().remove(data);
1.76 }
1.77 @@ -182,11 +186,11 @@
1.78 return l;
1.79 }
1.80 }
1.81 - return list.isEmpty() ? new Tweeters() : list.get(0);
1.82 + return list.isEmpty() ? new Tweeters(DEFAULT) : list.get(0);
1.83 }
1.84
1.85 private static Tweeters newTweeters(String listName, String... userNames) {
1.86 - Tweeters t = new Tweeters();
1.87 + Tweeters t = new Tweeters(DEFAULT);
1.88 t.setName(listName);
1.89 t.getUserNames().addAll(Arrays.asList(userNames));
1.90 return t;