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 -->