[maven-scm] copy for tag wink-1.0-incubating

git-svn-id: https://svn.apache.org/repos/asf/incubator/wink/tags/wink-1.0-incubating@832289 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/LICENSE b/LICENSE
index 8c97405..57bc88a 100644
--- a/LICENSE
+++ b/LICENSE
@@ -200,507 +200,3 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 
-================================================================================
-
-APACHE WINK SUBCOMPONENTS:
-
-Apache Wink includes a number of components and libraries with separate 
-copyright notices and license terms. Your use of those components are 
-subject to the terms and conditions of the following licenses. 
-
---------------------------------------------------------------------------------
-JSON (http://json.org/) org.json:json:20080701
-
-Copyright (c) 2002 JSON.org
-    
-    Permission is hereby granted, free of charge, to any person obtaining a copy
-    of this software and associated documentation files (the "Software"), to deal
-    in the Software without restriction, including without limitation the rights
-    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-    copies of the Software, and to permit persons to whom the Software is
-    furnished to do so, subject to the following conditions:
-    
-    The above copyright notice and this permission notice shall be included in all
-    copies or substantial portions of the Software.
-    
-    The Software shall be used for Good, not Evil.
-    
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-    SOFTWARE.
-
---------------------------------------------------------------------------------
-JSR 311 API (https://jsr311.dev.java.net/) javax.ws.rs:jsr311-api:jar:1.0:compile
-JAXB Reference Implementation project (https://jaxb.dev.java.net/) javax.xml.bind:jaxb-api:jar:2.1:compile 
-Sun JAXB Reference Implementation Runtime com.sun.xml.bind:jaxb-impl:jar:2.1.4:compile
-JavaBeans Activation Framework (http://java.sun.com/javase/technologies/desktop/javabeans/jaf/) javax.activation:activation:1.1:compile
-
-    COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
-
-    1. Definitions.
-    
-        1.1. "Contributor" means each individual or entity that
-        creates or contributes to the creation of Modifications.
-        
-        1.2. "Contributor Version" means the combination of the
-        Original Software, prior Modifications used by a
-        Contributor (if any), and the Modifications made by that
-        particular Contributor.
-        
-        1.3. "Covered Software" means (a) the Original Software, or
-        (b) Modifications, or (c) the combination of files
-        containing Original Software with files containing
-        Modifications, in each case including portions thereof.
-        
-        1.4. "Executable" means the Covered Software in any form
-        other than Source Code.
-        
-        1.5. "Initial Developer" means the individual or entity
-        that first makes Original Software available under this
-        License.
-        
-        1.6. "Larger Work" means a work which combines Covered
-        Software or portions thereof with code not governed by the
-        terms of this License.
-        
-        1.7. "License" means this document.
-        
-        1.8. "Licensable" means having the right to grant, to the
-        maximum extent possible, whether at the time of the initial
-        grant or subsequently acquired, any and all of the rights
-        conveyed herein.
-        
-        1.9. "Modifications" means the Source Code and Executable
-        form of any of the following:
-        
-            A. Any file that results from an addition to,
-            deletion from or modification of the contents of a
-            file containing Original Software or previous
-            Modifications;
-            
-            B. Any new file that contains any part of the
-            Original Software or previous Modification; or
-            
-            C. Any new file that is contributed or otherwise made
-            available under the terms of this License.
-            
-        1.10. "Original Software" means the Source Code and
-        Executable form of computer software code that is
-        originally released under this License.
-        
-        1.11. "Patent Claims" means any patent claim(s), now owned
-        or hereafter acquired, including without limitation,
-        method, process, and apparatus claims, in any patent
-        Licensable by grantor.
-        
-        1.12. "Source Code" means (a) the common form of computer
-        software code in which modifications are made and (b)
-        associated documentation included in or with such code.
-        
-        1.13. "You" (or "Your") means an individual or a legal
-        entity exercising rights under, and complying with all of
-        the terms of, this License. For legal entities, "You"
-        includes any entity which controls, is controlled by, or is
-        under common control with You. For purposes of this
-        definition, "control" means (a) the power, direct or
-        indirect, to cause the direction or management of such
-        entity, whether by contract or otherwise, or (b) ownership
-        of more than fifty percent (50%) of the outstanding shares
-        or beneficial ownership of such entity.
-        
-    2. License Grants.
-    
-        2.1. The Initial Developer Grant.
-        
-        Conditioned upon Your compliance with Section 3.1 below and
-        subject to third party intellectual property claims, the
-        Initial Developer hereby grants You a world-wide,
-        royalty-free, non-exclusive license:
-        
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Initial Developer,
-            to use, reproduce, modify, display, perform,
-            sublicense and distribute the Original Software (or
-            portions thereof), with or without Modifications,
-            and/or as part of a Larger Work; and
-            
-            (b) under Patent Claims infringed by the making,
-            using or selling of Original Software, to make, have
-            made, use, practice, sell, and offer for sale, and/or
-            otherwise dispose of the Original Software (or
-            portions thereof).
-            
-            (c) The licenses granted in Sections 2.1(a) and (b)
-            are effective on the date Initial Developer first
-            distributes or otherwise makes the Original Software
-            available to a third party under the terms of this
-            License.
-            
-            (d) Notwithstanding Section 2.1(b) above, no patent
-            license is granted: (1) for code that You delete from
-            the Original Software, or (2) for infringements
-            caused by: (i) the modification of the Original
-            Software, or (ii) the combination of the Original
-            Software with other software or devices.
-        
-        2.2. Contributor Grant.
-        
-        Conditioned upon Your compliance with Section 3.1 below and
-        subject to third party intellectual property claims, each
-        Contributor hereby grants You a world-wide, royalty-free,
-        non-exclusive license:
-        
-            (a) under intellectual property rights (other than
-            patent or trademark) Licensable by Contributor to
-            use, reproduce, modify, display, perform, sublicense
-            and distribute the Modifications created by such
-            Contributor (or portions thereof), either on an
-            unmodified basis, with other Modifications, as
-            Covered Software and/or as part of a Larger Work; and
-            
-            (b) under Patent Claims infringed by the making,
-            using, or selling of Modifications made by that
-            Contributor either alone and/or in combination with
-            its Contributor Version (or portions of such
-            combination), to make, use, sell, offer for sale,
-            have made, and/or otherwise dispose of: (1)
-            Modifications made by that Contributor (or portions
-            thereof); and (2) the combination of Modifications
-            made by that Contributor with its Contributor Version
-            (or portions of such combination).
-            
-            (c) The licenses granted in Sections 2.2(a) and
-            2.2(b) are effective on the date Contributor first
-            distributes or otherwise makes the Modifications
-            available to a third party.
-            
-            (d) Notwithstanding Section 2.2(b) above, no patent
-            license is granted: (1) for any code that Contributor
-            has deleted from the Contributor Version; (2) for
-            infringements caused by: (i) third party
-            modifications of Contributor Version, or (ii) the
-            combination of Modifications made by that Contributor
-            with other software (except as part of the
-            Contributor Version) or other devices; or (3) under
-            Patent Claims infringed by Covered Software in the
-            absence of Modifications made by that Contributor.
-        
-    3. Distribution Obligations.
-    
-        3.1. Availability of Source Code.
-        
-        Any Covered Software that You distribute or otherwise make
-        available in Executable form must also be made available in
-        Source Code form and that Source Code form must be
-        distributed only under the terms of this License. You must
-        include a copy of this License with every copy of the
-        Source Code form of the Covered Software You distribute or
-        otherwise make available. You must inform recipients of any
-        such Covered Software in Executable form as to how they can
-        obtain such Covered Software in Source Code form in a
-        reasonable manner on or through a medium customarily used
-        for software exchange.
-        
-        3.2. Modifications.
-        
-        The Modifications that You create or to which You
-        contribute are governed by the terms of this License. You
-        represent that You believe Your Modifications are Your
-        original creation(s) and/or You have sufficient rights to
-        grant the rights conveyed by this License.
-        
-        3.3. Required Notices.
-        
-        You must include a notice in each of Your Modifications
-        that identifies You as the Contributor of the Modification.
-        You may not remove or alter any copyright, patent or
-        trademark notices contained within the Covered Software, or
-        any notices of licensing or any descriptive text giving
-        attribution to any Contributor or the Initial Developer.
-        
-        3.4. Application of Additional Terms.
-        
-        You may not offer or impose any terms on any Covered
-        Software in Source Code form that alters or restricts the
-        applicable version of this License or the recipients'
-        rights hereunder. You may choose to offer, and to charge a
-        fee for, warranty, support, indemnity or liability
-        obligations to one or more recipients of Covered Software.
-        However, you may do so only on Your own behalf, and not on
-        behalf of the Initial Developer or any Contributor. You
-        must make it absolutely clear that any such warranty,
-        support, indemnity or liability obligation is offered by
-        You alone, and You hereby agree to indemnify the Initial
-        Developer and every Contributor for any liability incurred
-        by the Initial Developer or such Contributor as a result of
-        warranty, support, indemnity or liability terms You offer.
-        
-        3.5. Distribution of Executable Versions.
-        
-        You may distribute the Executable form of the Covered
-        Software under the terms of this License or under the terms
-        of a license of Your choice, which may contain terms
-        different from this License, provided that You are in
-        compliance with the terms of this License and that the
-        license for the Executable form does not attempt to limit
-        or alter the recipient's rights in the Source Code form
-        from the rights set forth in this License. If You
-        distribute the Covered Software in Executable form under a
-        different license, You must make it absolutely clear that
-        any terms which differ from this License are offered by You
-        alone, not by the Initial Developer or Contributor. You
-        hereby agree to indemnify the Initial Developer and every
-        Contributor for any liability incurred by the Initial
-        Developer or such Contributor as a result of any such terms
-        You offer.
-        
-        3.6. Larger Works.
-        
-        You may create a Larger Work by combining Covered Software
-        with other code not governed by the terms of this License
-        and distribute the Larger Work as a single product. In such
-        a case, You must make sure the requirements of this License
-        are fulfilled for the Covered Software.
-        
-    4. Versions of the License.
-    
-        4.1. New Versions.
-        
-        Sun Microsystems, Inc. is the initial license steward and
-        may publish revised and/or new versions of this License
-        from time to time. Each version will be given a
-        distinguishing version number. Except as provided in
-        Section 4.3, no one other than the license steward has the
-        right to modify this License.
-        
-        4.2. Effect of New Versions.
-        
-        You may always continue to use, distribute or otherwise
-        make the Covered Software available under the terms of the
-        version of the License under which You originally received
-        the Covered Software. If the Initial Developer includes a
-        notice in the Original Software prohibiting it from being
-        distributed or otherwise made available under any
-        subsequent version of the License, You must distribute and
-        make the Covered Software available under the terms of the
-        version of the License under which You originally received
-        the Covered Software. Otherwise, You may also choose to
-        use, distribute or otherwise make the Covered Software
-        available under the terms of any subsequent version of the
-        License published by the license steward.
-        
-        4.3. Modified Versions.
-        
-        When You are an Initial Developer and You want to create a
-        new license for Your Original Software, You may create and
-        use a modified version of this License if You: (a) rename
-        the license and remove any references to the name of the
-        license steward (except to note that the license differs
-        from this License); and (b) otherwise make it clear that
-        the license contains terms which differ from this License.
-        
-    5. DISCLAIMER OF WARRANTY.
-    
-    COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
-    BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-    INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
-    SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
-    PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
-    PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
-    COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
-    INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
-    ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
-    WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-    ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
-    DISCLAIMER.
-    
-    6. TERMINATION.
-    
-        6.1. This License and the rights granted hereunder will
-        terminate automatically if You fail to comply with terms
-        herein and fail to cure such breach within 30 days of
-        becoming aware of the breach. Provisions which, by their
-        nature, must remain in effect beyond the termination of
-        this License shall survive.
-        
-        6.2. If You assert a patent infringement claim (excluding
-        declaratory judgment actions) against Initial Developer or
-        a Contributor (the Initial Developer or Contributor against
-        whom You assert such claim is referred to as "Participant")
-        alleging that the Participant Software (meaning the
-        Contributor Version where the Participant is a Contributor
-        or the Original Software where the Participant is the
-        Initial Developer) directly or indirectly infringes any
-        patent, then any and all rights granted directly or
-        indirectly to You by such Participant, the Initial
-        Developer (if the Initial Developer is not the Participant)
-        and all Contributors under Sections 2.1 and/or 2.2 of this
-        License shall, upon 60 days notice from Participant
-        terminate prospectively and automatically at the expiration
-        of such 60 day notice period, unless if within such 60 day
-        period You withdraw Your claim with respect to the
-        Participant Software against such Participant either
-        unilaterally or pursuant to a written agreement with
-        Participant.
-        
-        6.3. In the event of termination under Sections 6.1 or 6.2
-        above, all end user licenses that have been validly granted
-        by You or any distributor hereunder prior to termination
-        (excluding licenses granted to You by any distributor)
-        shall survive termination.
-    
-    7. LIMITATION OF LIABILITY.
-    
-    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-    (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
-    INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
-    COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
-    LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
-    CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
-    LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
-    STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-    COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-    INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-    LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
-    INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
-    APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
-    NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
-    CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
-    APPLY TO YOU.
-    
-    8. U.S. GOVERNMENT END USERS.
-    
-    The Covered Software is a "commercial item," as that term is
-    defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
-    computer software" (as that term is defined at 48 C.F.R. �
-    252.227-7014(a)(1)) and "commercial computer software
-    documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
-    1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
-    through 227.7202-4 (June 1995), all U.S. Government End Users
-    acquire Covered Software with only those rights set forth herein.
-    This U.S. Government Rights clause is in lieu of, and supersedes,
-    any other FAR, DFAR, or other clause or provision that addresses
-    Government rights in computer software under this License.
-    
-    9. MISCELLANEOUS.
-    
-    This License represents the complete agreement concerning subject
-    matter hereof. If any provision of this License is held to be
-    unenforceable, such provision shall be reformed only to the
-    extent necessary to make it enforceable. This License shall be
-    governed by the law of the jurisdiction specified in a notice
-    contained within the Original Software (except to the extent
-    applicable law, if any, provides otherwise), excluding such
-    jurisdiction's conflict-of-law provisions. Any litigation
-    relating to this License shall be subject to the jurisdiction of
-    the courts located in the jurisdiction and venue specified in a
-    notice contained within the Original Software, with the losing
-    party responsible for costs, including, without limitation, court
-    costs and reasonable attorneys' fees and expenses. The
-    application of the United Nations Convention on Contracts for the
-    International Sale of Goods is expressly excluded. Any law or
-    regulation which provides that the language of a contract shall
-    be construed against the drafter shall not apply to this License.
-    You agree that You alone are responsible for compliance with the
-    United States export administration regulations (and the export
-    control laws and regulation of any other countries) when You use,
-    distribute or otherwise make available any Covered Software.
-    
-    10. RESPONSIBILITY FOR CLAIMS.
-    
-    As between Initial Developer and the Contributors, each party is
-    responsible for claims and damages arising, directly or
-    indirectly, out of its utilization of rights under this License
-    and You agree to work with Initial Developer and Contributors to
-    distribute such responsibility on an equitable basis. Nothing
-    herein is intended or shall be deemed to constitute any admission
-    of liability.
-
---------------------------------------------------------------------------------
-SLF4J (http://www.slf4j.org/) org.slf4j:slf4j-api:jar:1.5.8:runtime
-SLF4J (http://www.slf4j.org/) org.slf4j:slf4j-simple:jar:1.5.8:runtime
-
-     Copyright (c) 2004-2008 QOS.ch
-     All rights reserved.
-    
-     Permission is hereby granted, free  of charge, to any person obtaining
-     a  copy  of this  software  and  associated  documentation files  (the
-     "Software"), to  deal in  the Software without  restriction, including
-     without limitation  the rights to  use, copy, modify,  merge, publish,
-     distribute,  sublicense, and/or sell  copies of  the Software,  and to
-     permit persons to whom the Software  is furnished to do so, subject to
-     the following conditions:
-     
-     The  above  copyright  notice  and  this permission  notice  shall  be
-     included in all copies or substantial portions of the Software.
-     
-     THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
-     EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
-     MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
-     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-     LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-     OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
-     WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-     
---------------------------------------------------------------------------------
-htmlparser (http://about.validator.nu/htmlparser/) nu.validator.htmlparser:htmlparser:jar:1.0.5
-
-Copyright (c) 2005, 2006, 2007 Henri Sivonen
-Copyright (c) 2007-2008 Mozilla Foundation
-Portions of comments Copyright 2004-2007 Apple Computer, Inc., Mozilla 
-Foundation, and Opera Software ASA.    
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
---------------------------------------------------------------------------------
-Jaxen (http://jaxen.codehaus.org/) jaxen:jaxen:jar:1.1.1
-
-Copyright 2003-2006 The Werken Company. All Rights Reserved.
- 
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
-  * Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-  * Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
-  * Neither the name of the Jaxen Project nor the names of its
-    contributors may be used to endorse or promote products derived 
-    from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
-IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
-TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
-PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
-OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/NOTICE b/NOTICE
index a5043c1..4e069ed 100644
--- a/NOTICE
+++ b/NOTICE
@@ -4,24 +4,3 @@
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 
-This product includes software developed by the JSON.org distributed under json license  
-
-This product includes software, StAX API (http://stax.codehaus.org/) distributed under Apache-2.0 license
-
-This product includes software developed for the JAXB Reference Implementation project (https://jaxb.dev.java.net/) distributed under CDDL Version 1.0 license 
-
-This product includes software, JSR-311 (https://jsr311.dev.java.net/) distributed under CDDL Version 1.0 license
- 
-This product includes software, JavaBeans Activation Framework (http://java.sun.com/javase/technologies/desktop/javabeans/jaf/) distributed under CDDL Version 1.0 license
- 
-This product includes software, SLF4J (http://www.slf4j.org/) distributed under slf4j license
-
-This product includes software, Spring (http://www.springsource.org/) distributed under Apache-2.0 license
-
-This product includes software, htmlparser (http://about.validator.nu/htmlparser/) distributed under MIT license
-
-This product includes software, Jaxen (http://jaxen.codehaus.org/) distributed under Jaxen license
-
-This product includes software, Jettison (http://jettison.codehaus.org/) distributed under Apache-2.0 license
-
-This product includes software, Woodstox (http://woodstox.codehaus.org/) distributed under Apache-2.0 license
diff --git a/wink-client-apache-httpclient/pom.xml b/wink-client-apache-httpclient/pom.xml
index 401c004..489a1e9 100644
--- a/wink-client-apache-httpclient/pom.xml
+++ b/wink-client-apache-httpclient/pom.xml
@@ -42,6 +42,16 @@
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
             <version>4.0</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-logging</groupId>
+                    <artifactId>commons-logging</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
         </dependency>
         <dependency>
             <!--
diff --git a/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java b/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java
index a481707..56e659d 100644
--- a/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java
+++ b/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java
@@ -63,8 +63,9 @@
     }
 
     public ClientResponse handle(ClientRequest request, HandlerContext context) throws Exception {
+        HttpResponse response = null;
         try {
-            HttpResponse response = processRequest(request, context);
+            response = processRequest(request, context);
             return processResponse(request, context, response);
         } catch (Exception e) {
             throw new RuntimeException(e);
@@ -174,12 +175,25 @@
         return response;
     }
 
-    private ClientResponse createResponse(ClientRequest request, HttpResponse httpResponse) {
-        ClientResponse response = new ClientResponseImpl();
+    private ClientResponse createResponse(ClientRequest request, final HttpResponse httpResponse) {
+        final ClientResponseImpl response = new ClientResponseImpl();
         StatusLine statusLine = httpResponse.getStatusLine();
         response.setStatusCode(statusLine.getStatusCode());
         response.setMessage(statusLine.getReasonPhrase());
         response.getAttributes().putAll(request.getAttributes());
+        response.setContentConsumer(new Runnable() {
+            
+            public void run() {
+              HttpEntity entity = httpResponse.getEntity();
+              if (entity != null) {
+                  try {
+                    entity.consumeContent();
+                } catch (IOException e) {
+                    throw new RuntimeException(e);
+                }
+              }
+            }
+        });
         processResponseHeaders(response, httpResponse);
         return response;
     }
diff --git a/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java b/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java
index 5324156..4a4610a 100644
--- a/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java
+++ b/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java
@@ -107,4 +107,15 @@
      * @param entity response entity to set
      */
     public void setEntity(Object entity);
+
+    /**
+     * Consumes entity content. The real behavior of this method depends on the
+     * actual implementation. It's needed to call this method, if the calling
+     * code decides not to handle content.
+     * <p>
+     * There is no need to call this method, if getEntity() was invoked.
+     * <p>
+     * Calling this method multiple times will not cause an error.
+     */
+    public void consumeContent();
 }
diff --git a/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java b/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java
index 997344b..b1f049a 100644
--- a/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java
+++ b/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java
@@ -39,9 +39,10 @@
 
 public class ClientResponseImpl extends BaseRequestResponseImpl implements ClientResponse {
 
-    private Object entity;
-    private String message;
-    private int    status;
+    private Object   entity;
+    private String   message;
+    private int      status;
+    private Runnable contentConsumer;
 
     public <T> T getEntity(Class<T> type) {
         return getEntity(type, type);
@@ -127,7 +128,22 @@
             throw new ClientRuntimeException(e);
         } finally {
             RuntimeContextTLS.setRuntimeContext(saved);
+            consumeContent();
         }
     }
 
+    public void consumeContent() {
+        if (contentConsumer != null) {
+            contentConsumer.run();
+        }
+    }
+
+    public void setContentConsumer(Runnable contentConsumer) {
+        this.contentConsumer = contentConsumer;
+    }
+
+    public Runnable getContentConsumer() {
+        return contentConsumer;
+    }
+
 }
diff --git a/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java b/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
index 9ae91ab..ad922df 100644
--- a/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
+++ b/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
@@ -19,9 +19,16 @@
  *******************************************************************************/
 package org.apache.wink.common.internal.providers.entity.xml;
 
+import java.lang.ref.SoftReference;
 import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
 
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Context;
@@ -64,17 +71,106 @@
     private static final SoftConcurrentMap<Class<?>, Boolean>     jaxbIsXMLTypeCache        =
                                                                                                 new SoftConcurrentMap<Class<?>, Boolean>();
 
-    protected final Unmarshaller getUnmarshaller(Class<?> type, MediaType mediaType)
-        throws JAXBException {
-        JAXBContext context = getContext(type, mediaType);
-        return context.createUnmarshaller();
+    // the Pool code for the pooling of unmarshallers is from Axis2 Java
+    // http://svn.apache.org/repos/asf/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/databinding/JAXBUtils.java
+    private static Pool<JAXBContext, Marshaller>                  mpool                     =
+                                                                                                new Pool<JAXBContext, Marshaller>();
+    private static Pool<JAXBContext, Unmarshaller>                upool                     =
+                                                                                                new Pool<JAXBContext, Unmarshaller>();
+
+/**
+     * Get the unmarshaller. You must call {@link #releaseJAXBUnmarshaller(JAXBContext, Unmarshaller) to put it back
+     * into the pool.
+     * 
+     * @param context the current context
+     * @return Unmarshaller an unmarshaller for the context
+     * @throws JAXBException
+     */
+    protected final Unmarshaller getJAXBUnmarshaller(JAXBContext context) throws JAXBException {
+        Unmarshaller unm = upool.get(context);
+        if (unm == null) {
+            if (logger.isDebugEnabled()) {
+                logger.debug("Unmarshaller created [not in pool]");
+            }
+            unm = internalCreateUnmarshaller(context);
+        } else {
+            if (logger.isDebugEnabled()) {
+                logger.debug("Unmarshaller obtained [from  pool]");
+            }
+        }
+        return unm;
     }
 
-    protected final Marshaller getMarshaller(Class<?> type, MediaType mediaType)
+    private static Unmarshaller internalCreateUnmarshaller(final JAXBContext context)
         throws JAXBException {
-        JAXBContext context = getContext(type, mediaType);
-        Marshaller marshaller = context.createMarshaller();
-        marshaller.setProperty(Marshaller.JAXB_ENCODING, ProviderUtils.getCharset(mediaType));
+        Unmarshaller unm;
+        try {
+            unm = AccessController.doPrivileged(new PrivilegedExceptionAction<Unmarshaller>() {
+                public Unmarshaller run() throws JAXBException {
+                    return context.createUnmarshaller();
+                }
+            });
+        } catch (PrivilegedActionException e) {
+            throw (JAXBException)e.getCause();
+        }
+        return unm;
+    }
+
+    /**
+     * Release Unmarshaller. Do not call this method if an exception occurred
+     * while using the Unmarshaller. The object may be in an invalid state.
+     * 
+     * @param context JAXBContext the context to key off from
+     * @param unmarshaller the unmarshaller to put back in the pool
+     */
+    protected void releaseJAXBUnmarshaller(JAXBContext context, Unmarshaller unmarshaller) {
+        if (logger.isDebugEnabled()) {
+            logger.debug("Unmarshaller placed back into pool");
+        }
+        unmarshaller.setAttachmentUnmarshaller(null);
+        upool.put(context, unmarshaller);
+    }
+
+    private static Marshaller internalCreateMarshaller(final JAXBContext context)
+        throws JAXBException {
+        Marshaller marshaller;
+        try {
+            marshaller = AccessController.doPrivileged(new PrivilegedExceptionAction<Marshaller>() {
+                public Marshaller run() throws JAXBException {
+                    return context.createMarshaller();
+                }
+            });
+        } catch (PrivilegedActionException e) {
+            throw (JAXBException)e.getCause();
+        }
+        return marshaller;
+    }
+
+    /**
+     * Get JAXBMarshaller
+     * 
+     * @param context JAXBContext
+     * @return Marshaller
+     * @throws JAXBException
+     */
+    protected Marshaller getJAXBMarshaller(Class<?> type, JAXBContext context, MediaType mediaType)
+        throws JAXBException {
+
+        Marshaller m = mpool.get(context);
+
+        if (m == null) {
+            if (logger.isDebugEnabled()) {
+                logger.debug("Marshaller created [not in pool]");
+            }
+            m = internalCreateMarshaller(context);
+        } else {
+            if (logger.isDebugEnabled()) {
+                logger.debug("Marshaller obtained [from  pool]");
+            }
+        }
+
+        // will set to UTF-8 if there isn't a charset
+        m.setProperty(Marshaller.JAXB_ENCODING, ProviderUtils.getCharset(mediaType));
 
         ContextResolver<XmlFormattingOptions> contextResolver =
             providers.getContextResolver(XmlFormattingOptions.class, mediaType);
@@ -83,9 +179,26 @@
             formatingOptions = contextResolver.getContext(type);
         }
         if (formatingOptions != null) {
-            JAXBUtils.setXmlFormattingOptions(marshaller, formatingOptions);
+            JAXBUtils.setXmlFormattingOptions(m, formatingOptions);
         }
-        return marshaller;
+
+        return m;
+    }
+
+    /**
+     * Do not call this method if an exception occurred while using the
+     * Marshaller. The object may be in an invalid state.
+     * 
+     * @param context JAXBContext
+     * @param marshaller Marshaller
+     */
+    protected void releaseJAXBMarshaller(JAXBContext context, Marshaller marshaller) {
+        if (logger.isDebugEnabled()) {
+            logger.debug("Marshaller placed back into pool");
+        }
+
+        marshaller.setAttachmentMarshaller(null);
+        mpool.put(context, marshaller);
     }
 
     protected boolean isSupportedMediaType(MediaType mediaType) {
@@ -121,10 +234,10 @@
     }
 
     public static boolean isJAXBElement(Class<?> type, Type genericType) {
-        return (type == JAXBElement.class && genericType instanceof ParameterizedType);
+        return (type == JAXBElement.class);
     }
 
-    private JAXBContext getContext(Class<?> type, MediaType mediaType) throws JAXBException {
+    protected JAXBContext getContext(Class<?> type, MediaType mediaType) throws JAXBException {
         ContextResolver<JAXBContext> contextResolver =
             providers.getContextResolver(JAXBContext.class, mediaType);
         JAXBContext context = null;
@@ -237,4 +350,107 @@
         return new JAXBElement(new QName(typeStr), type, jaxbObject);
     }
 
+    /**
+     * Pool a list of items for a specific key
+     * 
+     * @param <K> Key
+     * @param <V> Pooled object
+     */
+    private static class Pool<K, V> {
+        private SoftReference<ConcurrentHashMap<K, ArrayList<V>>> softMap         =
+                                                                                      new SoftReference<ConcurrentHashMap<K, ArrayList<V>>>(
+                                                                                                                                            new ConcurrentHashMap<K, ArrayList<V>>());
+        /**
+         * Maximum number of JAXBContexts to store
+         */
+        private static int                                            MAX_LOAD_FACTOR           = 32;
+
+
+        /** The maps are freed up when a LOAD FACTOR is hit */
+        private static int                                        MAX_LIST_FACTOR = 50;
+
+        /**
+         * @param key
+         * @return removed item from pool or null.
+         */
+        public V get(K key) {
+            List<V> values = getValues(key);
+            synchronized (values) {
+                if (values.size() > 0) {
+                    V v = values.remove(values.size() - 1);
+                    return v;
+                }
+            }
+            return null;
+        }
+
+        /**
+         * Add item back to pool
+         * 
+         * @param key
+         * @param value
+         */
+        public void put(K key, V value) {
+            adjustSize();
+            List<V> values = getValues(key);
+            synchronized (values) {
+                if (values.size() < MAX_LIST_FACTOR) {
+                    values.add(value);
+                }
+            }
+        }
+
+        /**
+         * Get or create a list of the values for the key
+         * 
+         * @param key
+         * @return list of values (never null)
+         */
+        private List<V> getValues(K key) {
+            ConcurrentHashMap<K, ArrayList<V>> map = softMap.get();
+            ArrayList<V> values = null;
+            if (map != null) {
+                values = map.get(key);
+                if (values != null) {
+                    return values;
+                }
+            }
+            synchronized (this) {
+                if (map != null) {
+                    values = map.get(key);
+                }
+                if (values == null) {
+                    if (map == null) {
+                        map = new ConcurrentHashMap<K, ArrayList<V>>();
+                        softMap = new SoftReference<ConcurrentHashMap<K, ArrayList<V>>>(map);
+                    }
+                    values = new ArrayList<V>();
+                    map.put(key, values);
+                }
+                return values;
+            }
+        }
+
+        /**
+         * When the number of keys exceeds the maximum load, half of the entries
+         * are deleted. The assumption is that the JAXBContexts, UnMarshallers,
+         * Marshallers, etc. require a large footprint.
+         */
+        private void adjustSize() {
+            ConcurrentHashMap<K, ArrayList<V>> map = softMap.get();
+            if (map != null && map.size() > MAX_LOAD_FACTOR) {
+                // Remove every other Entry in the map.
+                Iterator it = map.entrySet().iterator();
+                boolean removeIt = false;
+                while (it.hasNext()) {
+                    it.next();
+                    if (removeIt) {
+                        it.remove();
+                    }
+                    removeIt = !removeIt;
+                }
+            }
+        }
+    }
+
 }
diff --git a/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java b/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
index 0a88484..9db877f 100644
--- a/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
+++ b/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
@@ -37,6 +37,7 @@
 import javax.ws.rs.ext.MessageBodyReader;
 import javax.ws.rs.ext.MessageBodyWriter;
 import javax.ws.rs.ext.Provider;
+import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
@@ -77,7 +78,8 @@
         Unmarshaller unmarshaller = null;
 
         try {
-            unmarshaller = getUnmarshaller(classToFill, mediaType);
+            JAXBContext context = getContext(classToFill, mediaType);
+            unmarshaller = getJAXBUnmarshaller(context);
             String charset = ProviderUtils.getCharsetOrNull(mediaType);
             if (charset == null) {
                 // use default
@@ -88,6 +90,8 @@
                 ModelUtils.unmarshal(unmarshaller, new InputStreamReader(entityStream, Charset
                     .forName(charset)));
             }
+
+            releaseJAXBUnmarshaller(context, unmarshaller);
         } catch (JAXBException e) {
             logger.error(Messages.getMessage("jaxbFailToUnmarshal"), type.getName());
             throw new WebApplicationException(e, Response.Status.BAD_REQUEST);
@@ -118,10 +122,14 @@
                         MultivaluedMap<String, Object> httpHeaders,
                         OutputStream entityStream) throws IOException, WebApplicationException {
         try {
-            Marshaller marshaller = getMarshaller(t.getDeclaredType(), mediaType);
+            Class<?> declaredType = t.getDeclaredType();
+            JAXBContext context = getContext(declaredType, mediaType);
+            Marshaller marshaller = getJAXBMarshaller(declaredType, context, mediaType);
 
             // Use an OutputStream directly instead of a Writer for performance.
             marshaller.marshal(t, entityStream);
+
+            releaseJAXBMarshaller(context, marshaller);
         } catch (JAXBException e) {
             logger.error(Messages.getMessage("jaxbFailToMarshal"), t.getName());
             throw new WebApplicationException(e, Response.Status.INTERNAL_SERVER_ERROR);
diff --git a/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java b/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
index acf82d4..125f234 100644
--- a/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
+++ b/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
@@ -34,6 +34,7 @@
 import javax.ws.rs.ext.MessageBodyReader;
 import javax.ws.rs.ext.MessageBodyWriter;
 import javax.ws.rs.ext.Provider;
+import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
@@ -65,17 +66,18 @@
                            MediaType mediaType,
                            MultivaluedMap<String, String> httpHeaders,
                            InputStream entityStream) throws IOException, WebApplicationException {
-
         Unmarshaller unmarshaller = null;
         Object unmarshaledResource = null;
         try {
-            unmarshaller = getUnmarshaller(type, mediaType);
+            JAXBContext context = getContext(type, mediaType);
+            unmarshaller = getJAXBUnmarshaller(context);
             if (type.isAnnotationPresent(XmlRootElement.class))
                 unmarshaledResource = unmarshaller.unmarshal(entityStream);
             else
                 unmarshaledResource =
                     unmarshaller.unmarshal(new StreamSource(entityStream), type).getValue();
 
+            releaseJAXBUnmarshaller(context, unmarshaller);
         } catch (JAXBException e) {
             logger.error(Messages.getMessage("jaxbFailToUnmarshal"), type.getName());
             throw new WebApplicationException(e, Response.Status.BAD_REQUEST);
@@ -106,11 +108,14 @@
                         MultivaluedMap<String, Object> httpHeaders,
                         OutputStream entityStream) throws IOException, WebApplicationException {
         try {
-            Marshaller marshaller = getMarshaller(type, mediaType);
+            JAXBContext context = getContext(type, mediaType);
+            Marshaller marshaller = getJAXBMarshaller(type, context, mediaType);
             Object entityToMarshal = getEntityToMarshal(t, type);
 
             // Use an OutputStream directly instead of a Writer for performance.
             marshaller.marshal(entityToMarshal, entityStream);
+
+            releaseJAXBMarshaller(context, marshaller);
         } catch (JAXBException e) {
             logger.error(Messages.getMessage("jaxbFailToMarshal"), type.getName());
             throw new WebApplicationException(e);
diff --git a/wink-itests/pom.xml b/wink-itests/pom.xml
index 8cc9964..6f3845c 100644
--- a/wink-itests/pom.xml
+++ b/wink-itests/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itests</artifactId>
diff --git a/wink-itests/wink-itest-logging/pom.xml b/wink-itests/wink-itest-logging/pom.xml
index f5e374c..789dc49 100644
--- a/wink-itests/wink-itest-logging/pom.xml
+++ b/wink-itests/wink-itest-logging/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itests</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-logging</artifactId>
diff --git a/wink-itests/wink-itest-support/pom.xml b/wink-itests/wink-itest-support/pom.xml
index 4f1134d..a72a495 100644
--- a/wink-itests/wink-itest-support/pom.xml
+++ b/wink-itests/wink-itest-support/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>wink-itests</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-support</artifactId>
diff --git a/wink-itests/wink-itest/pom.xml b/wink-itests/wink-itest/pom.xml
index c31235c..3209c51 100644
--- a/wink-itests/wink-itest/pom.xml
+++ b/wink-itests/wink-itest/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itests</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest</artifactId>
diff --git a/wink-itests/wink-itest/wink-example-helloworld/pom.xml b/wink-itests/wink-itest/wink-example-helloworld/pom.xml
index b113962..c947de2 100644
--- a/wink-itests/wink-itest/wink-example-helloworld/pom.xml
+++ b/wink-itests/wink-itest/wink-example-helloworld/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.wink</groupId>
diff --git a/wink-itests/wink-itest/wink-itest-client/pom.xml b/wink-itests/wink-itest/wink-itest-client/pom.xml
index d573b28..c704daa 100644
--- a/wink-itests/wink-itest/wink-itest-client/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-client/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <groupId>org.apache.wink</groupId>
diff --git a/wink-itests/wink-itest/wink-itest-context/pom.xml b/wink-itests/wink-itest/wink-itest-context/pom.xml
index 06edc16..bf6f8c3 100644
--- a/wink-itests/wink-itest/wink-itest-context/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-context/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-context</artifactId>
diff --git a/wink-itests/wink-itest/wink-itest-extra-providers/pom.xml b/wink-itests/wink-itest/wink-itest-extra-providers/pom.xml
index 150775f..faab5ee 100644
--- a/wink-itests/wink-itest/wink-itest-extra-providers/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-extra-providers/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <artifactId>wink-itest</artifactId>
     <groupId>org.apache.wink</groupId>
-    <version>0.2-incubating-SNAPSHOT</version>
+    <version>1.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.wink</groupId>
diff --git a/wink-itests/wink-itest/wink-itest-filter/pom.xml b/wink-itests/wink-itest/wink-itest-filter/pom.xml
index ab03c39..e0d7055 100644
--- a/wink-itests/wink-itest/wink-itest-filter/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-filter/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-filter</artifactId>
diff --git a/wink-itests/wink-itest/wink-itest-inheritance/pom.xml b/wink-itests/wink-itest/wink-itest-inheritance/pom.xml
index d984075..fc28d0e 100644
--- a/wink-itests/wink-itest/wink-itest-inheritance/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-inheritance/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>wink-itest</artifactId>
     <groupId>org.apache.wink</groupId>
-    <version>0.2-incubating-SNAPSHOT</version>
+    <version>1.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>wink-itest-inheritance</artifactId>
diff --git a/wink-itests/wink-itest/wink-itest-params/pom.xml b/wink-itests/wink-itest/wink-itest-params/pom.xml
index 4af2368..430c8c5 100644
--- a/wink-itests/wink-itest/wink-itest-params/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-params/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <artifactId>wink-itest</artifactId>
     <groupId>org.apache.wink</groupId>
-    <version>0.2-incubating-SNAPSHOT</version>
+    <version>1.0-incubating-SNAPSHOT</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>wink-itest-params</artifactId>
diff --git a/wink-itests/wink-itest/wink-itest-providers/pom.xml b/wink-itests/wink-itest/wink-itest-providers/pom.xml
index f9514ba..a15c9d3 100644
--- a/wink-itests/wink-itest/wink-itest-providers/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-providers/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-providers</artifactId>
diff --git a/wink-itests/wink-itest/wink-itest-targeting/pom.xml b/wink-itests/wink-itest/wink-itest-targeting/pom.xml
index e404d33..877ba69 100644
--- a/wink-itests/wink-itest/wink-itest-targeting/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-targeting/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-targeting</artifactId>
diff --git a/wink-itests/wink-itest/wink-itest-validation/pom.xml b/wink-itests/wink-itest/wink-itest-validation/pom.xml
index 72aba69..a6e954d 100644
--- a/wink-itests/wink-itest/wink-itest-validation/pom.xml
+++ b/wink-itests/wink-itest/wink-itest-validation/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>wink-itest</artifactId>
         <groupId>org.apache.wink</groupId>
-        <version>0.2-incubating-SNAPSHOT</version>
+        <version>1.0-incubating-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-itest-validation</artifactId>
diff --git a/wink-providers/wink-abdera-provider/pom.xml b/wink-providers/wink-abdera-provider/pom.xml
index d67553b..cec9ffc 100644
--- a/wink-providers/wink-abdera-provider/pom.xml
+++ b/wink-providers/wink-abdera-provider/pom.xml
@@ -38,6 +38,7 @@
                     <artifactId>geronimo-activation_1.0.2_spec</artifactId>
                 </exclusion>
             </exclusions>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.abdera</groupId>
@@ -60,7 +61,16 @@
                     <groupId>commons-httpclient</groupId>
                     <artifactId>commons-httpclient</artifactId>
                 </exclusion>
+                <exclusion>
+                    <groupId>xml-apis</groupId>
+                    <artifactId>xml-apis</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>xerces</groupId>
+                    <artifactId>xercesImpl</artifactId>
+                </exclusion>
             </exclusions>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.wink</groupId>
@@ -99,4 +109,4 @@
             <url>http://people.apache.org/repo/m2-incubating-repository/</url>
         </repository>
     </repositories>
-</project>
\ No newline at end of file
+</project>
diff --git a/wink-providers/wink-jettison-provider/pom.xml b/wink-providers/wink-jettison-provider/pom.xml
index 4e5ad00..d4bbf7f 100644
--- a/wink-providers/wink-jettison-provider/pom.xml
+++ b/wink-providers/wink-jettison-provider/pom.xml
@@ -28,6 +28,12 @@
 			<groupId>org.codehaus.jettison</groupId>
 			<artifactId>jettison</artifactId>
 			<version>1.1</version>
+                        <exclusions>
+                            <exclusion>
+                                <groupId>stax</groupId>
+                                <artifactId>stax-api</artifactId>
+                            </exclusion>
+                        </exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.wink</groupId>
@@ -62,4 +68,4 @@
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java b/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java
index 76c028c..ddc2691 100644
--- a/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java
+++ b/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java
@@ -38,6 +38,7 @@
 import javax.ws.rs.ext.MessageBodyReader;
 import javax.ws.rs.ext.MessageBodyWriter;
 import javax.ws.rs.ext.Provider;
+import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
@@ -99,7 +100,8 @@
         } else {
             this.outputConfiguration = new Configuration(new HashMap<String, String>());
         }
-        // see http://jira.codehaus.org/browse/JETTISON-74 . reading disabled for now
+        // see http://jira.codehaus.org/browse/JETTISON-74 . reading disabled
+        // for now
         isReadable = false;
         isWritable = true;
     }
@@ -132,7 +134,8 @@
         Unmarshaller unmarshaller = null;
 
         try {
-            unmarshaller = getUnmarshaller(classToFill, mediaType);
+            JAXBContext context = getContext(classToFill, mediaType);
+            unmarshaller = getJAXBUnmarshaller(context);
 
             XMLStreamReader xsr = null;
             if (isBadgerFishConventionUsed) {
@@ -177,7 +180,9 @@
                         MultivaluedMap<String, Object> httpHeaders,
                         OutputStream entityStream) throws IOException, WebApplicationException {
         try {
-            Marshaller marshaller = getMarshaller(t.getDeclaredType(), mediaType);
+            Class<?> declaredType = t.getDeclaredType();
+            JAXBContext context = getContext(declaredType, mediaType);
+            Marshaller marshaller = getJAXBMarshaller(declaredType, context, mediaType);
             OutputStreamWriter writer =
                 new OutputStreamWriter(entityStream, ProviderUtils.getCharset(mediaType));
 
diff --git a/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java b/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java
index 791c3fd..7998b8f 100644
--- a/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java
+++ b/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java
@@ -37,6 +37,7 @@
 import javax.ws.rs.ext.MessageBodyReader;
 import javax.ws.rs.ext.MessageBodyWriter;
 import javax.ws.rs.ext.Provider;
+import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBException;
 import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
@@ -127,7 +128,8 @@
         Unmarshaller unmarshaller = null;
         Object unmarshaledResource = null;
         try {
-            unmarshaller = getUnmarshaller(type, mediaType);
+            JAXBContext context = getContext(type, mediaType);
+            unmarshaller = getJAXBUnmarshaller(context);
 
             XMLStreamReader xsr = null;
             if (type.isAnnotationPresent(XmlRootElement.class)) {
@@ -182,7 +184,8 @@
                         MultivaluedMap<String, Object> httpHeaders,
                         OutputStream entityStream) throws IOException, WebApplicationException {
         try {
-            Marshaller marshaller = getMarshaller(type, mediaType);
+            JAXBContext context = getContext(type, mediaType);
+            Marshaller marshaller = getJAXBMarshaller(type, context, mediaType);
             Object entityToMarshal = getEntityToMarshal(t, type);
 
             // Use an OutputStream directly instead of a Writer for performance.
diff --git a/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java b/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java
index 1ae86f8..d3915bf 100644
--- a/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java
+++ b/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java
@@ -206,62 +206,107 @@
     }
 
     public void testPostAtomEntry() throws Exception {
-        MockHttpServletRequest request =
-            MockRequestConstructor.constructMockRequest("POST",
-                                                        "/test/atomentry",
-                                                        "application/json");
-        request.setContentType("application/json");
-        request.setContent(ENTRY_JSON_POST.getBytes());
-        MockHttpServletResponse response = invoke(request);
-        assertEquals(200, response.getStatus());
+        try {
+            MockHttpServletRequest request =
+                MockRequestConstructor.constructMockRequest("POST",
+                                                            "/test/atomentry",
+                                                            "application/json");
+            request.setContentType("application/json");
+            request.setContent(ENTRY_JSON_POST.getBytes());
+            MockHttpServletResponse response = invoke(request);
+            assertEquals(200, response.getStatus());
 
-        assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
-            .objectForString(ENTRY_JSON_POST), JSONUtils.objectForString(response
-            .getContentAsString())));
+            assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST), JSONUtils.objectForString(response
+                .getContentAsString())) || JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST2), JSONUtils.objectForString(response
+                .getContentAsString())));
+        } catch (Exception e) {
+            // the Jettison code differs due to a JAXB version implementation difference
+            MockHttpServletRequest request =
+                MockRequestConstructor.constructMockRequest("POST",
+                                                            "/test/atomentry",
+                                                            "application/json");
+            request.setContentType("application/json");
+            request.setContent(ENTRY_JSON_POST2.getBytes());
+
+            MockHttpServletResponse response = invoke(request);
+            assertEquals(200, response.getStatus());
+
+            assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST2), JSONUtils.objectForString(response
+                .getContentAsString())) || JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST3), JSONUtils.objectForString(response
+                .getContentAsString())));
+        }
     }
 
     public void testPostAtomEntryElement() throws Exception {
-        MockHttpServletRequest request =
-            MockRequestConstructor.constructMockRequest("POST",
-                                                        "/test/atomentryelement",
-                                                        "application/json");
-        request.setContentType("application/json");
-        request.setContent(ENTRY_JSON_POST.getBytes());
-        MockHttpServletResponse response = invoke(request);
-        assertEquals(200, response.getStatus());
-        System.out.println(response.getContentAsString());
-        System.out.println(ENTRY_JSON_POST);
-        assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
-            .objectForString(ENTRY_JSON_POST), JSONUtils.objectForString(response
-            .getContentAsString())));
+        try {
+            MockHttpServletRequest request =
+                MockRequestConstructor.constructMockRequest("POST",
+                                                            "/test/atomentryelement",
+                                                            "application/json");
+            request.setContentType("application/json");
+            request.setContent(ENTRY_JSON_POST.getBytes());
+            MockHttpServletResponse response = invoke(request);
+            assertEquals(200, response.getStatus());
+            assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST), JSONUtils.objectForString(response
+                .getContentAsString())) || JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST2), JSONUtils.objectForString(response
+                .getContentAsString())));
+        } catch (Exception e) {
+            // the Jettison code differs due to a JAXB version implementation difference
+            MockHttpServletRequest request =
+                MockRequestConstructor.constructMockRequest("POST",
+                                                            "/test/atomentryelement",
+                                                            "application/json");
+            request.setContentType("application/json");
+            request.setContent(ENTRY_JSON_POST2.getBytes());
+            MockHttpServletResponse response = invoke(request);
+            assertEquals(200, response.getStatus());
+
+            assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST2), JSONUtils.objectForString(response
+                .getContentAsString())) || JSONUtils.equals(JSONUtils
+                .objectForString(ENTRY_JSON_POST3), JSONUtils.objectForString(response
+                .getContentAsString())));
+        }
     }
 
-    private static final String ENTRY_STR      =
-                                                   "<entry xml:base=\"http://b216:8080/reporting/reports\" xmlns=\"http://www.w3.org/2005/Atom\">\n" + "    <id>toptenvalidators</id>\n"
-                                                       + "    <updated>@TIME@</updated>\n"
-                                                       + "    <title type=\"text\" xml:lang=\"en\">top ten validators</title>\n"
-                                                       + "    <published>@TIME@</published>\n"
-                                                       + "    <link href=\"http://b216:8080/reporting/reports/toptenvalidators?alt=application/json\" type=\"application/json\" rel=\"alternate\"/>\n"
-                                                       + "    <author>\n"
-                                                       + "        <name>admin</name>\n"
-                                                       + "    </author>\n"
-                                                       + "    <category label=\"report definition\" scheme=\"urn:com:systinet:reporting:kind\" term=\"urn:com:systinet:reporting:kind:definition\"/>\n"
-                                                       + "</entry>\n";
+    private static final String ENTRY_STR       =
+                                                    "<entry xml:base=\"http://b216:8080/reporting/reports\" xmlns=\"http://www.w3.org/2005/Atom\">\n" + "    <id>toptenvalidators</id>\n"
+                                                        + "    <updated>@TIME@</updated>\n"
+                                                        + "    <title type=\"text\" xml:lang=\"en\">top ten validators</title>\n"
+                                                        + "    <published>@TIME@</published>\n"
+                                                        + "    <link href=\"http://b216:8080/reporting/reports/toptenvalidators?alt=application/json\" type=\"application/json\" rel=\"alternate\"/>\n"
+                                                        + "    <author>\n"
+                                                        + "        <name>admin</name>\n"
+                                                        + "    </author>\n"
+                                                        + "    <category label=\"report definition\" scheme=\"urn:com:systinet:reporting:kind\" term=\"urn:com:systinet:reporting:kind:definition\"/>\n"
+                                                        + "</entry>\n";
 
-    private static String       ENTRY_STR_JSON =
-                                                   "{\"entry\":{\"@xmlns\":{\"ns3\":\"http:\\/\\/www.w3.org\\/1999\\/xhtml\",\"ns2\":\"http:\\/\\/a9.com\\/-\\/spec\\/opensearch\\/1.1\\/\",\"$\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"@xml:base\":\"http:\\/\\/b216:8080\\/reporting\\/reports\",\"id\":{\"$\":\"toptenvalidators\"},\"updated\":{\"$\":\"@TIME@\"},\"title\":{\"@type\":\"text\",\"@xml:lang\":\"en\",\"$\":\"top ten validators\"},\"published\":{\"$\":\"@TIME@\"},\"link\":{\"@href\":\"http:\\/\\/b216:8080\\/reporting\\/reports\\/toptenvalidators?alt=application\\/json\",\"@type\":\"application\\/json\",\"@rel\":\"alternate\"},\"author\":{\"name\":{\"$\":\"admin\"}},\"category\":{\"@label\":\"report definition\",\"@scheme\":\"urn:com:systinet:reporting:kind\",\"@term\":\"urn:com:systinet:reporting:kind:definition\"}}}";
+    private static String       ENTRY_STR_JSON  =
+                                                    "{\"entry\":{\"@xmlns\":{\"ns3\":\"http:\\/\\/www.w3.org\\/1999\\/xhtml\",\"ns2\":\"http:\\/\\/a9.com\\/-\\/spec\\/opensearch\\/1.1\\/\",\"$\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"@xml:base\":\"http:\\/\\/b216:8080\\/reporting\\/reports\",\"id\":{\"$\":\"toptenvalidators\"},\"updated\":{\"$\":\"@TIME@\"},\"title\":{\"@type\":\"text\",\"@xml:lang\":\"en\",\"$\":\"top ten validators\"},\"published\":{\"$\":\"@TIME@\"},\"link\":{\"@href\":\"http:\\/\\/b216:8080\\/reporting\\/reports\\/toptenvalidators?alt=application\\/json\",\"@type\":\"application\\/json\",\"@rel\":\"alternate\"},\"author\":{\"name\":{\"$\":\"admin\"}},\"category\":{\"@label\":\"report definition\",\"@scheme\":\"urn:com:systinet:reporting:kind\",\"@term\":\"urn:com:systinet:reporting:kind:definition\"}}}";
 
-    private static String       ENTRY_STR_POST =
-                                                   "{\"entry\":" + "{\"@xmlns\":"
-                                                       + "{\"ns3\":\"http:\\/\\/www.w3.org\\/1999\\/xhtml\","
-                                                       + "\"ns2\":\"http:\\/\\/a9.com\\/-\\/spec\\/opensearch\\/1.1\\/\",\"$\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},"
-                                                       + "\"id\":{\"$\":\"toptenvalidators\"},"
-                                                       + "\"updated\":{\"$\":\"@TIME@\"},"
-                                                       + "\"title\":{"
-                                                       + "\"$\":\"top ten validators\"},"
-                                                       + "\"published\":{\"$\":\"@TIME@\"},"
-                                                       + "\"author\":{\"name\":{\"$\":\"admin\"}},"
-                                                       + "}}";
+    private static String       ENTRY_STR_POST  =
+                                                    "{\"entry\":" + "{\"@xmlns\":"
+                                                        + "{\"ns3\":\"http:\\/\\/www.w3.org\\/1999\\/xhtml\","
+                                                        + "\"ns2\":\"http:\\/\\/a9.com\\/-\\/spec\\/opensearch\\/1.1\\/\",\"$\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},"
+                                                        + "\"id\":{\"$\":\"toptenvalidators\"},"
+                                                        + "\"updated\":{\"$\":\"@TIME@\"},"
+                                                        + "\"title\":{"
+                                                        + "\"$\":\"top ten validators\"},"
+                                                        + "\"published\":{\"$\":\"@TIME@\"},"
+                                                        + "\"author\":{\"name\":{\"$\":\"admin\"}},"
+                                                        + "}}";
+
+    private static String       ENTRY_STR_POST2 =
+                                                    "{\"entry\":{\"@xmlns\":{\"ns3\":\"http:\\/\\/www.w3.org\\/1999\\/xhtml\",\"ns2\":\"http:\\/\\/a9.com\\/-\\/spec\\/opensearch\\/1.1\\/\",\"$\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"id\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"toptenvalidators\"},\"updated\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"@TIME@\"},\"title\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"top ten validators\"},\"published\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"@TIME@\"},\"author\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"name\":{\"@xmlns\":{\"$\":\"\",\"ns7\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"admin\"}}}}";
+
+    private static String       ENTRY_STR_POST3 =
+                                                    "{\"entry\":{\"@xmlns\":{\"ns3\":\"http:\\/\\/www.w3.org\\/1999\\/xhtml\",\"ns2\":\"http:\\/\\/a9.com\\/-\\/spec\\/opensearch\\/1.1\\/\",\"$\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"id\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"toptenvalidators\"},\"updated\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"@TIME@\"},\"title\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"top ten validators\"},\"published\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"@TIME@\"},\"author\":{\"@xmlns\":{\"$\":\"\",\"ns4\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"name\":{\"@xmlns\":{\"ns7\":\"http:\\/\\/www.w3.org\\/2005\\/Atom\"},\"$\":\"admin\"}}}}";
 
     private static final String ENTRY;
 
@@ -269,6 +314,10 @@
 
     private static final String ENTRY_JSON_POST;
 
+    private static final String ENTRY_JSON_POST2;
+
+    private static final String ENTRY_JSON_POST3;
+
     static {
         try {
             GregorianCalendar calendar = new GregorianCalendar();
@@ -278,6 +327,8 @@
             ENTRY = ENTRY_STR.replaceAll("@TIME@", xmlGregCal.toString());
             ENTRY_JSON = ENTRY_STR_JSON.replaceAll("@TIME@", xmlGregCal.toString());
             ENTRY_JSON_POST = ENTRY_STR_POST.replaceAll("@TIME@", xmlGregCal.toString());
+            ENTRY_JSON_POST2 = ENTRY_STR_POST2.replaceAll("@TIME@", xmlGregCal.toString());
+            ENTRY_JSON_POST3 = ENTRY_STR_POST3.replaceAll("@TIME@", xmlGregCal.toString());
         } catch (DatatypeConfigurationException e) {
             throw new RuntimeException(e);
         }
diff --git a/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java b/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java
index 49a5627..d5f85b0 100644
--- a/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java
+++ b/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java
@@ -89,8 +89,13 @@
             throw new WebApplicationException(e, Response.Status.INTERNAL_SERVER_ERROR);
         }
 
-        String callbackParam =
-            uriInfo.getQueryParameters().getFirst(RestConstants.REST_PARAM_JSON_CALLBACK);
+        String callbackParam = null;
+        try {
+            callbackParam =
+                uriInfo.getQueryParameters().getFirst(RestConstants.REST_PARAM_JSON_CALLBACK);
+        } catch (Exception e) {
+            logger.debug("Could not get the URI callback param", e);
+        }
         OutputStreamWriter writer =
             new OutputStreamWriter(entityStream, ProviderUtils.getCharset(mediaType));
         if (callbackParam != null) {
diff --git a/wink-scripts/wink-dist/DEPENDENCIES b/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES
similarity index 100%
rename from wink-scripts/wink-dist/DEPENDENCIES
rename to wink-scripts/wink-dist/aggregatejar/DEPENDENCIES
diff --git a/wink-scripts/wink-dist/DISCLAIMER b/wink-scripts/wink-dist/aggregatejar/DISCLAIMER
similarity index 100%
rename from wink-scripts/wink-dist/DISCLAIMER
rename to wink-scripts/wink-dist/aggregatejar/DISCLAIMER
diff --git a/wink-scripts/wink-dist/NOTICE b/wink-scripts/wink-dist/aggregatejar/NOTICE
similarity index 100%
rename from wink-scripts/wink-dist/NOTICE
rename to wink-scripts/wink-dist/aggregatejar/NOTICE
diff --git a/wink-scripts/wink-dist/binarydist/LICENSE b/wink-scripts/wink-dist/binarydist/LICENSE
new file mode 100644
index 0000000..0c5ccfe
--- /dev/null
+++ b/wink-scripts/wink-dist/binarydist/LICENSE
@@ -0,0 +1,851 @@
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+================================================================================
+
+APACHE WINK SUBCOMPONENTS:
+
+Apache Wink includes a number of components and libraries with separate 
+copyright notices and license terms. Your use of those components are 
+subject to the terms and conditions of the following licenses. 
+
+--------------------------------------------------------------------------------
+commons-lang:commons-lang:jar:2.3
+commons-cli:commons-cli:jar:1.2
+org.apache.httpcomponents:httpclient:jar:4.0
+org.apache.httpcomponents:httpcore:jar:4.0.1
+commons-codec:commons-codec:jar:1.3
+org.apache.geronimo.specs:geronimo-j2ee_1.4_spec:jar:1.1
+Jettison (http://jettison.codehaus.org/) org.codehaus.jettison:jettison:jar:1.1
+Spring Framework (http://www.springsource.org/) org.springframework:spring:jar:2.5
+
+The above are distributed under the terms of the Apache License, Version 2.0
+which is included at the start of this file.
+
+--------------------------------------------------------------------------------
+JSON (http://json.org/) org.json:json:20080701
+
+Copyright (c) 2002 JSON.org
+    
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to deal
+    in the Software without restriction, including without limitation the rights
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+    copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
+    
+    The above copyright notice and this permission notice shall be included in all
+    copies or substantial portions of the Software.
+    
+    The Software shall be used for Good, not Evil.
+    
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+    SOFTWARE.
+
+--------------------------------------------------------------------------------
+JSR 311 API (https://jsr311.dev.java.net/) javax.ws.rs:jsr311-api:jar:1.0
+JAXB Reference Implementation project (https://jaxb.dev.java.net/) javax.xml.bind:jaxb-api:jar:2.1 
+Sun JAXB Reference Implementation Runtime com.sun.xml.bind:jaxb-impl:jar:2.1.4
+JavaBeans Activation Framework (http://java.sun.com/javase/technologies/desktop/javabeans/jaf/) javax.activation:activation:1.1
+Streaming API for XML javax.xml.stream:stax-api:jar:1.0-2:compile
+
+    COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0
+
+    1. Definitions.
+    
+        1.1. "Contributor" means each individual or entity that
+        creates or contributes to the creation of Modifications.
+        
+        1.2. "Contributor Version" means the combination of the
+        Original Software, prior Modifications used by a
+        Contributor (if any), and the Modifications made by that
+        particular Contributor.
+        
+        1.3. "Covered Software" means (a) the Original Software, or
+        (b) Modifications, or (c) the combination of files
+        containing Original Software with files containing
+        Modifications, in each case including portions thereof.
+        
+        1.4. "Executable" means the Covered Software in any form
+        other than Source Code.
+        
+        1.5. "Initial Developer" means the individual or entity
+        that first makes Original Software available under this
+        License.
+        
+        1.6. "Larger Work" means a work which combines Covered
+        Software or portions thereof with code not governed by the
+        terms of this License.
+        
+        1.7. "License" means this document.
+        
+        1.8. "Licensable" means having the right to grant, to the
+        maximum extent possible, whether at the time of the initial
+        grant or subsequently acquired, any and all of the rights
+        conveyed herein.
+        
+        1.9. "Modifications" means the Source Code and Executable
+        form of any of the following:
+        
+            A. Any file that results from an addition to,
+            deletion from or modification of the contents of a
+            file containing Original Software or previous
+            Modifications;
+            
+            B. Any new file that contains any part of the
+            Original Software or previous Modification; or
+            
+            C. Any new file that is contributed or otherwise made
+            available under the terms of this License.
+            
+        1.10. "Original Software" means the Source Code and
+        Executable form of computer software code that is
+        originally released under this License.
+        
+        1.11. "Patent Claims" means any patent claim(s), now owned
+        or hereafter acquired, including without limitation,
+        method, process, and apparatus claims, in any patent
+        Licensable by grantor.
+        
+        1.12. "Source Code" means (a) the common form of computer
+        software code in which modifications are made and (b)
+        associated documentation included in or with such code.
+        
+        1.13. "You" (or "Your") means an individual or a legal
+        entity exercising rights under, and complying with all of
+        the terms of, this License. For legal entities, "You"
+        includes any entity which controls, is controlled by, or is
+        under common control with You. For purposes of this
+        definition, "control" means (a) the power, direct or
+        indirect, to cause the direction or management of such
+        entity, whether by contract or otherwise, or (b) ownership
+        of more than fifty percent (50%) of the outstanding shares
+        or beneficial ownership of such entity.
+        
+    2. License Grants.
+    
+        2.1. The Initial Developer Grant.
+        
+        Conditioned upon Your compliance with Section 3.1 below and
+        subject to third party intellectual property claims, the
+        Initial Developer hereby grants You a world-wide,
+        royalty-free, non-exclusive license:
+        
+            (a) under intellectual property rights (other than
+            patent or trademark) Licensable by Initial Developer,
+            to use, reproduce, modify, display, perform,
+            sublicense and distribute the Original Software (or
+            portions thereof), with or without Modifications,
+            and/or as part of a Larger Work; and
+            
+            (b) under Patent Claims infringed by the making,
+            using or selling of Original Software, to make, have
+            made, use, practice, sell, and offer for sale, and/or
+            otherwise dispose of the Original Software (or
+            portions thereof).
+            
+            (c) The licenses granted in Sections 2.1(a) and (b)
+            are effective on the date Initial Developer first
+            distributes or otherwise makes the Original Software
+            available to a third party under the terms of this
+            License.
+            
+            (d) Notwithstanding Section 2.1(b) above, no patent
+            license is granted: (1) for code that You delete from
+            the Original Software, or (2) for infringements
+            caused by: (i) the modification of the Original
+            Software, or (ii) the combination of the Original
+            Software with other software or devices.
+        
+        2.2. Contributor Grant.
+        
+        Conditioned upon Your compliance with Section 3.1 below and
+        subject to third party intellectual property claims, each
+        Contributor hereby grants You a world-wide, royalty-free,
+        non-exclusive license:
+        
+            (a) under intellectual property rights (other than
+            patent or trademark) Licensable by Contributor to
+            use, reproduce, modify, display, perform, sublicense
+            and distribute the Modifications created by such
+            Contributor (or portions thereof), either on an
+            unmodified basis, with other Modifications, as
+            Covered Software and/or as part of a Larger Work; and
+            
+            (b) under Patent Claims infringed by the making,
+            using, or selling of Modifications made by that
+            Contributor either alone and/or in combination with
+            its Contributor Version (or portions of such
+            combination), to make, use, sell, offer for sale,
+            have made, and/or otherwise dispose of: (1)
+            Modifications made by that Contributor (or portions
+            thereof); and (2) the combination of Modifications
+            made by that Contributor with its Contributor Version
+            (or portions of such combination).
+            
+            (c) The licenses granted in Sections 2.2(a) and
+            2.2(b) are effective on the date Contributor first
+            distributes or otherwise makes the Modifications
+            available to a third party.
+            
+            (d) Notwithstanding Section 2.2(b) above, no patent
+            license is granted: (1) for any code that Contributor
+            has deleted from the Contributor Version; (2) for
+            infringements caused by: (i) third party
+            modifications of Contributor Version, or (ii) the
+            combination of Modifications made by that Contributor
+            with other software (except as part of the
+            Contributor Version) or other devices; or (3) under
+            Patent Claims infringed by Covered Software in the
+            absence of Modifications made by that Contributor.
+        
+    3. Distribution Obligations.
+    
+        3.1. Availability of Source Code.
+        
+        Any Covered Software that You distribute or otherwise make
+        available in Executable form must also be made available in
+        Source Code form and that Source Code form must be
+        distributed only under the terms of this License. You must
+        include a copy of this License with every copy of the
+        Source Code form of the Covered Software You distribute or
+        otherwise make available. You must inform recipients of any
+        such Covered Software in Executable form as to how they can
+        obtain such Covered Software in Source Code form in a
+        reasonable manner on or through a medium customarily used
+        for software exchange.
+        
+        3.2. Modifications.
+        
+        The Modifications that You create or to which You
+        contribute are governed by the terms of this License. You
+        represent that You believe Your Modifications are Your
+        original creation(s) and/or You have sufficient rights to
+        grant the rights conveyed by this License.
+        
+        3.3. Required Notices.
+        
+        You must include a notice in each of Your Modifications
+        that identifies You as the Contributor of the Modification.
+        You may not remove or alter any copyright, patent or
+        trademark notices contained within the Covered Software, or
+        any notices of licensing or any descriptive text giving
+        attribution to any Contributor or the Initial Developer.
+        
+        3.4. Application of Additional Terms.
+        
+        You may not offer or impose any terms on any Covered
+        Software in Source Code form that alters or restricts the
+        applicable version of this License or the recipients'
+        rights hereunder. You may choose to offer, and to charge a
+        fee for, warranty, support, indemnity or liability
+        obligations to one or more recipients of Covered Software.
+        However, you may do so only on Your own behalf, and not on
+        behalf of the Initial Developer or any Contributor. You
+        must make it absolutely clear that any such warranty,
+        support, indemnity or liability obligation is offered by
+        You alone, and You hereby agree to indemnify the Initial
+        Developer and every Contributor for any liability incurred
+        by the Initial Developer or such Contributor as a result of
+        warranty, support, indemnity or liability terms You offer.
+        
+        3.5. Distribution of Executable Versions.
+        
+        You may distribute the Executable form of the Covered
+        Software under the terms of this License or under the terms
+        of a license of Your choice, which may contain terms
+        different from this License, provided that You are in
+        compliance with the terms of this License and that the
+        license for the Executable form does not attempt to limit
+        or alter the recipient's rights in the Source Code form
+        from the rights set forth in this License. If You
+        distribute the Covered Software in Executable form under a
+        different license, You must make it absolutely clear that
+        any terms which differ from this License are offered by You
+        alone, not by the Initial Developer or Contributor. You
+        hereby agree to indemnify the Initial Developer and every
+        Contributor for any liability incurred by the Initial
+        Developer or such Contributor as a result of any such terms
+        You offer.
+        
+        3.6. Larger Works.
+        
+        You may create a Larger Work by combining Covered Software
+        with other code not governed by the terms of this License
+        and distribute the Larger Work as a single product. In such
+        a case, You must make sure the requirements of this License
+        are fulfilled for the Covered Software.
+        
+    4. Versions of the License.
+    
+        4.1. New Versions.
+        
+        Sun Microsystems, Inc. is the initial license steward and
+        may publish revised and/or new versions of this License
+        from time to time. Each version will be given a
+        distinguishing version number. Except as provided in
+        Section 4.3, no one other than the license steward has the
+        right to modify this License.
+        
+        4.2. Effect of New Versions.
+        
+        You may always continue to use, distribute or otherwise
+        make the Covered Software available under the terms of the
+        version of the License under which You originally received
+        the Covered Software. If the Initial Developer includes a
+        notice in the Original Software prohibiting it from being
+        distributed or otherwise made available under any
+        subsequent version of the License, You must distribute and
+        make the Covered Software available under the terms of the
+        version of the License under which You originally received
+        the Covered Software. Otherwise, You may also choose to
+        use, distribute or otherwise make the Covered Software
+        available under the terms of any subsequent version of the
+        License published by the license steward.
+        
+        4.3. Modified Versions.
+        
+        When You are an Initial Developer and You want to create a
+        new license for Your Original Software, You may create and
+        use a modified version of this License if You: (a) rename
+        the license and remove any references to the name of the
+        license steward (except to note that the license differs
+        from this License); and (b) otherwise make it clear that
+        the license contains terms which differ from this License.
+        
+    5. DISCLAIMER OF WARRANTY.
+    
+    COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
+    BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+    INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+    SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+    PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+    PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+    COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+    INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF
+    ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+    WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+    ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+    DISCLAIMER.
+    
+    6. TERMINATION.
+    
+        6.1. This License and the rights granted hereunder will
+        terminate automatically if You fail to comply with terms
+        herein and fail to cure such breach within 30 days of
+        becoming aware of the breach. Provisions which, by their
+        nature, must remain in effect beyond the termination of
+        this License shall survive.
+        
+        6.2. If You assert a patent infringement claim (excluding
+        declaratory judgment actions) against Initial Developer or
+        a Contributor (the Initial Developer or Contributor against
+        whom You assert such claim is referred to as "Participant")
+        alleging that the Participant Software (meaning the
+        Contributor Version where the Participant is a Contributor
+        or the Original Software where the Participant is the
+        Initial Developer) directly or indirectly infringes any
+        patent, then any and all rights granted directly or
+        indirectly to You by such Participant, the Initial
+        Developer (if the Initial Developer is not the Participant)
+        and all Contributors under Sections 2.1 and/or 2.2 of this
+        License shall, upon 60 days notice from Participant
+        terminate prospectively and automatically at the expiration
+        of such 60 day notice period, unless if within such 60 day
+        period You withdraw Your claim with respect to the
+        Participant Software against such Participant either
+        unilaterally or pursuant to a written agreement with
+        Participant.
+        
+        6.3. In the event of termination under Sections 6.1 or 6.2
+        above, all end user licenses that have been validly granted
+        by You or any distributor hereunder prior to termination
+        (excluding licenses granted to You by any distributor)
+        shall survive termination.
+    
+    7. LIMITATION OF LIABILITY.
+    
+    UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+    (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+    INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+    COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+    LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+    CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+    LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+    STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+    COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+    INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+    LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+    INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
+    APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+    NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+    CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+    APPLY TO YOU.
+    
+    8. U.S. GOVERNMENT END USERS.
+    
+    The Covered Software is a "commercial item," as that term is
+    defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
+    computer software" (as that term is defined at 48 C.F.R. �
+    252.227-7014(a)(1)) and "commercial computer software
+    documentation" as such terms are used in 48 C.F.R. 12.212 (Sept.
+    1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+    through 227.7202-4 (June 1995), all U.S. Government End Users
+    acquire Covered Software with only those rights set forth herein.
+    This U.S. Government Rights clause is in lieu of, and supersedes,
+    any other FAR, DFAR, or other clause or provision that addresses
+    Government rights in computer software under this License.
+    
+    9. MISCELLANEOUS.
+    
+    This License represents the complete agreement concerning subject
+    matter hereof. If any provision of this License is held to be
+    unenforceable, such provision shall be reformed only to the
+    extent necessary to make it enforceable. This License shall be
+    governed by the law of the jurisdiction specified in a notice
+    contained within the Original Software (except to the extent
+    applicable law, if any, provides otherwise), excluding such
+    jurisdiction's conflict-of-law provisions. Any litigation
+    relating to this License shall be subject to the jurisdiction of
+    the courts located in the jurisdiction and venue specified in a
+    notice contained within the Original Software, with the losing
+    party responsible for costs, including, without limitation, court
+    costs and reasonable attorneys' fees and expenses. The
+    application of the United Nations Convention on Contracts for the
+    International Sale of Goods is expressly excluded. Any law or
+    regulation which provides that the language of a contract shall
+    be construed against the drafter shall not apply to this License.
+    You agree that You alone are responsible for compliance with the
+    United States export administration regulations (and the export
+    control laws and regulation of any other countries) when You use,
+    distribute or otherwise make available any Covered Software.
+    
+    10. RESPONSIBILITY FOR CLAIMS.
+    
+    As between Initial Developer and the Contributors, each party is
+    responsible for claims and damages arising, directly or
+    indirectly, out of its utilization of rights under this License
+    and You agree to work with Initial Developer and Contributors to
+    distribute such responsibility on an equitable basis. Nothing
+    herein is intended or shall be deemed to constitute any admission
+    of liability.
+
+--------------------------------------------------------------------------------
+SLF4J (http://www.slf4j.org/) org.slf4j:slf4j-api:jar:1.5.8
+SLF4J (http://www.slf4j.org/) org.slf4j:slf4j-simple:jar:1.5.8
+SLF4J (http://www.slf4j.org/) org.slf4j:jcl-over-slf4j:jar:1.5.8
+
+     Copyright (c) 2004-2008 QOS.ch
+     All rights reserved.
+    
+     Permission is hereby granted, free  of charge, to any person obtaining
+     a  copy  of this  software  and  associated  documentation files  (the
+     "Software"), to  deal in  the Software without  restriction, including
+     without limitation  the rights to  use, copy, modify,  merge, publish,
+     distribute,  sublicense, and/or sell  copies of  the Software,  and to
+     permit persons to whom the Software  is furnished to do so, subject to
+     the following conditions:
+     
+     The  above  copyright  notice  and  this permission  notice  shall  be
+     included in all copies or substantial portions of the Software.
+     
+     THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+     EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+     MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+     LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+     OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+     WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+     
+--------------------------------------------------------------------------------
+
+jcip-annotations (http://www.jcip.net/) net.jcip:jcip-annotations:jar:1.0
+Copyright (c) 2005 Brian Goetz and Tim Peierls and is released under the
+Creative Commons Attribution License
+(http://creativecommons.org/licenses/by/2.5)
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
+COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY
+COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
+AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE
+BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS
+CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
+CONDITIONS.
+
+1. Definitions
+
+   a. "Collective Work" means a work, such as a periodical issue, anthology or
+encyclopedia, in which the Work in its entirety in unmodified form, along with
+a number of other contributions, constituting separate and independent works in
+themselves, are assembled into a collective whole. A work that constitutes a
+Collective Work will not be considered a Derivative Work (as defined below) for
+the purposes of this License.
+   b. "Derivative Work" means a work based upon the Work or upon the Work and
+other pre-existing works, such as a translation, musical arrangement,
+dramatization, fictionalization, motion picture version, sound recording, art
+reproduction, abridgment, condensation, or any other form in which the Work may
+be recast, transformed, or adapted, except that a work that constitutes a
+Collective Work will not be considered a Derivative Work for the purpose of
+this License. For the avoidance of doubt, where the Work is a musical
+composition or sound recording, the synchronization of the Work in
+timed-relation with a moving image ("synching") will be considered a Derivative
+Work for the purpose of this License.
+   c. "Licensor" means the individual or entity that offers the Work under the
+terms of this License.
+   d. "Original Author" means the individual or entity who created the Work.
+   e. "Work" means the copyrightable work of authorship offered under the terms
+of this License.
+   f. "You" means an individual or entity exercising rights under this License
+who has not previously violated the terms of this License with respect to the
+Work, or who has received express permission from the Licensor to exercise
+rights under this License despite a previous violation.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or
+restrict any rights arising from fair use, first sale or other limitations on
+the exclusive rights of the copyright owner under copyright law or other
+applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor
+hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the
+duration of the applicable copyright) license to exercise the rights in the
+Work as stated below:
+
+   a. to reproduce the Work, to incorporate the Work into one or more
+Collective Works, and to reproduce the Work as incorporated in the Collective
+Works;
+   b. to create and reproduce Derivative Works;
+   c. to distribute copies or phonorecords of, display publicly, perform
+publicly, and perform publicly by means of a digital audio transmission the
+Work including as incorporated in Collective Works;
+   d. to distribute copies or phonorecords of, display publicly, perform
+publicly, and perform publicly by means of a digital audio transmission
+Derivative Works.
+   e. For the avoidance of doubt, where the work is a musical composition:
+         i. Performance Royalties Under Blanket Licenses. Licensor waives the
+exclusive right to collect, whether individually or via a performance rights
+society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or
+public digital performance (e.g. webcast) of the Work.
+         ii. Mechanical Rights and Statutory Royalties. Licensor waives the
+exclusive right to collect, whether individually or via a music rights agency
+or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You
+create from the Work ("cover version") and distribute, subject to the
+compulsory license created by 17 USC Section 115 of the US Copyright Act (or
+the equivalent in other jurisdictions).
+   f. Webcasting Rights and Statutory Royalties. For the avoidance of doubt,
+where the Work is a sound recording, Licensor waives the exclusive right to
+collect, whether individually or via a performance-rights society (e.g.
+SoundExchange), royalties for the public digital performance (e.g. webcast) of
+the Work, subject to the compulsory license created by 17 USC Section 114 of
+the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or
+hereafter devised. The above rights include the right to make such
+modifications as are technically necessary to exercise the rights in other
+media and formats. All rights not expressly granted by Licensor are hereby
+reserved.
+
+4. Restrictions.The license granted in Section 3 above is expressly made
+subject to and limited by the following restrictions:
+
+   a. You may distribute, publicly display, publicly perform, or publicly
+digitally perform the Work only under the terms of this License, and You must
+include a copy of, or the Uniform Resource Identifier for, this License with
+every copy or phonorecord of the Work You distribute, publicly display,
+publicly perform, or publicly digitally perform. You may not offer or impose
+any terms on the Work that alter or restrict the terms of this License or the
+recipients' exercise of the rights granted hereunder. You may not sublicense
+the Work. You must keep intact all notices that refer to this License and to
+the disclaimer of warranties. You may not distribute, publicly display,
+publicly perform, or publicly digitally perform the Work with any technological
+measures that control access or use of the Work in a manner inconsistent with
+the terms of this License Agreement. The above applies to the Work as
+incorporated in a Collective Work, but this does not require the Collective
+Work apart from the Work itself to be made subject to the terms of this
+License. If You create a Collective Work, upon notice from any Licensor You
+must, to the extent practicable, remove from the Collective Work any credit as
+required by clause 4(b), as requested. If You create a Derivative Work, upon
+notice from any Licensor You must, to the extent practicable, remove from the
+Derivative Work any credit as required by clause 4(b), as requested.
+   b. If you distribute, publicly display, publicly perform, or publicly
+digitally perform the Work or any Derivative Works or Collective Works, You
+must keep intact all copyright notices for the Work and provide, reasonable to
+the medium or means You are utilizing: (i) the name of the Original Author (or
+pseudonym, if applicable) if supplied, and/or (ii) if the Original Author
+and/or Licensor designate another party or parties (e.g. a sponsor institute,
+publishing entity, journal) for attribution in Licensor's copyright notice,
+terms of service or by other reasonable means, the name of such party or
+parties; the title of the Work if supplied; to the extent reasonably
+practicable, the Uniform Resource Identifier, if any, that Licensor specifies
+to be associated with the Work, unless such URI does not refer to the copyright
+notice or licensing information for the Work; and in the case of a Derivative
+Work, a credit identifying the use of the Work in the Derivative Work (e.g.,
+"French translation of the Work by Original Author," or "Screenplay based on
+original Work by Original Author"). Such credit may be implemented in any
+reasonable manner; provided, however, that in the case of a Derivative Work or
+Collective Work, at a minimum such credit will appear where any other
+comparable authorship credit appears and in a manner at least as prominent as
+such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS
+THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
+CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING,
+WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A
+PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS,
+ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE.
+SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH
+EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN
+NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL,
+INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS
+LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+   a. This License and the rights granted hereunder will terminate
+automatically upon any breach by You of the terms of this License. Individuals
+or entities who have received Derivative Works or Collective Works from You
+under this License, however, will not have their licenses terminated provided
+such individuals or entities remain in full compliance with those licenses.
+Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+   b. Subject to the above terms and conditions, the license granted here is
+perpetual (for the duration of the applicable copyright in the Work).
+Notwithstanding the above, Licensor reserves the right to release the Work
+under different license terms or to stop distributing the Work at any time;
+provided, however that any such election will not serve to withdraw this
+License (or any other license that has been, or is required to be, granted
+under the terms of this License), and this License will continue in full force
+and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+   a. Each time You distribute or publicly digitally perform the Work or a
+Collective Work, the Licensor offers to the recipient a license to the Work on
+the same terms and conditions as the license granted to You under this License.
+   b. Each time You distribute or publicly digitally perform a Derivative Work,
+Licensor offers to the recipient a license to the original Work on the same
+terms and conditions as the license granted to You under this License.
+   c. If any provision of this License is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of the
+remainder of the terms of this License, and without further action by the
+parties to this agreement, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.
+   d. No term or provision of this License shall be deemed waived and no breach
+consented to unless such waiver or consent shall be in writing and signed by
+the party to be charged with such waiver or consent.
+   e. This License constitutes the entire agreement between the parties with
+respect to the Work licensed here. There are no understandings, agreements or
+representations with respect to the Work not specified here. Licensor shall not
+be bound by any additional provisions that may appear in any communication from
+You. This License may not be modified without the mutual written agreement of
+the Licensor and You.
+
diff --git a/wink-scripts/wink-dist/binarydist/NOTICE b/wink-scripts/wink-dist/binarydist/NOTICE
new file mode 100644
index 0000000..6d12a9e
--- /dev/null
+++ b/wink-scripts/wink-dist/binarydist/NOTICE
@@ -0,0 +1,17 @@
+Apache Wink
+Copyright 2009 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+This product includes software developed for the JAXB Reference Implementation project (https://jaxb.dev.java.net/) distributed under CDDL Version 1.0 license 
+
+This product includes software, JSR-311 (https://jsr311.dev.java.net/) distributed under CDDL Version 1.0 license
+ 
+This product includes software, JavaBeans Activation Framework (http://java.sun.com/javase/technologies/desktop/javabeans/jaf/) distributed under CDDL Version 1.0 license
+
+This product includes software, Streaming API for XML distributed under CDDL Version 1.0 license
+ 
+jcip-annotations is Copyright (c) 2005 Brian Goetz and Tim Peierls and is released under the Creative
+Commons Attribution License (http://creativecommons.org/licenses/by/2.5).
+
diff --git a/wink-scripts/wink-dist/build.xml b/wink-scripts/wink-dist/build.xml
index d8072bd..169eb53 100644
--- a/wink-scripts/wink-dist/build.xml
+++ b/wink-scripts/wink-dist/build.xml
@@ -222,8 +222,8 @@
         <echo>Making root documents</echo>
         <copy todir="${dist.root}" flatten="true" includeemptydirs="false">
             <fileset dir="${project.root}" includes="DISCLAIMER*" />
-            <fileset dir="${project.root}" includes="LICENSE*" />
-            <fileset dir="${project.root}" includes="NOTICE*" />
+            <fileset dir="${project.root}/wink-scripts/wink-dist/binarydist" includes="LICENSE*" />
+            <fileset dir="${project.root}/wink-scripts/wink-dist/binarydist" includes="NOTICE*" />
             <fileset dir="${project.root}" includes="release_notes.txt" />
         </copy>
         <!-- Copy PDF Developer Guide that exists under trunk/src/doc/DeveloperGuide into doc directory -->
@@ -269,7 +269,7 @@
                 <attribute name="X-Compile-Target-JDK" value="${maven.compile.target}" />
             </manifest>
 
-            <zipfileset dir="${basedir}" prefix="META-INF">
+            <zipfileset dir="${basedir}/aggregatejar" prefix="META-INF">
                 <include name="NOTICE" />
                 <include name="DISCLAIMER" />
                 <include name="DEPENDENCIES" />
diff --git a/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java b/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java
index 30fa1fe..788379b 100644
--- a/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java
+++ b/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java
@@ -49,7 +49,6 @@
 import org.apache.wink.common.internal.uritemplate.UriTemplateMatcher;
 import org.apache.wink.common.internal.uritemplate.UriTemplateProcessor;
 import org.apache.wink.common.internal.utils.MediaTypeUtils;
-import org.apache.wink.common.internal.utils.SimpleMap;
 import org.apache.wink.common.internal.utils.SoftConcurrentMap;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,20 +59,20 @@
  */
 public class ResourceRegistry {
 
-    private static final Logger                                   logger             =
-                                                                                         LoggerFactory
-                                                                                             .getLogger(ResourceRegistry.class);
+    private static final Logger                                                    logger             =
+                                                                                                          LoggerFactory
+                                                                                                              .getLogger(ResourceRegistry.class);
 
-    private List<ResourceRecord>                                  rootResources;
+    private List<ResourceRecord>                                                   rootResources;
 
-    private ResourceRecordFactory                                 resourceRecordsFactory;
+    private ResourceRecordFactory                                                  resourceRecordsFactory;
 
-    private Lock                                                  readersLock;
-    private Lock                                                  writersLock;
-    private final ApplicationValidator                            applicationValidator;
+    private Lock                                                                   readersLock;
+    private Lock                                                                   writersLock;
+    private final ApplicationValidator                                             applicationValidator;
 
-    private Map<Boolean, SimpleMap<String, List<ResourceRecord>>> uriToResourceCache =
-                                                                                         new HashMap<Boolean, SimpleMap<String, List<ResourceRecord>>>();
+    private HashMap<Boolean, SoftConcurrentMap<String, ArrayList<ResourceRecord>>> uriToResourceCache =
+                                                                                                          new HashMap<Boolean, SoftConcurrentMap<String, ArrayList<ResourceRecord>>>();
 
     public ResourceRegistry(LifecycleManagersRegistry factoryRegistry,
                             ApplicationValidator applicationValidator) {
@@ -83,9 +82,10 @@
         ReadWriteLock readWriteLock = new ReentrantReadWriteLock();
         readersLock = readWriteLock.readLock();
         writersLock = readWriteLock.writeLock();
-        uriToResourceCache.put(Boolean.TRUE, new SoftConcurrentMap<String, List<ResourceRecord>>());
-        uriToResourceCache
-            .put(Boolean.FALSE, new SoftConcurrentMap<String, List<ResourceRecord>>());
+        uriToResourceCache.put(Boolean.TRUE,
+                               new SoftConcurrentMap<String, ArrayList<ResourceRecord>>());
+        uriToResourceCache.put(Boolean.FALSE,
+                               new SoftConcurrentMap<String, ArrayList<ResourceRecord>>());
     }
 
     /**
@@ -255,27 +255,29 @@
      */
     public List<ResourceInstance> getMatchingRootResources(String uri,
                                                            boolean isContinuedSearchPolicy) {
-        List<ResourceInstance> found = new ArrayList<ResourceInstance>();
+        ArrayList<ResourceInstance> found = new ArrayList<ResourceInstance>(1);
         uri = UriTemplateProcessor.normalizeUri(uri);
 
+        ArrayList<ResourceRecord> previousMatched = null;
+        /*
+         * the previous matches are cached so if a previous URI used is still in
+         * the cache, this will find the resources that matched skipping the
+         * expensive UriTemplateMatcher.matches()
+         */
+        previousMatched = uriToResourceCache.get(isContinuedSearchPolicy).get(uri);
+        if (previousMatched != null) {
+            for (ResourceRecord record : previousMatched) {
+                UriTemplateMatcher matcher = record.getTemplateProcessor().matcher();
+                if (matcher.matches(uri)) {
+                    found.add(new ResourceInstance(record, matcher));
+                }
+            }
+            return found;
+        }
+
         readersLock.lock();
         try {
-            List<ResourceRecord> previousMatched = null;
-            /*
-             * the previous matches are cached so if a previous URI used is
-             * still in the cache, this will find the resources that matched
-             * skipping the expensive UriTemplateMatcher.matches()
-             */
-            previousMatched = uriToResourceCache.get(isContinuedSearchPolicy).get(uri);
-            if (previousMatched != null) {
-                for (ResourceRecord record : previousMatched) {
-                    UriTemplateMatcher matcher = record.getTemplateProcessor().matcher();
-                    if (matcher.matches(uri)) {
-                        found.add(new ResourceInstance(record, matcher));
-                    }
-                }
-                return found;
-            }
+
             previousMatched = new ArrayList<ResourceRecord>();
 
             // the list of root resource records is already sorted
diff --git a/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AtomEntryInResponseProviderTest.java b/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AtomEntryInResponseProviderTest.java
new file mode 100644
index 0000000..db54661
--- /dev/null
+++ b/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AtomEntryInResponseProviderTest.java
@@ -0,0 +1,220 @@
+/*******************************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ *******************************************************************************/
+
+package org.apache.wink.server.internal.providers.entity;
+
+import java.io.IOException;
+import java.io.StringReader;
+import java.util.Date;
+import java.util.GregorianCalendar;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+import javax.xml.bind.JAXBElement;
+import javax.xml.datatype.DatatypeConfigurationException;
+import javax.xml.datatype.DatatypeFactory;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.apache.wink.common.model.atom.AtomEntry;
+import org.apache.wink.common.model.synd.SyndEntry;
+import org.apache.wink.server.internal.servlet.MockServletInvocationTest;
+import org.apache.wink.test.mock.MockRequestConstructor;
+import org.apache.wink.test.mock.TestUtils;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+
+public class AtomEntryInResponseProviderTest extends MockServletInvocationTest {
+
+    @Override
+    protected Class<?>[] getClasses() {
+        return new Class<?>[] {TestResource.class};
+    }
+
+    @Path("test")
+    public static class TestResource {
+
+        @GET
+        @Path("atomentry")
+        @Produces("application/atom+xml")
+        public Response getAtomEntry() throws IOException {
+            AtomEntry entry = AtomEntry.unmarshal(new StringReader(ENTRY));
+            return Response.ok(entry).build();
+        }
+
+        @GET
+        @Path("atomentryelement")
+        @Produces("application/atom+xml")
+        public Response getAtomEntryElement() throws IOException {
+            AtomEntry entry = AtomEntry.unmarshal(new StringReader(ENTRY));
+            org.apache.wink.common.model.atom.ObjectFactory of =
+                new org.apache.wink.common.model.atom.ObjectFactory();
+            return Response.ok(of.createEntry(entry)).build();
+        }
+
+        @GET
+        @Path("atomsyndentry")
+        @Produces("application/atom+xml")
+        public Response getSyndEntry() throws IOException {
+            AtomEntry entry = AtomEntry.unmarshal(new StringReader(ENTRY));
+            return Response.ok(entry.toSynd(new SyndEntry())).build();
+        }
+
+        @POST
+        @Path("atomentry")
+        @Produces("application/atom+xml")
+        @Consumes("application/atom+xml")
+        public Response postAtomEntry(AtomEntry entry) {
+            return Response.ok(entry).build();
+        }
+
+        @POST
+        @Path("atomentryelement")
+        @Produces("application/atom+xml")
+        @Consumes("application/atom+xml")
+        public Response postAtomEntryElement(JAXBElement<AtomEntry> entry) {
+            return Response.ok(entry).build();
+        }
+
+        @POST
+        @Path("atomsyndentry")
+        @Produces("application/atom+xml")
+        @Consumes("application/atom+xml")
+        public Response postAtomSyndEntry(SyndEntry entry) {
+            return Response.ok(entry).build();
+        }
+
+    }
+
+    public void testGetAtomEntry() throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("GET",
+                                                        "/test/atomentry",
+                                                        "application/atom+xml");
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        String msg =
+            TestUtils.diffIgnoreUpdateWithAttributeQualifier(ENTRY, response.getContentAsString());
+        assertNull(msg, msg);
+    }
+
+    public void testGetAtomEntryElement() throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("GET",
+                                                        "/test/atomentryelement",
+                                                        "application/atom+xml");
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        String msg =
+            TestUtils.diffIgnoreUpdateWithAttributeQualifier(ENTRY, response.getContentAsString());
+        assertNull(msg, msg);
+    }
+
+    public void testGetAtomSyndEntry() throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("GET",
+                                                        "/test/atomsyndentry",
+                                                        "application/atom+xml");
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        String msg =
+            TestUtils.diffIgnoreUpdateWithAttributeQualifier(ENTRY, response.getContentAsString());
+        assertNull(msg, msg);
+    }
+
+    public void testPostAtomEntry() throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("POST",
+                                                        "/test/atomentry",
+                                                        "application/atom+xml");
+        request.setContentType("application/atom+xml");
+        request.setContent(ENTRY.getBytes());
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        String msg =
+            TestUtils.diffIgnoreUpdateWithAttributeQualifier(ENTRY, response.getContentAsString());
+        assertNull(msg, msg);
+    }
+
+    public void testPostAtomEntryElement() throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("POST",
+                                                        "/test/atomentryelement",
+                                                        "application/atom+xml");
+        request.setContentType("application/atom+xml");
+        request.setContent(ENTRY.getBytes());
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        String msg =
+            TestUtils.diffIgnoreUpdateWithAttributeQualifier(ENTRY, response.getContentAsString());
+        assertNull(msg, msg);
+    }
+
+    public void testPostAtomSyndEntry() throws Exception {
+        MockHttpServletRequest request =
+            MockRequestConstructor.constructMockRequest("POST",
+                                                        "/test/atomsyndentry",
+                                                        "application/atom+xml");
+        request.setContentType("application/atom+xml");
+        request.setContent(ENTRY.getBytes());
+        MockHttpServletResponse response = invoke(request);
+        assertEquals(200, response.getStatus());
+        String msg =
+            TestUtils.diffIgnoreUpdateWithAttributeQualifier(ENTRY, response.getContentAsString());
+        assertNull(msg, msg);
+    }
+
+    private static final String ENTRY_STR =
+                                              "<entry xml:base=\"http://b216:8080/reporting/reports\" xmlns=\"http://www.w3.org/2005/Atom\">" + "<id>toptenvalidators</id>"
+                                                  + "<updated>@TIME@</updated>"
+                                                  + "<title type=\"text\" xml:lang=\"en\">top ten validators</title>"
+                                                  + "<published>@TIME@</published>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators?alt=application/json\" type=\"application/json\" rel=\"alternate\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators?alt=text/plain\" type=\"text/plain\" rel=\"alternate\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators\" rel=\"self\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators?alt=text/xml\" type=\"text/xml\" rel=\"alternate\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators/documents/\" type=\"application/atom+xml\" rel=\"execute\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators\" type=\"application/atom+xml\" rel=\"edit\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators?alt=application/xml\" type=\"application/xml\" rel=\"alternate\"/>"
+                                                  + "<link href=\"http://b216:8080/reporting/reports/toptenvalidators\" type=\"application/xml\" rel=\"edit-media\"/>"
+                                                  + "<author>"
+                                                  + "<name>admin</name>"
+                                                  + "</author>"
+                                                  + "<category label=\"report definition\" scheme=\"urn:com:systinet:reporting:kind\" term=\"urn:com:systinet:reporting:kind:definition\"/>"
+                                                  + "<category label=\"Policy Manager - Homepage Report\" scheme=\"urn:com:systinet:policymgr:report:type\" term=\"aoi\"/>"
+                                                  + "</entry>\n";
+
+    private static final String ENTRY;
+
+    static {
+        try {
+            GregorianCalendar calendar = new GregorianCalendar();
+            calendar.setTimeInMillis((new Date()).getTime());
+            XMLGregorianCalendar xmlGregCal =
+                DatatypeFactory.newInstance().newXMLGregorianCalendar(calendar);
+            ENTRY = ENTRY_STR.replace("@TIME@", xmlGregCal.toXMLFormat());
+        } catch (DatatypeConfigurationException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}