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