You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2011/10/24 23:05:18 UTC
svn commit: r1188379 [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...
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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -61,9 +61,8 @@ public class ObjectActionReprRenderer ex
putDisabledReasonIfDisabled();
- JsonRepresentation extensions = JsonRepresentation.newMap();
+ JsonRepresentation extensions = getExtensions();
putExtensionsIsisProprietary(extensions);
- withExtensions(extensions );
JsonRepresentation links = getLinks();
addLinksFormalDomainModel(links, resourceContext);
@@ -103,12 +102,12 @@ public class ObjectActionReprRenderer ex
final String mutator = semantics.getInvokeKey();
final MutatorSpec mutatorSpec = mutators.get(mutator);
- appendInvokeLink(mutatorSpec);
+ addInvokeLinkIfMutator(mutatorSpec);
return cast(this);
}
- private void appendInvokeLink(MutatorSpec mutatorSpec) {
+ private void addInvokeLinkIfMutator(MutatorSpec mutatorSpec) {
if(!hasMemberFacet(mutatorSpec.mutatorFacetType)) {
return;
}
@@ -118,7 +117,7 @@ public class ObjectActionReprRenderer ex
.withHttpMethod(mutatorSpec.httpMethod)
.withArguments(arguments)
.build();
- representation.mapPut("invoke", detailsLink);
+ getLinks().arrayAdd(detailsLink);
}
private ObjectAdapter contributingServiceAdapter() {
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectAdapterLinkTo.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/ObjectAdapterLinkTo.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectAdapterLinkTo.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ObjectAdapterLinkTo.java Mon Oct 24 21:05:17 2011
@@ -29,6 +29,8 @@ public interface ObjectAdapterLinkTo {
ObjectAdapterLinkTo usingResourceContext(ResourceContext resourceContext);
ObjectAdapterLinkTo with(ObjectAdapter objectAdapter);
+
+ ObjectAdapterLinkTo with(Rel rel);
LinkBuilder builder();
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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -61,9 +61,8 @@ public class ObjectCollectionReprRendere
putDisabledReasonIfDisabled();
- JsonRepresentation extensions = JsonRepresentation.newMap();
+ JsonRepresentation extensions = getExtensions();
putExtensionsIsisProprietary(extensions);
- withExtensions(extensions );
JsonRepresentation links = getLinks();
addLinksFormalDomainModel(links, resourceContext);
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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -62,9 +62,8 @@ public class ObjectPropertyReprRenderer
putDisabledReasonIfDisabled();
- JsonRepresentation extensions = JsonRepresentation.newMap();
+ JsonRepresentation extensions = getExtensions();
putExtensionsIsisProprietary(extensions);
- withExtensions(extensions );
JsonRepresentation links = getLinks();
addLinksFormalDomainModel(links, resourceContext);
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=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ScalarValueReprRenderer.java Mon Oct 24 21:05:17 2011
@@ -61,9 +61,8 @@ public class ScalarValueReprRenderer ext
@Override
public JsonRepresentation render() {
- JsonRepresentation extensions = JsonRepresentation.newMap();
+ JsonRepresentation extensions = getExtensions();
putExtensionsIsisProprietary(extensions);
- withExtensions(extensions );
JsonRepresentation links = getLinks();
addLinksFormalDomainModel(links, resourceContext);
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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -59,19 +59,43 @@ public abstract class AbstractTypeFeatur
objectSpecification = specAndFeature.getObjectSpecification();
objectFeature = specAndFeature.getObjectFeature();
memberType = MemberType.determineFrom(objectFeature);
+
+ // done eagerly so can use as criteria for x-ro-follow-links
+ putIdIfMember();
+ putMemberTypeIfMember();
+
return cast(this);
}
-
+
+ protected void putIdIfMember() {
+ if(memberType == null) {
+ return;
+ }
+ ObjectMember objectMember = (ObjectMember) objectFeature;
+ representation.mapPut(memberType.getJsProp(), objectMember.getId());
+ }
+
+ protected void putMemberTypeIfMember() {
+ if(memberType == null) {
+ return;
+ }
+ representation.mapPut("memberType", memberType.getName());
+ }
+
protected void includeSelfIfRequired() {
if(!includesSelf) {
return;
}
- representation.mapPut("self",
- LinkBuilder.newBuilder(getResourceContext(), Rel.SELF, getRepresentationType(), "domainTypes/%s/%s/%s",
- getObjectSpecification().getFullIdentifier(), getMemberType().getUrlPart(), ((ObjectMember)getObjectFeature()).getId()).build());
+ final ObjectMember objectMember = (ObjectMember)getObjectFeature();
+ final LinkBuilder linkBuilder = LinkBuilder.newBuilder(
+ getResourceContext(), Rel.SELF, getRepresentationType(),
+ "domainTypes/%s/%s/%s",
+ getObjectSpecification().getFullIdentifier(),
+ getMemberType().getUrlPart(),
+ objectMember.getId());
+ getLinks().arrayAdd(linkBuilder.build());
}
-
}
\ 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/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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -49,7 +49,6 @@ import org.apache.isis.viewer.json.viewe
@Path("/domainTypes")
public class DomainTypeResourceServerside extends ResourceAbstract implements DomainTypeResource {
-
@GET
@Path("/")
@Produces({ MediaType.APPLICATION_JSON, RestfulMediaType.APPLICATION_JSON_DOMAIN_TYPES })
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.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/home/HomePageReprRenderer.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java Mon Oct 24 21:05:17 2011
@@ -80,7 +80,7 @@ public class HomePageReprRenderer extend
private void addLinkToSelf(JsonRepresentation representation) {
final LinkBuilder linkBuilder = LinkBuilder.newBuilder(resourceContext, Rel.SELF, getRepresentationType(), "");
- final LinkFollower linkFollower = getLinkFollower().follow("self");
+ final LinkFollower linkFollower = getLinkFollower().follow("links[rel=self]");
if(linkFollower.isFollowing()) {
final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.HOME_PAGE);
@@ -95,7 +95,7 @@ public class HomePageReprRenderer extend
private void addLinkToCapabilities() {
final LinkBuilder linkBuilder = LinkBuilder.newBuilder(getResourceContext(), Rel.CAPABILITIES, RepresentationType.CAPABILITIES, "capabilities");
- final LinkFollower linkFollower = getLinkFollower().follow("capabilities");
+ final LinkFollower linkFollower = getLinkFollower().follow("links[rel=capabilities]");
if(linkFollower.isFollowing()) {
final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.CAPABILITIES);
@@ -112,7 +112,7 @@ public class HomePageReprRenderer extend
final LinkBuilder linkBuilder =
LinkBuilder.newBuilder(getResourceContext(), Rel.SERVICES, RepresentationType.LIST, "services");
- final LinkFollower linkFollower = getLinkFollower().follow("services");
+ final LinkFollower linkFollower = getLinkFollower().follow("links[rel=services]");
if(linkFollower.isFollowing()) {
final List<ObjectAdapter> serviceAdapters = getResourceContext().getPersistenceSession().getServices();
@@ -134,7 +134,7 @@ public class HomePageReprRenderer extend
final LinkBuilder userLinkBuilder =
LinkBuilder.newBuilder(getResourceContext(), Rel.USER, RepresentationType.USER, "user");
- final LinkFollower linkFollower = getLinkFollower().follow("user");
+ final LinkFollower linkFollower = getLinkFollower().follow("links[rel=user]");
if(linkFollower.isFollowing()) {
final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.USER);
final UserReprRenderer renderer =
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserReprRenderer.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/UserReprRenderer.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserReprRenderer.java Mon Oct 24 21:05:17 2011
@@ -45,7 +45,7 @@ public class UserReprRenderer extends Re
@Override
public UserReprRenderer with(AuthenticationSession authenticationSession) {
- representation.mapPut("username", authenticationSession.getUserName());
+ representation.mapPut("userName", authenticationSession.getUserName());
JsonRepresentation roles = JsonRepresentation.newArray();
for (String role : authenticationSession.getRoles()) {
roles.arrayAdd(role);
@@ -58,7 +58,7 @@ public class UserReprRenderer extends Re
if(includesSelf) {
withSelf("user");
}
- withExtensions();
+ getExtensions();
return representation;
}