You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2011/10/24 14:17:21 UTC

svn commit: r1188108 - in /incubator/isis/trunk/framework: tck/tck-dom/src/main/java/org/apache/isis/tck/dom/simples/ tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/ viewer/json/json-applib/src/main/java/org/apache/isis/v...

Author: danhaywood
Date: Mon Oct 24 12:17:20 2011
New Revision: 1188108

URL: http://svn.apache.org/viewvc?rev=1188108&view=rev
Log:
ISIS-109: tested action returning scalar; renamed Link to LinkRepresentation

Added:
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/LinkRepresentation.java
      - copied, changed from r1188038, incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Link.java
Removed:
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Link.java
Modified:
    incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/simples/SimpleEntityRepository.java
    incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RepresentationWalker.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulClient.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Method.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_getLink_isLink.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_urlEncoding.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulClientTest_follow.java
    incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/blocks/LinkTest_equals.java
    incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/RepresentationMatchers.java
    incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/object/DomainObjectResourceTest.java
    incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java
    incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java

Modified: incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/simples/SimpleEntityRepository.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/simples/SimpleEntityRepository.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/simples/SimpleEntityRepository.java (original)
+++ incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/simples/SimpleEntityRepository.java Mon Oct 24 12:17:20 2011
@@ -33,16 +33,20 @@ public interface SimpleEntityRepository 
     @MemberOrder(sequence="1")
     public List<SimpleEntity> list();
 
+    @QueryOnly
     @MemberOrder(sequence="2")
+    public int count();
+
+    @MemberOrder(sequence="3")
     public SimpleEntity newTransientEntity();
 
     @Idempotent
-    @MemberOrder(sequence="3")
+    @MemberOrder(sequence="4")
     public SimpleEntity newPersistentEntity(
         @Named("name") String name, 
         @Named("flag") Boolean flag);
 
-    @MemberOrder(sequence="4")
+    @MemberOrder(sequence="5")
     public void toggle(
         @Named("object") SimpleEntity object);
 

Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java Mon Oct 24 12:17:20 2011
@@ -35,6 +35,12 @@ public class SimpleEntityRepositoryDefau
     }
 
     @Override
+    public int count() {
+        return allInstances(SimpleEntity.class).size();
+    }
+    
+
+    @Override
     public SimpleEntity newTransientEntity() {
         return newTransientInstance(SimpleEntity.class);
     }
@@ -52,6 +58,6 @@ public class SimpleEntityRepositoryDefau
     public void toggle(SimpleEntity object) {
         object.setFlag(!object.getFlag());
     }
-    
+
 
 }

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java Mon Oct 24 12:17:20 2011
@@ -39,7 +39,7 @@ import net.sf.json.JSONNull;
 import net.sf.json.JSONSerializer;
 import net.sf.json.xml.XMLSerializer;
 
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.util.JsonMapper;
 import org.apache.isis.viewer.json.applib.util.JsonNodeUtils;
 import org.apache.isis.viewer.json.applib.util.UrlEncodingUtils;
@@ -73,7 +73,7 @@ import com.google.common.collect.Maps;
 public class JsonRepresentation {
 
     public interface LinksToSelf {
-        public Link getSelf();
+        public LinkRepresentation getSelf();
     }
 
     public interface HasLinks {
@@ -551,22 +551,22 @@ public class JsonRepresentation {
             return false;
         }
 
-        Link link = new Link(node);
+        LinkRepresentation link = new LinkRepresentation(node);
         if(link.getHref() == null || link.getRel() == null) {
             return false;
         }
         return true;
     }
 
-    public Link getLink(String path) {
+    public LinkRepresentation getLink(String path) {
         return getLink(path, getNode(path));
     }
 
-    public Link asLink() {
+    public LinkRepresentation asLink() {
         return getLink(null, asJsonNode());
     }
     
-    private Link getLink(String path, JsonNode node) {
+    private LinkRepresentation getLink(String path, JsonNode node) {
         if (representsNull(node)) {
             return null;
         }
@@ -578,7 +578,7 @@ public class JsonRepresentation {
             throw new IllegalArgumentException(formatExMsg(path, "is a value that does not represent a link"));
         }
 
-        Link link = new Link(node);
+        LinkRepresentation link = new LinkRepresentation(node);
         if(link.getHref() == null || link.getRel() == null) {
             throw new IllegalArgumentException(formatExMsg(path, "is a map that does not fully represent a link"));
         }
@@ -646,9 +646,9 @@ public class JsonRepresentation {
     
     /**
      * Convert a representation that contains a single node representing a link
-     * into a {@link Link}.
+     * into a {@link LinkRepresentation}.
      */
-    public Link mapValueAsLink() {
+    public LinkRepresentation mapValueAsLink() {
         if(asJsonNode().size() != 1) {
             throw new IllegalStateException("does not represent link");
         }

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RepresentationWalker.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RepresentationWalker.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RepresentationWalker.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RepresentationWalker.java Mon Oct 24 12:17:20 2011
@@ -24,7 +24,7 @@ import java.util.List;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status.Family;
 
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonParseException;
 import org.codehaus.jackson.map.JsonMappingException;
 
@@ -34,13 +34,13 @@ public class RepresentationWalker {
 
     static class Step {
         private final String key;
-        private final Link link;
+        private final LinkRepresentation link;
         private final JsonRepresentation body;
         private final RestfulResponse<? extends JsonRepresentation> response;
         private String error;
         private Exception exception;
 
-        public Step(String key, Link link, JsonRepresentation body, RestfulResponse<? extends JsonRepresentation> response, String error, Exception exception) {
+        public Step(String key, LinkRepresentation link, JsonRepresentation body, RestfulResponse<? extends JsonRepresentation> response, String error, Exception exception) {
             this.key = key;
             this.link = link;
             this.body = body;
@@ -66,7 +66,7 @@ public class RepresentationWalker {
         addStep(null, null, null, jsonResp, null, null);
     }
 
-    private Step addStep(String key, Link link, JsonRepresentation body, RestfulResponse<JsonRepresentation> jsonResp, String error, Exception ex) {
+    private Step addStep(String key, LinkRepresentation link, JsonRepresentation body, RestfulResponse<JsonRepresentation> jsonResp, String error, Exception ex) {
         Step step = new Step(key, link, body, jsonResp, error, ex);
         steps.add(0, step);
         if(error != null) {
@@ -96,7 +96,7 @@ public class RepresentationWalker {
             return;
         }
         
-        Link link;
+        LinkRepresentation link;
         try {
             link = entity.getLink(path);
         } catch (Exception e) {

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulClient.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulClient.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulClient.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulClient.java Mon Oct 24 12:17:20 2011
@@ -24,7 +24,7 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import org.apache.commons.httpclient.HttpClient;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.capabilities.CapabilitiesResource;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainObjectResource;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainServiceResource;
@@ -104,12 +104,12 @@ public class RestfulClient {
         return new RepresentationWalker(this, response);
     }
 
-    public Response follow(Link link) throws Exception {
+    public Response follow(LinkRepresentation link) throws Exception {
         return follow(link, JsonRepresentation.newMap());
     }
 
     // TODO: generalize into request args
-    public Response follow(Link link, JsonRepresentation requestArgs) throws Exception {
+    public Response follow(LinkRepresentation link, JsonRepresentation requestArgs) throws Exception {
         Response response = link.follow(executor, requestArgs);
         // this is a bit hacky
         @SuppressWarnings("unchecked")

Copied: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/LinkRepresentation.java (from r1188038, incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Link.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/LinkRepresentation.java?p2=incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/LinkRepresentation.java&p1=incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Link.java&r1=1188038&r2=1188108&rev=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Link.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/LinkRepresentation.java Mon Oct 24 12:17:20 2011
@@ -31,21 +31,21 @@ import org.jboss.resteasy.client.ClientR
 import org.jboss.resteasy.client.ClientResponse;
 
 
-public final class Link extends JsonRepresentation {
+public final class LinkRepresentation extends JsonRepresentation {
     
-    public Link() {
+    public LinkRepresentation() {
         this(new ObjectNode(JsonNodeFactory.instance));
         withMethod(Method.GET);
     }
 
-    public Link(JsonNode jsonNode) {
+    public LinkRepresentation(JsonNode jsonNode) {
         super(jsonNode);
     }
 
     public String getRel() {
         return asObjectNode().path("rel").getTextValue();
     }
-    public Link withRel(String rel) {
+    public LinkRepresentation withRel(String rel) {
         asObjectNode().put("rel", rel);
         return this;
     }
@@ -53,7 +53,7 @@ public final class Link extends JsonRepr
     public String getHref() {
         return asObjectNode().path("href").getTextValue();
     }
-    public Link withHref(String href) {
+    public LinkRepresentation withHref(String href) {
         asObjectNode().put("href", href);
         return this;
     }
@@ -66,7 +66,7 @@ public final class Link extends JsonRepr
         String methodStr = asObjectNode().path("method").getTextValue();
         return Method.valueOf(methodStr);
     }
-    public Link withMethod(Method method) {
+    public LinkRepresentation withMethod(Method method) {
         asObjectNode().put("method", method.name());
         return this;
     }
@@ -121,7 +121,7 @@ public final class Link extends JsonRepr
             return false;
         if (getClass() != obj.getClass())
             return false;
-        Link other = (Link) obj;
+        LinkRepresentation other = (LinkRepresentation) obj;
         if (getHref() == null) {
             if (other.getHref() != null)
                 return false;

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Method.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Method.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Method.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/blocks/Method.java Mon Oct 24 12:17:20 2011
@@ -18,15 +18,14 @@
  */
 package org.apache.isis.viewer.json.applib.blocks;
 
-import java.util.Arrays;
-import java.util.Map;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.util.UrlEncodingUtils;
-import org.jboss.resteasy.client.ClientRequest;
+import java.util.Map;
+
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.apache.isis.viewer.json.applib.util.UrlEncodingUtils;
+import org.jboss.resteasy.client.ClientRequest;
 
 public enum Method {
     GET(ArgStrategy.QUERY_STRING),

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class CapabilitiesRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class CapabilitiesRepresentation 
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,7 +32,7 @@ public class DomainObjectRepresentation 
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,7 +32,7 @@ public class ListRepresentation extends 
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,7 +32,7 @@ public class ObjectActionRepresentation 
         super(jsonNode);
     }
     
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 
@@ -44,7 +44,7 @@ public class ObjectActionRepresentation 
         return getString("memberType");
     }
 
-    public Link getInvoke() {
+    public LinkRepresentation getInvoke() {
         return getLink("invoke");
     }
 
@@ -59,7 +59,7 @@ public class ObjectActionRepresentation 
         return getMap("extensions");
     }
 
-    public Link getActionDetails() {
+    public LinkRepresentation getActionDetails() {
         return getLink("actionDetails");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,7 +32,7 @@ public class ObjectCollectionRepresentat
         super(jsonNode);
     }
     
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,7 +32,7 @@ public class ObjectPropertyRepresentatio
         super(jsonNode);
     }
     
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,9 +32,13 @@ public class ScalarValueRepresentation e
         super(jsonNode);
     }
     
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
+
+    public JsonRepresentation getValue() {
+        return getRepresentation("value");
+    }
 
     public JsonRepresentation getLinks() {
         return getArray("links");

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class DomainTypeRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class DomainTypeRepresentation ex
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class DomainTypesRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class DomainTypesRepresentation e
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class TypeActionParameterRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class TypeActionParameterRepresen
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class TypeActionRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class TypeActionRepresentation ex
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class TypeCollectionRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class TypeCollectionRepresentatio
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class TypePropertyRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,7 +31,7 @@ public class TypePropertyRepresentation 
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 public class HomePageRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
@@ -31,16 +31,16 @@ public class HomePageRepresentation exte
         super(jsonNode);
     }
 
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
-    public Link getUser() {
+    public LinkRepresentation getUser() {
         return getLink("user");
     }
-    public Link getServices() {
+    public LinkRepresentation getServices() {
         return getLink("services");
     }
-    public Link getCapabilities() {
+    public LinkRepresentation getCapabilities() {
         return getLink("capabilities");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
 import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.codehaus.jackson.JsonNode;
 
 
@@ -32,7 +32,7 @@ public class UserRepresentation extends 
         super(jsonNode);
     }
     
-    public Link getSelf() {
+    public LinkRepresentation getSelf() {
         return getLink("self");
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_getLink_isLink.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_getLink_isLink.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_getLink_isLink.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_getLink_isLink.java Mon Oct 24 12:17:20 2011
@@ -26,7 +26,7 @@ import static org.junit.Assert.fail;
 
 import java.io.IOException;
 
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.blocks.Method;
 import org.codehaus.jackson.JsonParseException;
 import org.codehaus.jackson.map.JsonMappingException;
@@ -35,12 +35,12 @@ import org.junit.Test;
 
 public class JsonRepresentationTest_getLink_isLink {
 
-    private Link link;
+    private LinkRepresentation link;
     private JsonRepresentation jsonRepresentation;
 
     @Before
     public void setUp() throws Exception {
-        link = new Link().withHref("http://foo/bar").withMethod(Method.GET);
+        link = new LinkRepresentation().withHref("http://foo/bar").withMethod(Method.GET);
         jsonRepresentation = new JsonRepresentation(readJson("map.json"));
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_urlEncoding.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_urlEncoding.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_urlEncoding.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/JsonRepresentationTest_urlEncoding.java Mon Oct 24 12:17:20 2011
@@ -24,7 +24,7 @@ import static org.junit.Assert.assertTha
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.blocks.Method;
 import org.junit.Test;
 
@@ -34,7 +34,7 @@ public class JsonRepresentationTest_urlE
 
     @Test
     public void test() throws UnsupportedEncodingException {
-        Link l = new Link().withRel("object").withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET);
+        LinkRepresentation l = new LinkRepresentation().withRel("object").withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET);
         
         String expectedValue = "%7B%22method%22%3A%22GET%22%2C%22rel%22%3A%22object%22%2C%22href%22%3A%22http%3A%2F%2Flocalhost%3A8080%2Fobjects%2FABC%3A123%22%7D";
         @SuppressWarnings("unused")

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulClientTest_follow.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulClientTest_follow.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulClientTest_follow.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulClientTest_follow.java Mon Oct 24 12:17:20 2011
@@ -22,7 +22,7 @@ import java.net.URI;
 
 import javax.ws.rs.core.MediaType;
 
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.blocks.Method;
 import org.jboss.resteasy.client.ClientExecutor;
 import org.jboss.resteasy.client.ClientRequest;
@@ -65,7 +65,7 @@ public class RestfulClientTest_follow {
     public void follow_get() throws Exception {
         // given
         JsonRepresentation jsonRepresentation = new JsonRepresentation(JsonUtils.readJson("map.json"));
-        Link getLink = jsonRepresentation.getLink("aLink");
+        LinkRepresentation getLink = jsonRepresentation.getLink("aLink");
 
         // when
         context.checking(new Expectations() {

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/blocks/LinkTest_equals.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/blocks/LinkTest_equals.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/blocks/LinkTest_equals.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/blocks/LinkTest_equals.java Mon Oct 24 12:17:20 2011
@@ -31,10 +31,10 @@ public class LinkTest_equals {
 
     @Test
     public void equalDependsOnMethodAndHref() throws UnsupportedEncodingException {
-        Link link = new Link().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET);
-        Link link2 = new Link().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET);
-        Link link3 = new Link().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.PUT);
-        Link link4 = new Link().withHref("http://localhost:8080/objects/ABC:456").withMethod(Method.GET);
+        LinkRepresentation link = new LinkRepresentation().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET);
+        LinkRepresentation link2 = new LinkRepresentation().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET);
+        LinkRepresentation link3 = new LinkRepresentation().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.PUT);
+        LinkRepresentation link4 = new LinkRepresentation().withHref("http://localhost:8080/objects/ABC:456").withMethod(Method.GET);
         
         assertThat(link, is(equalTo(link2)));
         assertThat(link, is(not(equalTo(link3))));
@@ -43,8 +43,8 @@ public class LinkTest_equals {
 
     @Test
     public void equalDoesNotDependsOnMethodAndHref() throws UnsupportedEncodingException {
-        Link link = new Link().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET).withRel("something");
-        Link link2 = new Link().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET).withRel("else");
+        LinkRepresentation link = new LinkRepresentation().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET).withRel("something");
+        LinkRepresentation link2 = new LinkRepresentation().withHref("http://localhost:8080/objects/ABC:123").withMethod(Method.GET).withRel("else");
         
         assertThat(link, is(equalTo(link2)));
     }

Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/RepresentationMatchers.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/RepresentationMatchers.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/RepresentationMatchers.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/RepresentationMatchers.java Mon Oct 24 12:17:20 2011
@@ -27,7 +27,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.RestfulClient;
 import org.apache.isis.viewer.json.applib.RestfulResponse;
 import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.blocks.Method;
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
@@ -84,8 +84,8 @@ public class RepresentationMatchers {
         };
     }
 
-    public static Matcher<Link> isLink(final Method method) {
-        return new TypeSafeMatcher<Link>() {
+    public static Matcher<LinkRepresentation> isLink(final Method method) {
+        return new TypeSafeMatcher<LinkRepresentation>() {
 
             @Override
             public void describeTo(Description description) {
@@ -93,7 +93,7 @@ public class RepresentationMatchers {
             }
 
             @Override
-            public boolean matchesSafely(Link item) {
+            public boolean matchesSafely(LinkRepresentation item) {
                 return item != null && item.getMethod() == method;
             }
         };
@@ -256,7 +256,7 @@ public class RepresentationMatchers {
                     if(linkRepr == null) {
                         return false;
                     }
-                    Link link = linkRepr.asLink();
+                    LinkRepresentation link = linkRepr.asLink();
                     if(rel != null && !rel.equals(link.getRel())) {
                         return false;
                     }

Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/object/DomainObjectResourceTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/object/DomainObjectResourceTest.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/object/DomainObjectResourceTest.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/object/DomainObjectResourceTest.java Mon Oct 24 12:17:20 2011
@@ -35,7 +35,7 @@ import org.apache.isis.tck.dom.scalars.A
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
 import org.apache.isis.viewer.json.applib.RestfulClient;
 import org.apache.isis.viewer.json.applib.RestfulResponse;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.blocks.Method;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainObjectRepresentation;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainObjectResource;
@@ -78,7 +78,7 @@ public class DomainObjectResourceTest {
         // then 
         DomainObjectRepresentation domainObjectRepr = domainObjectJsonResp.getEntity();
 
-        Link self = domainObjectRepr.getSelf();
+        LinkRepresentation self = domainObjectRepr.getSelf();
         assertThat(self, 
                 isLink().rel("object").href(matches(".+objects/OID:1")).method(Method.GET));
 //        assertThat(domainObjectRepr.getDomainType(), 
@@ -88,7 +88,7 @@ public class DomainObjectResourceTest {
         assertThat(domainObjectRepr.getOid(), is("OID:1"));
 
         // self.icon
-        Link selfIcon = domainObjectRepr.getLink("_self.icon");
+        LinkRepresentation selfIcon = domainObjectRepr.getLink("_self.icon");
         // TODO: shouldn't really be present since no icon available; or should point to a default, perhaps
         assertThat(selfIcon, isLink().rel("icon").href(matches(".+" + "/images/" + "null\\.png")).method(Method.GET));
 
@@ -103,10 +103,10 @@ public class DomainObjectResourceTest {
         assertThat(idProperty.getString("value"), is(org.apache.isis.tck.objstore.dflt.scalars.ApplibValuedEntityRepositoryDefault.class.getName()));
         assertThat(idProperty.getString("disabledReason"), is(not(nullValue())));
 
-        Link idPropertyType = idProperty.getLink("type");
+        LinkRepresentation idPropertyType = idProperty.getLink("type");
         assertThat(idPropertyType, isLink().rel("type").href(matches(".+vnd\\.string\\+json")).method(Method.GET));
 
-        Link idPropertyDetails = idProperty.getLink("details");
+        LinkRepresentation idPropertyDetails = idProperty.getLink("details");
         assertThat(idPropertyDetails, isLink().rel("property").href(self.getHref() + "/properties/id").method(Method.GET));
 
         // actions
@@ -119,12 +119,12 @@ public class DomainObjectResourceTest {
         assertThat(listAction.getString("actionType"), is("USER"));
         assertThat(listAction.getInt("numParameters"), is(0));
 
-        Link listActionType = listAction.getLink("type");
+        LinkRepresentation listActionType = listAction.getLink("type");
         assertThat(listActionType.getRel(), is("type"));
         assertThat(listActionType.getHref(), matches(".+vnd\\.list\\+json"));
         assertThat(listActionType.getMethod(), is(Method.GET));
 
-        Link listActionDetails = listAction.getLink("details");
+        LinkRepresentation listActionDetails = listAction.getLink("details");
         assertThat(listActionDetails.getRel(), is("action"));
         assertThat(listActionDetails.getHref(), is(self.getHref() + "/actions/list"));
         assertThat(listActionDetails.getMethod(), is(Method.GET));
@@ -134,14 +134,14 @@ public class DomainObjectResourceTest {
         assertThat(newEntityAction.getString("actionType"), is("USER"));
         assertThat(newEntityAction.getInt("numParameters"), is(0));
 
-        Link newEntityActionType = newEntityAction.getLink("type");
+        LinkRepresentation newEntityActionType = newEntityAction.getLink("type");
         assertThat(newEntityActionType.getRel(), is("type"));
         assertThat(newEntityActionType.getHref(), matches(".+vnd\\." +
                 ApplibValuedEntity.class.getName() +
         		"\\+json"));
         assertThat(newEntityActionType.getMethod(), is(Method.GET));
 
-        Link newEntityActionDetails = newEntityAction.getLink("details");
+        LinkRepresentation newEntityActionDetails = newEntityAction.getLink("details");
         assertThat(newEntityActionDetails.getRel(), is("action"));
         assertThat(newEntityActionDetails.getHref(), is(self.getHref() + "/actions/newEntity"));
         assertThat(newEntityActionDetails.getMethod(), is(Method.GET));
@@ -162,19 +162,19 @@ public class DomainObjectResourceTest {
         ObjectPropertyRepresentation propertyDetailsRepr = idPropertyJsonResp.getEntity();
 
         // _self.link
-        Link selfLink = propertyDetailsRepr.getLink("_self.link");
+        LinkRepresentation selfLink = propertyDetailsRepr.getLink("_self.link");
         assertThat(selfLink.getRel(), is("member"));
         assertThat(selfLink.getHref(), matches(".+objects/OID:1/properties/id"));
         assertThat(selfLink.getMethod(), is(Method.GET));
 
         // _self.object
-        Link selfObject = propertyDetailsRepr.getLink("_self.object");
+        LinkRepresentation selfObject = propertyDetailsRepr.getLink("_self.object");
         assertThat(selfObject.getRel(), is("object"));
         assertThat(selfObject.getHref(), matches(".+objects/OID:1"));
         assertThat(selfObject.getMethod(), is(Method.GET));
 
         // type
-        Link type = propertyDetailsRepr.getLink("type");
+        LinkRepresentation type = propertyDetailsRepr.getLink("type");
         assertThat(type.getRel(), is("type"));
         assertThat(type.getHref(), matches(".+vnd\\.string\\+json"));
         assertThat(type.getMethod(), is(Method.GET));
@@ -200,19 +200,19 @@ public class DomainObjectResourceTest {
         ObjectActionRepresentation actionPromptRepr = actionPromptJsonResp.getEntity();
 
         // _self.link
-        Link selfLink = actionPromptRepr.getLink("_self.link");
+        LinkRepresentation selfLink = actionPromptRepr.getLink("_self.link");
         assertThat(selfLink.getRel(), is("member"));
         assertThat(selfLink.getHref(), matches(".+objects/OID:1/actions/list"));
         assertThat(selfLink.getMethod(), is(Method.GET));
 
         // _self.object
-        Link selfObject = actionPromptRepr.getLink("_self.object");
+        LinkRepresentation selfObject = actionPromptRepr.getLink("_self.object");
         assertThat(selfObject.getRel(), is("object"));
         assertThat(selfObject.getHref(), matches(".+objects/OID:1"));
         assertThat(selfObject.getMethod(), is(Method.GET));
 
         // type
-        Link type = actionPromptRepr.getLink("type");
+        LinkRepresentation type = actionPromptRepr.getLink("type");
         assertThat(type.getRel(), is("type"));
         assertThat(type.getHref(), matches(".+vnd\\.list\\+json"));
         assertThat(type.getMethod(), is(Method.GET));
@@ -222,7 +222,7 @@ public class DomainObjectResourceTest {
         assertThat(actionPromptRepr.getInt("numParameters"), is(0));
         assertThat(actionPromptRepr.getArray("parameters").size(), is(0));
         
-        Link invokeLink = actionPromptRepr.getLink("invoke");
+        LinkRepresentation invokeLink = actionPromptRepr.getLink("invoke");
         assertThat(invokeLink.getRel(), is("invoke"));
         assertThat(invokeLink.getHref(), matches(".+objects/OID:1/actions/list/invoke"));
         assertThat(invokeLink.getMethod(), is(Method.POST));
@@ -262,17 +262,17 @@ public class DomainObjectResourceTest {
         assertThat(domainObjectRefRepr, is(not(nullValue())));
         assertThat(domainObjectRefRepr.getString("title"), is("Untitled Applib Values Entity")); // TODO
         
-        Link domainObjectLink = domainObjectRefRepr.getLink("link");
+        LinkRepresentation domainObjectLink = domainObjectRefRepr.getLink("link");
         assertThat(domainObjectLink.getRel(), is("object"));
         assertThat(domainObjectLink.getHref(), matches("http://localhost:\\d+/objects/OID:7"));
         
-        Link domainObjectTypeLink = domainObjectRefRepr.getLink("type");
+        LinkRepresentation domainObjectTypeLink = domainObjectRefRepr.getLink("type");
         assertThat(domainObjectTypeLink.getRel(), is("type"));
         assertThat(domainObjectTypeLink.getHref(), matches("http://localhost:\\d+/types/application/vnd." +
         		org.apache.isis.tck.dom.scalars.ApplibValuedEntity.class.getName() +
         		"\\+json"));
 
-        Link domainObjectIconLink = domainObjectRefRepr.getLink("icon");
+        LinkRepresentation domainObjectIconLink = domainObjectRefRepr.getLink("icon");
         assertThat(domainObjectIconLink.getRel(), is("icon"));
         assertThat(domainObjectIconLink.getHref(), matches("http://localhost:\\d+/images/null.png")); // TODO
     }

Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java Mon Oct 24 12:17:20 2011
@@ -36,11 +36,12 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.RestfulRequest.QueryParameter;
 import org.apache.isis.viewer.json.applib.RestfulResponse;
 import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainObjectRepresentation;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainServiceResource;
 import org.apache.isis.viewer.json.applib.domainobjects.ListRepresentation;
 import org.apache.isis.viewer.json.applib.domainobjects.ObjectActionRepresentation;
+import org.apache.isis.viewer.json.applib.domainobjects.ScalarValueRepresentation;
 import org.apache.isis.viewer.json.tck.IsisWebServerRule;
 import org.codehaus.jackson.JsonParseException;
 import org.codehaus.jackson.map.JsonMappingException;
@@ -76,7 +77,7 @@ public class DomainServiceResourceTest_i
         final ObjectActionRepresentation actionRepr = givenAction.as(ObjectActionRepresentation.class);
         
         // when
-        final Link invokeLink = actionRepr.getInvoke();
+        final LinkRepresentation invokeLink = actionRepr.getInvoke();
         
         // then
         assertThat(invokeLink, is(not(nullValue())));
@@ -90,12 +91,12 @@ public class DomainServiceResourceTest_i
     @Test
     public void invokeIdempotent_withArgs_usingClientFollow() throws Exception {
 
-        // given
+        // given action
         JsonRepresentation givenAction = givenAction("simples", "newPersistentEntity");
         final ObjectActionRepresentation actionRepr = givenAction.as(ObjectActionRepresentation.class);
         
         // when
-        final Link invokeLink = actionRepr.getInvoke();
+        final LinkRepresentation invokeLink = actionRepr.getInvoke();
         
         // then
         assertThat(invokeLink, is(not(nullValue())));
@@ -117,12 +118,38 @@ public class DomainServiceResourceTest_i
         assertThat(objectRepr.getProperty("name").getString("value"), is("New Name"));
         assertThat(objectRepr.getProperty("flag").getBoolean("value"), is(true));
     }
+
+    @Test
+    public void invoke_returningScalar_withReferenceArgs_usingClientFollow() throws Exception {
+        
+        // given action
+        JsonRepresentation givenAction = givenAction("simples", "count");
+        final ObjectActionRepresentation actionRepr = givenAction.as(ObjectActionRepresentation.class);
+        
+        // when
+        final LinkRepresentation invokeLink = actionRepr.getInvoke();
+        
+        // then
+        assertThat(invokeLink, is(not(nullValue())));
+        final JsonRepresentation args = invokeLink.getArguments();
+        assertThat(args.size(), is(0));
+        
+        // when
+        final Response response = client.follow(invokeLink, args);
+        
+        // then
+        RestfulResponse<ScalarValueRepresentation> restfulResponse = RestfulResponse.ofT(response);
+        final ScalarValueRepresentation objectRepr = restfulResponse.getEntity();
+        
+        assertThat(objectRepr.getValue().asInt(), is(6));
+    }
+
 
     @Test
     public void invokeNonIdempotent_returningVoid_withReferenceArgs_usingClientFollow() throws Exception {
 
         // given simple entity with 'flag' property set to true
-        final Link linkToSimpleEntity = givenLinkToSimpleEntity(0);
+        final LinkRepresentation linkToSimpleEntity = givenLinkToSimpleEntity(0);
         final Response responseBefore = client.follow(linkToSimpleEntity);
         final RestfulResponse<DomainObjectRepresentation> restfulResponseBefore = RestfulResponse.ofT(responseBefore);
         final DomainObjectRepresentation simpleEntityBefore = restfulResponseBefore.getEntity();
@@ -133,7 +160,7 @@ public class DomainServiceResourceTest_i
         final ObjectActionRepresentation actionRepr = givenAction.as(ObjectActionRepresentation.class);
         
         // when
-        final Link invokeLink = actionRepr.getInvoke();
+        final LinkRepresentation invokeLink = actionRepr.getInvoke();
         
         // then
         assertThat(invokeLink, is(not(nullValue())));
@@ -158,12 +185,7 @@ public class DomainServiceResourceTest_i
     }
 
 
-    @org.junit.Ignore("todo")
-    @Test
-    public void invoke_returningScalar_withReferenceArgs_usingClientFollow() throws Exception {
-        fail();
-    }
-
+    
     @org.junit.Ignore("up to here")
     @Test
     public void invoke_withAllBuiltInArgs_usingClientFollow() throws Exception {
@@ -173,7 +195,7 @@ public class DomainServiceResourceTest_i
         final ObjectActionRepresentation actionRepr = givenAction.as(ObjectActionRepresentation.class);
         
         // when
-        final Link invokeLink = actionRepr.getInvoke();
+        final LinkRepresentation invokeLink = actionRepr.getInvoke();
         
         // then
         assertThat(invokeLink, is(not(nullValue())));
@@ -218,13 +240,13 @@ public class DomainServiceResourceTest_i
         return services.getRepresentation("values[key=%s]", serviceId).asLink().getHref();
     }
 
-    private Link givenLinkToSimpleEntity(int num) throws JsonParseException, JsonMappingException, IOException, Exception {
+    private LinkRepresentation givenLinkToSimpleEntity(int num) throws JsonParseException, JsonMappingException, IOException, Exception {
         // given
         JsonRepresentation givenAction = givenAction("simples", "list");
         final ObjectActionRepresentation actionRepr = givenAction.as(ObjectActionRepresentation.class);
         
         // when
-        final Link invokeLink = actionRepr.getInvoke();
+        final LinkRepresentation invokeLink = actionRepr.getInvoke();
         
         // then
         final Response response = client.follow(invokeLink);

Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java Mon Oct 24 12:17:20 2011
@@ -37,7 +37,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.RestfulClient;
 import org.apache.isis.viewer.json.applib.RestfulResponse;
 import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.blocks.Method;
 import org.apache.isis.viewer.json.applib.domainobjects.DomainServiceResource;
 import org.apache.isis.viewer.json.applib.domainobjects.ListRepresentation;
@@ -111,13 +111,13 @@ public class DomainServiceResourceTest_s
         JsonRepresentation values = repr.getValues();
         
         // then
-        for (Link link : values.arrayIterable(Link.class)) {
+        for (LinkRepresentation link : values.arrayIterable(LinkRepresentation.class)) {
             Response followResp = client.follow(link);
             RestfulResponse<JsonRepresentation> followJsonResp = RestfulResponse.of(followResp);
             assertThat(followJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
             
             JsonRepresentation followRepr = followJsonResp.getEntity();
-            Link self = followRepr.getLink("self");
+            LinkRepresentation self = followRepr.getLink("self");
             
             assertThat(self.getHref(), is(link.getHref()));
         }

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java Mon Oct 24 12:17:20 2011
@@ -42,7 +42,7 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
 import org.apache.isis.viewer.json.applib.RepresentationType;
 import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
-import org.apache.isis.viewer.json.applib.blocks.Link;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
 import org.apache.isis.viewer.json.applib.util.JsonMapper;
 import org.apache.isis.viewer.json.applib.util.UrlEncodingUtils;
 import org.apache.isis.viewer.json.viewer.JsonApplicationException;
@@ -263,7 +263,7 @@ public class DomainResourceHelper {
             final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.SCALAR_VALUE);
 
             ScalarValueReprRenderer renderer = (ScalarValueReprRenderer) factory.newRenderer(resourceContext, null, representation);
-            renderer.with(objectAdapter);
+            renderer.with(returnedAdapter);
             return ResourceAbstract.responseOfOk(renderer, Caching.NONE).build();
         }
 
@@ -293,7 +293,7 @@ public class DomainResourceHelper {
 
     private JsonRepresentation representationWithSelfFor(final ObjectAdapter objectAdapter, final ObjectAction action, final JsonRepresentation bodyArgs) {
         JsonRepresentation representationWithSelf = representationWithSelfFor(objectAdapter, action);
-        final Link selfLink = representationWithSelf.getLink("self");
+        final LinkRepresentation selfLink = representationWithSelf.getLink("self");
         selfLink.mapPut("args", bodyArgs);
         return representationWithSelf;
     }

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java?rev=1188108&r1=1188107&r2=1188108&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java Mon Oct 24 12:17:20 2011
@@ -30,6 +30,8 @@ import org.apache.isis.viewer.json.viewe
 
 public class ScalarValueReprRenderer extends ReprRendererAbstract<ScalarValueReprRenderer, ObjectAdapter> {
 
+    private final JsonValueEncoder jsonValueEncoder = new JsonValueEncoder();
+    
     public static class Factory extends ReprRendererFactoryAbstract {
         public Factory() {
             super(RepresentationType.SCALAR_VALUE);
@@ -50,8 +52,9 @@ public class ScalarValueReprRenderer ext
         if(facet == null) {
             throw JsonApplicationException.create(HttpStatusCode.INTERNAL_SERVER_ERROR, "Not an (encodable) value", objectAdapter.titleString());
         }
-        final String encodedString = facet.toEncodedString(objectAdapter);
-        representation.mapPut("value", encodedString);
+        final Object value = jsonValueEncoder.asObject(objectAdapter);
+        
+        representation.mapPut("value", value);
         return this;
     }