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 [1/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...
Author: danhaywood
Date: Mon Oct 24 21:05:17 2011
New Revision: 1188379
URL: http://svn.apache.org/viewvc?rev=1188379&view=rev
Log:
ISIS-109: more on sorting out links for v0.48 of spec
Added:
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/AbstractObjectMemberRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/AbstractTypeMemberRepresentation.java
Modified:
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/home/HomePageResourceTest_xrofollowlinks.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_accept.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_representationAndHeaders.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_xrofollowlinks.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java
incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/user/UserResourceTest_representationAndHeaders.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkBuilder.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkFollower.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/Rel.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/domainobjects/AbstractObjectMemberReprRenderer.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectLinkTo.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/DomainResourceHelper.java
incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceLinkTo.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/ObjectAdapterLinkTo.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/DomainTypeResourceServerside.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/user/UserReprRenderer.java
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/JsonRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,52 +18,50 @@
*/
package org.apache.isis.viewer.json.applib;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringReader;
-import java.lang.reflect.Constructor;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import net.sf.json.JSON;
-import net.sf.json.JSONNull;
-import net.sf.json.JSONSerializer;
-import net.sf.json.xml.XMLSerializer;
-
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.apache.isis.viewer.json.applib.util.JsonMapper;
-import org.apache.isis.viewer.json.applib.util.JsonNodeUtils;
-import org.apache.isis.viewer.json.applib.util.UrlEncodingUtils;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.JsonParseException;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.node.ArrayNode;
-import org.codehaus.jackson.node.JsonNodeFactory;
-import org.codehaus.jackson.node.NullNode;
-import org.codehaus.jackson.node.ObjectNode;
-import org.codehaus.jackson.node.POJONode;
-import org.jdom.Element;
-import org.jdom.JDOMException;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.XMLOutputter;
-import org.jdom.xpath.XPath;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.Collections2;
-import com.google.common.collect.Iterables;
-import com.google.common.collect.Iterators;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringReader;
+import java.lang.reflect.Constructor;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import net.sf.json.JSON;
+import net.sf.json.JSONNull;
+import net.sf.json.JSONSerializer;
+import net.sf.json.xml.XMLSerializer;
+
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
+import org.apache.isis.viewer.json.applib.util.JsonMapper;
+import org.apache.isis.viewer.json.applib.util.JsonNodeUtils;
+import org.apache.isis.viewer.json.applib.util.UrlEncodingUtils;
+import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonParseException;
+import org.codehaus.jackson.map.JsonMappingException;
+import org.codehaus.jackson.node.ArrayNode;
+import org.codehaus.jackson.node.JsonNodeFactory;
+import org.codehaus.jackson.node.NullNode;
+import org.codehaus.jackson.node.ObjectNode;
+import org.codehaus.jackson.node.POJONode;
+import org.jdom.Element;
+import org.jdom.JDOMException;
+import org.jdom.input.SAXBuilder;
+import org.jdom.output.XMLOutputter;
+import org.jdom.xpath.XPath;
+
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Iterators;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
/**
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/capabilities/CapabilitiesRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,32 +18,18 @@
*/
package org.apache.isis.viewer.json.applib.capabilities;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class CapabilitiesRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class CapabilitiesRepresentation extends DomainRepresentation {
public CapabilitiesRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("links[rel=self]");
- }
-
public JsonRepresentation getCapabilities() {
return getMap("capabilities");
}
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Added: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/AbstractObjectMemberRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/AbstractObjectMemberRepresentation.java?rev=1188379&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/AbstractObjectMemberRepresentation.java (added)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/AbstractObjectMemberRepresentation.java Mon Oct 24 21:05:17 2011
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.viewer.json.applib.domainobjects;
+
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
+import org.codehaus.jackson.JsonNode;
+
+
+public abstract class AbstractObjectMemberRepresentation extends DomainRepresentation {
+
+ public AbstractObjectMemberRepresentation(JsonNode jsonNode) {
+ super(jsonNode);
+ }
+
+ public String getId() {
+ return getString("id");
+ }
+
+ public String getMemberType() {
+ return getString("memberType");
+ }
+
+ public String getDisabledReason() {
+ return getString("disabledReason");
+ }
+
+ public LinkRepresentation getDetails() {
+ return getLinkWithRel("details");
+ }
+
+}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainObjectRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,24 +18,16 @@
*/
package org.apache.isis.viewer.json.applib.domainobjects;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class DomainObjectRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class DomainObjectRepresentation extends DomainRepresentation {
public DomainObjectRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
public String getOid() {
return getString("oid");
}
@@ -71,13 +63,4 @@ public class DomainObjectRepresentation
public JsonRepresentation getAction(final String id) {
return getRepresentation("members[memberType=action id=%s]", id);
}
-
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Added: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainRepresentation.java?rev=1188379&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainRepresentation.java (added)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/DomainRepresentation.java Mon Oct 24 21:05:17 2011
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.viewer.json.applib.domainobjects;
+
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
+import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
+import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
+import org.codehaus.jackson.JsonNode;
+
+public abstract class DomainRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+
+ public DomainRepresentation(JsonNode jsonNode) {
+ super(jsonNode);
+ }
+
+ public LinkRepresentation getSelf() {
+ return getLinkWithRel("self");
+ }
+
+ public JsonRepresentation getLinks() {
+ return getArray("links");
+ }
+
+ public LinkRepresentation getLinkWithRel(String rel) {
+ return getLink(String.format("links[rel=%s]", rel));
+ }
+
+ public JsonRepresentation getExtensions() {
+ return getMap("extensions");
+ }
+
+}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ListRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,33 +18,18 @@
*/
package org.apache.isis.viewer.json.applib.domainobjects;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class ListRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class ListRepresentation extends DomainRepresentation {
public ListRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("links[rel=self]");
- }
-
public JsonRepresentation getValues() {
return getArray("values");
}
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectActionRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,49 +18,18 @@
*/
package org.apache.isis.viewer.json.applib.domainobjects;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class ObjectActionRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class ObjectActionRepresentation extends AbstractObjectMemberRepresentation {
public ObjectActionRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public String getDisabledReason() {
- return getString("disabledReason");
- }
-
- public String getMemberType() {
- return getString("memberType");
- }
-
public LinkRepresentation getInvoke() {
- return getLink("invoke");
- }
-
- public String getActionId() {
- return getString("actionId");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
- public LinkRepresentation getActionDetails() {
- return getLink("actionDetails");
+ return getLinkWithRel("invoke");
}
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectCollectionRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,30 +18,13 @@
*/
package org.apache.isis.viewer.json.applib.domainobjects;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonNode;
-public class ObjectCollectionRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class ObjectCollectionRepresentation extends AbstractObjectMemberRepresentation {
public ObjectCollectionRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
-
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ObjectPropertyRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,30 +18,13 @@
*/
package org.apache.isis.viewer.json.applib.domainobjects;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonNode;
-public class ObjectPropertyRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class ObjectPropertyRepresentation extends AbstractObjectMemberRepresentation {
public ObjectPropertyRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
-
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domainobjects/ScalarValueRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,33 +18,18 @@
*/
package org.apache.isis.viewer.json.applib.domainobjects;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class ScalarValueRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class ScalarValueRepresentation extends DomainRepresentation {
public ScalarValueRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
public JsonRepresentation getValue() {
return getRepresentation("value");
}
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Added: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/AbstractTypeMemberRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/AbstractTypeMemberRepresentation.java?rev=1188379&view=auto
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/AbstractTypeMemberRepresentation.java (added)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/AbstractTypeMemberRepresentation.java Mon Oct 24 21:05:17 2011
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.isis.viewer.json.applib.domaintypes;
+
+import org.apache.isis.viewer.json.applib.domainobjects.DomainRepresentation;
+import org.codehaus.jackson.JsonNode;
+
+public abstract class AbstractTypeMemberRepresentation extends DomainRepresentation {
+
+ public AbstractTypeMemberRepresentation(JsonNode jsonNode) {
+ super(jsonNode);
+ }
+
+}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypeRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,28 +18,13 @@
*/
package org.apache.isis.viewer.json.applib.domaintypes;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class DomainTypeRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class DomainTypeRepresentation extends DomainRepresentation {
public DomainTypeRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/DomainTypesRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,28 +18,13 @@
*/
package org.apache.isis.viewer.json.applib.domaintypes;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class DomainTypesRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class DomainTypesRepresentation extends DomainRepresentation {
public DomainTypesRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionParameterRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,28 +18,12 @@
*/
package org.apache.isis.viewer.json.applib.domaintypes;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonNode;
-public class TypeActionParameterRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class TypeActionParameterRepresentation extends AbstractTypeMemberRepresentation {
public TypeActionParameterRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeActionRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,28 +18,16 @@
*/
package org.apache.isis.viewer.json.applib.domaintypes;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonNode;
-public class TypeActionRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class TypeActionRepresentation extends AbstractTypeMemberRepresentation {
public TypeActionRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
-
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
+
+ public String getId() {
+ return getString("id");
+ }
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypeCollectionRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,28 +18,12 @@
*/
package org.apache.isis.viewer.json.applib.domaintypes;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonNode;
-public class TypeCollectionRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class TypeCollectionRepresentation extends AbstractTypeMemberRepresentation {
public TypeCollectionRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/domaintypes/TypePropertyRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,28 +18,12 @@
*/
package org.apache.isis.viewer.json.applib.domaintypes;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.codehaus.jackson.JsonNode;
-public class TypePropertyRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class TypePropertyRepresentation extends AbstractTypeMemberRepresentation {
public TypePropertyRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("self");
- }
-
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/homepage/HomePageRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,37 +18,25 @@
*/
package org.apache.isis.viewer.json.applib.homepage;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class HomePageRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class HomePageRepresentation extends DomainRepresentation {
public HomePageRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("links[rel=self]");
- }
public LinkRepresentation getUser() {
- return getLink("links[rel=user]");
+ return getLinkWithRel("user");
}
public LinkRepresentation getServices() {
- return getLink("links[rel=services]");
+ return getLinkWithRel("services");
}
public LinkRepresentation getCapabilities() {
- return getLink("links[rel=capabilities]");
+ return getLinkWithRel("capabilities");
}
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
}
Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/user/UserRepresentation.java Mon Oct 24 21:05:17 2011
@@ -18,26 +18,19 @@
*/
package org.apache.isis.viewer.json.applib.user;
-import org.apache.isis.viewer.json.applib.JsonRepresentation;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasExtensions;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.HasLinks;
-import org.apache.isis.viewer.json.applib.JsonRepresentation.LinksToSelf;
-import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
-import org.codehaus.jackson.JsonNode;
+import org.apache.isis.viewer.json.applib.JsonRepresentation;
+import org.apache.isis.viewer.json.applib.domainobjects.DomainRepresentation;
+import org.codehaus.jackson.JsonNode;
-public class UserRepresentation extends JsonRepresentation implements LinksToSelf, HasLinks, HasExtensions {
+public class UserRepresentation extends DomainRepresentation {
public UserRepresentation(JsonNode jsonNode) {
super(jsonNode);
}
- public LinkRepresentation getSelf() {
- return getLink("links[rel=self]");
- }
-
- public String getUsername() {
- return getString("username");
+ public String getUserName() {
+ return getString("userName");
}
public String getFriendlyName() {
@@ -52,11 +45,4 @@ public class UserRepresentation extends
return getRepresentation("roles");
}
- public JsonRepresentation getLinks() {
- return getArray("links");
- }
- public JsonRepresentation getExtensions() {
- return getMap("extensions");
- }
-
}
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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -71,7 +71,7 @@ public class HomePageResourceTest_xrofol
@Test
public void all() throws Exception {
- repr = whenExecuteWith("/", "user,services,capabilities");
+ repr = whenExecuteAndFollowLinksUsing("/", "links[rel=user],links[rel=services],links[rel=capabilities]");
assertThat(repr.getUser().getValue(), is(not(nullValue())));
assertThat(repr.getCapabilities().getValue(), is(not(nullValue())));
@@ -81,7 +81,7 @@ public class HomePageResourceTest_xrofol
@Test
public void servicesValues() throws Exception {
- repr = whenExecuteWith("/", "services.values");
+ repr = whenExecuteAndFollowLinksUsing("/", "links[rel=services].values");
JsonRepresentation servicesValue = repr.getServices().getValue();
assertThat(servicesValue, is(not(nullValue())));
@@ -91,21 +91,21 @@ public class HomePageResourceTest_xrofol
JsonRepresentation service;
- service = serviceLinkList.getRepresentation("[key=%s]", "simples");
+ service = serviceLinkList.getRepresentation("[id=%s]", "simples");
assertThat(service, isMap());
- assertThat(service.getString("key"), is("simples"));
+ assertThat(service.getString("id"), is("simples"));
assertThat(service.getRepresentation("value"), is(not(nullValue())));
- service = serviceLinkList.getRepresentation("[key=%s]", "applibValuedEntities");
+ service = serviceLinkList.getRepresentation("[id=%s]", "applibValuedEntities");
assertThat(service, isMap());
- assertThat(service.getString("key"), is("applibValuedEntities"));
+ assertThat(service.getString("id"), is("applibValuedEntities"));
assertThat(service.getRepresentation("value"), is(not(nullValue())));
}
@Test
public void servicesValuesWithCriteria() throws Exception {
- repr = whenExecuteWith("/", "services.values[key=simples]");
+ repr = whenExecuteAndFollowLinksUsing("/", "links[rel=services].values[id=simples]");
JsonRepresentation servicesValue = repr.getServices().getValue();
assertThat(servicesValue, is(not(nullValue())));
@@ -115,16 +115,16 @@ public class HomePageResourceTest_xrofol
JsonRepresentation service;
- service = serviceLinkList.getRepresentation("[key=%s]", "simples");
+ service = serviceLinkList.getRepresentation("[id=%s]", "simples");
assertThat(service, isMap());
- assertThat(service.getString("key"), is("simples"));
+ assertThat(service.getString("id"), is("simples"));
assertThat(service.getRepresentation("value"), is(not(nullValue())));
- service = serviceLinkList.getRepresentation("[key=%s]", "applibValuedEntities");
+ service = serviceLinkList.getRepresentation("[id=%s]", "applibValuedEntities");
assertThat(service.getRepresentation("value"), is(nullValue()));
}
- private HomePageRepresentation whenExecuteWith(final String uriTemplate, final String followLinks) throws JsonParseException, JsonMappingException, IOException {
+ private HomePageRepresentation whenExecuteAndFollowLinksUsing(final String uriTemplate, final String followLinks) throws JsonParseException, JsonMappingException, IOException {
request = client.createRequest(HttpMethod.GET, uriTemplate).withArg(QueryParameter.FOLLOW_LINKS, followLinks);
restfulResponse = request.executeT();
return restfulResponse.getEntity();
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/invoke/DomainServiceResourceTest_invokeAction.java Mon Oct 24 21:05:17 2011
@@ -237,23 +237,22 @@ public class DomainServiceResourceTest_i
final String href = givenHrefToService(serviceId);
final RestfulRequest request =
- client.createRequest(HttpMethod.GET, href).withArg(QueryParameter.FOLLOW_LINKS, "members[id=%s].details", actionId);
+ client.createRequest(HttpMethod.GET, href).withArg(QueryParameter.FOLLOW_LINKS, "members[id=%s].links[rel=details]", actionId);
final RestfulResponse<DomainObjectRepresentation> restfulResponse = request.executeT();
assertThat(restfulResponse.getStatus(), is(HttpStatusCode.OK));
final DomainObjectRepresentation repr = restfulResponse.getEntity();
JsonRepresentation actionLinkRepr = repr.getAction(actionId);
- return actionLinkRepr.getRepresentation("details.value");
+ return actionLinkRepr.getRepresentation("links[rel=details].value");
}
-
private String givenHrefToService(String serviceId) throws JsonParseException, JsonMappingException, IOException {
final DomainServiceResource resource = client.getDomainServiceResource();
final Response response = resource.services();
final ListRepresentation services = RestfulResponse.<ListRepresentation>ofT(response).getEntity();
- return services.getRepresentation("values[key=%s]", serviceId).asLink().getHref();
+ return services.getRepresentation("values[id=%s]", serviceId).asLink().getHref();
}
private LinkRepresentation givenLinkToSimpleEntity(int num) throws JsonParseException, JsonMappingException, IOException, Exception {
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_accept.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_accept.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_accept.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_accept.java Mon Oct 24 21:05:17 2011
@@ -97,7 +97,7 @@ public class DomainServiceResourceTest_s
final Response response = resource.services();
final ListRepresentation services = RestfulResponse.<ListRepresentation>ofT(response).getEntity();
- final String href = services.getRepresentation("values.[key=%s]", "simples").asLink().getHref();
+ final String href = services.getRepresentation("values[id=%s]", "simples").asLink().getHref();
return href;
}
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_representationAndHeaders.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_representationAndHeaders.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_representationAndHeaders.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_representationAndHeaders.java Mon Oct 24 21:05:17 2011
@@ -121,7 +121,7 @@ public class DomainServiceResourceTest_s
DomainObjectRepresentation repr = givenRepresentation("simples");
// then
- assertThat(repr.getLinks().size(), is(1));
+ assertThat(repr.getLinks().size(), is(2));
}
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_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/service/serviceId/DomainServiceResourceTest_serviceId_xrofollowlinks.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_xrofollowlinks.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/serviceId/DomainServiceResourceTest_serviceId_xrofollowlinks.java Mon Oct 24 21:05:17 2011
@@ -63,7 +63,7 @@ public class DomainServiceResourceTest_s
final String href = givenHrefToService("simples");
final RestfulRequest request =
- client.createRequest(HttpMethod.GET, href).withArg(QueryParameter.FOLLOW_LINKS, "members[id=%s].details", "list");
+ client.createRequest(HttpMethod.GET, href).withArg(QueryParameter.FOLLOW_LINKS, "members[id=%s].links[rel=details]", "list");
final RestfulResponse<DomainObjectRepresentation> restfulResponse = request.executeT();
assertThat(restfulResponse.getStatus(), is(HttpStatusCode.OK));
@@ -75,12 +75,12 @@ public class DomainServiceResourceTest_s
JsonRepresentation actionRepr;
actionRepr = membersList.getRepresentation("[id=%s]", "list");
- assertThat(actionRepr.getRepresentation("details"), is(not(nullValue())));
- assertThat(actionRepr.getRepresentation("details.value"), is(not(nullValue()))); // followed
+ assertThat(actionRepr.getRepresentation("links[rel=details]"), is(not(nullValue())));
+ assertThat(actionRepr.getRepresentation("links[rel=details].value"), is(not(nullValue()))); // followed
actionRepr = membersList.getRepresentation("[id=%s]", "newTransientEntity");
- assertThat(actionRepr.getRepresentation("details"), is(not(nullValue())));
- assertThat(actionRepr.getRepresentation("details.value"), is(nullValue())); // not followed
+ assertThat(actionRepr.getRepresentation("links[rel=details]"), is(not(nullValue())));
+ assertThat(actionRepr.getRepresentation("links[rel=details].value"), is(nullValue())); // not followed
}
@@ -89,7 +89,7 @@ public class DomainServiceResourceTest_s
final Response response = resource.services();
final ListRepresentation services = RestfulResponse.<ListRepresentation>ofT(response).getEntity();
- return services.getRepresentation("values[key=%s]", serviceId).asLink().getHref();
+ return services.getRepresentation("values[id=%s]", serviceId).asLink().getHref();
}
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/service/services/DomainServiceResourceTest_services_representationAndHeaders.java Mon Oct 24 21:05:17 2011
@@ -117,7 +117,7 @@ public class DomainServiceResourceTest_s
assertThat(followJsonResp.getStatus().getFamily(), is(Family.SUCCESSFUL));
JsonRepresentation followRepr = followJsonResp.getEntity();
- LinkRepresentation self = followRepr.getLink("self");
+ LinkRepresentation self = followRepr.getLink("links[rel=self]");
assertThat(self.getHref(), is(link.getHref()));
}
Modified: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/user/UserResourceTest_representationAndHeaders.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/user/UserResourceTest_representationAndHeaders.java?rev=1188379&r1=1188378&r2=1188379&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/user/UserResourceTest_representationAndHeaders.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/org/apache/isis/viewer/json/tck/resources/user/UserResourceTest_representationAndHeaders.java Mon Oct 24 21:05:17 2011
@@ -90,7 +90,7 @@ public class UserResourceTest_representa
assertThat(repr.isMap(), is(true));
assertThat(repr.getSelf(), isLink(client).method(Method.GET));
- assertThat(repr.getUsername(), is(not(nullValue())));
+ assertThat(repr.getUserName(), is(not(nullValue())));
assertThat(repr.getFriendlyName(), is(nullValue())); // TODO: change fixture so populated
assertThat(repr.getEmail(), is(nullValue())); // TODO: change fixture so populated
assertThat(repr.getRoles(), is(not(nullValue()))); // TODO: change fixture so have non-empty list
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkBuilder.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/LinkBuilder.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/representations/LinkBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkBuilder.java Mon Oct 24 21:05:17 2011
@@ -43,7 +43,7 @@ public final class LinkBuilder {
private String title;
private JsonRepresentation arguments;
private JsonRepresentation value;
- private String key;
+ private String id;
protected LinkBuilder(ResourceContext resourceContext, Rel rel, String href, MediaType mediaType) {
this.resourceContext = resourceContext;
@@ -63,8 +63,8 @@ public final class LinkBuilder {
this.arguments = arguments;
return this;
}
- public LinkBuilder withKey(String key) {
- this.key = key;
+ public LinkBuilder withId(String id) {
+ this.id = id;
return this;
}
public LinkBuilder withValue(JsonRepresentation value) {
@@ -73,7 +73,7 @@ public final class LinkBuilder {
}
public JsonRepresentation build() {
- representation.mapPut("key", key);
+ representation.mapPut("id", id);
representation.mapPut("rel", rel.getName());
representation.mapPut("href", resourceContext.urlFor(href));
representation.mapPut("method", method);
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkFollower.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/LinkFollower.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/representations/LinkFollower.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/LinkFollower.java Mon Oct 24 21:05:17 2011
@@ -51,11 +51,12 @@ public final class LinkFollower {
this.mode = mode;
this.root = root;
}
-
+
/**
* A little algebra...
*/
- public LinkFollower follow(String path) {
+ public LinkFollower follow(String pathTemplate, Object... args) {
+ String path = String.format(pathTemplate, args);
if(path == null) {
return terminated(PathNode.NULL);
}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/Rel.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/Rel.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/representations/Rel.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/Rel.java Mon Oct 24 21:05:17 2011
@@ -22,22 +22,36 @@ public enum Rel {
// IANA registered
SELF("self"),
DESCRIBEDBY("describedby"),
+ UP("up"),
+ HELP("help"),
+ ICON("icon"),
- // Restful Objects namespace
+ // Restful Objects namespace
+ ICON16("icon16"),
+ ICON32("icon32"),
OBJECT("object"),
SERVICE("service"),
+ CHOICE("choice"),
+ DEFAULT("default"),
DETAILS("details"),
MODIFY("modify"),
CLEAR("clear"),
- ADD_TO("addTo"),
- REMOVE_FROM("removeFrom"),
+ ADD_TO("addto"),
+ REMOVE_FROM("removefrom"),
INVOKE("invoke"),
+ PERSIST("persist"),
+ PROPERTY("property"),
+ COLLECTION("collection"),
+ ACTION("action"),
+ ACTIONPARAM("actionparam"),
+ RETURNTYPE("returntype"),
+ ELEMENTTYPE("elementtype"),
CAPABILITIES("capabilities"),
- SERVICES("services"),
USER("user"),
+ SERVICES("services"),
// implementation specific
- CONTRIBUTED_BY("contributedBy")
+ CONTRIBUTED_BY("contributedby")
;
private final String name;
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=1188379&r1=1188378&r2=1188379&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 Mon Oct 24 21:05:17 2011
@@ -42,7 +42,6 @@ public abstract class ReprRendererAbstra
this.linkFollower = asProvidedElseCreate(linkFollower);
this.representationType = representationType;
this.representation = representation;
- withLinks();
}
public ResourceContext getResourceContext() {
@@ -60,12 +59,6 @@ public abstract class ReprRendererAbstra
return LinkFollower.create(resourceContext.getFollowLinks());
}
- private R withLinks() {
- JsonRepresentation links = JsonRepresentation.newArray();
- representation.mapPut("links", links);
- return cast(this);
- }
-
@Override
public RepresentationType getRepresentationType() {
@@ -86,15 +79,31 @@ public abstract class ReprRendererAbstra
return cast(this);
}
-
+
+ /**
+ * Will lazily create links array as required
+ */
protected JsonRepresentation getLinks() {
- return representation.getArray("links");
+ JsonRepresentation links = representation.getArray("links");
+ if(links == null) {
+ links = JsonRepresentation.newArray();
+ representation.mapPut("links", links);
+ }
+ return links;
}
-
- public R withExtensions() {
- return withExtensions(JsonRepresentation.newMap());
- }
-
+
+ /**
+ * Will lazily create extensions map as required
+ */
+ protected JsonRepresentation getExtensions() {
+ JsonRepresentation extensions = representation.getMap("extensions");
+ if(extensions == null) {
+ extensions = JsonRepresentation.newMap();
+ representation.mapPut("extensions", extensions);
+ }
+ return extensions;
+ }
+
public R withExtensions(JsonRepresentation extensions) {
if(!extensions.isMap()) {
throw new IllegalArgumentException("extensions must be a map");
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=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/AbstractObjectMemberReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/AbstractObjectMemberReprRenderer.java Mon Oct 24 21:05:17 2011
@@ -50,7 +50,6 @@ public abstract class AbstractObjectMemb
usingLinkToBuilder(new DomainObjectLinkTo());
// done eagerly so can use as criteria for x-ro-follow-links
-
putId();
putMemberType();
@@ -67,7 +66,7 @@ public abstract class AbstractObjectMemb
public R withSelf() {
final JsonRepresentation links = getLinks();
- links.mapPut("self", linkToBuilder.linkToMember(Rel.SELF, memberType, objectMember).build());
+ links.arrayAdd(linkToBuilder.linkToMember(Rel.SELF, memberType, objectMember).build());
return cast(this);
}
@@ -104,9 +103,9 @@ public abstract class AbstractObjectMemb
public R withDetailsLink() {
final JsonRepresentation link =
linkToBuilder.linkToMember(memberType.getDetailsRel(), memberType, objectMember).build();
- representation.mapPut(memberType.getDetailsRel().getName(), link);
+ getLinks().arrayAdd(link);
final LinkFollower membersLinkFollower = getLinkFollower();
- final LinkFollower detailsLinkFollower = membersLinkFollower.follow(memberType.getDetailsRel().getName());
+ final LinkFollower detailsLinkFollower = membersLinkFollower.follow("links[rel=%s]", memberType.getDetailsRel().getName());
if(membersLinkFollower.matches(representation) && detailsLinkFollower.matches(link)) {
followDetailsLink(link);
}
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectLinkTo.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/DomainObjectLinkTo.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/DomainObjectLinkTo.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectLinkTo.java Mon Oct 24 21:05:17 2011
@@ -27,6 +27,7 @@ public class DomainObjectLinkTo implemen
protected ResourceContext resourceContext;
protected ObjectAdapter objectAdapter;
+ protected Rel rel;
@Override
public final DomainObjectLinkTo usingResourceContext(ResourceContext resourceContext) {
@@ -40,6 +41,7 @@ public class DomainObjectLinkTo implemen
return this;
}
+
@Override
public LinkBuilder builder() {
return LinkBuilder.newBuilder(resourceContext, linkRel(), RepresentationType.DOMAIN_OBJECT, linkRef());
@@ -64,9 +66,14 @@ public class DomainObjectLinkTo implemen
* hook method
*/
protected Rel linkRel() {
- return Rel.OBJECT;
+ return rel!=null?rel:Rel.OBJECT;
}
+ @Override
+ public ObjectAdapterLinkTo with(Rel rel) {
+ this.rel = rel;
+ return this;
+ }
@Override
public final LinkBuilder linkToMember(Rel rel, MemberType memberType, ObjectMember objectMember, String... parts) {
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=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/DomainObjectReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectReprRenderer.java Mon Oct 24 21:05:17 2011
@@ -20,7 +20,6 @@ import java.util.List;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.spec.ObjectActionSet;
@@ -33,8 +32,8 @@ 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.LinkFollower;
import org.apache.isis.viewer.json.viewer.representations.LinkBuilder;
+import org.apache.isis.viewer.json.viewer.representations.LinkFollower;
import org.apache.isis.viewer.json.viewer.representations.Rel;
import org.apache.isis.viewer.json.viewer.representations.RendererFactory;
import org.apache.isis.viewer.json.viewer.representations.RendererFactoryRegistry;
@@ -90,8 +89,8 @@ public class DomainObjectReprRenderer ex
// self
if(includesSelf && objectAdapter.isPersistent()) {
- JsonRepresentation self = linkToBuilder.with(objectAdapter).builder().build();
- representation.mapPut("self", self);
+ JsonRepresentation self = linkToBuilder.with(Rel.SELF).with(objectAdapter).builder().build();
+ getLinks().arrayAdd(self);
}
// title
@@ -108,7 +107,7 @@ public class DomainObjectReprRenderer ex
DomainTypeReprRenderer.newLinkToBuilder(getResourceContext(), Rel.DESCRIBEDBY, objectAdapter.getSpecification()).build());
// extensions
- withExtensions();
+ getExtensions();
return representation;
}
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=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/DomainResourceHelper.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java Mon Oct 24 21:05:17 2011
@@ -242,7 +242,7 @@ public class DomainResourceHelper {
final CollectionFacet collectionFacet = returnedAdapter.getSpecification().getFacet(CollectionFacet.class);
if (collectionFacet != null) {
- representation = representationWithSelfFor(objectAdapter, action, arguments);
+ representation = representationWithSelfFor(RepresentationType.LIST, objectAdapter, action, arguments);
final Collection<ObjectAdapter> collectionAdapters = collectionFacet
.collection(returnedAdapter);
@@ -257,8 +257,7 @@ public class DomainResourceHelper {
final EncodableFacet encodableFacet = returnedAdapter.getSpecification().getFacet(EncodableFacet.class);
if(encodableFacet != null) {
-
- representation = representationWithSelfFor(objectAdapter, action, arguments);
+ representation = representationWithSelfFor(RepresentationType.SCALAR_VALUE, objectAdapter, action, arguments);
final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.SCALAR_VALUE);
@@ -267,7 +266,6 @@ public class DomainResourceHelper {
return ResourceAbstract.responseOfOk(renderer, Caching.NONE).build();
}
-
final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.DOMAIN_OBJECT);
representation = JsonRepresentation.newMap();
final DomainObjectReprRenderer renderer = (DomainObjectReprRenderer) factory.newRenderer(resourceContext, null, representation);
@@ -283,33 +281,19 @@ public class DomainResourceHelper {
}
-
- private JsonRepresentation representationWithSelfFor(final ObjectAdapter objectAdapter, final ObjectAction action, final String queryArgs) {
- JsonRepresentation representationWithSelf = representationWithSelfFor(objectAdapter, action);
- final String href = representationWithSelf.getString("self.href");
- representationWithSelf.mapPut("self.href", href + "?" + queryArgs);
- return representationWithSelf;
- }
-
- private JsonRepresentation representationWithSelfFor(final ObjectAdapter objectAdapter, final ObjectAction action, final JsonRepresentation bodyArgs) {
- JsonRepresentation representationWithSelf = representationWithSelfFor(objectAdapter, action);
- final LinkRepresentation selfLink = representationWithSelf.getLink("self");
- selfLink.mapPut("args", bodyArgs);
- return representationWithSelf;
- }
-
- private JsonRepresentation representationWithSelfFor(final ObjectAdapter objectAdapter, final ObjectAction action) {
+ private JsonRepresentation representationWithSelfFor(final RepresentationType representationType, final ObjectAdapter objectAdapter, final ObjectAction action, final JsonRepresentation bodyArgs) {
JsonRepresentation representation = JsonRepresentation.newMap();
+ final JsonRepresentation links = JsonRepresentation.newArray();
+ representation.mapPut("links", links);
+
String oid = OidUtils.getOidStr(resourceContext, objectAdapter);
- // TODO: review; can't be more specific with the media type because we don't have a media type for action/invoke
- final JsonRepresentation repBuilder =
- LinkBuilder.newBuilder(resourceContext, Rel.SELF, MediaType.APPLICATION_JSON_TYPE, "objects/%s/actions/%s/invoke", oid, action.getId()).build();
- representation.mapPut("self", repBuilder);
+ final JsonRepresentation selfLink =
+ LinkBuilder.newBuilder(resourceContext, Rel.SELF, representationType.getMediaType(), "objects/%s/actions/%s/invoke", oid, action.getId()).build();
+ links.arrayAdd(selfLink);
+ selfLink.mapPut("args", bodyArgs);
return representation;
}
-
-
/**
*
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceLinkTo.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/DomainServiceLinkTo.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/DomainServiceLinkTo.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceLinkTo.java Mon Oct 24 21:05:17 2011
@@ -39,12 +39,12 @@ public class DomainServiceLinkTo extends
@Override
protected Rel linkRel() {
- return Rel.SERVICE;
+ return rel!=null?rel:Rel.SERVICE;
}
@Override
public LinkBuilder builder() {
- return super.builder().withKey(serviceId);
+ return super.builder().withId(serviceId);
}
}
\ No newline at end of file
Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/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=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/DomainServiceResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceResourceServerside.java Mon Oct 24 21:05:17 2011
@@ -85,6 +85,7 @@ public class DomainServiceResourceServer
.includesSelf()
.with(serviceAdapter);
+
return responseOfOk(renderer, Caching.ONE_DAY).build();
}
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=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/ListReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/ListReprRenderer.java Mon Oct 24 21:05:17 2011
@@ -64,7 +64,7 @@ public class ListReprRenderer extends Re
public JsonRepresentation render() {
withObjectAdapters();
- withExtensions();
+ getExtensions();
return representation;
}