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/09/05 14:40:14 UTC

svn commit: r1165265 [2/2] - in /incubator/isis/trunk/framework/viewer/json: json-applib/src/main/java/org/apache/isis/viewer/json/applib/ json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/ json-applib/src/main/java/org/apache/i...

Copied: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/UserStoryTest.java (from r1165222, incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/ResourceRepresentationTest.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/UserStoryTest.java?p2=incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/UserStoryTest.java&p1=incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/ResourceRepresentationTest.java&r1=1165222&r2=1165265&rev=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/ResourceRepresentationTest.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/UserStoryTest.java Mon Sep  5 12:40:11 2011
@@ -1,505 +1,33 @@
 package org.apache.isis.viewer.json.tck;
 
-import static org.apache.isis.core.commons.matchers.IsisMatchers.greaterThan;
 import static org.apache.isis.core.commons.matchers.IsisMatchers.matches;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertThat;
-import static org.junit.Assert.fail;
 
 import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.Status.Family;
 
 import org.apache.isis.runtimes.dflt.webserver.WebServer;
-import org.apache.isis.tck.dom.scalars.ApplibValuedEntity;
-import org.apache.isis.tck.objstore.dflt.scalars.ApplibValuedEntityRepositoryDefault;
-import org.apache.isis.viewer.json.applib.HttpStatusCode;
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
 import org.apache.isis.viewer.json.applib.RepresentationWalker;
 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.Method;
-import org.apache.isis.viewer.json.applib.domain.ActionInvocationRepresentation;
-import org.apache.isis.viewer.json.applib.domain.ActionPromptRepresentation;
-import org.apache.isis.viewer.json.applib.domain.DomainObjectRepresentation;
-import org.apache.isis.viewer.json.applib.domain.DomainObjectResource;
-import org.apache.isis.viewer.json.applib.domain.DomainServicesResource;
-import org.apache.isis.viewer.json.applib.domain.PropertyDetailsRepresentation;
-import org.apache.isis.viewer.json.applib.domain.ServicesRepresentation;
-import org.apache.isis.viewer.json.applib.homepage.HomePageRepresentation;
 import org.apache.isis.viewer.json.applib.homepage.HomePageResource;
-import org.apache.isis.viewer.json.applib.reptypes.RepresentationTypeRepresentation;
-import org.apache.isis.viewer.json.applib.user.UserRepresentation;
-import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 
 
-public class ResourceRepresentationTest {
+public class UserStoryTest {
 
-    @BeforeClass
-    public static void setUpClass() throws Exception {
-        webServer = new WebServer();
-        webServer.run(39393);
-    }
-
-    @AfterClass
-    public static void tearDownClass() throws Exception {
-        webServer.stop();
-    }
-
-    protected static WebServer webServer;
+    @Rule
+    public IsisWebServerRule webServerRule = new IsisWebServerRule();
+    
     protected RestfulClient client;
 
     @Before
     public void setUp() throws Exception {
+        WebServer webServer = webServerRule.getWebServer();
         client = new RestfulClient(webServer.getBase());
     }
-
-
-    @Ignore("to get working again")
-    @Test
-    public void homePageResource_returnsHomePageRepresentation() throws Exception {
-
-        // given
-        HomePageResource homePageResource = client.getHomePageResource();
-        
-        // when
-        Response resourcesResp = homePageResource.resources();
-        RestfulResponse<HomePageRepresentation> homePageJsonResp = RestfulResponse.of(resourcesResp, HomePageRepresentation.class);
-        assertThat(homePageJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        
-        // then
-        assertThat(homePageJsonResp.getStatus(), is(HttpStatusCode.OK));
-        
-        HomePageRepresentation homePageRepr = homePageJsonResp.getEntity();
-        assertThat(homePageRepr, is(not(nullValue())));
-        assertThat(homePageRepr.isMap(), is(true));
-        
-        assertThat(homePageRepr.getRepresentationType(), is(not(nullValue())));
-        assertThat(homePageRepr.getRepresentationType().getMethod(), is(Method.GET));
-        
-        assertThat(homePageRepr.getSelf(), is(not(nullValue())));
-        assertThat(homePageRepr.getSelf().getMethod(), is(Method.GET));
-        
-        assertThat(homePageRepr.getUser(), is(not(nullValue())));
-        assertThat(homePageRepr.getUser().getMethod(), is(Method.GET));
-        
-        assertThat(homePageRepr.getServices(), is(not(nullValue())));
-        assertThat(homePageRepr.getServices().getMethod(), is(Method.GET));
-
-        assertThat(homePageRepr.getLinks(), is(not(nullValue())));
-        assertThat(homePageRepr.getMetadata(), is(not(nullValue())));
-    }
-
-    @Test
-    public void homePageResource_linksToSelf() throws Exception {
-        // given
-        HomePageResource homePageResource = client.getHomePageResource();
-
-        // when
-        Response resourcesResp = homePageResource.resources();
-        RestfulResponse<HomePageRepresentation> homePageJsonResp = RestfulResponse.of(resourcesResp, HomePageRepresentation.class);
-        
-        // then
-        HomePageRepresentation homePageRepr = homePageJsonResp.getEntity();
-
-        // and when
-        Response servicesResp = client.follow(homePageRepr.getSelf());
-        RestfulResponse<HomePageRepresentation> homePageJsonResp2 = RestfulResponse.of(servicesResp, HomePageRepresentation.class);
-        
-        // then
-        HomePageRepresentation homePageRepr2 = homePageJsonResp2.getEntity();
-        assertThat(homePageRepr.getSelf(), is(homePageRepr2.getSelf()));
-    }
-
-    @Test
-    public void homePageResource_linksToItsRepresentationType() throws Exception {
-        // given
-        HomePageResource homePageResource = client.getHomePageResource();
-
-        // when
-        Response resourcesResp = homePageResource.resources();
-        RestfulResponse<HomePageRepresentation> homePageJsonResp = RestfulResponse.of(resourcesResp, HomePageRepresentation.class);
-        
-        // then
-        HomePageRepresentation homePageRepr = homePageJsonResp.getEntity();
-
-        // and when
-        Response representationTypeResp = client.follow(homePageRepr.getRepresentationType());
-        RestfulResponse<RepresentationTypeRepresentation> representationTypeJsonResp = RestfulResponse.of(representationTypeResp, RepresentationTypeRepresentation.class);
-        
-        // then
-        assertThat(representationTypeJsonResp.getStatus().getFamily(), is (Family.SUCCESSFUL));
-    }
-
-    @Ignore("to get working again")
-    @Test
-    public void homePageResource_linksToServicesResource() throws Exception {
-        
-        // given
-        HomePageResource homePageResource = client.getHomePageResource();
-
-        // when
-        Response resourcesResp = homePageResource.resources();
-        RestfulResponse<HomePageRepresentation> homePageJsonResp = RestfulResponse.of(resourcesResp, HomePageRepresentation.class);
-        
-        // then
-        HomePageRepresentation homePageRepr = homePageJsonResp.getEntity();
-
-        // and when
-        Response servicesResp = client.follow(homePageRepr.getServices());
-        RestfulResponse<ServicesRepresentation> servicesJsonResp = RestfulResponse.of(servicesResp, ServicesRepresentation.class);
-        
-        // then
-        assertThat(servicesJsonResp.getStatus().getFamily(), is (Family.SUCCESSFUL));
-        ServicesRepresentation servicesRepr = servicesJsonResp.getEntity();
-        
-        Link serviceReprRepTypeLink = servicesRepr.getRepresentationType();
-        assertThat(serviceReprRepTypeLink.getHref(), matches(".*/representationTypes/list:object$"));
-
-        Link serviceReprSelfLink = servicesRepr.getSelf();
-        assertThat(serviceReprSelfLink, is(not(nullValue())));
-
-        JsonRepresentation serviceValues = servicesRepr.xpath("/value/e[rel='service']");
-        assertThat(serviceValues, is(not(nullValue())));
-        assertThat(serviceValues.arraySize(), is(greaterThan(0)));
-
-        assertThat(homePageRepr.getLinks(), is(not(nullValue())));
-        assertThat(homePageRepr.getMetadata(), is(not(nullValue())));
-    }
-
-    @Test
-    public void homePageResource_linksToUserResource() throws Exception {
-        
-        // given
-        HomePageResource homePageResource = client.getHomePageResource();
-
-        // when
-        Response resourcesResp = homePageResource.resources();
-        RestfulResponse<HomePageRepresentation> homePageJsonResp = RestfulResponse.of(resourcesResp, HomePageRepresentation.class);
-        
-        // then
-        HomePageRepresentation homePageRepr = homePageJsonResp.getEntity();
-
-        // and when
-        Response userResp = client.follow(homePageRepr.getUser());
-        RestfulResponse<UserRepresentation> userJsonResp = RestfulResponse.of(userResp, UserRepresentation.class);
-        
-        // then
-        assertThat(userJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        UserRepresentation userRepr = userJsonResp.getEntity();
-
-        Link userReprRepTypeLink = userRepr.getRepresentationType();
-        assertThat(userReprRepTypeLink.getHref(), matches(".*/representationTypes/user$"));
-
-        assertThat(userRepr.getUserName(), is(not(nullValue())));
-    }
-
-    @Ignore("to get working again")
-    @Test
-    public void servicesResource_returnsServicesRepresentation() throws Exception {
-        
-        // given
-        DomainServicesResource servicesResource = client.getServicesResource();
-        
-        // when
-        Response servicesResp = servicesResource.services();
-        RestfulResponse<ServicesRepresentation> servicesJsonResp = RestfulResponse.of(servicesResp, ServicesRepresentation.class);
-        assertThat(servicesJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        
-        // then
-        ServicesRepresentation servicesRepr = servicesJsonResp.getEntity();
-
-        assertThat(servicesRepr, is(not(nullValue())));
-        assertThat(servicesRepr.isMap(), is(true));
-
-        assertThat(servicesRepr.getRepresentationType(), is(not(notNullValue())));
-        // assertThat(servicesRepr.getSelf(), is(not(notNullValue()))); // TODO
-
-        assertThat(servicesRepr.getString("title"), is("ApplibValues"));
-
-        JsonRepresentation serviceValues = servicesRepr.xpath("/value/e[rel='service']");
-        assertThat(serviceValues, is(not(nullValue())));
-        assertThat(serviceValues.arraySize(), is(greaterThan(0)));
-
-        Link serviceLink = serviceValues.elementAt(0).asLink();
-        
-        assertThat(serviceLink.getRel(), is("service"));
-        assertThat(serviceLink.getHref(), matches("http://localhost:\\d+/services/.*$"));
-    }
-
-
-    @Ignore
-    @Test
-    public void servicesResource_linksToRepresentationType() throws Exception {
-        
-    }
-
-    @Ignore
-    @Test
-    public void servicesResource_linksToSelf() throws Exception {
-        
-    }
-
-
-    @Ignore("to get working again")
-    @Test
-    public void servicesResource_linksToDomainObjectResourceForService() throws Exception {
-        
-        // given
-        DomainServicesResource servicesResource = client.getServicesResource();
-        
-        // when
-        Response servicesResp = servicesResource.services();
-        RestfulResponse<ServicesRepresentation> servicesJsonResp = RestfulResponse.of(servicesResp, ServicesRepresentation.class);
-        
-        // then
-        ServicesRepresentation servicesRepr = servicesJsonResp.getEntity();
-
-        JsonRepresentation repoRepr = servicesRepr.elementAt(0);
-        Link repoObjLink = repoRepr.getLink("link");
-
-        // and when
-        Response repoFollowResp = client.follow(repoObjLink);
-        RestfulResponse<DomainObjectRepresentation> repoFollowJsonResp = RestfulResponse.of(repoFollowResp, DomainObjectRepresentation.class);
-        
-        // then
-        DomainObjectRepresentation domainObjectRepr = repoFollowJsonResp.getEntity();
-        Link domainObjectReprLink = domainObjectRepr.getLink("_self.link");
-        assertThat(domainObjectReprLink, is(repoObjLink));
-    }
-
-
-    @Ignore("to get working again")
-    @Test
-    public void domainObjectResource_returnsDomainObjectRepresentation() throws Exception {
-        
-        // given
-        DomainObjectResource domainObjectResource = client.getDomainObjectResource();
-        
-        // when
-        Response domainObjectResp = domainObjectResource.object("OID:1");
-        RestfulResponse<DomainObjectRepresentation> domainObjectJsonResp = RestfulResponse.of(domainObjectResp, DomainObjectRepresentation.class);
-        assertThat(domainObjectJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        
-        // then 
-        DomainObjectRepresentation domainObjectRepr = domainObjectJsonResp.getEntity();
-
-        // _self.link
-        Link selfLink = domainObjectRepr.getLink("_self.link");
-        assertThat(selfLink.getRel(), is("object"));
-        assertThat(selfLink.getHref(), matches(".+objects/OID:1"));
-        assertThat(selfLink.getMethod(), is(Method.GET));
-
-        // _self.type
-        Link selfType = domainObjectRepr.getLink("_self.type");
-        assertThat(selfType.getRel(), is("type"));
-        assertThat(selfType.getHref(), matches(".+" + ApplibValuedEntityRepositoryDefault.class.getName() + ".+"));
-        assertThat(selfType.getMethod(), is(Method.GET));
-        
-        assertThat(domainObjectRepr.getString("_self.title"), is("ApplibValues"));
-        assertThat(domainObjectRepr.getString("_self.oid"), is("OID:1"));
-
-        // _self.icon
-        Link selfIcon = domainObjectRepr.getLink("_self.icon");
-        assertThat(selfIcon.getRel(), is("icon"));
-        assertThat(selfIcon.getHref(), matches(".+" + "/images/" + "null\\.png"));  // TODO: shouldn't really be present
-        assertThat(selfIcon.getMethod(), is(Method.GET));
-
-        // properties
-        JsonRepresentation properties = domainObjectRepr.getProperties();
-        assertThat(properties.mapSize(), is(1));
-        
-        // id property
-        JsonRepresentation idProperty = properties.getRepresentation("id");
-        assertThat(idProperty.getString("memberType"), is("property"));
-        assertThat(idProperty.getString("propertyId"), is("id"));
-        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");
-        assertThat(idPropertyType.getRel(), is("type"));
-        assertThat(idPropertyType.getHref(), matches(".+vnd\\.string\\+json"));
-        assertThat(idPropertyType.getMethod(), is(Method.GET));
-
-        Link idPropertyDetails = idProperty.getLink("details");
-        assertThat(idPropertyDetails.getRel(), is("property"));
-        assertThat(idPropertyDetails.getHref(), is(selfLink.getHref() + "/properties/id"));
-        assertThat(idPropertyDetails.getMethod(), is(Method.GET));
-
-        // actions
-        JsonRepresentation actions = domainObjectRepr.getActions();
-        assertThat(actions.mapSize(), is(2));
-
-        JsonRepresentation listAction = actions.getRepresentation("list");
-        assertThat(listAction.getString("memberType"), is("action"));
-        assertThat(listAction.getString("actionId"), is("list"));
-        assertThat(listAction.getString("actionType"), is("USER"));
-        assertThat(listAction.getInt("numParameters"), is(0));
-
-        Link 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");
-        assertThat(listActionDetails.getRel(), is("action"));
-        assertThat(listActionDetails.getHref(), is(selfLink.getHref() + "/actions/list"));
-        assertThat(listActionDetails.getMethod(), is(Method.GET));
-
-        JsonRepresentation newEntityAction = actions.getRepresentation("newEntity");
-        assertThat(newEntityAction.getString("memberType"), is("action"));
-        assertThat(newEntityAction.getString("actionType"), is("USER"));
-        assertThat(newEntityAction.getInt("numParameters"), is(0));
-
-        Link 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");
-        assertThat(newEntityActionDetails.getRel(), is("action"));
-        assertThat(newEntityActionDetails.getHref(), is(selfLink.getHref() + "/actions/newEntity"));
-        assertThat(newEntityActionDetails.getMethod(), is(Method.GET));
-    }
-
-    @Ignore("to get working again")
-    @Test
-    public void domainObjectResource_propertyDetails() throws Exception {
-        // given
-        DomainObjectResource domainObjectResource = client.getDomainObjectResource();
-        
-        // when
-        Response idPropertyResp = domainObjectResource.propertyDetails("OID:1", "id");
-        RestfulResponse<PropertyDetailsRepresentation> idPropertyJsonResp = RestfulResponse.of(idPropertyResp, PropertyDetailsRepresentation.class);
-        assertThat(idPropertyJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        
-        // then 
-        PropertyDetailsRepresentation propertyDetailsRepr = idPropertyJsonResp.getEntity();
-
-        // _self.link
-        Link 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");
-        assertThat(selfObject.getRel(), is("object"));
-        assertThat(selfObject.getHref(), matches(".+objects/OID:1"));
-        assertThat(selfObject.getMethod(), is(Method.GET));
-
-        // type
-        Link type = propertyDetailsRepr.getLink("type");
-        assertThat(type.getRel(), is("type"));
-        assertThat(type.getHref(), matches(".+vnd\\.string\\+json"));
-        assertThat(type.getMethod(), is(Method.GET));
-
-        assertThat(propertyDetailsRepr.getString("memberType"), is("property"));
-        assertThat(propertyDetailsRepr.getString("value"), is(org.apache.isis.tck.objstore.dflt.scalars.ApplibValuedEntityRepositoryDefault.class.getName()));
-        assertThat(propertyDetailsRepr.getString("disabledReason"), is(not(nullValue())));
-    }
-
-    
-    @Ignore("to get working again")
-    @Test
-    public void domainObjectResource_actionPrompt() throws Exception {
-        // given
-        DomainObjectResource domainObjectResource = client.getDomainObjectResource();
-        
-        // when
-        Response actionPromptResp = domainObjectResource.actionPrompt("OID:1", "list");
-        RestfulResponse<ActionPromptRepresentation> actionPromptJsonResp = RestfulResponse.of(actionPromptResp, ActionPromptRepresentation.class);
-        assertThat(actionPromptJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        
-        // then 
-        ActionPromptRepresentation actionPromptRepr = actionPromptJsonResp.getEntity();
-
-        // _self.link
-        Link 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");
-        assertThat(selfObject.getRel(), is("object"));
-        assertThat(selfObject.getHref(), matches(".+objects/OID:1"));
-        assertThat(selfObject.getMethod(), is(Method.GET));
-
-        // type
-        Link type = actionPromptRepr.getLink("type");
-        assertThat(type.getRel(), is("type"));
-        assertThat(type.getHref(), matches(".+vnd\\.list\\+json"));
-        assertThat(type.getMethod(), is(Method.GET));
-
-        assertThat(actionPromptRepr.getString("memberType"), is("action"));
-        assertThat(actionPromptRepr.getString("actionType"), is("USER"));
-        assertThat(actionPromptRepr.getInt("numParameters"), is(0));
-        assertThat(actionPromptRepr.getArray("parameters").arraySize(), is(0));
-        
-        Link 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));
-        assertThat(invokeLink.getArguments(), is(not(nullValue())));
-        assertThat(invokeLink.getArguments().isArray(), is(true));
-        assertThat(invokeLink.getArguments().arraySize(), is(0));
-    }
-
-    @Ignore("TODO")
-    @Test
-    public void domainObjectResource_collectionDetails() throws Exception {
-        fail();
-    }
-
-    
-    @Ignore("to get working again")
-    @Test
-    public void domainObjectResource_actionPostInvoke_returningList() throws Exception {
-        
-        // given
-        DomainObjectResource domainObjectResource = client.getDomainObjectResource();
-        
-        JsonRepresentation body = JsonRepresentation.newArray();
-        
-        // when
-        Response actionInvokeResp = domainObjectResource.invokeAction("OID:1", "list", body.asInputStream());
-        RestfulResponse<ActionInvocationRepresentation> actionInvokeJsonResp = RestfulResponse.of(actionInvokeResp, ActionInvocationRepresentation.class);
-        assertThat(actionInvokeJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
-        
-        // then 
-        ActionInvocationRepresentation actionInvokeRepr = actionInvokeJsonResp.getEntity();
-        assertThat(actionInvokeRepr.isArray(), is(true));
-        assertThat(actionInvokeRepr.arraySize(), is(5));
-        
-        JsonRepresentation domainObjectRefRepr = actionInvokeRepr.elementAt(0);
-
-        assertThat(domainObjectRefRepr, is(not(nullValue())));
-        assertThat(domainObjectRefRepr.getString("title"), is("Untitled Applib Values Entity")); // TODO
-        
-        Link domainObjectLink = domainObjectRefRepr.getLink("link");
-        assertThat(domainObjectLink.getRel(), is("object"));
-        assertThat(domainObjectLink.getHref(), matches("http://localhost:\\d+/objects/OID:7"));
-        
-        Link 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");
-        assertThat(domainObjectIconLink.getRel(), is("icon"));
-        assertThat(domainObjectIconLink.getHref(), matches("http://localhost:\\d+/images/null.png")); // TODO
-    }
     
 
     @Ignore("to get working again")

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/JsonApplication.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/JsonApplication.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/JsonApplication.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/JsonApplication.java Mon Sep  5 12:40:11 2011
@@ -18,9 +18,9 @@
  */
 package org.apache.isis.viewer.json.viewer;
 
+import org.apache.isis.viewer.json.viewer.resources.domainobjects.DomainObjectResourceServerside;
+import org.apache.isis.viewer.json.viewer.resources.domaintypes.DomainTypeResourceServerside;
 import org.apache.isis.viewer.json.viewer.resources.home.HomePageResourceServerside;
-import org.apache.isis.viewer.json.viewer.resources.objects.DomainObjectResourceServerside;
-import org.apache.isis.viewer.json.viewer.resources.reptypes.RepresentationTypeResourceServerside;
 import org.apache.isis.viewer.json.viewer.resources.services.DomainServicesResourceServerside;
 import org.apache.isis.viewer.json.viewer.resources.user.UserResourceServerside;
 
@@ -28,7 +28,7 @@ public class JsonApplication extends Abs
 
     public JsonApplication() {
         addSingleton(new HomePageResourceServerside());
-        addSingleton(new RepresentationTypeResourceServerside());
+        addSingleton(new DomainTypeResourceServerside());
         addSingleton(new DomainServicesResourceServerside());
         addSingleton(new UserResourceServerside());
         addSingleton(new DomainObjectResourceServerside());

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java Mon Sep  5 12:40:11 2011
@@ -25,8 +25,6 @@ import javax.ws.rs.core.Request;
 import javax.ws.rs.core.SecurityContext;
 import javax.ws.rs.core.UriInfo;
 
-import org.apache.isis.viewer.json.viewer.resources.objects.MemberRepType;
-
 public class ResourceContext {
 
     private final HttpHeaders httpHeaders;

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkRepBuilder.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkRepBuilder.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -21,8 +21,8 @@ import org.apache.isis.viewer.json.viewe
 
 public class LinkRepBuilder extends RepresentationBuilder<LinkRepBuilder> {
 
-    public static LinkRepBuilder newBuilder(ResourceContext resourceContext, String rel, String href) {
-        return new LinkRepBuilder(resourceContext, rel, href);
+    public static LinkRepBuilder newBuilder(ResourceContext resourceContext, String rel, String hrefFormat, Object... args) {
+        return new LinkRepBuilder(resourceContext, rel, String.format(hrefFormat, args));
     }
 
 	private final String rel;
@@ -32,7 +32,7 @@ public class LinkRepBuilder extends Repr
     private String title;
     private JsonRepresentation arguments;
     
-    public LinkRepBuilder(ResourceContext resourceContext, String rel, String href) {
+    private LinkRepBuilder(ResourceContext resourceContext, String rel, String href) {
         super(resourceContext);
         this.rel = rel;
         this.href = href;

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RepresentationBuilder.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RepresentationBuilder.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RepresentationBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RepresentationBuilder.java Mon Sep  5 12:40:11 2011
@@ -34,17 +34,9 @@ public abstract class RepresentationBuil
         this.resourceContext = resourceContext;
     }
 
-    public T withRepresentationType(String representationTypeName) {
-        String href = "representationTypes/" + representationTypeName;
-        JsonRepresentation linkToRepresentationType = 
-                LinkRepBuilder.newBuilder(resourceContext, "representationType", href).build();
-        representation.put("representationType", linkToRepresentationType);
-        return (T) this;
-    }
-
     public T withSelf(String href) {
         representation.put("self", LinkRepBuilder.newBuilder(resourceContext, "self", href).build());
-        return (T) this;
+        return asT(this);
     }
 
     public RepresentationBuilder<T> withLinks() {
@@ -56,7 +48,7 @@ public abstract class RepresentationBuil
             throw new IllegalArgumentException("links must be a list");
         }
         representation.put("links", links);
-        return (T) this;
+        return asT(this);
     }
 
     public T withMetadata() {
@@ -68,7 +60,12 @@ public abstract class RepresentationBuil
             throw new IllegalArgumentException("metadata must be a map");
         }
         representation.put("metadata", metadata);
-        return (T) this;
+        return asT(this);
+    }
+
+    @SuppressWarnings("unchecked")
+    private static <T extends RepresentationBuilder<T>> T asT(RepresentationBuilder<T> builder) {
+        return (T) builder;
     }
 
     public abstract JsonRepresentation build();

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.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/ResourceAbstract.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java Mon Sep  5 12:40:11 2011
@@ -54,8 +54,7 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.applib.util.JsonMapper;
 import org.apache.isis.viewer.json.viewer.ResourceContext;
 import org.apache.isis.viewer.json.viewer.representations.RepresentationBuilder;
-import org.apache.isis.viewer.json.viewer.resources.ResourceAbstract.ExceptionPojo;
-import org.apache.isis.viewer.json.viewer.resources.objects.DomainObjectRepBuilder;
+import org.apache.isis.viewer.json.viewer.resources.domainobjects.DomainObjectRepBuilder;
 import org.apache.isis.viewer.json.viewer.util.OidUtils;
 import org.apache.isis.viewer.json.viewer.util.UrlDecoderUtils;
 import org.apache.isis.viewer.json.viewer.util.UrlParserUtils;

Added: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesResourceServerside.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/capabilities/CapabilitiesResourceServerside.java?rev=1165265&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesResourceServerside.java (added)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesResourceServerside.java Mon Sep  5 12:40:11 2011
@@ -0,0 +1,53 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+package org.apache.isis.viewer.json.viewer.resources.capabilities;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.apache.isis.viewer.json.applib.capabilities.CapabilitiesResource;
+import org.apache.isis.viewer.json.viewer.representations.LinkRepBuilder;
+import org.apache.isis.viewer.json.viewer.resources.ResourceAbstract;
+
+/**
+ * Implementation note: it seems to be necessary to annotate the implementation with {@link Path} rather than the
+ * interface (at least under RestEasy 1.0.2 and 1.1-RC2).
+ */
+@Path("/capabilities")
+public class CapabilitiesResourceServerside extends ResourceAbstract implements CapabilitiesResource {
+
+
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    public Response capabilities() {
+        init();
+
+        JsonRepresentation representation = JsonRepresentation.newMap();
+        representation.put("self", LinkRepBuilder.newBuilder(getResourceContext(), "self", "capabilities/").build());
+        
+        return responseOfOk(asJson(representation));
+    }
+
+
+
+}
\ No newline at end of file

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractMemberRepBuilder.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/AbstractMemberRepBuilder.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractMemberRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractMemberRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.util.Map;
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ActionRepBuilder.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/ActionRepBuilder.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ActionRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ActionRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.util.List;
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/BodyArgs.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/BodyArgs.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/BodyArgs.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/BodyArgs.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 public enum BodyArgs {
     /**

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/CollectionRepBuilder.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/CollectionRepBuilder.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/CollectionRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/CollectionRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.util.List;
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectRepBuilder.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/DomainObjectRepBuilder.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.util.List;
 
@@ -36,7 +36,6 @@ import org.apache.isis.viewer.json.appli
 import org.apache.isis.viewer.json.viewer.ResourceContext;
 import org.apache.isis.viewer.json.viewer.representations.LinkRepBuilder;
 import org.apache.isis.viewer.json.viewer.representations.RepresentationBuilder;
-import org.apache.isis.viewer.json.viewer.representations.WellKnownType;
 import org.apache.isis.viewer.json.viewer.util.OidUtils;
 
 import com.google.common.base.Function;
@@ -52,7 +51,6 @@ public class DomainObjectRepBuilder exte
     public DomainObjectRepBuilder(ResourceContext resourceContext, ObjectAdapter objectAdapter) {
         super(resourceContext);
         this.objectAdapter = objectAdapter;
-        withRepresentationType("object:" + WellKnownType.canonical(objectAdapter.getSpecification().getFullIdentifier()));
         withSelf();
         withMembers();
     }

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.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/DomainObjectResourceServerside.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -47,7 +47,7 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.viewer.json.applib.HttpStatusCode;
-import org.apache.isis.viewer.json.applib.domain.DomainObjectResource;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainObjectResource;
 import org.apache.isis.viewer.json.viewer.resources.ResourceAbstract;
 import org.apache.isis.viewer.json.viewer.util.UrlDecoderUtils;
 import org.codehaus.jackson.JsonParseException;

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberRepType.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/MemberRepType.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberRepType.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberRepType.java Mon Sep  5 12:40:11 2011
@@ -14,10 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
-import org.apache.isis.viewer.json.applib.domain.DomainObjectResource;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainObjectResource;
 
 /**
  * Whether the representation of an {@link ObjectMember} (as generated by

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberSelfRepBuilder.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/MemberSelfRepBuilder.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberSelfRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberSelfRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberType.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/MemberType.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberType.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MemberType.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.util.Map;
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MutatorSpec.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/MutatorSpec.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MutatorSpec.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/MutatorSpec.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.viewer.json.viewer.representations.HttpMethod;

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/PropertyRepBuilder.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/PropertyRepBuilder.java?rev=1165265&r1=1165222&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/PropertyRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/PropertyRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.objects;
+package org.apache.isis.viewer.json.viewer.resources.domainobjects;
 
 import java.util.List;
 

Copied: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.java (from r1165222, incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/reptypes/RepresentationTypeResourceServerside.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/domaintypes/DomainTypeResourceServerside.java?p2=incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.java&p1=incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/reptypes/RepresentationTypeResourceServerside.java&r1=1165222&r2=1165265&rev=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/reptypes/RepresentationTypeResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.java Mon Sep  5 12:40:11 2011
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.viewer.json.viewer.resources.reptypes;
+package org.apache.isis.viewer.json.viewer.resources.domaintypes;
 
 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
@@ -26,7 +26,7 @@ import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.reptypes.RepresentationTypeResource;
+import org.apache.isis.viewer.json.applib.domaintypes.DomainTypeResource;
 import org.apache.isis.viewer.json.viewer.representations.LinkRepBuilder;
 import org.apache.isis.viewer.json.viewer.resources.ResourceAbstract;
 
@@ -35,7 +35,7 @@ import org.apache.isis.viewer.json.viewe
  * interface (at least under RestEasy 1.0.2 and 1.1-RC2).
  */
 @Path("/representationTypes")
-public class RepresentationTypeResourceServerside extends ResourceAbstract implements RepresentationTypeResource {
+public class DomainTypeResourceServerside extends ResourceAbstract implements DomainTypeResource {
 
 
     @GET

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/objectlist/DomainObjectListRepBuilder.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/objectlist/DomainObjectListRepBuilder.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/objectlist/DomainObjectListRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/objectlist/DomainObjectListRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -19,12 +19,10 @@ package org.apache.isis.viewer.json.view
 import java.util.List;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
 import org.apache.isis.viewer.json.viewer.ResourceContext;
 import org.apache.isis.viewer.json.viewer.representations.RepresentationBuilder;
-import org.apache.isis.viewer.json.viewer.representations.WellKnownType;
-import org.apache.isis.viewer.json.viewer.resources.objects.DomainObjectRepBuilder;
+import org.apache.isis.viewer.json.viewer.resources.domainobjects.DomainObjectRepBuilder;
 
 public class DomainObjectListRepBuilder extends RepresentationBuilder<DomainObjectListRepBuilder> {
 
@@ -36,14 +34,6 @@ public class DomainObjectListRepBuilder 
         super(resourceContext);
     }
 
-    public DomainObjectListRepBuilder withRepresentationTypeListOf(String typeName) {
-        return withRepresentationType("list:" + typeName);
-    }
-
-    public DomainObjectListRepBuilder withRepresentationTypeListOf(ObjectSpecification objectSpec) {
-        return withRepresentationTypeListOf(WellKnownType.canonical(objectSpec.getFullIdentifier()));
-    }
-
     public DomainObjectListRepBuilder withAdapters(List<ObjectAdapter> objectAdapters) {
         JsonRepresentation list = JsonRepresentation.newArray();
         for(ObjectAdapter adapter: objectAdapters) {

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/services/DomainServiceListRepBuilder.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/services/DomainServiceListRepBuilder.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/services/DomainServiceListRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/services/DomainServiceListRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -31,13 +31,12 @@ class DomainServiceListRepBuilder extend
 
     private DomainServiceListRepBuilder(ResourceContext resourceContext) {
         super(resourceContext);
-        withRepresentationTypeListOf("object");
     }
 
     @Override
     protected JsonRepresentation buildLinkTo(ObjectAdapter serviceAdapter) {
         String serviceId = ServiceUtil.id(serviceAdapter.getObject());
-        return LinkRepBuilder.newBuilder(resourceContext, "service", "services/" + serviceId).build();
+        return LinkRepBuilder.newBuilder(resourceContext, "service", "services/%s", serviceId).build();
     }
 
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/services/DomainServicesResourceServerside.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/services/DomainServicesResourceServerside.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/services/DomainServicesResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/services/DomainServicesResourceServerside.java Mon Sep  5 12:40:11 2011
@@ -29,13 +29,12 @@ import javax.ws.rs.core.Response;
 
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.services.ServiceUtil;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.json.applib.HttpStatusCode;
-import org.apache.isis.viewer.json.applib.domain.DomainServicesResource;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainServicesResource;
 import org.apache.isis.viewer.json.viewer.ResourceContext;
 import org.apache.isis.viewer.json.viewer.resources.ResourceAbstract;
+import org.apache.isis.viewer.json.viewer.resources.domainobjects.DomainObjectRepBuilder;
 import org.apache.isis.viewer.json.viewer.resources.objectlist.DomainObjectListRepBuilder;
-import org.apache.isis.viewer.json.viewer.resources.objects.DomainObjectRepBuilder;
 
 public class DomainServicesResourceServerside extends ResourceAbstract implements DomainServicesResource {
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserRepBuilder.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/user/UserRepBuilder.java?rev=1165265&r1=1165264&r2=1165265&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserRepBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserRepBuilder.java Mon Sep  5 12:40:11 2011
@@ -29,7 +29,6 @@ public class UserRepBuilder extends Repr
 
     private UserRepBuilder(ResourceContext resourceContext) {
         super(resourceContext);
-        withRepresentationType("user");
         withSelf("user");
     }