http://git-wip-us.apache.org/repos/asf/syncope/blob/2d194636/console/LICENSE ---------------------------------------------------------------------- diff --git a/console/LICENSE b/console/LICENSE deleted file mode 100644 index b0d70b0..0000000 --- a/console/LICENSE +++ /dev/null @@ -1,708 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -== - -For javax.annotation-api (http://www.oracle.com/): -This is licensed under CDDL 1.0. - -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. - -== - -For AOP Alliance (http://aopalliance.sourceforge.net/): -This is Public Domain. - -== - -For ASM (http://asm.ow2.org/): -This is licensed under the BSD license. - -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 author 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. - -== - -For cglib (https://github.com/cglib/cglib): -This is licensed under the AL 2.0, see above. - -== - -For CodeMirror (http://codemirror.net/): -This is licensed under the terms of the MIT license. - - 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. - -== - -For LMAX Disruptor (https://lmax-exchange.github.io/disruptor/): -This is licensed under the AL 2.0, see above. - -== - -For javax.inject (http://code.google.com/p/atinject/): -This is licensed under the AL 2.0, see above. - -== - -For Jackson (http://wiki.fasterxml.com/JacksonHome): -This is licensed under the AL 2.0, see above. - -== - -For javax.ws.rs-api (http://www.oracle.com/): -This is licensed under CDDL 1.0, see above. - -== - -For Joda Time (http://www.joda.org/joda-time/): -This is licensed under the AL 2.0, see above. - -== - -For jQuery (http://jquery.com/): -This is licensed under the terms of the MIT license, see above. - -== - -For jQuery UI (http://jqueryui.com/): -This is licensed under the terms of the MIT license, see above. - -== - -For Simple Logging Facade for Java - SLF4J (http://www.slf4j.org/): -This is licensed under the MIT license, see above. - -== - -For Spring Framework (http://projects.spring.io/spring-framework/): -This is licensed under the AL 2.0, see above. - -== - -For StAX2 API (http://woodstox.codehaus.org/StAX2): -This is licensed under the BSD license, see above. - -== - -For Bean Validation API (http://beanvalidation.org/): -This is licensed under the AL 2.0, see above. - -== - -For Woodstox (http://woodstox.codehaus.org/): -This is licensed under the AL 2.0, see above. \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/syncope/blob/2d194636/console/NOTICE ---------------------------------------------------------------------- diff --git a/console/NOTICE b/console/NOTICE deleted file mode 100644 index 356cdb9..0000000 --- a/console/NOTICE +++ /dev/null @@ -1,75 +0,0 @@ -Apache Syncope -Copyright 2012-2015 The Apache Software Foundation - -This product includes software developed by: -The Apache Software Foundation (http://www.apache.org/). - -The following copyright notice(s) were affixed to portions of this code -with which this file is now or was at one time distributed. - -== - -This product includes software developed by Oracle Corporation. -Copyright (C) 1999-2013 http://www.oracle.com/ and/or its affiliates. -All rights reserved. - -== - -This product includes software developed by the AOP Alliance (Java/J2EE AOP standards). - -== - -This product includes software developed by the ASM project (http://asm.ow2.org/). -Copyright (c) 2000-2011 INRIA, France Telecom -All rights reserved. - -== - -This product includes the CodeMirror JavaScript component. -Copyright (C) 2015 by Marijn Haverbeke <[email protected]> and others - -== - -This product includes software developed by the atinject Project. -Copyright (c) 2009, http://code.google.com/p/atinject/ -All rights reserved. - -== - -This product includes software developed by the Jackson project (http://wiki.fasterxml.com/JacksonHome). - -== - -This product includes software developed by the Joda Time project (http://www.joda.org/joda-time/). - -== - -This product includes the jQuery Core JavaScript Library. -Copyright 2007, 2015 jQuery Foundation and other contributors, -https://jquery.org/ - -== - -This product includes the jQuery UI JavaScript Library. -Copyright 2007, 2015 jQuery Foundation and other contributors, -https://jquery.org/ - -== - -This products includes software developed by SLF4J (http://www.slf4j.org) -Copyright (c) 2004-2013 QOS.ch. - -== - -This product includes software developed by SpringSource -Copyright (c) 2004-2015 SpringSource -All rights reserved. - -== - -This product includes software developed by the Bean Validation Project (http://beanvalidation.org). -Copyright (c) Red Hat, Inc., Emmanuel Bernard - -== - -This product includes software developed by the Woodstox Project (http://woodstox.codehaus.org/). http://git-wip-us.apache.org/repos/asf/syncope/blob/2d194636/console/pom.xml ---------------------------------------------------------------------- diff --git a/console/pom.xml b/console/pom.xml deleted file mode 100644 index 5444b94..0000000 --- a/console/pom.xml +++ /dev/null @@ -1,741 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<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/xsd/maven-4.0.0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope</artifactId> - <version>2.0.0-SNAPSHOT</version> - </parent> - - <name>Apache Syncope Console</name> - <description>Apache Syncope Console</description> - - <groupId>org.apache.syncope</groupId> - <artifactId>syncope-console</artifactId> - <packaging>war</packaging> - - <distributionManagement> - <site> - <id>syncope.website</id> - <name>Apache Syncope website</name> - <url>${site.deploymentBaseUrl}/${project.artifactId}</url> - </site> - </distributionManagement> - - <dependencies> - - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>javax.servlet-api</artifactId> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope-client</artifactId> - <version>${project.version}</version> - </dependency> - - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-api</artifactId> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-core</artifactId> - </dependency> - <dependency> - <groupId>com.lmax</groupId> - <artifactId>disruptor</artifactId> - </dependency> - <dependency> - <groupId>org.apache.logging.log4j</groupId> - <artifactId>log4j-slf4j-impl</artifactId> - </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>jcl-over-slf4j</artifactId> - </dependency> - - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket</artifactId> - <type>pom</type> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-extensions</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-datetime</artifactId> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-spring</artifactId> - <!-- exclude spring framework that wicket pulls in --> - <exclusions> - <exclusion> - <groupId>org.springframework</groupId> - <artifactId>spring</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.apache.wicket</groupId> - <artifactId>wicket-auth-roles</artifactId> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-core</artifactId> - </dependency> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-web</artifactId> - </dependency> - - <dependency> - <groupId>com.fasterxml.jackson.jaxrs</groupId> - <artifactId>jackson-jaxrs-json-provider</artifactId> - </dependency> - - <dependency> - <groupId>org.webjars</groupId> - <artifactId>jquery-ui</artifactId> - </dependency> - <dependency> - <groupId>org.webjars</groupId> - <artifactId>codemirror</artifactId> - </dependency> - - <!-- TEST --> - <dependency> - <groupId>org.activiti</groupId> - <artifactId>activiti-webapp-explorer2</artifactId> - <type>war</type> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope-build-tools</artifactId> - <version>${project.version}</version> - <type>war</type> - <scope>test</scope> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <!-- SELENIUM INTEGRATION TEST --> - <dependency> - <groupId>org.seleniumhq.selenium</groupId> - <artifactId>selenium-java</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.seleniumhq.selenium</groupId> - <artifactId>selenium-api</artifactId> - <scope>test</scope> - </dependency> - <!-- /SELENIUM INTEGRATION TEST --> - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>com.h2database</groupId> - <artifactId>h2</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>net.tirasa.connid.bundles.soap</groupId> - <artifactId>wssample</artifactId> - <type>war</type> - <scope>test</scope> - </dependency> - <!-- /TEST --> - </dependencies> - - <build> - <finalName>${project.artifactId}</finalName> - - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>set-bundles</id> - <phase>process-test-resources</phase> - <goals> - <goal>copy</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>setupActivitiModeler</id> - <phase>process-resources</phase> - <configuration> - <target> - <unzip src="${settings.localRepository}/org/activiti/activiti-webapp-explorer2/${activiti.version}/activiti-webapp-explorer2-${activiti.version}.war" dest="${project.build.directory}/activiti-webapp-explorer2" /> - - <mkdir dir="${activiti-modeler.directory}" /> - - <mkdir dir="${activiti-modeler.directory}/editor" /> - <copy todir="${activiti-modeler.directory}/editor"> - <fileset dir="${project.build.directory}/activiti-webapp-explorer2/editor"> - <exclude name="oryx.js" /> - </fileset> - </copy> - <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/plugins.xml" todir="${activiti-modeler.directory}/editor" /> - <copy file="${project.build.directory}/activiti-webapp-explorer2/WEB-INF/classes/stencilset.json" todir="${activiti-modeler.directory}/editor" /> - - <mkdir dir="${activiti-modeler.directory}/explorer" /> - <copy todir="${activiti-modeler.directory}/explorer"> - <fileset dir="${project.build.directory}/activiti-webapp-explorer2/explorer" /> - </copy> - - <mkdir dir="${activiti-modeler.directory}/libs" /> - <copy todir="${activiti-modeler.directory}/libs"> - <fileset dir="${project.build.directory}/activiti-webapp-explorer2/libs" /> - </copy> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - <execution> - <id>setupTestWebapp</id> - <phase>pre-integration-test</phase> - <configuration> - <target> - <unzip src="${basedir}/../core/target/syncope.war" dest="${cargo.run.dir}" /> - <copy file="${basedir}/../core/target/test-classes/org/apache/syncope/core/sync/TestSyncActions.class" todir="${cargo.run.dir}/WEB-INF/classes/org/apache/syncope/core/sync" /> - <copy file="${basedir}/../core/target/test-classes/org/apache/syncope/core/sync/TestSyncRule.class" todir="${cargo.run.dir}/WEB-INF/classes/org/apache/syncope/core/sync" /> - <copy file="${basedir}/../core/target/test-classes/org/apache/syncope/core/rest/data/DoubleValueAttributableTransformer.class" todir="${cargo.run.dir}/WEB-INF/classes/org/apache/syncope/core/rest/data" /> - <copy file="${project.build.directory}/test-classes/db.jsp" todir="${cargo.run.dir}" /> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - <execution> - <id>setupCSV</id> - <phase>pre-integration-test</phase> - <configuration> - <target> - <copy file="${project.build.directory}/test-classes/test.csv" todir="${test.csvdir.path}" overwrite="true" /> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>com.google.code.maven-replacer-plugin</groupId> - <artifactId>replacer</artifactId> - <executions> - <execution> - <phase>process-resources</phase> - <goals> - <goal>replace</goal> - </goals> - </execution> - </executions> - <configuration> - <file>${activiti-modeler.directory}/editor/oryx.debug.js</file> - <tokenValueMap>${basedir}/src/main/resources/oryx.debug.js-tokenValueMap.properties</tokenValueMap> - <unescape>true</unescape> - <regex>false</regex> - </configuration> - </plugin> - - <plugin> - <groupId>org.codehaus.cargo</groupId> - <artifactId>cargo-maven2-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <container> - <dependencies> - <dependency> - <groupId>com.h2database</groupId> - <artifactId>h2</artifactId> - </dependency> - </dependencies> - </container> - <configuration> - <type>standalone</type> - <properties> - <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port> - <cargo.tomcat.ajp.port>${cargo.tomcat.ajp.port}</cargo.tomcat.ajp.port> - <cargo.rmi.port>${cargo.rmi.port}</cargo.rmi.port> - <cargo.jvmargs>-noverify ${javaagent} -Drebel.spring_plugin=true - -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs> - </properties> - <configfiles> - <configfile> - <file>${project.build.directory}/test-classes/context.xml</file> - <todir>conf/</todir> - <tofile>context.xml</tofile> - </configfile> - </configfiles> - </configuration> - <deployables> - <deployable> - <location>${cargo.run.dir}</location> - <properties> - <context>syncope</context> - </properties> - </deployable> - <deployable> - <location>${project.build.directory}/${project.build.finalName}.war</location> - <properties> - <context>syncope-console</context> - </properties> - </deployable> - <deployable> - <groupId>net.tirasa.connid.bundles.soap</groupId> - <artifactId>wssample</artifactId> - <type>war</type> - <properties> - <context>wssample</context> - </properties> - </deployable> - <deployable> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope-build-tools</artifactId> - <type>war</type> - <properties> - <context>syncope-build-tools</context> - </properties> - </deployable> - </deployables> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-pmd-plugin</artifactId> - </plugin> - - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <executions> - <execution> - <id>bundle-manifest</id> - <phase>process-classes</phase> - <goals> - <goal>manifest</goal> - </goals> - <configuration> - <instructions> - <Bundle-Name>${project.name}</Bundle-Name> - <Bundle-SymbolicName>org.apache.syncope.console</Bundle-SymbolicName> - <Bundle-Version>${project.version}</Bundle-Version> - <Export-Package> - org.apache.syncope.console*;version=${project.version};-split-package:=merge-first - </Export-Package> - <Import-Package> - javax.servlet, - javax.xml*, - org.w3c.dom, - org.apache.commons.lang3;version="[3,4)", - org.apache.syncope.client*;version=${project.version}, - org.apache.syncope.common*;version=${project.version}, - org.apache.wicket*;version="[6,7)", - com.fasterxml.jackson*;version="[2.2.2,2.3)", - org.springframework*;version="[3,4)", - ch.qos.logback.classic;resolution:=optional, - javax.swing.tree;resolution:=optional, - org.slf4j;resolution:=optional - </Import-Package> - </instructions> - </configuration> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-war-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <webResources> - <resource> - <directory>src/main/webapp</directory> - <includes> - <include>WEB-INF/web.xml</include> - </includes> - <filtering>true</filtering> - </resource> - <resource> - <directory>${project.build.outputDirectory}</directory> - <includes> - <include>META-INF/DEPENDENCIES*</include> - </includes> - </resource> - <resource> - <directory>${basedir}</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </resource> - </webResources> - <packagingExcludes>WEB-INF/classes/META-INF/LICENSE*,WEB-INF/classes/META-INF/NOTICE*,WEB-INF/classes/META-INF/DEPENDENCIES*</packagingExcludes> - <archive> - <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - </plugins> - - <resources> - <resource> - <directory>src/main/resources</directory> - <filtering>true</filtering> - </resource> - <resource> - <directory>..</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </resource> - </resources> - - <testResources> - <testResource> - <directory>../core/src/test/resources</directory> - <filtering>true</filtering> - </testResource> - <testResource> - <directory>src/test/resources</directory> - <filtering>true</filtering> - </testResource> - </testResources> - </build> - - <profiles> - - <profile> - <id>skipTests</id> - <properties> - <javaagent /> - </properties> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-dependency-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>set-bundles</id> - <phase>none</phase> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>setupTestWebapp</id> - <phase>none</phase> - </execution> - <execution> - <id>setupCSV</id> - <phase>none</phase> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <skipTests>${skipTests}</skipTests> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <skipTests>${skipTests}</skipTests> - </configuration> - </plugin> - - <plugin> - <groupId>org.codehaus.cargo</groupId> - <artifactId>cargo-maven2-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>start-container</id> - <phase>none</phase> - </execution> - <execution> - <id>stop-container</id> - <phase>none</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>debug</id> - - <properties> - <skipTests>true</skipTests> - </properties> - - <build> - <defaultGoal>clean verify cargo:run</defaultGoal> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>testWebXML</id> - <phase>pre-integration-test</phase> - <configuration> - <target> - <touch millis="0" file="${project.build.directory}/test-classes/web.xml" /> - <war destfile="${project.build.directory}/${project.build.finalName}.war" update="true"> - <mappedresources> - <fileset dir="${project.build.directory}/test-classes" includes="web.xml" /> - <globmapper from="web.xml" to="WEB-INF/web.xml" /> - </mappedresources> - </war> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.cargo</groupId> - <artifactId>cargo-maven2-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <configuration> - <properties> - <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n - -noverify -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs> - </properties> - </configuration> - </configuration> - <executions> - <execution> - <id>start-container</id> - <phase>none</phase> - </execution> - <execution> - <id>stop-container</id> - <phase>none</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>jrebel</id> - - <properties> - <skipTests>true</skipTests> - <javaagent>-javaagent:${env.REBEL_HOME}/jrebel.jar</javaagent> - </properties> - - <build> - <defaultGoal>clean verify cargo:run</defaultGoal> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>testWebXML</id> - <phase>pre-integration-test</phase> - <configuration> - <target> - <touch millis="0" file="${project.build.directory}/test-classes/web.xml" /> - <war destfile="${project.build.directory}/${project.build.finalName}.war" update="true"> - <mappedresources> - <fileset dir="${project.build.directory}/test-classes" includes="web.xml" /> - <globmapper from="web.xml" to="WEB-INF/web.xml" /> - </mappedresources> - </war> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.zeroturnaround</groupId> - <artifactId>jrebel-maven-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>generate-rebel-xml</id> - <phase>process-resources</phase> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.cargo</groupId> - <artifactId>cargo-maven2-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <configuration> - <properties> - <cargo.jvmargs>-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n - -noverify ${javaagent} -Drebel.spring_plugin=true - -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=256m</cargo.jvmargs> - </properties> - </configuration> - </configuration> - <executions> - <execution> - <id>start-container</id> - <phase>none</phase> - </execution> - <execution> - <id>stop-container</id> - <phase>none</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>selenium</id> - - <properties> - <javaagent /> - </properties> - - <build> - <defaultGoal>clean verify</defaultGoal> - <plugins> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>verify</id> - <goals> - <goal>verify</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.codehaus.cargo</groupId> - <artifactId>cargo-maven2-plugin</artifactId> - <inherited>true</inherited> - <executions> - <execution> - <id>start-container</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start</goal> - </goals> - <configuration> - <wait>false</wait> - </configuration> - </execution> - <execution> - <id>stop-container</id> - <phase>post-integration-test</phase> - <goals> - <goal>stop</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - -</project> http://git-wip-us.apache.org/repos/asf/syncope/blob/2d194636/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java ---------------------------------------------------------------------- diff --git a/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java b/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java deleted file mode 100644 index 9aba5f7..0000000 --- a/console/src/main/java/org/apache/syncope/console/SyncopeApplication.java +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.console; - -import java.io.Serializable; -import org.apache.syncope.common.to.UserTO; -import org.apache.syncope.console.commons.Constants; -import org.apache.syncope.console.commons.XMLRolesReader; -import org.apache.syncope.console.pages.Configuration; -import org.apache.syncope.console.pages.InfoModalPage; -import org.apache.syncope.console.pages.Login; -import org.apache.syncope.console.pages.Logout; -import org.apache.syncope.console.pages.Reports; -import org.apache.syncope.console.pages.Resources; -import org.apache.syncope.console.pages.Roles; -import org.apache.syncope.console.pages.Schema; -import org.apache.syncope.console.pages.Tasks; -import org.apache.syncope.console.pages.Todo; -import org.apache.syncope.console.pages.UserSelfModalPage; -import org.apache.syncope.console.pages.Users; -import org.apache.syncope.console.pages.WelcomePage; -import org.apache.syncope.console.resources.FilesystemResource; -import org.apache.syncope.console.resources.WorkflowDefGETResource; -import org.apache.syncope.console.resources.WorkflowDefPUTResource; -import org.apache.syncope.console.rest.UserSelfRestClient; -import org.apache.wicket.Component; -import org.apache.wicket.Page; -import org.apache.wicket.RestartResponseAtInterceptPageException; -import org.apache.wicket.Session; -import org.apache.wicket.WicketRuntimeException; -import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.AjaxLink; -import org.apache.wicket.authorization.IUnauthorizedComponentInstantiationListener; -import org.apache.wicket.authorization.UnauthorizedInstantiationException; -import org.apache.wicket.authroles.authorization.strategies.role.IRoleCheckingStrategy; -import org.apache.wicket.authroles.authorization.strategies.role.RoleAuthorizationStrategy; -import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy; -import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; -import org.apache.wicket.markup.html.image.Image; -import org.apache.wicket.markup.html.link.BookmarkablePageLink; -import org.apache.wicket.protocol.http.WebApplication; -import org.apache.wicket.request.Request; -import org.apache.wicket.request.Response; -import org.apache.wicket.request.resource.ContextRelativeResource; -import org.apache.wicket.request.resource.IResource; -import org.apache.wicket.request.resource.ResourceReference; -import org.apache.wicket.spring.injection.annot.SpringComponentInjector; -import org.springframework.web.context.support.WebApplicationContextUtils; - -/** - * SyncopeApplication class. - */ -public class SyncopeApplication - extends WebApplication - implements IUnauthorizedComponentInstantiationListener, IRoleCheckingStrategy, Serializable { - - private static final long serialVersionUID = -2920378752291913495L; - - public static final String IMG_PREFIX = "/img/menu/"; - - public static final String IMG_NOTSEL = "notsel/"; - - private static final String ACTIVITI_MODELER_CONTEXT = "activiti-modeler"; - - private static final int EDIT_PROFILE_WIN_HEIGHT = 550; - - private static final int EDIT_PROFILE_WIN_WIDTH = 800; - - @Override - protected void init() { - super.init(); - - getComponentInstantiationListeners().add(new SpringComponentInjector(this)); - - getResourceSettings().setThrowExceptionOnMissingResource(true); - - getSecuritySettings().setAuthorizationStrategy(new RoleAuthorizationStrategy(this)); - getSecuritySettings().setUnauthorizedComponentInstantiationListener(this); - - getMarkupSettings().setStripWicketTags(true); - getMarkupSettings().setCompressWhitespace(true); - - getRequestCycleListeners().add(new SyncopeRequestCycleListener()); - - final String activitiModelerDirectory = WebApplicationContextUtils.getWebApplicationContext( - WebApplication.get().getServletContext()).getBean("activitiModelerDirectory", String.class); - mountResource("/" + ACTIVITI_MODELER_CONTEXT, new ResourceReference(ACTIVITI_MODELER_CONTEXT) { - - private static final long serialVersionUID = -128426276529456602L; - - @Override - public IResource getResource() { - return new FilesystemResource(ACTIVITI_MODELER_CONTEXT, activitiModelerDirectory); - } - - }); - mountResource("/workflowDefGET", new ResourceReference("workflowDefGET") { - - private static final long serialVersionUID = -128426276529456602L; - - @Override - public IResource getResource() { - return new WorkflowDefGETResource(); - } - }); - mountResource("/workflowDefPUT", new ResourceReference("workflowDefPUT") { - - private static final long serialVersionUID = -128426276529456602L; - - @Override - public IResource getResource() { - return new WorkflowDefPUTResource(); - } - }); - } - - public void setupNavigationPanel(final WebPage page, final XMLRolesReader xmlRolesReader, final boolean notsel) { - final ModalWindow infoModal = new ModalWindow("infoModal"); - page.add(infoModal); - infoModal.setInitialWidth(350); - infoModal.setInitialHeight(300); - infoModal.setCssClassName(ModalWindow.CSS_CLASS_GRAY); - infoModal.setCookieName("infoModal"); - infoModal.setPageCreator(new ModalWindow.PageCreator() { - - private static final long serialVersionUID = -7834632442532690940L; - - @Override - public Page createPage() { - return new InfoModalPage(); - } - }); - - final AjaxLink<Page> infoLink = new AjaxLink<Page>("infoLink") { - - private static final long serialVersionUID = -7978723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target) { - infoModal.show(target); - } - }; - page.add(infoLink); - - BookmarkablePageLink<Page> schemaLink = new BookmarkablePageLink<Page>("schema", Schema.class); - MetaDataRoleAuthorizationStrategy.authorize( - schemaLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Schema", "list")); - page.add(schemaLink); - schemaLink.add(new Image("schemaIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "schema" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> usersLink = new BookmarkablePageLink<Page>("users", Users.class); - MetaDataRoleAuthorizationStrategy.authorize( - usersLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Users", "list")); - page.add(usersLink); - usersLink.add(new Image("usersIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "users" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> rolesLink = new BookmarkablePageLink<Page>("roles", Roles.class); - MetaDataRoleAuthorizationStrategy.authorize( - rolesLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Roles", "list")); - page.add(rolesLink); - rolesLink.add(new Image("rolesIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "roles" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> resourcesLink = new BookmarkablePageLink<Page>("resources", Resources.class); - MetaDataRoleAuthorizationStrategy.authorize( - resourcesLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Resources", "list")); - page.add(resourcesLink); - resourcesLink.add(new Image("resourcesIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "resources" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> todoLink = new BookmarkablePageLink<Page>("todo", Todo.class); - MetaDataRoleAuthorizationStrategy.authorize( - todoLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Approval", "list")); - page.add(todoLink); - todoLink.add(new Image("todoIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "todo" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> reportLink = new BookmarkablePageLink<Page>("reports", Reports.class); - MetaDataRoleAuthorizationStrategy.authorize( - reportLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Reports", "list")); - page.add(reportLink); - reportLink.add(new Image("reportsIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "reports" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> configurationLink = new BookmarkablePageLink<Page>("configuration", - Configuration.class); - MetaDataRoleAuthorizationStrategy.authorize( - configurationLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Configuration", "list")); - page.add(configurationLink); - configurationLink.add(new Image("configurationIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "configuration" + Constants.PNG_EXT))); - - BookmarkablePageLink<Page> taskLink = new BookmarkablePageLink<Page>("tasks", Tasks.class); - MetaDataRoleAuthorizationStrategy.authorize( - taskLink, WebPage.ENABLE, xmlRolesReader.getEntitlement("Tasks", "list")); - page.add(taskLink); - taskLink.add(new Image("tasksIcon", new ContextRelativeResource(IMG_PREFIX + (notsel - ? IMG_NOTSEL - : "") + "tasks" + Constants.PNG_EXT))); - - page.add(new BookmarkablePageLink<Page>("logout", Logout.class)); - } - - public void setupEditProfileModal(final WebPage page, final UserSelfRestClient userSelfRestClient) { - // Modal window for editing user profile - final ModalWindow editProfileModalWin = new ModalWindow("editProfileModal"); - editProfileModalWin.setCssClassName(ModalWindow.CSS_CLASS_GRAY); - editProfileModalWin.setInitialHeight(EDIT_PROFILE_WIN_HEIGHT); - editProfileModalWin.setInitialWidth(EDIT_PROFILE_WIN_WIDTH); - editProfileModalWin.setCookieName("edit-profile-modal"); - page.add(editProfileModalWin); - - final AjaxLink<Page> editProfileLink = new AjaxLink<Page>("editProfileLink") { - - private static final long serialVersionUID = -7978723352517770644L; - - @Override - public void onClick(final AjaxRequestTarget target) { - final UserTO userTO; - if (SyncopeSession.get().isAuthenticated()) { - try { - userTO = userSelfRestClient.read(); - } catch (Exception e) { - throw new WicketRuntimeException(e); - } - } else { - userTO = new UserTO(); - } - - editProfileModalWin.setPageCreator(new ModalWindow.PageCreator() { - - private static final long serialVersionUID = -7834632442532690940L; - - @Override - public Page createPage() { - return new UserSelfModalPage(page.getPageReference(), editProfileModalWin, userTO); - } - }); - - editProfileModalWin.show(target); - } - }; - - editProfileLink.add(new Label("username", SyncopeSession.get().getUsername())); - - if ("admin".equals(SyncopeSession.get().getUsername())) { - editProfileLink.setEnabled(false); - } - - page.add(editProfileLink); - } - - @Override - public Session newSession(final Request request, final Response response) { - return new SyncopeSession(request); - } - - @Override - public Class<? extends Page> getHomePage() { - return SyncopeSession.get().isAuthenticated() ? WelcomePage.class : Login.class; - } - - @Override - public void onUnauthorizedInstantiation(final Component component) { - SyncopeSession.get().invalidate(); - - if (component instanceof Page) { - throw new UnauthorizedInstantiationException(component.getClass()); - } - - throw new RestartResponseAtInterceptPageException(Login.class); - } - - @Override - public boolean hasAnyRole(final org.apache.wicket.authroles.authorization.strategies.role.Roles roles) { - return SyncopeSession.get().hasAnyRole(roles); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/2d194636/console/src/main/java/org/apache/syncope/console/SyncopeRequestCycleListener.java ---------------------------------------------------------------------- diff --git a/console/src/main/java/org/apache/syncope/console/SyncopeRequestCycleListener.java b/console/src/main/java/org/apache/syncope/console/SyncopeRequestCycleListener.java deleted file mode 100644 index 94915b2..0000000 --- a/console/src/main/java/org/apache/syncope/console/SyncopeRequestCycleListener.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.console; - -import java.security.AccessControlException; -import javax.ws.rs.BadRequestException; -import javax.xml.ws.WebServiceException; -import org.apache.syncope.common.SyncopeClientException; -import org.apache.syncope.console.pages.ErrorPage; -import org.apache.wicket.Page; -import org.apache.wicket.authorization.UnauthorizedInstantiationException; -import org.apache.wicket.core.request.handler.PageProvider; -import org.apache.wicket.core.request.handler.RenderPageRequestHandler; -import org.apache.wicket.markup.html.pages.ExceptionErrorPage; -import org.apache.wicket.model.StringResourceModel; -import org.apache.wicket.protocol.http.PageExpiredException; -import org.apache.wicket.request.IRequestHandler; -import org.apache.wicket.request.cycle.AbstractRequestCycleListener; -import org.apache.wicket.request.cycle.RequestCycle; -import org.apache.wicket.request.mapper.parameter.PageParameters; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class SyncopeRequestCycleListener extends AbstractRequestCycleListener { - - /** - * Logger. - */ - private static final Logger LOG = LoggerFactory.getLogger(SyncopeRequestCycleListener.class); - - /** - * {@inheritDoc} - */ - @Override - public IRequestHandler onException(final RequestCycle cycle, final Exception e) { - LOG.error("Exception found", e); - - PageParameters errorParameters = new PageParameters(); - errorParameters.add("errorTitle", new StringResourceModel("alert", null).getString()); - - final Page errorPage; - if (e instanceof UnauthorizedInstantiationException) { - errorParameters.add("errorMessage", - new StringResourceModel("unauthorizedInstantiationException", null).getString()); - - errorPage = new ErrorPage(errorParameters); - } else if (e.getCause() instanceof AccessControlException) { - errorParameters.add("errorMessage", new StringResourceModel("accessControlException", null).getString()); - - errorPage = new ErrorPage(errorParameters); - } else if (e instanceof PageExpiredException || !(SyncopeSession.get()).isAuthenticated()) { - errorParameters.add("errorMessage", new StringResourceModel("pageExpiredException", null).getString()); - - errorPage = new ErrorPage(errorParameters); - } else if (e.getCause() instanceof BadRequestException || e.getCause() instanceof WebServiceException - || e.getCause() instanceof SyncopeClientException) { - - errorParameters.add("errorMessage", new StringResourceModel("restClientException", null).getString()); - - errorPage = new ErrorPage(errorParameters); - } else { - // redirect to default Wicket error page - errorPage = new ExceptionErrorPage(e, null); - } - - return new RenderPageRequestHandler(new PageProvider(errorPage)); - } -} http://git-wip-us.apache.org/repos/asf/syncope/blob/2d194636/console/src/main/java/org/apache/syncope/console/SyncopeSession.java ---------------------------------------------------------------------- diff --git a/console/src/main/java/org/apache/syncope/console/SyncopeSession.java b/console/src/main/java/org/apache/syncope/console/SyncopeSession.java deleted file mode 100644 index 53b03c0..0000000 --- a/console/src/main/java/org/apache/syncope/console/SyncopeSession.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.console; - -import java.text.DateFormat; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import javax.ws.rs.core.EntityTag; -import javax.ws.rs.core.MediaType; -import org.apache.commons.lang3.builder.HashCodeBuilder; -import org.apache.cxf.jaxrs.client.WebClient; -import org.apache.syncope.client.SyncopeClient; -import org.apache.syncope.client.SyncopeClientFactoryBean; -import org.apache.syncope.common.types.SubjectType; -import org.apache.wicket.Session; -import org.apache.wicket.authroles.authorization.strategies.role.Roles; -import org.apache.wicket.protocol.http.WebApplication; -import org.apache.wicket.protocol.http.WebSession; -import org.apache.wicket.request.Request; -import org.springframework.context.ApplicationContext; -import org.springframework.web.context.support.WebApplicationContextUtils; - -/** - * Custom Syncope Session class. - */ -public class SyncopeSession extends WebSession { - - private static final long serialVersionUID = 7743446298924805872L; - - public static final List<Locale> SUPPORTED_LOCALES = Arrays.asList(new Locale[] { - Locale.ENGLISH, Locale.ITALIAN, new Locale("pt", "BR") }); - - private String username; - - private String password; - - private String version; - - private Roles roles = new Roles(); - - private final SyncopeClientFactoryBean clientFactory; - - private final String anonymousUser; - - private final String anonymousKey; - - private final Map<Integer, SyncopeClient> clients = - Collections.synchronizedMap(new HashMap<Integer, SyncopeClient>()); - - public static SyncopeSession get() { - return (SyncopeSession) Session.get(); - } - - public SyncopeSession(final Request request) { - super(request); - - final ApplicationContext ctx = WebApplicationContextUtils. - getWebApplicationContext(WebApplication.get().getServletContext()); - - clientFactory = ctx.getBean(SyncopeClientFactoryBean.class). - setContentType(SyncopeClientFactoryBean.ContentType.JSON); - anonymousUser = ctx.getBean("anonymousUser", String.class); - anonymousKey = ctx.getBean("anonymousKey", String.class); - } - - public void resetClients() { - clients.clear(); - } - - public boolean isSelfRegAllowed() { - SyncopeClient client = clients.isEmpty() - ? clientFactory.createAnonymous() - : clients.values().iterator().next(); - return client.isSelfRegAllowed(); - } - - public boolean isPwdResetAllowed() { - SyncopeClient client = clients.isEmpty() - ? clientFactory.createAnonymous() - : clients.values().iterator().next(); - return client.isPwdResetAllowed(); - } - - public boolean isPwdResetRequiringSecurityQuestions() { - SyncopeClient client = clients.isEmpty() - ? clientFactory.createAnonymous() - : clients.values().iterator().next(); - return client.isPwdResetRequiringSecurityQuestions(); - } - - public boolean isActivitiEnabledFor(final SubjectType type) { - SyncopeClient client = clients.isEmpty() - ? clientFactory.createAnonymous() - : clients.values().iterator().next(); - return client.isActivitiEnabledFor(type); - } - - public boolean isCamelEnabledFor(final SubjectType type) { - SyncopeClient client = clients.isEmpty() - ? clientFactory.createAnonymous() - : clients.values().iterator().next(); - return client.isCamelEnabledFor(type); - } - - public <T> T getService(final Class<T> service) { - return getService(service, this.username, this.password); - } - - public <T> T getService(final String etag, final Class<T> service) { - T serviceInstance = getService(service, this.username, this.password); - WebClient.client(serviceInstance).match(new EntityTag(etag), false); - - return serviceInstance; - } - - public <T> void resetClient(final Class<T> service) { - T serviceInstance = getService(service, this.username, this.password); - WebClient.client(serviceInstance).reset(); - } - - public <T> T getService(final MediaType mediaType, final Class<T> serviceClass) { - T service; - - synchronized (clientFactory) { - SyncopeClientFactoryBean.ContentType preType = clientFactory.getContentType(); - - clientFactory.setContentType(SyncopeClientFactoryBean.ContentType.fromString(mediaType.toString())); - service = clientFactory.create(username, password).getService(serviceClass); - clientFactory.setContentType(preType); - } - - return service; - } - - public <T> T getAnonymousService(final Class<T> serviceClass) { - return getService(serviceClass, this.anonymousUser, this.anonymousKey); - } - - public <T> T getService(final Class<T> serviceClass, final String username, final String password) { - final int clientKey = new HashCodeBuilder().append(username).append(password).toHashCode(); - - if (!clients.containsKey(clientKey)) { - clients.put(clientKey, clientFactory.create(username, password)); - } - - return clients.get(clientKey).getService(serviceClass); - } - - public String getUsername() { - return username; - } - - public void setUsername(final String username) { - this.username = username; - } - - public void setPassword(final String password) { - this.password = password; - } - - public String getVersion() { - return version; - } - - public void setVersion(final String version) { - this.version = version; - } - - public void setEntitlements(final String[] entitlements) { - String[] defensiveCopy = entitlements.clone(); - roles = new Roles(defensiveCopy); - } - - public Roles getEntitlements() { - return roles; - } - - public boolean isAuthenticated() { - return getUsername() != null; - } - - public boolean hasAnyRole(final Roles roles) { - return this.roles.hasAnyRole(roles); - } - - public DateFormat getDateFormat() { - final Locale locale = getLocale() == null ? Locale.ENGLISH : getLocale(); - - return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale); - } -}
