You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2010/08/18 18:27:27 UTC

svn commit: r986777 - in /tapestry/tapestry5/trunk: ./ tapestry-core/ tapestry-core/src/main/java/org/apache/tapestry5/json/ tapestry-core/src/test/conf/ tapestry-core/src/test/java/org/apache/tapestry5/json/ tapestry-ioc/src/main/java/org/apache/tapes...

Author: hlship
Date: Wed Aug 18 16:27:25 2010
New Revision: 986777

URL: http://svn.apache.org/viewvc?rev=986777&view=rev
Log:
TAP5-1245: Break out the Tapestry JSON support into an independent module

Added:
    tapestry/tapestry5/trunk/tapestry-json/
    tapestry/tapestry5/trunk/tapestry-json/bin/
    tapestry/tapestry5/trunk/tapestry-json/bin/org/
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/CompactSession.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONArray.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONCollection.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONLiteral.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject$Null.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObjectTest.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONPrintSession.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONString.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONTokener.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession$Position.class
    tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession.class
    tapestry/tapestry5/trunk/tapestry-json/pom.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-json/src/
    tapestry/tapestry5/trunk/tapestry-json/src/main/
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/CompactSession.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/CompactSession.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONArray.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONArray.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONCollection.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONCollection.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONLiteral.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONLiteral.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONObject.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONString.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONString.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONTokener.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONTokener.java
    tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java
    tapestry/tapestry5/trunk/tapestry-json/src/test/
    tapestry/tapestry5/trunk/tapestry-json/src/test/conf/
    tapestry/tapestry5/trunk/tapestry-json/src/test/conf/testng.xml   (with props)
    tapestry/tapestry5/trunk/tapestry-json/src/test/java/
    tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/
    tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/
    tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/
    tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/
    tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java   (contents, props changed)
      - copied, changed from r986684, tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java
Removed:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/CompactSession.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONArray.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONCollection.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONLiteral.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONObject.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONString.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONTokener.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java
Modified:
    tapestry/tapestry5/trunk/build.xml
    tapestry/tapestry5/trunk/pom.xml
    tapestry/tapestry5/trunk/tapestry-core/pom.xml
    tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ExceptionInfo.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImplTest.java

Modified: tapestry/tapestry5/trunk/build.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/build.xml?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/build.xml (original)
+++ tapestry/tapestry5/trunk/build.xml Wed Aug 18 16:27:25 2010
@@ -117,6 +117,7 @@
       <copy-licenses module="tapestry-func"/>
       <copy-licenses module="tapestry-jmx"/>
       <copy-licenses module="tapestry-beanvalidator"/>
+      <copy-licenses module="tapestry-json"/>
 
     </target>
 
@@ -165,6 +166,7 @@
             <zipfileset prefix="tapestry-beanvalidator" dir="tapestry-beanvalidator" includes="${sources}"/>
             <zipfileset prefix="tapestry-jmx" dir="tapestry-jmx" includes="${sources}"/>
             <zipfileset prefix="tapestry-func" dir="tapestry-func" includes="${sources}"/>
+            <zipfileset prefix="tapestry-json" dir="tapestry-json" includes="${sources}"/>
         </zip>
 
         <tar destfile="${dists.dir}/tapestry-src-${version}.tar.gz" compression="gzip" longfile="gnu">

Modified: tapestry/tapestry5/trunk/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/pom.xml?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/pom.xml (original)
+++ tapestry/tapestry5/trunk/pom.xml Wed Aug 18 16:27:25 2010
@@ -176,6 +176,7 @@
     </mailingList>
   </mailingLists>
   <modules>
+    <module>tapestry-json</module>
     <module>tapestry-func</module>
     <module>tapestry-test</module>
     <module>tapestry-ioc</module>

Modified: tapestry/tapestry5/trunk/tapestry-core/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/pom.xml?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/pom.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/pom.xml Wed Aug 18 16:27:25 2010
@@ -30,6 +30,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.tapestry</groupId>
+      <artifactId>tapestry-json</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tapestry</groupId>
       <artifactId>tapestry-test</artifactId>
       <!--
         This would be test, but we provide a few base classes that depend on TestNG, which is

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/conf/testng.xml Wed Aug 18 16:27:25 2010
@@ -27,7 +27,6 @@
     <packages>
       <package name="org.apache.tapestry5.root"/>
       <package name="org.apache.tapestry5.dom"/>
-      <package name="org.apache.tapestry5.json"/>
       <package name="org.apache.tapestry5.runtime"/>
       <package name="org.apache.tapestry5.services"/>
       <package name="org.apache.tapestry5.util"/>

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImpl.java?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImpl.java Wed Aug 18 16:27:25 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ExceptionInfo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ExceptionInfo.java?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ExceptionInfo.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/ExceptionInfo.java Wed Aug 18 16:27:25 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2008 The Apache Software Foundation
+// Copyright 2006, 2008, 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImplTest.java?rev=986777&r1=986776&r2=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/ExceptionAnalyzerImplTest.java Wed Aug 18 16:27:25 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007 The Apache Software Foundation
+// Copyright 2006, 2007, 2010 The Apache Software Foundation
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/CompactSession.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/CompactSession.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/CompactSession.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/CompactSession.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONArray.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONArray.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONArray.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONArray.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONCollection.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONCollection.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONCollection.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONCollection.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONLiteral.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONLiteral.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONLiteral.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONLiteral.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject$Null.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject%24Null.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject$Null.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject$Null.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObject.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObjectTest.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObjectTest.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObjectTest.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONObjectTest.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONPrintSession.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONPrintSession.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONPrintSession.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONPrintSession.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONString.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONString.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONString.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONString.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONTokener.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONTokener.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONTokener.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/JSONTokener.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession$Position.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession%24Position.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession$Position.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession$Position.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession.class
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession.class?rev=986777&view=auto
==============================================================================
Files tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession.class (added) and tapestry/tapestry5/trunk/tapestry-json/bin/org/apache/tapestry5/json/PrettyPrintSession.class Wed Aug 18 16:27:25 2010 differ

Added: tapestry/tapestry5/trunk/tapestry-json/pom.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/pom.xml?rev=986777&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-json/pom.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-json/pom.xml Wed Aug 18 16:27:25 2010
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.tapestry</groupId>
+  <artifactId>tapestry-json</artifactId>
+  <packaging>jar</packaging>
+  <parent>
+    <groupId>org.apache.tapestry</groupId>
+    <artifactId>tapestry-project</artifactId>
+    <version>5.2.1-SNAPSHOT</version>
+  </parent>
+  <name>Tapestry JSON Library</name>
+  <description>
+    Repackaged, improved (and tested) version of code originally from json.org.
+    </description>
+  <inceptionYear>2010</inceptionYear>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.tapestry</groupId>
+      <artifactId>tapestry-test</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.tapestry</groupId>
+      <artifactId>tapestry-ioc</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+      </plugin>
+      <!-- This gets the plugin to clean up the cobertura.ser file left
+        in the root directory. -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+        <version>${cobertura-plugin-version}</version>
+        <executions>
+          <execution>
+            <id>clean</id>
+            <goals>
+              <goal>clean</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+          <reportSet>
+            <reports>
+              <report>summary</report>
+              <report>dependencies</report>
+            </reports>
+          </reportSet>
+        </reportSets>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>cobertura-maven-plugin</artifactId>
+        <version>${cobertura-plugin-version}</version>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>

Propchange: tapestry/tapestry5/trunk/tapestry-json/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/CompactSession.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/CompactSession.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/CompactSession.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/CompactSession.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/CompactSession.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/CompactSession.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONArray.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONArray.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONArray.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONArray.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONArray.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONArray.java (original)
+++ tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONArray.java Wed Aug 18 16:27:25 2010
@@ -34,10 +34,10 @@ package org.apache.tapestry5.json;
  * SOFTWARE.
  */
 
+import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-
 /**
  * A JSONArray is an ordered sequence of values. Its external text form is a string wrapped in square brackets with
  * commas separating the values. The internal form is an object having <code>get</code> and <code>opt</code> methods for
@@ -73,13 +73,13 @@ import org.apache.tapestry5.ioc.internal
  * @author JSON.org
  * @version 2
  */
-public final class JSONArray extends JSONCollection
+public final class JSONArray extends JSONCollection implements Iterable<Object>
 {
 
     /**
      * The arrayList where the JSONArray's properties are kept.
      */
-    private final List<Object> list = CollectionFactory.newList();
+    private final List<Object> list = new ArrayList<Object>();
 
     /**
      * Construct an empty JSONArray.
@@ -101,6 +101,11 @@ public final class JSONArray extends JSO
             put(value);
     }
 
+    public Iterator<Object> iterator()
+    {
+        return list.iterator();
+    }
+
     /**
      * Construct a JSONArray from a JSONTokener.
      * 

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONArray.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONCollection.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONCollection.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONCollection.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONCollection.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONCollection.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONCollection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONLiteral.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONLiteral.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONLiteral.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONLiteral.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONLiteral.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONLiteral.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONObject.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONObject.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONObject.java (original)
+++ tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java Wed Aug 18 16:27:25 2010
@@ -34,13 +34,13 @@ package org.apache.tapestry5.json;
  * SOFTWARE.
  */
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
-import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-
 /**
  * A JSONObject is an unordered collection of name/value pairs. Its external form is a string wrapped in curly braces
  * with colons between the names and values, and commas between the values and names. The internal form is an object
@@ -139,7 +139,7 @@ public final class JSONObject extends JS
     /**
      * The map where the JSONObject's properties are kept.
      */
-    private final Map<String, Object> properties = CollectionFactory.newMap();
+    private final Map<String, Object> properties = new HashMap<String, Object>();
 
     /**
      * It is sometimes more convenient and less ambiguous to have a <code>NULL</code> object than to use Java's
@@ -763,7 +763,7 @@ public final class JSONObject extends JS
 
         if (!found)
         {
-            List<String> typeNames = CollectionFactory.newList();
+            List<String> typeNames = new ArrayList<String>();
 
             for (Class c : ALLOWED)
             {
@@ -775,8 +775,21 @@ public final class JSONObject extends JS
                 typeNames.add(name);
             }
 
+            Collections.sort(typeNames);
+
+            StringBuilder joined = new StringBuilder();
+            String sep = "";
+
+            for (String name : typeNames)
+            {
+                joined.append(sep);
+                joined.append(name);
+
+                sep = ", ";
+            }
+
             String message = String.format("JSONObject properties may be one of %s. Type %s is not allowed.",
-                    InternalUtils.joinSorted(typeNames), actual.getName());
+                    joined.toString(), actual.getName());
 
             throw new RuntimeException(message);
         }

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONObject.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONPrintSession.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONString.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONString.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONString.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONString.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONString.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONString.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONTokener.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONTokener.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONTokener.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONTokener.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/JSONTokener.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/JSONTokener.java
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
    (empty)

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/main/java/org/apache/tapestry5/json/PrettyPrintSession.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: tapestry/tapestry5/trunk/tapestry-json/src/test/conf/testng.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/test/conf/testng.xml?rev=986777&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-json/src/test/conf/testng.xml (added)
+++ tapestry/tapestry5/trunk/tapestry-json/src/test/conf/testng.xml Wed Aug 18 16:27:25 2010
@@ -0,0 +1,8 @@
+<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
+<suite name="Tapestry JSON" annotations="1.5" verbose="2">
+  <test name="Unit Tests" enabled="true">
+    <packages>
+      <package name="org.apache.tapestry5.json"/>
+    </packages>
+  </test>
+</suite>

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/test/conf/testng.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Copied: tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java (from r986684, tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java?p2=tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java&p1=tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java&r1=986684&r2=986777&rev=986777&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java Wed Aug 18 16:27:25 2010
@@ -19,6 +19,7 @@ import java.io.PrintWriter;
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.HashMap;
+import java.util.Iterator;
 
 import org.apache.tapestry5.ioc.test.TestUtils;
 import org.testng.annotations.DataProvider;
@@ -946,4 +947,18 @@ public class JSONObjectTest extends Test
 
         assertEquals(outer.toCompactString(), "{\"coll\":[\"fred\",\"barney\"]}");
     }
+
+    @Test
+    public void json_array_is_iterable()
+    {
+        JSONArray array = new JSONArray(1, 2, false);
+
+        Iterator<Object> iterator = array.iterator();
+
+        assertEquals(iterator.next(), 1);
+        assertEquals(iterator.next(), 2);
+        assertEquals(iterator.next(), false);
+
+        assertFalse(iterator.hasNext());
+    }
 }

Propchange: tapestry/tapestry5/trunk/tapestry-json/src/test/java/org/apache/tapestry5/json/JSONObjectTest.java
------------------------------------------------------------------------------
    svn:eol-style = native