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/26 00:02:07 UTC
svn commit: r1188942 - in /incubator/isis/trunk/framework:
tck/tck-dom/src/main/java/org/apache/isis/tck/dom/
tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/
tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstor...
Author: danhaywood
Date: Tue Oct 25 22:02:06 2011
New Revision: 1188942
URL: http://svn.apache.org/viewvc?rev=1188942&view=rev
Log:
ISIS-109: going through representations to see what's missing against v0.48 of spec... list and scalar representations
Removed:
incubator/isis/trunk/framework/tck/tck-dom/src/main/java/org/apache/isis/tck/dom/AbstractEntityRepository.java
Modified:
incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/ApplibValuedEntityRepositoryDefault.java
incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/JdkValuedEntityRepositoryDefault.java
incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/PrimitiveValuedEntityRepositoryDefault.java
incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/WrapperValuedEntityRepositoryDefault.java
incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java
incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/stables/StableEntityRepositoryDefault.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/DomainResourceHelper.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/ScalarValueReprRenderer.java
Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/ApplibValuedEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/ApplibValuedEntityRepositoryDefault.java?rev=1188942&r1=1188941&r2=1188942&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/ApplibValuedEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/ApplibValuedEntityRepositoryDefault.java Tue Oct 25 22:02:06 2011
@@ -19,27 +19,28 @@
package org.apache.isis.tck.objstore.dflt.scalars;
-import org.apache.isis.tck.dom.AbstractEntityRepository;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.QueryOnly;
import org.apache.isis.tck.dom.scalars.ApplibValuedEntity;
import org.apache.isis.tck.dom.scalars.ApplibValuedEntityRepository;
-public class ApplibValuedEntityRepositoryDefault extends AbstractEntityRepository<ApplibValuedEntity> implements ApplibValuedEntityRepository {
-
- public ApplibValuedEntityRepositoryDefault() {
- super(ApplibValuedEntity.class);
- }
+public class ApplibValuedEntityRepositoryDefault extends AbstractFactoryAndRepository implements ApplibValuedEntityRepository {
- @Override
public String getId() {
return "applibValuedEntities";
}
-
- /**
- * Required otherwise return type is erased
- */
- @Override
- public ApplibValuedEntity newEntity() {
- return super.newEntity();
+
+ @QueryOnly
+ public List<ApplibValuedEntity> list() {
+ return allInstances(ApplibValuedEntity.class);
}
+ public ApplibValuedEntity newEntity() {
+ ApplibValuedEntity entity = newTransientInstance(ApplibValuedEntity.class);
+ persist(entity);
+ return entity;
+ }
+
}
Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/JdkValuedEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/JdkValuedEntityRepositoryDefault.java?rev=1188942&r1=1188941&r2=1188942&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/JdkValuedEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/JdkValuedEntityRepositoryDefault.java Tue Oct 25 22:02:06 2011
@@ -19,27 +19,30 @@
package org.apache.isis.tck.objstore.dflt.scalars;
-import org.apache.isis.tck.dom.AbstractEntityRepository;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.QueryOnly;
import org.apache.isis.tck.dom.scalars.JdkValuedEntity;
import org.apache.isis.tck.dom.scalars.JdkValuedEntityRepository;
-public class JdkValuedEntityRepositoryDefault extends AbstractEntityRepository<JdkValuedEntity> implements JdkValuedEntityRepository {
-
- public JdkValuedEntityRepositoryDefault() {
- super(JdkValuedEntity.class);
- }
+public class JdkValuedEntityRepositoryDefault extends AbstractFactoryAndRepository implements JdkValuedEntityRepository {
@Override
public String getId() {
return "jdkValuedEntities";
}
- /**
- * Required otherwise return type is erased
- */
- @Override
+ @QueryOnly
+ public List<JdkValuedEntity> list() {
+ return allInstances(JdkValuedEntity.class);
+ }
+
public JdkValuedEntity newEntity() {
- return super.newEntity();
+ JdkValuedEntity entity = newTransientInstance(JdkValuedEntity.class);
+ persist(entity);
+ return entity;
}
+
}
Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/PrimitiveValuedEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/PrimitiveValuedEntityRepositoryDefault.java?rev=1188942&r1=1188941&r2=1188942&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/PrimitiveValuedEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/PrimitiveValuedEntityRepositoryDefault.java Tue Oct 25 22:02:06 2011
@@ -19,27 +19,30 @@
package org.apache.isis.tck.objstore.dflt.scalars;
-import org.apache.isis.tck.dom.AbstractEntityRepository;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.QueryOnly;
import org.apache.isis.tck.dom.scalars.PrimitiveValuedEntity;
import org.apache.isis.tck.dom.scalars.PrimitiveValuedEntityRepository;
-public class PrimitiveValuedEntityRepositoryDefault extends AbstractEntityRepository<PrimitiveValuedEntity> implements PrimitiveValuedEntityRepository {
+public class PrimitiveValuedEntityRepositoryDefault extends AbstractFactoryAndRepository implements PrimitiveValuedEntityRepository {
- public PrimitiveValuedEntityRepositoryDefault() {
- super(PrimitiveValuedEntity.class);
- }
-
@Override
public String getId() {
return "primitiveValuedEntities";
}
- /**
- * Required otherwise return type is erased
- */
- @Override
+ @QueryOnly
+ public List<PrimitiveValuedEntity> list() {
+ return allInstances(PrimitiveValuedEntity.class);
+ }
+
public PrimitiveValuedEntity newEntity() {
- return super.newEntity();
+ PrimitiveValuedEntity entity = newTransientInstance(PrimitiveValuedEntity.class);
+ persist(entity);
+ return entity;
}
+
}
Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/WrapperValuedEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/WrapperValuedEntityRepositoryDefault.java?rev=1188942&r1=1188941&r2=1188942&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/WrapperValuedEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/scalars/WrapperValuedEntityRepositoryDefault.java Tue Oct 25 22:02:06 2011
@@ -19,27 +19,30 @@
package org.apache.isis.tck.objstore.dflt.scalars;
-import org.apache.isis.tck.dom.AbstractEntityRepository;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.QueryOnly;
import org.apache.isis.tck.dom.scalars.WrapperValuedEntity;
import org.apache.isis.tck.dom.scalars.WrapperValuedEntityRepository;
-public class WrapperValuedEntityRepositoryDefault extends AbstractEntityRepository<WrapperValuedEntity> implements WrapperValuedEntityRepository {
-
- public WrapperValuedEntityRepositoryDefault() {
- super(WrapperValuedEntity.class);
- }
+public class WrapperValuedEntityRepositoryDefault extends AbstractFactoryAndRepository implements WrapperValuedEntityRepository {
@Override
public String getId() {
return "wrapperValuedEntities";
}
- /**
- * Required otherwise return type is erased
- */
- @Override
+ @QueryOnly
+ public List<WrapperValuedEntity> list() {
+ return allInstances(WrapperValuedEntity.class);
+ }
+
public WrapperValuedEntity newEntity() {
- return super.newEntity();
- }
+ WrapperValuedEntity entity = newTransientInstance(WrapperValuedEntity.class);
+ persist(entity);
+ return entity;
+ }
+
}
Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java?rev=1188942&r1=1188941&r2=1188942&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/simples/SimpleEntityRepositoryDefault.java Tue Oct 25 22:02:06 2011
@@ -21,16 +21,14 @@ package org.apache.isis.tck.objstore.dfl
import java.math.BigDecimal;
import java.math.BigInteger;
+import java.util.List;
-import org.apache.isis.tck.dom.AbstractEntityRepository;
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.QueryOnly;
import org.apache.isis.tck.dom.simples.SimpleEntity;
import org.apache.isis.tck.dom.simples.SimpleEntityRepository;
-public class SimpleEntityRepositoryDefault extends AbstractEntityRepository<SimpleEntity> implements SimpleEntityRepository {
-
- public SimpleEntityRepositoryDefault() {
- super(SimpleEntity.class);
- }
+public class SimpleEntityRepositoryDefault extends AbstractFactoryAndRepository implements SimpleEntityRepository {
@Override
public String getId() {
@@ -91,5 +89,9 @@ public class SimpleEntityRepositoryDefau
return object;
}
+ @QueryOnly
+ public List<SimpleEntity> list() {
+ return allInstances(SimpleEntity.class);
+ }
}
Modified: incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/stables/StableEntityRepositoryDefault.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/stables/StableEntityRepositoryDefault.java?rev=1188942&r1=1188941&r2=1188942&view=diff
==============================================================================
--- incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/stables/StableEntityRepositoryDefault.java (original)
+++ incubator/isis/trunk/framework/tck/tck-objstore-dflt/src/main/java/org/apache/isis/tck/objstore/dflt/stables/StableEntityRepositoryDefault.java Tue Oct 25 22:02:06 2011
@@ -19,15 +19,14 @@
package org.apache.isis.tck.objstore.dflt.stables;
-import org.apache.isis.tck.dom.AbstractEntityRepository;
+import java.util.List;
+
+import org.apache.isis.applib.AbstractFactoryAndRepository;
+import org.apache.isis.applib.annotation.QueryOnly;
import org.apache.isis.tck.dom.stables.StableEntity;
import org.apache.isis.tck.dom.stables.StableEntityRepository;
-public class StableEntityRepositoryDefault extends AbstractEntityRepository<StableEntity> implements StableEntityRepository {
-
- public StableEntityRepositoryDefault() {
- super(StableEntity.class);
- }
+public class StableEntityRepositoryDefault extends AbstractFactoryAndRepository implements StableEntityRepository {
@Override
public String getId() {
@@ -46,6 +45,10 @@ public class StableEntityRepositoryDefau
getContainer().persist(entity);
return entity;
}
-
+
+ @QueryOnly
+ public List<StableEntity> list() {
+ return allInstances(StableEntity.class);
+ }
}
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=1188942&r1=1188941&r2=1188942&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 Tue Oct 25 22:02:06 2011
@@ -21,12 +21,14 @@ package org.apache.isis.viewer.json.view
import org.apache.isis.applib.profiles.Localization;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.OidGenerator;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
import org.apache.isis.viewer.json.applib.JsonRepresentation;
import org.apache.isis.viewer.json.applib.RepresentationType;
import org.apache.isis.viewer.json.viewer.ResourceContext;
+import org.apache.isis.viewer.json.viewer.resources.domaintypes.DomainTypeReprRenderer;
public abstract class ReprRendererAbstract<R extends ReprRendererAbstract<R, T>, T> implements ReprRenderer<R, T> {
@@ -92,6 +94,14 @@ public abstract class ReprRendererAbstra
return links;
}
+ protected void addLink(final Rel rel, final ObjectSpecification objectSpec) {
+ if(objectSpec == null) {
+ return;
+ }
+ LinkBuilder linkBuilder = DomainTypeReprRenderer.newLinkToBuilder(getResourceContext(), rel, objectSpec);
+ getLinks().arrayAdd(linkBuilder.build());
+ }
+
/**
* Will lazily create extensions map as required
*/
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=1188942&r1=1188941&r2=1188942&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 Tue Oct 25 22:02:06 2011
@@ -32,6 +32,7 @@ import org.apache.isis.core.metamodel.co
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
+import org.apache.isis.core.metamodel.facets.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
@@ -244,12 +245,13 @@ public class DomainResourceHelper {
if (collectionFacet != null) {
representation = representationWithSelfFor(RepresentationType.LIST, objectAdapter, action, arguments);
- final Collection<ObjectAdapter> collectionAdapters = collectionFacet
- .collection(returnedAdapter);
+ final Collection<ObjectAdapter> collectionAdapters = collectionFacet.collection(returnedAdapter);
final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.LIST);
final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(resourceContext, null, representation);
renderer.with(collectionAdapters);
+ renderer.withReturnType(action.getReturnType());
+ renderer.withElementType(returnedAdapter.getElementSpecification());
return ResourceAbstract.responseOfOk(renderer, Caching.NONE).build();
}
@@ -263,6 +265,7 @@ public class DomainResourceHelper {
ScalarValueReprRenderer renderer = (ScalarValueReprRenderer) factory.newRenderer(resourceContext, null, representation);
renderer.with(returnedAdapter);
+ renderer.withReturnType(action.getReturnType());
return ResourceAbstract.responseOfOk(renderer, Caching.NONE).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=1188942&r1=1188941&r2=1188942&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 Tue Oct 25 22:02:06 2011
@@ -19,15 +19,20 @@ package org.apache.isis.viewer.json.view
import java.util.Collection;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.json.applib.JsonRepresentation;
import org.apache.isis.viewer.json.applib.RepresentationType;
+import org.apache.isis.viewer.json.applib.blocks.LinkRepresentation;
import org.apache.isis.viewer.json.viewer.ResourceContext;
+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;
import org.apache.isis.viewer.json.viewer.representations.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
+import org.apache.isis.viewer.json.viewer.resources.domaintypes.DomainTypeReprRenderer;
public class ListReprRenderer extends ReprRendererAbstract<ListReprRenderer, Collection<ObjectAdapter>> {
@@ -44,6 +49,8 @@ public class ListReprRenderer extends Re
private ObjectAdapterLinkTo linkToBuilder;
private Collection<ObjectAdapter> objectAdapters;
+ private ObjectSpecification elementType;
+ private ObjectSpecification returnType;
private ListReprRenderer(ResourceContext resourceContext, LinkFollower linkFollower, RepresentationType representationType, JsonRepresentation representation) {
super(resourceContext, linkFollower, representationType, representation);
@@ -61,22 +68,38 @@ public class ListReprRenderer extends Re
return this;
}
+ public ListReprRenderer withReturnType(ObjectSpecification returnType) {
+ this.returnType = returnType;
+ return this;
+ }
+
+ public ListReprRenderer withElementType(ObjectSpecification elementType) {
+ this.elementType = elementType;
+ return this;
+ }
public JsonRepresentation render() {
- withObjectAdapters();
+ addValues();
+
+ addLink(Rel.RETURN_TYPE, returnType);
+ addLink(Rel.ELEMENT_TYPE, elementType);
+
getExtensions();
return representation;
}
- private void withObjectAdapters() {
- JsonRepresentation list = JsonRepresentation.newArray();
-
+ private void addValues() {
+ if(objectAdapters == null) {
+ return;
+ }
+
+ JsonRepresentation values = JsonRepresentation.newArray();
final LinkFollower linkFollower = getLinkFollower().follow("values");
for(ObjectAdapter adapter: objectAdapters) {
JsonRepresentation linkToObject = linkToBuilder.with(adapter).builder().build();
- list.arrayAdd(linkToObject);
+ values.arrayAdd(linkToObject);
if(linkFollower.matches(linkToObject)) {
final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.DOMAIN_OBJECT);
@@ -86,7 +109,15 @@ public class ListReprRenderer extends Re
linkToObject.mapPut("value", domainObject);
}
}
- representation.mapPut("values", list);
+ representation.mapPut("values", values);
+ }
+
+ private void addLinkToReturnType() {
+ addLink(Rel.RETURN_TYPE, returnType);
+ }
+
+ private void addLinkToElementType() {
+ addLink(Rel.ELEMENT_TYPE, elementType);
}
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=1188942&r1=1188941&r2=1188942&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 Tue Oct 25 22:02:06 2011
@@ -18,19 +18,24 @@ package org.apache.isis.viewer.json.view
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.json.applib.JsonRepresentation;
import org.apache.isis.viewer.json.applib.RepresentationType;
import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
import org.apache.isis.viewer.json.viewer.JsonApplicationException;
import org.apache.isis.viewer.json.viewer.ResourceContext;
+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.ReprRenderer;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererAbstract;
import org.apache.isis.viewer.json.viewer.representations.ReprRendererFactoryAbstract;
+import org.apache.isis.viewer.json.viewer.resources.domaintypes.DomainTypeReprRenderer;
public class ScalarValueReprRenderer extends ReprRendererAbstract<ScalarValueReprRenderer, ObjectAdapter> {
private final JsonValueEncoder jsonValueEncoder = new JsonValueEncoder();
+ private ObjectSpecification returnType;
public static class Factory extends ReprRendererFactoryAbstract {
public Factory() {
@@ -61,28 +66,22 @@ public class ScalarValueReprRenderer ext
@Override
public JsonRepresentation render() {
- JsonRepresentation extensions = getExtensions();
- putExtensionsIsisProprietary(extensions);
+ addLinkToReturnType();
- JsonRepresentation links = getLinks();
- addLinksFormalDomainModel(links, resourceContext);
- addLinksIsisProprietary(links, resourceContext);
+ getExtensions();
return representation;
}
- /////////////////////////////////////////////////////
- // extensions and links
- /////////////////////////////////////////////////////
-
- private void putExtensionsIsisProprietary(JsonRepresentation extensions) {
+ public ScalarValueReprRenderer withReturnType(ObjectSpecification returnType) {
+ this.returnType = returnType;
+ return this;
}
- private void addLinksFormalDomainModel(JsonRepresentation links, ResourceContext resourceContext) {
+ private void addLinkToReturnType() {
+ addLink(Rel.RETURN_TYPE, returnType);
}
- private void addLinksIsisProprietary(JsonRepresentation links, ResourceContext resourceContext) {
- }
}
\ No newline at end of file