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/07/22 13:12:22 UTC

svn commit: r1149566 - in /incubator/isis/trunk/framework/viewer: json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/ json/json-tck/ json/json-tck/src/test/java/ json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/repr...

Author: danhaywood
Date: Fri Jul 22 11:12:21 2011
New Revision: 1149566

URL: http://svn.apache.org/viewvc?rev=1149566&view=rev
Log:
ISIS-109: more on the tck tests for json viewer

Added:
    incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/JsonViewerEndToEndTest.java
      - copied, changed from r1149483, incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/HomePageResourceTest.java
Removed:
    incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/HomePageResourceTest.java
Modified:
    incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/JsonMapper.java
    incubator/isis/trunk/framework/viewer/json/json-tck/pom.xml
    incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/TypeBuilder.java
    incubator/isis/trunk/framework/viewer/junit-tck/pom.xml

Modified: incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/JsonMapper.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/JsonMapper.java?rev=1149566&r1=1149565&r2=1149566&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/JsonMapper.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-applib/src/main/java/org/apache/isis/viewer/json/applib/util/JsonMapper.java Fri Jul 22 11:12:21 2011
@@ -5,7 +5,8 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.isis.viewer.json.applib.homepage.HomePage;
+import javax.ws.rs.core.Response;
+
 import org.codehaus.jackson.JsonGenerationException;
 import org.codehaus.jackson.JsonParseException;
 import org.codehaus.jackson.map.DeserializationConfig;
@@ -31,22 +32,30 @@ public class JsonMapper {
         return read(json, ArrayList.class);
     }
 
-    public <T> T read(String json, Class<T> expectedType) throws JsonParseException, JsonMappingException, IOException {
-        return (T) objectMapper.readValue(json, expectedType);        
+    public <T> T read(String json, Class<T> requiredType) throws JsonParseException, JsonMappingException, IOException {
+        return (T) objectMapper.readValue(json, requiredType);        
     }
 
     public String write(Object object) throws JsonGenerationException, JsonMappingException, IOException {
         return objectMapper.writeValueAsString(object);
     }
-    
 
-    /**
-     * @deprecated
-     * @return
-     */
-    @Deprecated
-    public ObjectMapper getObjectMapper() {
-        return objectMapper;
+    public <T> T read(Response response, Class<T> requiredType) throws JsonParseException, JsonMappingException, IOException {
+        
+        int status = response.getStatus();
+        if(status >= 200 && status < 300) {
+            throw new IllegalArgumentException("response status must be in 2xx range (was " + status + ")");
+        }
+        Object entityObj = response.getEntity();
+        if(entityObj == null) {
+            return null;
+        }
+        if(!(entityObj instanceof String)) {
+            throw new IllegalArgumentException("response entity must be a String (was " + entityObj.getClass().getName() + ")");
+        }
+        String entity = (String) entityObj;
+
+        return read(entity, requiredType);
     }
 
 }
\ No newline at end of file

Modified: incubator/isis/trunk/framework/viewer/json/json-tck/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/pom.xml?rev=1149566&r1=1149565&r2=1149566&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/pom.xml (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/pom.xml Fri Jul 22 11:12:21 2011
@@ -31,6 +31,11 @@
 	<name>JSON Viewer for TCK</name>
 	
 	<packaging>war</packaging>
+	
+    <properties>
+        <maven.test.skip>true</maven.test.skip>
+    </properties>
+	
 
 	<build>
 		<plugins>

Copied: incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/JsonViewerEndToEndTest.java (from r1149483, incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/HomePageResourceTest.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/JsonViewerEndToEndTest.java?p2=incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/JsonViewerEndToEndTest.java&p1=incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/HomePageResourceTest.java&r1=1149483&r2=1149566&rev=1149566&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/HomePageResourceTest.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-tck/src/test/java/JsonViewerEndToEndTest.java Fri Jul 22 11:12:21 2011
@@ -27,7 +27,7 @@ import org.junit.BeforeClass;
 import org.junit.Test;
 
 
-public class HomePageResourceTest {
+public class JsonViewerEndToEndTest {
 
     @BeforeClass
     public static void setUpClass() throws Exception {
@@ -62,12 +62,10 @@ public class HomePageResourceTest {
     
     @Test
     public void homePageResources() throws JsonParseException, JsonMappingException, IOException {
-        Response resources = homePageResource.resources();
-        assertThat(resources.getStatus(), is(200));
-        String entity = (String) resources.getEntity();
-        assertThat(entity, is(not(nullValue())));
-
-        HomePage homePage = jsonMapper.read(entity, HomePage.class);
+        Response response = homePageResource.resources();
+        assertThat(response.getStatus(), is(200));
+        HomePage homePage = jsonMapper.read(response, HomePage.class);
+        assertThat(homePage, is(not(nullValue())));
         assertThat(homePage.getUser().getMethod(), is(Method.GET));
     }
 

Modified: incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/TypeBuilder.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/TypeBuilder.java?rev=1149566&r1=1149565&r2=1149566&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/TypeBuilder.java (original)
+++ incubator/isis/trunk/framework/viewer/json/json-viewer/src/main/java/org/apache/isis/viewer/json/viewer/representations/TypeBuilder.java Fri Jul 22 11:12:21 2011
@@ -45,7 +45,7 @@ public class TypeBuilder extends LinkRep
     }
     
     private static String urlFor(ObjectSpecification objectSpec) {
-        return "types/application/vnd+" + map(objectSpec.getFullIdentifier());
+        return "types/application/vnd." + map(objectSpec.getFullIdentifier()) + "+json";
     }
 
     private static String map(String className) {

Modified: incubator/isis/trunk/framework/viewer/junit-tck/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/junit-tck/pom.xml?rev=1149566&r1=1149565&r2=1149566&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/junit-tck/pom.xml (original)
+++ incubator/isis/trunk/framework/viewer/junit-tck/pom.xml Fri Jul 22 11:12:21 2011
@@ -30,6 +30,10 @@
 	<artifactId>junit-tck</artifactId>
 	<name>JUnit Tests for TCK</name>
 
+    <properties>
+        <maven.test.skip>true</maven.test.skip>
+    </properties>
+
 	<dependencies>
 
 		<!-- this project's dependencies -->