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/01 00:38:36 UTC

svn commit: r1177870 - in /incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer: resources/ resources/domainobjects/ resources/home/ resources/user/ webapp/

Author: danhaywood
Date: Fri Sep 30 22:38:35 2011
New Revision: 1177870

URL: http://svn.apache.org/viewvc?rev=1177870&view=rev
Log:
ISIS-109: refactoring/simplification

Added:
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/webapp/
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/webapp/PreProcessInterceptorForIsisSession.java
      - copied, changed from r1172691, incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/PreProcessInterceptorForIsisSession.java
Removed:
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/AbstractResourceHelper.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/PreProcessInterceptorForIsisSession.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceResourceHelper.java
Modified:
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainResourceHelper.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainServiceResourceServerside.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageResourceServerside.java
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserResourceServerside.java

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java?rev=1177870&r1=1177869&r2=1177870&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/ResourceAbstract.java Fri Sep 30 22:38:35 2011
@@ -235,10 +235,6 @@ public abstract class ResourceAbstract {
         return responseOfOk(representationType, caching, jsonFor(representation));
     }
 
-    public static ResponseBuilder responseOfOk(RepresentationType representationType, Caching caching, ReprBuilder representationBuilder) {
-        return responseOfOk(representationType, caching, representationBuilder.render());
-    }
-
     public static ResponseBuilder responseOfOk(Caching caching, ReprRenderer<?,?> renderer) {
         RepresentationType representationType = renderer.getRepresentationType();
         return responseOfOk(representationType, caching, renderer.render());

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java?rev=1177870&r1=1177869&r2=1177870&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/domainobjects/DomainObjectResourceServerside.java Fri Sep 30 22:38:35 2011
@@ -78,8 +78,7 @@ public class DomainObjectResourceServers
                 (DomainObjectReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
         renderer.with(objectAdapter);
         
-        ResponseBuilder respBuilder = 
-                responseOfOk(RepresentationType.DOMAIN_OBJECT, Caching.NONE, renderer);
+        ResponseBuilder respBuilder = responseOfOk(Caching.NONE, renderer);
         
         Version version = objectAdapter.getVersion();
         if (version != null && version.getTime() != null) {
@@ -114,20 +113,10 @@ public class DomainObjectResourceServers
             @PathParam("propertyId") final String propertyId) {
         init();
         
-        final DomainResourceHelper helper = new DomainResourceHelper(getResourceContext());
-
-        final RendererFactory rendererFactory = 
-                rendererFactoryRegistry.find(RepresentationType.OBJECT_PROPERTY);
-        
         final ObjectAdapter objectAdapter = getObjectAdapter(oidStr);
-        final OneToOneAssociation property = helper.getPropertyThatIsVisibleAndUsable(
-                objectAdapter, propertyId, Intent.ACCESS);
+        final DomainResourceHelper helper = new DomainResourceHelper(getResourceContext());
         
-        final ObjectPropertyReprRenderer renderer = 
-                (ObjectPropertyReprRenderer) rendererFactory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
-        renderer.with(new ObjectAndProperty(objectAdapter, property));
-
-        return responseOfOk(RepresentationType.OBJECT_PROPERTY, Caching.NONE, renderer).build();
+        return helper.propertyDetails(objectAdapter, propertyId, Caching.NONE);
     }
 
     @PUT

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=1177870&r1=1177869&r2=1177870&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 Fri Sep 30 22:38:35 2011
@@ -21,6 +21,11 @@ import java.io.InputStream;
 import java.util.Collection;
 import java.util.List;
 
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.ResponseBuilder;
 
@@ -40,6 +45,7 @@ import org.apache.isis.core.metamodel.sp
 import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
 import org.apache.isis.viewer.json.applib.RepresentationType;
+import org.apache.isis.viewer.json.applib.RestfulMediaType;
 import org.apache.isis.viewer.json.applib.RestfulResponse.HttpStatusCode;
 import org.apache.isis.viewer.json.applib.blocks.Link;
 import org.apache.isis.viewer.json.applib.util.JsonMapper;
@@ -73,6 +79,27 @@ public class DomainResourceHelper {
     }
 
     // //////////////////////////////////////////////////////////////
+    // propertyDetails
+    // //////////////////////////////////////////////////////////////
+
+    Response propertyDetails(
+            final ObjectAdapter objectAdapter,
+            final String propertyId, 
+            final Caching caching) {
+
+        final OneToOneAssociation property = getPropertyThatIsVisibleAndUsable(
+                objectAdapter, propertyId, Intent.ACCESS);
+
+        RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_PROPERTY);
+        final ObjectPropertyReprRenderer renderer = 
+                (ObjectPropertyReprRenderer) factory.newRenderer(resourceContext, JsonRepresentation.newMap());
+        
+        renderer.with(new ObjectAndProperty(objectAdapter, property));
+        
+        return ResourceAbstract.responseOfOk(caching, renderer).build();
+    }
+
+    // //////////////////////////////////////////////////////////////
     // action Prompt
     // //////////////////////////////////////////////////////////////
 
@@ -88,8 +115,7 @@ public class DomainResourceHelper {
                 .withSelf()
                 .withMutatorsIfEnabled();
 
-        return ResourceAbstract.responseOfOk(RepresentationType.OBJECT_ACTION, Caching.NONE, renderer.render())
-                .build();
+        return ResourceAbstract.responseOfOk(Caching.NONE, renderer).build();
     }
 
     
@@ -232,7 +258,7 @@ public class DomainResourceHelper {
 
             ScalarValueReprRenderer renderer = (ScalarValueReprRenderer) factory.newRenderer(resourceContext, representation);
             renderer.with(objectAdapter);
-            return ResourceAbstract.responseOfOk(RepresentationType.SCALAR_VALUE, Caching.NONE, renderer).build();
+            return ResourceAbstract.responseOfOk(Caching.NONE, renderer).build();
         }
 
         final RendererFactory factory = rendererFactoryRegistry.find(RepresentationType.DOMAIN_OBJECT);

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=1177870&r1=1177869&r2=1177870&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 Fri Sep 30 22:38:35 2011
@@ -56,10 +56,16 @@ public class DomainServiceResourceServer
     public Response services() {
         init();
 
-        final ReprBuilder builder = 
-                new DomainServiceResourceHelper(getResourceContext(), "services").services();
+        final List<ObjectAdapter> serviceAdapters = getResourceContext().getPersistenceSession().getServices();
+
+        final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.LIST);
+        
+        final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+        renderer.usingLinkToBuilder(new DomainServiceLinkToBuilder())
+                .withSelf("services")
+                .with(serviceAdapters);
         
-        return responseOfOk(RepresentationType.LIST, Caching.ONE_DAY, builder).build();
+        return responseOfOk(Caching.ONE_DAY, renderer).build();
     }
 
     ////////////////////////////////////////////////////////////
@@ -83,7 +89,7 @@ public class DomainServiceResourceServer
                     .includesSelf()
                     .with(serviceAdapter);
         
-        return responseOfOk(RepresentationType.DOMAIN_OBJECT, Caching.ONE_DAY, renderer).build();
+        return responseOfOk(Caching.ONE_DAY, renderer).build();
     }
 
 
@@ -99,20 +105,10 @@ public class DomainServiceResourceServer
             @PathParam("propertyId") final String propertyId) {
         init();
 
-        final DomainResourceHelper helper = new DomainResourceHelper(getResourceContext());
-
         final ObjectAdapter serviceAdapter = getServiceAdapter(serviceId);
-        final OneToOneAssociation property = helper.getPropertyThatIsVisibleAndUsable(
-                serviceAdapter, propertyId, Intent.ACCESS);
+        final DomainResourceHelper helper = new DomainResourceHelper(getResourceContext());
 
-        RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.OBJECT_PROPERTY);
-        final ObjectPropertyReprRenderer renderer = 
-                (ObjectPropertyReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
-        
-        renderer.with(new ObjectAndProperty(serviceAdapter, property))
-                .withDetailsLink();
-        
-        return responseOfOk(RepresentationType.OBJECT_PROPERTY, Caching.ONE_DAY, renderer.render()).build();
+        return helper.propertyDetails(serviceAdapter, propertyId, Caching.ONE_DAY);
     }
 
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java?rev=1177870&r1=1177869&r2=1177870&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageReprRenderer.java Fri Sep 30 22:38:35 2011
@@ -2,6 +2,7 @@ package org.apache.isis.viewer.json.view
 
 import java.util.List;
 
+import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.viewer.json.applib.JsonRepresentation;
 import org.apache.isis.viewer.json.applib.RepresentationType;
 import org.apache.isis.viewer.json.applib.RestfulRequest.QueryParameter;
@@ -9,11 +10,11 @@ import org.apache.isis.viewer.json.viewe
 import org.apache.isis.viewer.json.viewer.representations.LinkReprBuilder;
 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.ReprBuilder;
 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.domainobjects.DomainServiceResourceHelper;
+import org.apache.isis.viewer.json.viewer.resources.domainobjects.DomainServiceLinkToBuilder;
+import org.apache.isis.viewer.json.viewer.resources.domainobjects.ListReprRenderer;
 import org.apache.isis.viewer.json.viewer.resources.user.UserReprRenderer;
 
 public class HomePageReprRenderer extends ReprRendererAbstract<HomePageReprRenderer, Void> {
@@ -43,7 +44,7 @@ public class HomePageReprRenderer extend
         
         // self
         if(includesSelf) {
-            withSelf("/");
+            withSelf("");
         }
 
         // user
@@ -68,9 +69,17 @@ public class HomePageReprRenderer extend
         
         final List<String> followLinks = getResourceContext().getArg(QueryParameter.FOLLOW_LINKS);
         if(followLinks.contains("services")) {
-            final ReprBuilder reprBuilder = 
-                    new DomainServiceResourceHelper(getResourceContext()).services();
-            servicesLinkBuilder.withValue(reprBuilder.render());
+            
+            final List<ObjectAdapter> serviceAdapters = getResourceContext().getPersistenceSession().getServices();
+
+            final RendererFactory factory = RendererFactoryRegistry.instance.find(RepresentationType.LIST);
+            
+            final ListReprRenderer renderer = (ListReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
+            renderer.usingLinkToBuilder(new DomainServiceLinkToBuilder())
+                    .withSelf("services")
+                    .with(serviceAdapters);
+            
+            servicesLinkBuilder.withValue(renderer.render());
         }
         
         representation.mapPut("services", servicesLinkBuilder.render());

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageResourceServerside.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageResourceServerside.java?rev=1177870&r1=1177869&r2=1177870&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/home/HomePageResourceServerside.java Fri Sep 30 22:38:35 2011
@@ -47,7 +47,7 @@ public class HomePageResourceServerside 
                 (HomePageReprRenderer) factory.newRenderer(getResourceContext(), JsonRepresentation.newMap());
         renderer.includesSelf();
 
-        return responseOfOk(RepresentationType.HOME_PAGE, Caching.ONE_DAY, renderer).build();
+        return responseOfOk(Caching.ONE_DAY, renderer).build();
     }
 
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserResourceServerside.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserResourceServerside.java?rev=1177870&r1=1177869&r2=1177870&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserResourceServerside.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/user/UserResourceServerside.java Fri Sep 30 22:38:35 2011
@@ -42,7 +42,7 @@ public class UserResourceServerside exte
         renderer.includesSelf()
                 .with(getAuthenticationSession());
 
-        return responseOfOk(RepresentationType.USER, Caching.ONE_HOUR, renderer.render()).build();
+        return responseOfOk(Caching.ONE_HOUR, renderer).build();
     }
 
 

Copied: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/webapp/PreProcessInterceptorForIsisSession.java (from r1172691, incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/PreProcessInterceptorForIsisSession.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/webapp/PreProcessInterceptorForIsisSession.java?p2=incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/webapp/PreProcessInterceptorForIsisSession.java&p1=incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/PreProcessInterceptorForIsisSession.java&r1=1172691&r2=1177870&rev=1177870&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/resources/PreProcessInterceptorForIsisSession.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/webapp/PreProcessInterceptorForIsisSession.java Fri Sep 30 22:38:35 2011
@@ -1,4 +1,4 @@
-package org.apache.isis.viewer.json.viewer.resources;
+package org.apache.isis.viewer.json.viewer.webapp;
 
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.ext.Provider;