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/05 21:47:18 UTC
svn commit: r1179398 [1/2] - in /incubator/isis/trunk/framework/viewer/json:
json-applib/src/main/java/org/apache/isis/viewer/json/applib/
json-applib/src/test/java/org/apache/isis/viewer/json/applib/
json-tck/src/test/java/org/apache/isis/viewer/json/...
Author: danhaywood
Date: Wed Oct 5 19:47:17 2011
New Revision: 1179398
URL: http://svn.apache.org/viewvc?rev=1179398&view=rev
Log:
ISIS-109: implemented reasonable support for x-ro-follow-links
Added:
incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulRequestQueryParameterTest_valueOf.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/PathFollower.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/test/java/org/apache/isis/viewer/json/viewer/ResourceContextTest_getArg.java
Modified:
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/RestfulRequest.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/home/HomePageResourceTest_xrofollowlinks.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/ResourceContext.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RendererFactory.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/ReprRendererAbstract.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesResourceServerside.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractObjectMemberReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.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/DomainServiceResourceServerside.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ListReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectActionReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectCollectionReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectPropertyReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/AbstractTypeFeatureReprBuilder.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypesReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionParamReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeCollectionReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypePropertyReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageResourceServerside.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserResourceServerside.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/test/java/org/apache/isis/viewer/json/viewer/ResourceContextTest_ensureCompatibleAcceptHeader.java
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=1179398&r1=1179397&r2=1179398&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 Wed Oct 5 19:47:17 2011
@@ -48,6 +48,7 @@ public class RestfulClient {
private final ClientExecutor executor;
private final ClientRequestFactory clientRequestFactory;
+ private HttpMethod httpMethod;
public RestfulClient(final URI baseUri) {
this(baseUri, new ApacheHttpClientExecutor(new HttpClient()));
@@ -122,7 +123,7 @@ public class RestfulClient {
clientRequest.accept(MediaType.APPLICATION_JSON_TYPE);
clientRequest.setHttpMethod(httpMethod.getJavaxRsMethod());
- return new RestfulRequest(clientRequest);
+ return new RestfulRequest(clientRequest, httpMethod);
}
/**
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulRequest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulRequest.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulRequest.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/RestfulRequest.java Wed Oct 5 19:47:17 2011
@@ -1,6 +1,7 @@
package org.apache.isis.viewer.json.applib;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -9,6 +10,8 @@ import javax.ws.rs.core.Response;
import org.jboss.resteasy.client.ClientRequest;
+import com.google.common.collect.Maps;
+
public final class RestfulRequest {
public enum DomainModel {
@@ -35,19 +38,21 @@ public final class RestfulRequest {
public static class QueryParameter<Q> {
- public static QueryParameter<List<List<String>>> FOLLOW_LINKS = new QueryParameter<List<List<String>>>("x-ro-follow-links", Parser.forListOfListOfStrings());
- public static QueryParameter<Integer> PAGE = new QueryParameter<Integer>("x-ro-page", Parser.forInteger());
- public static QueryParameter<Integer> PAGE_SIZE = new QueryParameter<Integer>("x-ro-page-size", Parser.forInteger());
- public static QueryParameter<List<String>> SORT_BY = new QueryParameter<List<String>>("x-ro-sort-by", Parser.forListOfStrings());
- public static QueryParameter<DomainModel> DOMAIN_MODEL = new QueryParameter<DomainModel>("x-ro-domain-model", DomainModel.parser());
- public static QueryParameter<Boolean> VALIDATE_ONLY = new QueryParameter<Boolean>("x-ro-validate-only", Parser.forBoolean());
+ public static QueryParameter<List<List<String>>> FOLLOW_LINKS = new QueryParameter<List<List<String>>>("x-ro-follow-links", Parser.forListOfListOfStrings(), Collections.<List<String>>emptyList());
+ public static QueryParameter<Integer> PAGE = new QueryParameter<Integer>("x-ro-page", Parser.forInteger(), 1);
+ public static QueryParameter<Integer> PAGE_SIZE = new QueryParameter<Integer>("x-ro-page-size", Parser.forInteger(), 25);
+ public static QueryParameter<List<String>> SORT_BY = new QueryParameter<List<String>>("x-ro-sort-by", Parser.forListOfStrings(), Collections.<String>emptyList());
+ public static QueryParameter<DomainModel> DOMAIN_MODEL = new QueryParameter<DomainModel>("x-ro-domain-model", DomainModel.parser(), DomainModel.SIMPLE);
+ public static QueryParameter<Boolean> VALIDATE_ONLY = new QueryParameter<Boolean>("x-ro-validate-only", Parser.forBoolean(), false);
private final String name;
private final Parser<Q> parser;
+ private final Q defaultValue;
- private QueryParameter(String name, Parser<Q> parser) {
+ private QueryParameter(String name, Parser<Q> parser, Q defaultValue) {
this.name = name;
this.parser = parser;
+ this.defaultValue = defaultValue;
}
public String getName() {
@@ -58,10 +63,24 @@ public final class RestfulRequest {
return parser;
}
+ public void setValue(ClientRequest clientRequest, Q value) {
+ clientRequest.queryParameter(getName(), parser.asString(value));
+ }
+
public Q valueOf(Map<?, ?> parameterMap) {
+ if(parameterMap == null) {
+ return defaultValue;
+ }
@SuppressWarnings("unchecked")
Map<String, String[]> parameters = (Map<String, String[]>) parameterMap;
final String[] values = parameters.get(getName());
+ if(values == null) {
+ return defaultValue;
+ }
+ // special case processing
+ if(values.length == 1) {
+ return getParser().valueOf(values[0]);
+ }
return getParser().valueOf(values);
}
}
@@ -91,9 +110,12 @@ public final class RestfulRequest {
}
private final ClientRequest clientRequest;
+ private final HttpMethod httpMethod;
+ private final Map<QueryParameter<?>, Object> queryArgs = Maps.newLinkedHashMap();
- public RestfulRequest(ClientRequest clientRequest) {
+ public RestfulRequest(ClientRequest clientRequest, HttpMethod httpMethod) {
this.clientRequest = clientRequest;
+ this.httpMethod = httpMethod;
}
@@ -120,12 +142,19 @@ public final class RestfulRequest {
}
public <Q> RestfulRequest withArg(RestfulRequest.QueryParameter<Q> queryParam, Q arg) {
- //return this;
- throw new RuntimeException("not yet implemented");
+ queryArgs.put(queryParam, arg);
+ return this;
}
public RestfulResponse<JsonRepresentation> execute() {
try {
+ if(httpMethod == HttpMethod.GET) {
+ setQueryArgs();
+ }
+ if(httpMethod == HttpMethod.POST) {
+ throw new RuntimeException("not yet implemented");
+ }
+
Response executeJaxrs = clientRequest.execute();
return RestfulResponse.ofT(executeJaxrs);
} catch (Exception ex) {
@@ -133,6 +162,14 @@ public final class RestfulRequest {
}
}
+ @SuppressWarnings({"unchecked", "rawtypes"})
+ private void setQueryArgs() {
+ for (QueryParameter queryParam : queryArgs.keySet()) {
+ queryParam.setValue(clientRequest, queryArgs.get(queryParam));
+ }
+ }
+
+
@SuppressWarnings("unchecked")
public <T extends JsonRepresentation> RestfulResponse<T> executeT() {
final RestfulResponse<JsonRepresentation> restfulResponse = execute();
Added: incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulRequestQueryParameterTest_valueOf.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulRequestQueryParameterTest_valueOf.java?rev=1179398&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulRequestQueryParameterTest_valueOf.java (added)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/test/java/org/apache/isis/viewer/json/applib/RestfulRequestQueryParameterTest_valueOf.java Wed Oct 5 19:47:17 2011
@@ -0,0 +1,84 @@
+package org.apache.isis.viewer.json.applib;
+
+import static org.hamcrest.CoreMatchers.*;
+import static org.junit.Assert.assertThat;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.isis.viewer.json.applib.RestfulRequest.QueryParameter;
+import org.jmock.Mockery;
+import org.jmock.integration.junit4.JUnit4Mockery;
+import org.jmock.lib.legacy.ClassImposteriser;
+import org.junit.Before;
+import org.junit.Test;
+
+import com.google.common.collect.Maps;
+
+public class RestfulRequestQueryParameterTest_valueOf {
+
+ private Map<String,String[]> parameterMap;
+
+ @Before
+ public void setUp() throws Exception {
+ parameterMap = Maps.newHashMap();
+ }
+
+ @Test
+ public void mapContainsList() {
+ final QueryParameter<List<List<String>>> queryParameter = RestfulRequest.QueryParameter.FOLLOW_LINKS;
+ parameterMap.put("x-ro-follow-links", new String[]{"a", "b.c"});
+ List<List<String>> valueOf = queryParameter.valueOf(parameterMap);
+
+ assertThat(valueOf.size(), is(2));
+ assertThat(valueOf.get(0).size(), is(1));
+ assertThat(valueOf.get(0).get(0), is("a"));
+ assertThat(valueOf.get(1).size(), is(2));
+ assertThat(valueOf.get(1).get(0), is("b"));
+ assertThat(valueOf.get(1).get(1), is("c"));
+ }
+
+ @Test
+ public void mapHasNoKey() {
+ final QueryParameter<List<List<String>>> queryParameter = RestfulRequest.QueryParameter.FOLLOW_LINKS;
+ parameterMap.put("something-else", new String[]{"a", "b.c"});
+ List<List<String>> valueOf = queryParameter.valueOf(parameterMap);
+
+ assertThat(valueOf.size(), is(0));
+ }
+
+ @Test
+ public void mapIsEmpty() {
+ final QueryParameter<List<List<String>>> queryParameter = RestfulRequest.QueryParameter.FOLLOW_LINKS;
+ List<List<String>> valueOf = queryParameter.valueOf(parameterMap);
+
+ assertThat(valueOf.size(), is(0));
+ }
+
+ @Test
+ public void mapIsNull() {
+ final QueryParameter<List<List<String>>> queryParameter = RestfulRequest.QueryParameter.FOLLOW_LINKS;
+ List<List<String>> valueOf = queryParameter.valueOf(null);
+
+ assertThat(valueOf.size(), is(0));
+ }
+
+ @Test
+ public void mapContainsCommaSeparatedList() {
+
+ final QueryParameter<List<List<String>>> queryParameter = RestfulRequest.QueryParameter.FOLLOW_LINKS;
+ parameterMap.put("x-ro-follow-links", new String[]{"a,b.c"});
+ List<List<String>> valueOf = queryParameter.valueOf(parameterMap);
+
+ assertThat(valueOf.size(), is(2));
+ assertThat(valueOf.get(0).size(), is(1));
+ assertThat(valueOf.get(0).get(0), is("a"));
+ assertThat(valueOf.get(1).size(), is(2));
+ assertThat(valueOf.get(1).get(0), is("b"));
+ assertThat(valueOf.get(1).get(1), is("c"));
+ }
+
+
+
+}
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/home/HomePageResourceTest_xrofollowlinks.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/home/HomePageResourceTest_xrofollowlinks.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/home/HomePageResourceTest_xrofollowlinks.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/home/HomePageResourceTest_xrofollowlinks.java Wed Oct 5 19:47:17 2011
@@ -1,36 +1,15 @@
package org.apache.isis.viewer.json.tck.resources.home;
-import static org.apache.isis.viewer.json.tck.RepresentationMatchers.assertThat;
-import static org.apache.isis.viewer.json.tck.RepresentationMatchers.isArray;
-import static org.apache.isis.viewer.json.tck.RepresentationMatchers.isFollowableLinkToSelf;
-import static org.apache.isis.viewer.json.tck.RepresentationMatchers.isLink;
-import static org.apache.isis.viewer.json.tck.RepresentationMatchers.isMap;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
-
-import java.io.IOException;
-
-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.viewer.json.applib.HttpMethod;
-import org.apache.isis.viewer.json.applib.RepresentationType;
import org.apache.isis.viewer.json.applib.RestfulClient;
import org.apache.isis.viewer.json.applib.RestfulRequest;
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.Method;
import org.apache.isis.viewer.json.applib.homepage.HomePageRepresentation;
import org.apache.isis.viewer.json.applib.homepage.HomePageResource;
import org.apache.isis.viewer.json.tck.IsisWebServerRule;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
@@ -51,11 +30,11 @@ public class HomePageResourceTest_xrofol
resource = client.getHomePageResource();
}
- @Ignore("in progress")
@Test
public void xrofollowLinks() throws Exception {
- final RestfulRequest request = client.createRequest(HttpMethod.GET, "/").withArg(QueryParameter.FOLLOW_LINKS, "user");
+ // TODO: this needs to be more generic
+ final RestfulRequest request = client.createRequest(HttpMethod.GET, "/").withArg(QueryParameter.FOLLOW_LINKS, "user,services");
final RestfulResponse<HomePageRepresentation> restfulResponse = request.executeT();
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=1179398&r1=1179397&r2=1179398&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 Wed Oct 5 19:47:17 2011
@@ -19,6 +19,7 @@
package org.apache.isis.viewer.json.viewer;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -57,6 +58,7 @@ public class ResourceContext {
private final AuthenticationSession authenticationSession;
private final PersistenceSession persistenceSession;
private final ObjectAdapterLookup objectAdapterLookup;
+ private List<List<String>> followLinks;
private final static Predicate<MediaType> MEDIA_TYPE_NOT_GENERIC_APPLICATION_JSON = new Predicate<MediaType>() {
@Override
@@ -72,14 +74,14 @@ public class ResourceContext {
};
public ResourceContext(
- final HttpHeaders httpHeaders, final UriInfo uriInfo, final Request request,
- final HttpServletRequest httpServletRequest, final HttpServletResponse httpServletResponse,
+ RepresentationType representationType, final HttpHeaders httpHeaders, final UriInfo uriInfo,
+ final Request request, final HttpServletRequest httpServletRequest,
+ final HttpServletResponse httpServletResponse,
final SecurityContext securityContext,
final OidStringifier oidStringifier,
final Localization localization,
final AuthenticationSession authenticationSession,
- final PersistenceSession persistenceSession,
- final ObjectAdapterLookup objectAdapterLookup) {
+ final PersistenceSession persistenceSession, final ObjectAdapterLookup objectAdapterLookup) {
this.httpHeaders = httpHeaders;
this.uriInfo = uriInfo;
@@ -92,9 +94,46 @@ public class ResourceContext {
this.authenticationSession = authenticationSession;
this.persistenceSession = persistenceSession;
this.objectAdapterLookup = objectAdapterLookup;
+
+ init(representationType);
}
- public void ensureCompatibleAcceptHeader(RepresentationType representationType) {
+ void init(RepresentationType representationType) {
+ ensureCompatibleAcceptHeader(representationType);
+ this.followLinks = Collections.unmodifiableList(getArg(QueryParameter.FOLLOW_LINKS));
+ }
+
+ public HttpHeaders getHttpHeaders() {
+ return httpHeaders;
+ }
+
+ public <Q> Q getArg(QueryParameter<Q> queryParameter) {
+ return queryParameter.valueOf(getHttpServletRequest().getParameterMap());
+ }
+
+
+ public UriInfo getUriInfo() {
+ return uriInfo;
+ }
+
+ public Request getRequest() {
+ return request;
+ }
+
+ public HttpServletRequest getHttpServletRequest() {
+ return httpServletRequest;
+ }
+
+ public HttpServletResponse getServletResponse() {
+ return httpServletResponse;
+ }
+
+ public SecurityContext getSecurityContext() {
+ return securityContext;
+ }
+
+
+ private void ensureCompatibleAcceptHeader(RepresentationType representationType) {
if(representationType == null) {
return;
}
@@ -132,33 +171,8 @@ public class ResourceContext {
return profile == null ? acceptedMediaType.isCompatible(producedMediaType) : acceptedMediaType.equals(producedMediaType);
}
- public HttpHeaders getHttpHeaders() {
- return httpHeaders;
- }
-
- public <Q> Q getArg(QueryParameter<Q> queryParameter) {
- return queryParameter.valueOf(getHttpServletRequest().getParameterMap());
- }
-
-
- public UriInfo getUriInfo() {
- return uriInfo;
- }
-
- public Request getRequest() {
- return request;
- }
-
- public HttpServletRequest getHttpServletRequest() {
- return httpServletRequest;
- }
-
- public HttpServletResponse getServletResponse() {
- return httpServletResponse;
- }
-
- public SecurityContext getSecurityContext() {
- return securityContext;
+ public List<List<String>> getFollowLinks() {
+ return followLinks;
}
public String urlFor(String url) {
Added: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/PathFollower.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/PathFollower.java?rev=1179398&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/PathFollower.java (added)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/PathFollower.java Wed Oct 5 19:47:17 2011
@@ -0,0 +1,83 @@
+package org.apache.isis.viewer.json.viewer.representations;
+
+import java.util.List;
+import java.util.Map;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.Maps;
+
+public final class PathFollower {
+
+ public final static PathFollower initial(List<List<String>> followLinks) {
+ final Map<String, List<String>> map = Maps.newHashMap();
+ for (List<String> list : followLinks) {
+ int size = list.size();
+ if(size == 0) { continue; }
+ String path = list.get(0);
+ list.remove(0);
+ map.put(path, list);
+ }
+ return new PathFollower(map, null, Mode.FINDING_PATH);
+ }
+
+ public final static PathFollower following(List<String> links) {
+ return new PathFollower(null, links, Mode.FOLLOWING_PATH);
+ }
+
+ private static PathFollower terminated() {
+ return new PathFollower(null, null, Mode.TERMINATED);
+ }
+
+
+ private enum Mode {
+ FINDING_PATH,
+ FOLLOWING_PATH,
+ TERMINATED;
+ }
+
+ private final Map<String, List<String>> linkCandidatesByPath;
+ private final List<String> links;
+ private Mode mode;
+
+ private PathFollower(Map<String, List<String>> linkCandidatesByPath, List<String> links, Mode mode) {
+ this.linkCandidatesByPath = linkCandidatesByPath;
+ this.links = links;
+ this.mode = mode;
+ }
+
+ /**
+ * A little algebra...
+ */
+ public PathFollower follow(String path) {
+ if(path == null) {
+ return PathFollower.terminated();
+ }
+ if(mode == Mode.FINDING_PATH) {
+ List<String> remaining = linkCandidatesByPath.get(path);
+ if(remaining != null) {
+ return PathFollower.following(remaining);
+ } else {
+ return PathFollower.terminated();
+ }
+ }
+ if(mode == Mode.FOLLOWING_PATH) {
+ if(links.size() == 0) {
+ return PathFollower.terminated();
+ } else {
+ String firstPath = links.get(0);
+ if(Objects.equal(path, firstPath)) {
+ List<String> remaining = links.subList(1, links.size());
+ return PathFollower.following(remaining);
+ } else {
+ return PathFollower.terminated();
+ }
+ }
+ }
+ return PathFollower.terminated();
+ }
+
+ public boolean isTerminated() {
+ return mode == Mode.TERMINATED;
+ }
+
+}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RendererFactory.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/RendererFactory.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RendererFactory.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/RendererFactory.java Wed Oct 5 19:47:17 2011
@@ -8,6 +8,6 @@ public interface RendererFactory {
RepresentationType getRepresentationType();
- ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation);
+ ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation 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/representations/ReprRendererAbstract.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/ReprRendererAbstract.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/ReprRendererAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/ReprRendererAbstract.java Wed Oct 5 19:47:17 2011
@@ -13,21 +13,34 @@ import org.apache.isis.viewer.json.viewe
public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>, T> implements ReprRenderer<R, T> {
protected final ResourceContext resourceContext;
+ private final PathFollower pathFollower;
private final RepresentationType representationType;
protected final JsonRepresentation representation;
protected boolean includesSelf;
- public ReprRendererAbstract(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
+ public ReprRendererAbstract(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
this.resourceContext = resourceContext;
+ this.pathFollower = asProvidedElseCreate(pathFollower);
this.representationType = representationType;
this.representation = representation;
}
+ private PathFollower asProvidedElseCreate(PathFollower pathFollower) {
+ if(pathFollower != null) {
+ return pathFollower;
+ }
+ return PathFollower.initial(resourceContext.getFollowLinks());
+ }
+
public ResourceContext getResourceContext() {
return resourceContext;
}
+ public PathFollower getPathFollower() {
+ return pathFollower;
+ }
+
@Override
public RepresentationType getRepresentationType() {
return representationType;
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=1179398&r1=1179397&r2=1179398&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 Wed Oct 5 19:47:17 2011
@@ -48,6 +48,7 @@ import org.apache.isis.runtimes.dflt.run
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.json.applib.JsonRepresentation;
import org.apache.isis.viewer.json.applib.RepresentationType;
+import org.apache.isis.viewer.json.applib.RestfulRequest.QueryParameter;
import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
import org.apache.isis.viewer.json.applib.util.JsonMapper;
import org.apache.isis.viewer.json.viewer.JsonApplicationException;
@@ -110,11 +111,12 @@ public abstract class ResourceAbstract {
private ResourceContext resourceContext;
+
+
protected void init(RepresentationType representationType) {
this.resourceContext =
- new ResourceContext(httpHeaders, uriInfo, request, httpServletRequest, httpServletResponse, securityContext,
- getOidStringifier(), getLocalization(), getAuthenticationSession(), getPersistenceSession(), getAdapterManager());
- resourceContext.ensureCompatibleAcceptHeader(representationType);
+ new ResourceContext(representationType, httpHeaders, uriInfo, request, httpServletRequest, httpServletResponse,
+ securityContext, getOidStringifier(), getLocalization(), getAuthenticationSession(), getPersistenceSession(), getAdapterManager());
}
protected ResourceContext getResourceContext() {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesReprRenderer.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/CapabilitiesReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -3,6 +3,7 @@ package org.apache.isis.viewer.json.view
import org.apache.isis.viewer.json.applib.JsonRepresentation;
import org.apache.isis.viewer.json.applib.RepresentationType;
import org.apache.isis.viewer.json.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -15,13 +16,13 @@ public class CapabilitiesReprRenderer ex
}
@Override
- public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new CapabilitiesReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new CapabilitiesReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
- private CapabilitiesReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private CapabilitiesReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
includesSelf();
}
Modified: 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=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/capabilities/CapabilitiesResourceServerside.java Wed Oct 5 19:47:17 2011
@@ -52,7 +52,7 @@ public class CapabilitiesResourceServers
final RendererFactory factory = rendererFactoryRegistry.find(representationType);
final CapabilitiesReprRenderer renderer =
- (CapabilitiesReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (CapabilitiesReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractObjectMemberReprRenderer.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/AbstractObjectMemberReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractObjectMemberReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractObjectMemberReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -24,6 +24,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
public abstract class AbstractObjectMemberReprRenderer<R extends ReprRendererAbstract<R, ObjectAndMember<T>>, T extends ObjectMember>
@@ -36,8 +37,8 @@ public abstract class AbstractObjectMemb
protected T objectMember;
- public AbstractObjectMemberReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public AbstractObjectMemberReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
@Override
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectReprRenderer.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/DomainObjectReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -33,6 +33,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.RendererFactory;
import org.apache.isis.viewer.json.viewer.representations.RendererFactoryRegistry;
@@ -51,8 +52,8 @@ public class DomainObjectReprRenderer ex
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new DomainObjectReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new DomainObjectReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
@@ -65,8 +66,8 @@ public class DomainObjectReprRenderer ex
private ObjectAdapterLinkToBuilder linkToBuilder;
private ObjectAdapter objectAdapter;
- private DomainObjectReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private DomainObjectReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
usingLinkToBuilder(new DomainObjectLinkToBuilder());
}
@@ -135,7 +136,7 @@ public class DomainObjectReprRenderer ex
RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_PROPERTY);
final ObjectPropertyReprRenderer renderer =
- (ObjectPropertyReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (ObjectPropertyReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new ObjectAndProperty(objectAdapter, property))
.usingLinkToBuilder(linkToBuilder)
@@ -148,7 +149,7 @@ public class DomainObjectReprRenderer ex
RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_COLLECTION);
final ObjectCollectionReprRenderer renderer =
- (ObjectCollectionReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (ObjectCollectionReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new ObjectAndCollection(objectAdapter, collection))
.usingLinkToBuilder(linkToBuilder)
@@ -175,7 +176,7 @@ public class DomainObjectReprRenderer ex
RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_ACTION);
final ObjectActionReprRenderer renderer =
- (ObjectActionReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (ObjectActionReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new ObjectAndAction(objectAdapter, action))
.usingLinkToBuilder(linkToBuilder)
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=1179398&r1=1179397&r2=1179398&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 Wed Oct 5 19:47:17 2011
@@ -75,7 +75,7 @@ public class DomainObjectResourceServers
rendererFactoryRegistry.find(representationType);
final DomainObjectReprRenderer renderer =
- (DomainObjectReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (DomainObjectReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(objectAdapter);
ResponseBuilder respBuilder = responseOfOk(Caching.NONE, renderer);
@@ -200,7 +200,7 @@ public class DomainObjectResourceServers
RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_COLLECTION);
final ObjectCollectionReprRenderer renderer =
- (ObjectCollectionReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (ObjectCollectionReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new ObjectAndCollection(objectAdapter, collection));
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=1179398&r1=1179397&r2=1179398&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 Wed Oct 5 19:47:17 2011
@@ -86,7 +86,7 @@ public class DomainResourceHelper {
RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_PROPERTY);
final ObjectPropertyReprRenderer renderer =
- (ObjectPropertyReprRenderer) factory.newRenderer(resourceContext, JsonRepresentation.newMap());
+ (ObjectPropertyReprRenderer) factory.newRenderer(resourceContext, null, JsonRepresentation.newMap());
renderer.with(new ObjectAndProperty(objectAdapter, property));
@@ -103,7 +103,7 @@ public class DomainResourceHelper {
RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_ACTION);
final ObjectActionReprRenderer renderer =
- (ObjectActionReprRenderer) factory.newRenderer(resourceContext, JsonRepresentation.newMap());
+ (ObjectActionReprRenderer) factory.newRenderer(resourceContext, null, JsonRepresentation.newMap());
renderer.with(new ObjectAndAction(serviceAdapter, action))
.withSelf()
@@ -238,7 +238,7 @@ public class DomainResourceHelper {
.collection(returnedAdapter);
final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.LIST);
- final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(resourceContext, representation);
+ final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(resourceContext, null, representation);
renderer.with(collectionAdapters);
return ResourceAbstract.responseOfOk(Caching.NONE, renderer).build();
@@ -250,13 +250,13 @@ public class DomainResourceHelper {
final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.SCALAR_VALUE);
- ScalarValueReprRenderer renderer = (ScalarValueReprRenderer) factory.newRenderer(resourceContext, representation);
+ ScalarValueReprRenderer renderer = (ScalarValueReprRenderer) factory.newRenderer(resourceContext, null, representation);
renderer.with(objectAdapter);
return ResourceAbstract.responseOfOk(Caching.NONE, renderer).build();
}
final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.DOMAIN_OBJECT);
- final DomainObjectReprRenderer renderer = (DomainObjectReprRenderer) factory.newRenderer(resourceContext, representation);
+ final DomainObjectReprRenderer renderer = (DomainObjectReprRenderer) factory.newRenderer(resourceContext, null, representation);
renderer.with(returnedAdapter);
ResponseBuilder respBuilder = ResourceAbstract.responseOfOk(Caching.NONE, renderer);
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceResourceServerside.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/DomainServiceResourceServerside.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceResourceServerside.java Wed Oct 5 19:47:17 2011
@@ -55,7 +55,7 @@ public class DomainServiceResourceServer
final RendererFactory factory = RendererFactoryRegistry.instance.find(representationType);
- final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.usingLinkToBuilder(new DomainServiceLinkToBuilder())
.withSelf("services")
.with(serviceAdapters);
@@ -80,7 +80,7 @@ public class DomainServiceResourceServer
final RendererFactory factory = rendererFactoryRegistry.find(representationType);
final DomainObjectReprRenderer renderer =
- (DomainObjectReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (DomainObjectReprRenderer) factory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.usingLinkToBuilder(new DomainServiceLinkToBuilder())
.includesSelf()
.with(serviceAdapter);
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ListReprRenderer.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/ListReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ListReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ListReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -22,6 +22,7 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.viewer.json.applib.JsonRepresentation;
import org.apache.isis.viewer.json.applib.RepresentationType;
import org.apache.isis.viewer.json.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -34,15 +35,15 @@ public class ListReprRenderer extends Re
}
@Override
- public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new ListReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new ListReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
private ObjectAdapterLinkToBuilder objectAdapterLinkToBuilder;
- private ListReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private ListReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
usingLinkToBuilder(new DomainObjectLinkToBuilder());
}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectActionReprRenderer.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/ObjectActionReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectActionReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectActionReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -26,6 +26,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
import org.apache.isis.viewer.json.viewer.resources.domaintypes.DomainTypeReprRenderer;
@@ -43,17 +44,15 @@ public class ObjectActionReprRenderer ex
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new ObjectActionReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new ObjectActionReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
-
- private ObjectActionReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private ObjectActionReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
-
public JsonRepresentation render() {
putId();
putMemberType();
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectCollectionReprRenderer.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/ObjectCollectionReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectCollectionReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectCollectionReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -26,6 +26,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -43,13 +44,13 @@ public class ObjectCollectionReprRendere
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new ObjectCollectionReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new ObjectCollectionReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
- private ObjectCollectionReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private ObjectCollectionReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
public JsonRepresentation render() {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectPropertyReprRenderer.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/ObjectPropertyReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectPropertyReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectPropertyReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -25,6 +25,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
import org.apache.isis.viewer.json.viewer.resources.domaintypes.DomainTypeReprRenderer;
@@ -41,14 +42,14 @@ public class ObjectPropertyReprRenderer
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new ObjectPropertyReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new ObjectPropertyReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
- private ObjectPropertyReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private ObjectPropertyReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
public JsonRepresentation render() {
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=1179398&r1=1179397&r2=1179398&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 Wed Oct 5 19:47:17 2011
@@ -23,6 +23,7 @@ import org.apache.isis.viewer.json.appli
import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
import org.apache.isis.viewer.json.viewer.JsonApplicationException;
import org.apache.isis.viewer.json.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -35,13 +36,13 @@ public class ScalarValueReprRenderer ext
}
@Override
- public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new ScalarValueReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new ScalarValueReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
- private ScalarValueReprRenderer(final ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private ScalarValueReprRenderer(final ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
public ScalarValueReprRenderer with(final ObjectAdapter objectAdapter) {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/AbstractTypeFeatureReprBuilder.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/AbstractTypeFeatureReprBuilder.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/AbstractTypeFeatureReprBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/AbstractTypeFeatureReprBuilder.java Wed Oct 5 19:47:17 2011
@@ -22,6 +22,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
import org.apache.isis.viewer.json.viewer.resources.domainobjects.MemberType;
@@ -32,8 +33,8 @@ public abstract class AbstractTypeFeatur
protected MemberType memberType;
protected T objectFeature;
- public AbstractTypeFeatureReprBuilder(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public AbstractTypeFeatureReprBuilder(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
public ObjectSpecification getObjectSpecification() {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeReprRenderer.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/DomainTypeReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -20,6 +20,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
@@ -33,8 +34,8 @@ public class DomainTypeReprRenderer exte
}
@Override
- public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new DomainTypeReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new DomainTypeReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
@@ -46,8 +47,8 @@ public class DomainTypeReprRenderer exte
private ObjectSpecification objectSpecification;
- public DomainTypeReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public DomainTypeReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
@Override
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.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?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypeResourceServerside.java Wed Oct 5 19:47:17 2011
@@ -63,7 +63,7 @@ public class DomainTypeResourceServersid
rendererFactoryRegistry.find(representationType);
final DomainTypesReprRenderer renderer =
- (DomainTypesReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (DomainTypesReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(allSpecifications).includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
@@ -83,7 +83,7 @@ public class DomainTypeResourceServersid
rendererFactoryRegistry.find(representationType);
final DomainTypeReprRenderer renderer =
- (DomainTypeReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (DomainTypeReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(objectSpec).includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
@@ -113,7 +113,7 @@ public class DomainTypeResourceServersid
rendererFactoryRegistry.find(representationType);
final TypePropertyReprRenderer renderer =
- (TypePropertyReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (TypePropertyReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new SpecAndProperty(objectSpec, property)).includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
@@ -143,7 +143,7 @@ public class DomainTypeResourceServersid
rendererFactoryRegistry.find(representationType);
final TypeCollectionReprRenderer renderer =
- (TypeCollectionReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (TypeCollectionReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new SpecAndCollection(objectSpec, collection)).includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
@@ -173,7 +173,7 @@ public class DomainTypeResourceServersid
rendererFactoryRegistry.find(representationType);
final TypeActionReprRenderer renderer =
- (TypeActionReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (TypeActionReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new SpecAndAction(objectSpec, action)).includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
@@ -206,7 +206,7 @@ public class DomainTypeResourceServersid
rendererFactoryRegistry.find(representationType);
final TypeActionParamReprRenderer renderer =
- (TypeActionParamReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+ (TypeActionParamReprRenderer) rendererFactory.newRenderer(getResourceContext(), null, JsonRepresentation.newMap());
renderer.with(new SpecAndActionParam(objectSpec, actionParam)).includesSelf();
return responseOfOk(Caching.ONE_DAY, renderer).build();
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypesReprRenderer.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/DomainTypesReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypesReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/DomainTypesReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -6,6 +6,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
@@ -21,13 +22,13 @@ public class DomainTypesReprRenderer ext
}
@Override
- public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new DomainTypesReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?, ?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new DomainTypesReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
- private DomainTypesReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ private DomainTypesReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
@Override
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionParamReprRenderer.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/TypeActionParamReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionParamReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionParamReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -22,6 +22,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -35,8 +36,8 @@ public class TypeActionParamReprRenderer
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new TypeActionParamReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new TypeActionParamReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
@@ -49,8 +50,8 @@ public class TypeActionParamReprRenderer
return LinkBuilder.newBuilder(resourceContext, rel, RepresentationType.TYPE_ACTION_PARAMETER, url);
}
- public TypeActionParamReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public TypeActionParamReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionReprRenderer.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/TypeActionReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeActionReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -21,6 +21,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -34,8 +35,8 @@ public class TypeActionReprRenderer exte
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new TypeActionReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new TypeActionReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
@@ -46,8 +47,8 @@ public class TypeActionReprRenderer exte
return LinkBuilder.newBuilder(resourceContext, rel, RepresentationType.TYPE_ACTION, url);
}
- public TypeActionReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public TypeActionReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeCollectionReprRenderer.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/TypeCollectionReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeCollectionReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypeCollectionReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -21,6 +21,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -34,8 +35,8 @@ public class TypeCollectionReprRenderer
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new TypeCollectionReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new TypeCollectionReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
@@ -46,8 +47,8 @@ public class TypeCollectionReprRenderer
return LinkBuilder.newBuilder(resourceContext, rel, RepresentationType.TYPE_COLLECTION, url);
}
- public TypeCollectionReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public TypeCollectionReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
public JsonRepresentation render() {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypePropertyReprRenderer.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/TypePropertyReprRenderer.java?rev=1179398&r1=1179397&r2=1179398&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypePropertyReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domaintypes/TypePropertyReprRenderer.java Wed Oct 5 19:47:17 2011
@@ -21,6 +21,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.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.representations.PathFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
@@ -34,8 +35,8 @@ public class TypePropertyReprRenderer ex
}
@Override
- public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, JsonRepresentation representation) {
- return new TypePropertyReprRenderer(resourceContext, getRepresentationType(), representation);
+ public ReprRenderer<?,?> newRenderer(ResourceContext resourceContext, PathFollower pathFollower, JsonRepresentation representation) {
+ return new TypePropertyReprRenderer(resourceContext, pathFollower, getRepresentationType(), representation);
}
}
@@ -46,8 +47,8 @@ public class TypePropertyReprRenderer ex
return LinkBuilder.newBuilder(resourceContext, rel, RepresentationType.TYPE_PROPERTY, url);
}
- public TypePropertyReprRenderer(ResourceContext resourceContext, RepresentationType representationType, JsonRepresentation representation) {
- super(resourceContext, representationType, representation);
+ public TypePropertyReprRenderer(ResourceContext resourceContext, PathFollower pathFollower, RepresentationType representationType, JsonRepresentation representation) {
+ super(resourceContext, pathFollower, representationType, representation);
}
public JsonRepresentation render() {