You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by bl...@apache.org on 2009/11/02 21:30:42 UTC

svn commit: r832090 [1/2] - in /incubator/wink/branches/wink-1.0-incubating: ./ wink-client-apache-httpclient/ wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ wink-client/src/main/java/org/apache/wink/client/ wink-...

Author: bluk
Date: Mon Nov  2 20:30:40 2009
New Revision: 832090

URL: http://svn.apache.org/viewvc?rev=832090&view=rev
Log:
Merging some trunk changes into wink-1.0-incubating

Added:
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES   (with props)
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DISCLAIMER   (with props)
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/NOTICE   (with props)
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/binarydist/
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/binarydist/LICENSE   (with props)
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/binarydist/NOTICE   (with props)
    incubator/wink/branches/wink-1.0-incubating/wink-server/src/test/java/org/apache/wink/server/internal/providers/entity/AtomEntryInResponseProviderTest.java   (with props)
Removed:
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/DEPENDENCIES
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/DISCLAIMER
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/NOTICE
Modified:
    incubator/wink/branches/wink-1.0-incubating/LICENSE
    incubator/wink/branches/wink-1.0-incubating/NOTICE
    incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/pom.xml
    incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java
    incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java
    incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java
    incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
    incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
    incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
    incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-abdera-provider/pom.xml
    incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/pom.xml
    incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java
    incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java
    incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java
    incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java
    incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/build.xml
    incubator/wink/branches/wink-1.0-incubating/wink-server/src/main/java/org/apache/wink/server/internal/registry/ResourceRegistry.java

Modified: incubator/wink/branches/wink-1.0-incubating/LICENSE
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/LICENSE?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/LICENSE (original)
+++ incubator/wink/branches/wink-1.0-incubating/LICENSE Mon Nov  2 20:30:40 2009
@@ -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.
-

Modified: incubator/wink/branches/wink-1.0-incubating/NOTICE
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/NOTICE?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/NOTICE (original)
+++ incubator/wink/branches/wink-1.0-incubating/NOTICE Mon Nov  2 20:30:40 2009
@@ -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

Modified: incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/pom.xml
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/pom.xml?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/pom.xml (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/pom.xml Mon Nov  2 20:30:40 2009
@@ -16,7 +16,8 @@
         and limitations under the License.
     -->
 
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <artifactId>wink-client-apache-httpclient</artifactId>
     <name>Apache Wink Client :: Apache Http Client</name>
@@ -42,6 +43,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>
             <!--

Modified: incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-client-apache-httpclient/src/main/java/org/apache/wink/client/internal/handlers/ApacheHttpClientConnectionHandler.java Mon Nov  2 20:30:40 2009
@@ -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;
     }

Modified: incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/ClientResponse.java Mon Nov  2 20:30:40 2009
@@ -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();
 }

Modified: incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-client/src/main/java/org/apache/wink/client/internal/handlers/ClientResponseImpl.java Mon Nov  2 20:30:40 2009
@@ -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;
+    }
+
 }

Modified: incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/AbstractJAXBProvider.java Mon Nov  2 20:30:40 2009
@@ -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)
+    // 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;
+    }
+
+    private static Unmarshaller internalCreateUnmarshaller(final JAXBContext context)
+        throws JAXBException {
+        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 {
-        JAXBContext context = getContext(type, mediaType);
-        return context.createUnmarshaller();
+        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;
     }
 
-    protected final Marshaller getMarshaller(Class<?> type, MediaType mediaType)
+    /**
+     * Get JAXBMarshaller
+     * 
+     * @param context JAXBContext
+     * @return Marshaller
+     * @throws JAXBException
+     */
+    protected Marshaller getJAXBMarshaller(Class<?> type, JAXBContext context, MediaType mediaType)
         throws JAXBException {
-        JAXBContext context = getContext(type, mediaType);
-        Marshaller marshaller = context.createMarshaller();
-        marshaller.setProperty(Marshaller.JAXB_ENCODING, ProviderUtils.getCharset(mediaType));
+
+        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;
+                }
+            }
+        }
+    }
+
 }

Modified: incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBElementXmlProvider.java Mon Nov  2 20:30:40 2009
@@ -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);

Modified: incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-common/src/main/java/org/apache/wink/common/internal/providers/entity/xml/JAXBXmlProvider.java Mon Nov  2 20:30:40 2009
@@ -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);

Modified: incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-abdera-provider/pom.xml
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-abdera-provider/pom.xml?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-abdera-provider/pom.xml (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-abdera-provider/pom.xml Mon Nov  2 20:30:40 2009
@@ -17,7 +17,8 @@
     specific language governing permissions and limitations
     under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
     <parent>
         <artifactId>wink-providers</artifactId>
         <groupId>org.apache.wink</groupId>
@@ -38,6 +39,7 @@
                     <artifactId>geronimo-activation_1.0.2_spec</artifactId>
                 </exclusion>
             </exclusions>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.abdera</groupId>
@@ -60,7 +62,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 +110,4 @@
             <url>http://people.apache.org/repo/m2-incubating-repository/</url>
         </repository>
     </repositories>
-</project>
\ No newline at end of file
+</project>

Modified: incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/pom.xml
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/pom.xml?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/pom.xml (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/pom.xml Mon Nov  2 20:30:40 2009
@@ -14,7 +14,8 @@
 		the specific language governing permissions and limitations under the
 		License.
 	-->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<parent>
 		<artifactId>wink-providers</artifactId>
 		<groupId>org.apache.wink</groupId>
@@ -28,6 +29,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 +69,4 @@
 			<scope>test</scope>
 		</dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>

Modified: incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBElementProvider.java Mon Nov  2 20:30:40 2009
@@ -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));
 

Modified: incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/main/java/org/apache/wink/providers/jettison/JettisonJAXBProvider.java Mon Nov  2 20:30:40 2009
@@ -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.

Modified: incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-jettison-provider/src/test/java/org/apache/wink/providers/jettison/internal/JettisonJAXBBadgerFishTest.java Mon Nov  2 20:30:40 2009
@@ -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());
-
-        assertTrue(response.getContentAsString(), JSONUtils.equals(JSONUtils
-            .objectForString(ENTRY_JSON_POST), JSONUtils.objectForString(response
-            .getContentAsString())));
+        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())) || 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 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 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_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);
         }

Modified: incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java?rev=832090&r1=832089&r2=832090&view=diff
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java (original)
+++ incubator/wink/branches/wink-1.0-incubating/wink-providers/wink-json-provider/src/main/java/org/apache/wink/providers/json/JsonArrayProvider.java Mon Nov  2 20:30:40 2009
@@ -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) {

Added: incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES?rev=832090&view=auto
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES (added)
+++ incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES Mon Nov  2 20:30:40 2009
@@ -0,0 +1,48 @@
+// ------------------------------------------------------------------
+// Transitive dependencies of this project determined from the
+// maven pom organized by organization.
+// ------------------------------------------------------------------
+
+Apache Wink
+
+
+From: 'an unknown organization'
+  - Unnamed - com.sun.xml.bind:jaxb-impl:jar:2.1.4  com.sun.xml.bind:jaxb-impl:jar:2.1.4
+
+  - Unnamed - javax.activation:activation:jar:1.1  javax.activation:activation:jar:1.1
+
+  - Unnamed - javax.xml.bind:jaxb-api:jar:2.1  javax.xml.bind:jaxb-api:jar:2.1
+
+  - Streaming API for XML  javax.xml.stream:stax-api:jar:1.0-2
+    License: GNU General Public Library  (http://www.gnu.org/licenses/gpl.txt)    License: COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0  (http://www.sun.com/cddl/cddl.html)
+  - Unnamed - xerces:xercesImpl:jar:2.6.2  xerces:xercesImpl:jar:2.6.2
+
+From: 'QOS.ch' (http://www.qos.ch)
+  - SLF4J API Module (http://www.slf4j.org) org.slf4j:slf4j-api:jar:1.5.8
+
+  - SLF4J Simple Binding (http://www.slf4j.org) org.slf4j:slf4j-simple:jar:1.5.8
+
+From: 'Spring Framework' (http://www.springframework.org/)
+  - Spring Framework (http://www.springframework.org) org.springframework:spring:jar:2.5
+    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+
+From: 'Sun Microsystems, Inc' (http://www.sun.com/)
+  - jsr311-api (https://jsr311.dev.java.net) javax.ws.rs:jsr311-api:jar:1.0
+    License: CDDL License  (http://www.opensource.org/licenses/cddl1.php)
+
+From: 'The Apache Software Foundation' (http://jakarta.apache.org)
+  - Lang (http://jakarta.apache.org/commons/lang/) commons-lang:commons-lang:jar:2.3
+    License: The Apache Software License, Version 2.0  (/LICENSE.txt)
+
+From: 'The Apache Software Foundation' (http://www.apache.org/)
+  - Apache Wink Common (http://www.apache.org/wink/wink-common) org.apache.wink:wink-common:jar:0.2-incubating-SNAPSHOT
+    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+  - Apache Wink Server (http://www.apache.org/wink/wink-server) org.apache.wink:wink-server:jar:0.2-incubating-SNAPSHOT
+    License: The Apache Software License, Version 2.0  (http://www.apache.org/licenses/LICENSE-2.0.txt)
+  - HttpClient (http://hc.apache.org/httpcomponents-client) org.apache.httpcomponents:httpclient:jar:4.0-beta2
+    License: Apache License  (../LICENSE.txt)
+  - HttpCore (http://hc.apache.org/httpcomponents-core/) org.apache.httpcomponents:httpcore:jar:4.0-beta3
+    License: Apache License  (http://www.apache.org/licenses/LICENSE-2.0.html)
+
+
+

Propchange: incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DEPENDENCIES
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DISCLAIMER
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DISCLAIMER?rev=832090&view=auto
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DISCLAIMER (added)
+++ incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DISCLAIMER Mon Nov  2 20:30:40 2009
@@ -0,0 +1,10 @@
+Apache Wink is an effort undergoing incubation at the Apache Software 
+Foundation (ASF), sponsored by the Apache Incubator PMC. 
+
+Incubation is required of all newly accepted projects until a further review 
+indicates that the infrastructure, communications, and decision making process 
+have stabilized in a manner consistent with other successful ASF projects. 
+
+While incubation status is not necessarily a reflection of the completeness 
+or stability of the code, it does indicate that the project has yet to be 
+fully endorsed by the ASF.

Propchange: incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/DISCLAIMER
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/NOTICE
URL: http://svn.apache.org/viewvc/incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/NOTICE?rev=832090&view=auto
==============================================================================
--- incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/NOTICE (added)
+++ incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/NOTICE Mon Nov  2 20:30:40 2009
@@ -0,0 +1,8 @@
+
+Apache Wink
+Copyright 2009 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
+

Propchange: incubator/wink/branches/wink-1.0-incubating/wink-scripts/wink-dist/aggregatejar/NOTICE
------------------------------------------------------------------------------
    svn:eol-style = native