You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by mg...@apache.org on 2015/01/12 12:54:37 UTC

isis git commit: ISIS-1008 A dummy demo of downloading a ToDo as a JSON in an Ajax request.

Repository: isis
Updated Branches:
  refs/heads/ISIS-1008-stream-lobs-in-ajax 988b77cee -> c896fc0a0


ISIS-1008 A dummy demo of downloading a ToDo as a JSON in an Ajax request.

The action requires a mandatory comment parameter to trigger an action prompt (thus Ajaxy)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/c896fc0a
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/c896fc0a
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/c896fc0a

Branch: refs/heads/ISIS-1008-stream-lobs-in-ajax
Commit: c896fc0a0da8aa84c8c6dad727c31b25946faaab
Parents: 988b77c
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Jan 12 13:53:03 2015 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Jan 12 13:53:03 2015 +0200

----------------------------------------------------------------------
 .../dom/src/main/java/dom/todo/ToDoItem.java    | 23 ++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/c896fc0a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
----------------------------------------------------------------------
diff --git a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
index 5fd005e..7ab5fff 100644
--- a/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
+++ b/example/application/todoapp/dom/src/main/java/dom/todo/ToDoItem.java
@@ -29,13 +29,11 @@ import java.util.List;
 import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
+
 import javax.jdo.JDOHelper;
 import javax.jdo.annotations.IdentityType;
 import javax.jdo.annotations.VersionStrategy;
-import com.google.common.base.Objects;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Ordering;
-import org.joda.time.LocalDate;
+
 import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.NonRecoverableException;
@@ -71,6 +69,11 @@ import org.apache.isis.applib.util.ObjectContracts;
 import org.apache.isis.applib.util.TitleBuffer;
 import org.apache.isis.applib.value.Blob;
 import org.apache.isis.applib.value.Clob;
+import org.joda.time.LocalDate;
+
+import com.google.common.base.Objects;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Ordering;
 
 @javax.jdo.annotations.PersistenceCapable(identityType=IdentityType.DATASTORE)
 @javax.jdo.annotations.DatastoreIdentity(
@@ -687,6 +690,18 @@ public class ToDoItem implements Categorized, Comparable<ToDoItem> {
     }
     //endregion
 
+    // region > exportAsJson (action)
+    /**
+     * Demonstrates functionality of streaming back Clob/Blob result within an action with a prompt, i.e. Ajax request
+     */
+    @ActionSemantics(Of.SAFE)
+    public Clob exportAsJson(
+            @ParameterLayout(named = "Comment") String comment
+    ) {
+        return new Clob("todo.json", "application/json", "{\"description\": \""+getDescription()+"\", \"comment\":\""+comment+"\"}");
+    }
+    //endregion
+
     //region > lifecycle callbacks
 
     public void created() {