diff --git a/community/licensecheck-config/src/main/resources/Install4j redistributable files license b/community/licensecheck-config/src/main/resources/Install4j redistributable files license deleted file mode 100644 index 20c9c4693b015..0000000000000 --- a/community/licensecheck-config/src/main/resources/Install4j redistributable files license +++ /dev/null @@ -1,86 +0,0 @@ -Important-Read Carefully: This End-User License Agreement ("EULA") is a legal agreement between you (either an -individual or a single legal entity) and Neo Technology, Inc. (“Licensor”) and covers your use of install4j and related -software components ("Software Product" or install4j) that are licensed to Licensor by ej-technologies GmbH -(ej-technologies). - -If you do not agree to the terms of this EULA, then do not download, install or use the Software Product or the Software -Product License. By explicitly accepting this EULA you are acknowledging and agreeing to be bound by the following -terms: - -Grant of License - -The Software Product is owned by ej-technologies. It is licensed, not sold. The Software Product is protected by copyright -laws and international copyright treaties, as well as other intellectual property laws and treaties. ej-technologies reserves -all intellectual property rights, including copyrights and trademark rights. - -Licensor grants you a non-exclusive, non-transferable sub- license to use the Software Product for your internal use and -solely in conjunction with your use of Neo4j software. You may not disclose the Software Product License in any way. - -You may make copies of the Software Product and the Software Product License as reasonably necessary for the use -authorized above, including as needed for backup and/or archival purposes. No other copies may be made. Each copy -must reproduce all copyright and other proprietary rights notices on or in the Software Product. - -Restrictions - -You may not use, copy, or distribute the Software Product, except as granted by this EULA, without written authorization -from Licensor or ej-technologies. You may not tamper with, alter, or use the Software Product in a way that disables, -circumvents, or otherwise defeats its built-in licensing verification and enforcement capabilities. You may not remove or -alter any trademark, logo, copyright or other proprietary notice, legend, symbol or label in the Software Product. You may -not modify or create derivative copies of the Software Product License. You may not reverse engineer, decompile, defeat -license encryption mechanisms, or disassemble the Software Product or Software Product License except and only to the -extent that such activity is expressly permitted by applicable law notwithstanding this limitation. You may not rent, lease, -lend, or in any way distribute or transfer any rights in this EULA or the Software Product to third parties without -Licensor’s and ej-technologies' written approval, and subject to written agreement by the recipient of the terms of this -EULA. - -The Software Product is not fault-tolerant and is not designed, manufactured or intended for use or resale as on-line -control equipment in hazardous environments requiring fail-safe performance, in which the failure of the Software -Product, or any software, tool, process, or service that was developed using the Software Product, could lead directly to -death, personal injury, or severe physical or environmental damage ("High Risk Activities"). Accordingly, Licensor, ej- -technologies and its suppliers and licensors specifically disclaim any express or implied warranty of fitness for High Risk -Activities. You agree that Licensor, ej-technologies and its suppliers and licensors will not be liable for any claims or -damages arising from the use of the Software Product, or any software, tool, process, or service that was developed using -the Software Product, in such applications. - -Warranty Disclaimer - -TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR, EJ-TECHNOLOGIES AND ITS THIRD PARTY SUPPLIERS AND -LICENSORS DISCLAIM ALL REPRESENTATIONS, WARRANTIES, AND CONDITIONS, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE, -INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS -FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT. THE ENTIRE RISK ARISING OUT OF USE OR PERFORMANCE OF THE -SOFTWARE PRODUCT REMAINS WITH YOU. - -Limitation of Liability - -(a) Consequential Damages Waiver. UNDER NO CIRCUMSTANCES, SHALL ANY LICENSOR PARTY OR EJ-TECHNOLOGIES BE LIABLE TO YOU -FOR ANY INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, PUNITIVE, RELIANCE, OR CONSEQUENTIAL DAMAGES, (INCLUDING, WITHOUT -LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION AND THE LIKE) -ARISING OUT OF OR RELATING TO THE USE AND/OR INABILITY TO USE THE SOFTWARE PRODUCT. - -(b) Limitation of Damages. WITHOUT LIMITING THE FOREGOING, IN NO EVENT SHALL LICENSOR’S OR EJ-TECHNOLIGIES TOTAL -CUMULATIVE LIABILITY TO YOU FOR ALL DAMAGES, LOSSES AND CAUSES OF ACTION (WHETHER IN CONTRACT, TORT, INCLUDING -NEGLIGENCE AND STRICT LIABILITY, OR OTHERWISE) EXCEED THE TOTAL AMOUNT OF ONE HUNDRED DOLLARS ($100.00). THE PARTIES -AGREE THAT THESE LIMITATIONS SHALL APPLY EVEN IF THIS AGREEMENT OR ANY LIMITED REMEDY SPECIFIED HEREIN IS FOUND TO HAVE -FAILED OF ITS ESSENTIAL PURPOSE. - -SOME JURISDICTIONS MAY NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR OTHER DAMAGES, -SO THE ABOVE LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU. IN SUCH EVENT, THE LIABILITY OF LICENSOR AND -EJ-TECHNOLOGIES FOR SUCH DAMAGES WITH RESPECT TO THE SOFTWARE AND SERVICES WILL BE LIMITED TO THE GREATEST EXTENT -PERMITTED BY APPLICABLE LAW IN SUCH JURISDICTION. - -General - -Licensor or ej-technologies may terminate this EULA if you fail to comply with any term or condition of this EULA. In -such event, you must destroy all copies of the Software Product and Software Product Licenses. - -This EULA is governed by the laws of the State of California, USA. The United Nations Convention for the International -Sale of Goods shall not apply. - -This EULA is the entire agreement, and supersedes any other communications or advertising with respect to the Software -Product; this EULA may be modified only by written agreement signed by authorized representatives of you and -Licensor. - -If any provision of this EULA is held invalid, the remainder of this EULA shall continue in full force and effect. - -All rights not expressly granted in this agreement are retained by Licensor and ej-technologies. - diff --git a/community/licensecheck-config/src/main/resources/licensing-requirements-installer.xml b/community/licensecheck-config/src/main/resources/licensing-requirements-installer.xml deleted file mode 100644 index 45d60153bffc0..0000000000000 --- a/community/licensecheck-config/src/main/resources/licensing-requirements-installer.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - Oracle Binary Code License Agreement for Java SE Platform Products and JavaFX - - - Install4j redistributable files license - - - Install4j redistributable files license - - - - diff --git a/community/licensecheck-config/src/main/resources/licensing-requirements-win.xml b/community/licensecheck-config/src/main/resources/licensing-requirements-win.xml deleted file mode 100644 index 0402e86df7300..0000000000000 --- a/community/licensecheck-config/src/main/resources/licensing-requirements-win.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - LGPL2.1 - - - LGPL2.1 - - - - diff --git a/packaging/.gitignore b/packaging/.gitignore index 2b083588b53f2..8be843d0c2efe 100644 --- a/packaging/.gitignore +++ b/packaging/.gitignore @@ -12,5 +12,4 @@ target .idea .DS_Store /bin -.gradle -/installer-windows/src/main/resources/installer/installer-cache/ \ No newline at end of file +.gradle \ No newline at end of file diff --git a/packaging/neo4j-desktop/.gitignore b/packaging/neo4j-desktop/.gitignore deleted file mode 100644 index 56b4e4d1dedc8..0000000000000 --- a/packaging/neo4j-desktop/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -dependency-reduced-pom.xml -md5sums -output.txt -updates.xml -*.exe -*.dmg diff --git a/packaging/neo4j-desktop/LICENSES.txt b/packaging/neo4j-desktop/LICENSES.txt deleted file mode 100644 index 5eb3af3f36b6a..0000000000000 --- a/packaging/neo4j-desktop/LICENSES.txt +++ /dev/null @@ -1,2735 +0,0 @@ -This file contains the full license text of the included third party -libraries. For an overview of the licenses see the NOTICE.txt file. - ------------------------------------------------------------------------------- -ASM License - ASM Core ------------------------------------------------------------------------------- - -Copyright (c) 2000-2011 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. 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. - -3. Neither the name of the copyright holders 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. - - ------------------------------------------------------------------------------- -Apache Software License, Version 2.0 - Apache ServiceMix Bundles: jline-0.9.94 - Commons BeanUtils - Commons BeanUtils Core - Commons Collections - Commons Configuration - Commons Digester - Commons IO - Commons Lang - Commons Logging - ConcurrentLinkedHashMap - Data Mapper for Jackson - Jackson - JAX-RS provider for JSON content type - Jetty Server - Jetty Utilities - Lucene Core - parboiled-core - parboiled-scala - RRD4J - Servlet Specification API ------------------------------------------------------------------------------- - - 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. - - ------------------------------------------------------------------------------- -BSD - Scala License - Scala Library ------------------------------------------------------------------------------- - -SCALA LICENSE - -Copyright (c) 2002-2012 EPFL, Lausanne, unless otherwise specified. -All rights reserved. - -This software was developed by the Programming Methods Laboratory of the -Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. - -Permission to use, copy, modify, and distribute this software in source -or binary form for any purpose with or without fee is hereby granted, -provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. 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. - - 3. Neither the name of the EPFL 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 REGENTS 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 REGENTS 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. - - ------------------------------------------------------------------------------- -BSD License - Janino ------------------------------------------------------------------------------- - -Copyright (c) , -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 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 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. - - ------------------------------------------------------------------------------- -Bouncy Castle License - Legion of the Bouncy Castle Java Cryptography APIs ------------------------------------------------------------------------------- - -Please note: our license is an adaptation of the MIT X11 License and should be -read as such. - -LICENSE - -Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle -(http://www.bouncycastle.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 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. - - ------------------------------------------------------------------------------- -Common Development and Distribution License Version 1.1 - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension ------------------------------------------------------------------------------- - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 - -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. - - Oracle 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. If You assert a patent infringement claim against Participant - alleging that the Participant Software directly or indirectly infringes - any patent where such claim is resolved (such as by license or - settlement) prior to the initiation of patent infringement litigation, - then the reasonable value of the licenses granted by such Participant - under Sections 2.1 or 2.2 shall be taken into account in determining the - amount or value of any payment or license. - - 6.4. 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 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. - -NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION -LICENSE (CDDL) - -The code released under the CDDL shall be governed by the laws of the -State of California (excluding conflict-of-law provisions). Any -litigation relating to this License shall be subject to the jurisdiction -of the Federal Courts of the Northern District of California and the -state courts of the State of California, with venue lying in Santa Clara -County, California. - - ------------------------------------------------------------------------------- -Eclipse Public License, Version 1.0 - Jetty Server - Jetty Utilities - Logback Access Module - Logback Classic Module - Logback Core Module ------------------------------------------------------------------------------- - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are -distributed by that particular Contributor. A Contribution 'originates' from a -Contributor if it was added to the Program by such Contributor itself or anyone -acting on such Contributor's behalf. Contributions do not include additions to -the Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) are not -derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which are -necessarily infringed by the use or sale of its Contribution alone or when -combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, -including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free copyright license to -reproduce, prepare derivative works of, publicly display, publicly perform, -distribute and sublicense the Contribution of such Contributor, if any, and such -derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed -Patents to make, use, sell, offer to sell, import and otherwise transfer the -Contribution of such Contributor, if any, in source code and object code form. -This patent license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, such -addition of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other combinations -which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to -its Contributions set forth herein, no assurances are provided by any -Contributor that the Program does not infringe the patent or other intellectual -property rights of any other entity. Each Contributor disclaims any liability to -Recipient for claims brought by any other entity based on infringement of -intellectual property rights or otherwise. As a condition to exercising the -rights and licenses granted hereunder, each Recipient hereby assumes sole -responsibility to secure any other intellectual property rights needed, if any. -For example, if a third party patent license is required to allow Recipient to -distribute the Program, it is Recipient's responsibility to acquire that license -before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its -own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title and -non-infringement, and implied warranties or conditions of merchantability and -fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for -damages, including direct, indirect, special, incidental and consequential -damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered by -that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, -and informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the -Program. - -Each Contributor must identify itself as the originator of its Contribution, if -any, in a manner that reasonably allows subsequent Recipients to identify the -originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor who -includes the Program in a commercial product offering should do so in a manner -which does not create potential liability for other Contributors. Therefore, if -a Contributor includes the Program in a commercial product offering, such -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, damages -and costs (collectively "Losses") arising from claims, lawsuits and other legal -actions brought by a third party against the Indemnified Contributor to the -extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor to -control, and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may participate in -any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If that -Commercial Contributor then makes performance claims, or offers warranties -related to Product X, those performance claims and warranties are such -Commercial Contributor's responsibility alone. Under this section, the -Commercial Contributor would have to defend claims against the other -Contributors related to those performance claims and warranties, and if a court -requires any other Contributor to pay any damages as a result, the Commercial -Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED 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. Each -Recipient is solely responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its exercise of -rights under this Agreement , including but not limited to the risks and costs -of program errors, compliance with applicable laws, damage to or loss of data, -programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), 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 OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS -GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable -law, it shall not affect the validity or enforceability of the remainder of the -terms of this Agreement, and without further action by the parties hereto, such -provision shall be reformed to the minimum extent necessary to make such -provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Program itself -(excluding combinations of the Program with other software or hardware) -infringes such Recipient's patent(s), then such Recipient's rights granted under -Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and does -not cure such failure in a reasonable period of time after becoming aware of -such noncompliance. If all Recipient's rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as -reasonably practicable. However, Recipient's obligations under this Agreement -and any licenses granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in -order to avoid inconsistency the Agreement is copyrighted and may only be -modified in the following manner. The Agreement Steward reserves the right to -publish new versions (including revisions) of this Agreement from time to time. -No one other than the Agreement Steward has the right to modify this Agreement. -The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation -may assign the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) may always -be distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to distribute the Program (including its Contributions) -under the new version. Except as expressly stated in Sections 2(a) and 2(b) -above, Recipient receives no rights or licenses to the intellectual property of -any Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted under -this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the -intellectual property laws of the United States of America. No party to this -Agreement will bring a legal action under this Agreement more than one year -after the cause of action arose. Each party waives its rights to a jury trial in -any resulting litigation. - - ------------------------------------------------------------------------------- -GNU General Public License, version 2 or later - Mozilla Rhino ------------------------------------------------------------------------------- - -GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. - - ------------------------------------------------------------------------------- -GNU General Public License, version 2 with the Classpath Exception - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension ------------------------------------------------------------------------------- - -The GNU General Public License (GPL) Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, -Suite 330, Boston, MA 02111-1307 USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free software--to -make sure the software is free for all its users. This General Public -License applies to most of the Free Software Foundation's software and -to any other program whose authors commit to using it. (Some other Free -Software Foundation software is covered by the GNU Library General -Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have the -freedom to distribute copies of free software (and charge for this -service if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone -to deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis -or for a fee, you must give the recipients all the rights that you have. -You must make sure that they, too, receive or can get the source code. -And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - -Finally, any free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent must -be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a -notice placed by the copyright holder saying it may be distributed under -the terms of this General Public License. The "Program", below, refers -to any such program or work, and a "work based on the Program" means -either the Program or any derivative work under copyright law: that is -to say, a work containing the Program or a portion of it, either -verbatim or with modifications and/or translated into another language. -(Hereinafter, translation is included without limitation in the term -"modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of running -the Program is not restricted, and the output from the Program is -covered only if its contents constitute a work based on the Program -(independent of having been made by running the Program). Whether that -is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source -code as you receive it, in any medium, provided that you conspicuously -and appropriately publish on each copy an appropriate copyright notice -and disclaimer of warranty; keep intact all the notices that refer to -this License and to the absence of any warranty; and give any other -recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of -it, thus forming a work based on the Program, and copy and distribute -such modifications or work under the terms of Section 1 above, provided -that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices stating - that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in whole - or in part contains or is derived from the Program or any part thereof, - to be licensed as a whole at no charge to all third parties under the - terms of this License. - - c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use in - the most ordinary way, to print or display an announcement including an - appropriate copyright notice and a notice that there is no warranty (or - else, saying that you provide a warranty) and that users may - redistribute the program under these conditions, and telling the user - how to view a copy of this License. (Exception: if the Program itself is - interactive but does not normally print such an announcement, your work - based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, and -can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on -the Program, the distribution of the whole must be on the terms of this -License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of a -storage or distribution medium does not bring the other work under the -scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections -1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable source - code, which must be distributed under the terms of Sections 1 and 2 - above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three years, to - give any third party, for a charge no more than your cost of physically - performing source distribution, a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed only - for noncommercial distribution and only if you received the program in - object code or executable form with such an offer, in accord with - Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source code -means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to control -compilation and installation of the executable. However, as a special -exception, the source code distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies the -executable. - -If distribution of executable or object code is made by offering access -to copy from a designated place, then offering equivalent access to copy -the source code from the same place counts as distribution of the source -code, even though third parties are not compelled to copy the source -along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt otherwise -to copy, modify, sublicense or distribute the Program is void, and will -automatically terminate your rights under this License. However, parties -who have received copies, or rights, from you under this License will -not have their licenses terminated so long as such parties remain in -full compliance. - -5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and all -its terms and conditions for copying, distributing or modifying the -Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further restrictions -on the recipients' exercise of the rights granted herein. You are not -responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot distribute -so as to satisfy simultaneously your obligations under this License and -any other pertinent obligations, then as a consequence you may not -distribute the Program at all. For example, if a patent license would -not permit royalty-free redistribution of the Program by all those who -receive copies directly or indirectly through you, then the only way you -could satisfy both it and this License would be to refrain entirely from -distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is implemented -by public license practices. Many people have made generous -contributions to the wide range of software distributed through that -system in reliance on consistent application of that system; it is up to -the author/donor to decide if he or she is willing to distribute -software through any other system and a licensee cannot impose that -choice. - -This section is intended to make thoroughly clear what is believed to be -a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License may -add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among countries -not thus excluded. In such case, this License incorporates the -limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Program does not specify a version -number of this License, you may choose any version ever published by the -Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the -author to ask for permission. For software which is copyrighted by the -Free Software Foundation, write to the Free Software Foundation; we -sometimes make exceptions for this. Our decision will be guided by the -two goals of preserving the free status of all derivatives of our free -software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH -YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF -THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR -OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - -To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - Copyright (C) - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author Gnomovision - comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is - free software, and you are welcome to redistribute it under certain - conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the commands -you use may be called something other than `show w' and `show c'; they -could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - signature of Ty Coon, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications -with the library. If this is what you want to do, use the GNU Library -General Public License instead of this License. - -# - -"CLASSPATH" EXCEPTION TO THE GPL VERSION 2 - -Certain source files distributed by Oracle are subject to the following -clarification and special exception to the GPL Version 2, but only where -Oracle has expressly included in the particular source file's header the -words "Oracle designates this particular file as subject to the -"Classpath" exception as provided by Oracle in the License file that -accompanied this code." - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License Version 2 cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under terms -of your choice, provided that you also meet, for each linked independent -module, the terms and conditions of the license of that module. An -independent module is a module which is not derived from or based on -this library. If you modify this library, you may extend this exception -to your version of the library, but you are not obligated to do so. If -you do not wish to do so, delete this exception statement from your -version. - - ------------------------------------------------------------------------------- -GNU Lesser General Public License, Version 2.1 - JAX-RS provider for JSON content type - Logback Access Module - Logback Classic Module - Logback Core Module ------------------------------------------------------------------------------- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - ------------------------------------------------------------------------------- -MIT License - SLF4J API Module ------------------------------------------------------------------------------- - -The MIT License - -Copyright (c) - -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. - - ------------------------------------------------------------------------------- -Mozilla Public License, Version 1.1 - Mozilla Rhino ------------------------------------------------------------------------------- - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "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 any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "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.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - 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. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (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 - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code 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 Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - 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 Code - 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 makes Commercial Use of - the Covered Code. - - (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) separate from the Contributor Version; - 3) 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 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. 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 than - 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.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under 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 version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version 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 any 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.7. Larger Works. - You may create a Larger Work by combining Covered Code 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 Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE 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 CODE 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 CODE - IS WITH YOU. SHOULD ANY COVERED CODE 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 CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.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. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. 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 CODE, - 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 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. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" 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 Code with only those - rights set forth herein. - -11. 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 - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, 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. - -12. 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. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - - -Dependencies with multiple licenses ------------------------------------ - -JAX-RS provider for JSON content type - Apache Software License, Version 2.0 - GNU Lesser General Public License, Version 2.1 - -Jetty Server - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Jetty Utilities - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Logback Access Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Classic Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Core Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -MIME streaming extension - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -Mozilla Rhino - GNU General Public License, version 2 or later - Mozilla Public License, Version 1.1 - -jersey-core - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-multipart - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-server - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jsr311-api - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - diff --git a/packaging/neo4j-desktop/NOTICE.txt b/packaging/neo4j-desktop/NOTICE.txt deleted file mode 100644 index 5601e893d2fbc..0000000000000 --- a/packaging/neo4j-desktop/NOTICE.txt +++ /dev/null @@ -1,148 +0,0 @@ -Neo4j -Copyright © 2002-2016 Network Engine for Objects in Lund AB (referred to -in this notice as "Neo Technology") - [http://neotechnology.com] - -This product includes software ("Software") developed by Neo Technology. - -The copyright in the bundled Neo4j graph database (including the -Software) is owned by Neo Technology. The Software developed and owned -by Neo Technology is licensed under the GNU AFFERO GENERAL PUBLIC -LICENSE Version 3 (http://www.fsf.org/licensing/licenses/agpl-3.0.html) -("AGPL") to all third parties and that license, as required by the AGPL, -is included in the LICENSE.txt file. - -However, if you have executed an End User Software License and Services -Agreement or an OEM Software License and Support Services Agreement, or -another commercial license agreement with Neo Technology or one of its -affiliates (each, a "Commercial Agreement"), the terms of the license in -such Commercial Agreement will supersede the AGPL and you may use the -software solely pursuant to the terms of the relevant Commercial -Agreement. - -Full license texts are found in LICENSES.txt. - -Third-party licenses --------------------- - -ASM License - ASM Core - -Apache Software License, Version 2.0 - Apache ServiceMix Bundles: jline-0.9.94 - Commons BeanUtils - Commons BeanUtils Core - Commons Collections - Commons Configuration - Commons Digester - Commons IO - Commons Lang - Commons Logging - ConcurrentLinkedHashMap - Data Mapper for Jackson - Jackson - JAX-RS provider for JSON content type - Jetty Server - Jetty Utilities - Lucene Core - parboiled-core - parboiled-scala - RRD4J - Servlet Specification API - -BSD - Scala License - Scala Library - -BSD License - Janino - -Bouncy Castle License - Legion of the Bouncy Castle Java Cryptography APIs - -Common Development and Distribution License Version 1.1 - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension - -Eclipse Public License, Version 1.0 - Jetty Server - Jetty Utilities - Logback Access Module - Logback Classic Module - Logback Core Module - -GNU General Public License, version 2 or later - Mozilla Rhino - -GNU General Public License, version 2 with the Classpath Exception - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension - -GNU Lesser General Public License, Version 2.1 - JAX-RS provider for JSON content type - Logback Access Module - Logback Classic Module - Logback Core Module - -MIT License - SLF4J API Module - -Mozilla Public License, Version 1.1 - Mozilla Rhino - -Dependencies with multiple licenses ------------------------------------ - -JAX-RS provider for JSON content type - Apache Software License, Version 2.0 - GNU Lesser General Public License, Version 2.1 - -Jetty Server - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Jetty Utilities - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Logback Access Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Classic Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Core Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -MIME streaming extension - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -Mozilla Rhino - GNU General Public License, version 2 or later - Mozilla Public License, Version 1.1 - -jersey-core - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-multipart - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-server - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jsr311-api - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - diff --git a/packaging/neo4j-desktop/pom.xml b/packaging/neo4j-desktop/pom.xml deleted file mode 100644 index 830987676ab32..0000000000000 --- a/packaging/neo4j-desktop/pom.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - org.neo4j.assembly - neo4j-standalone - 3.4.0-SNAPSHOT - ../standalone - - - 4.0.0 - - org.neo4j.build - neo4j-desktop - 3.4.0-SNAPSHOT - - Neo4j Desktop - Easy-to-use Neo4j database in an .exe - - - - - ${project.version} - - - - - org.neo4j.app - neo4j-server - ${project.version} - - - junit - junit - test - - - commons-codec - commons-codec - - - org.mockito - mockito-core - test - - - org.neo4j.app - neo4j-server - ${project.version} - test-jar - test - - - org.neo4j - neo4j-dbms - ${project.version} - - - org.neo4j - neo4j-io - ${project.version} - test-jar - test - - - org.apache.commons - commons-lang3 - - - org.neo4j - neo4j-kernel - ${project.version} - - - org.neo4j - neo4j-common - ${project.version} - test-jar - test - - - - - - - org.neo4j.build.plugins - licensing-maven-plugin - - notice-gpl-prefix.txt - - - - list-all-licenses-win - compile - - check - - - - licensing-requirements-base.xml - licensing-requirements-js.xml - licensing-requirements-browser.xml - licensing-requirements-win.xml - licensing-requirements-installer.xml - - ${project.artifactId}-${neo4j.version}-NOTICE-win.txt - list-prefix.txt - ${project.artifactId}-${neo4j.version}-LICENSES-win.txt - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - package - - shade - - - - - org.neo4j.desktop.Neo4jDesktop - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - - - org.codehaus.mojo - clirr-maven-plugin - - - default - none - - - - - - diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java deleted file mode 100644 index 23cb89fce4f4c..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -public final class DesktopIdentification -{ - private DesktopIdentification() - { - } - - public static void register() - { - System.setProperty( "unsupported.dbms.udc.source", "desktop" ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java deleted file mode 100644 index ae4ef73817717..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -import org.apache.commons.lang3.SystemUtils; - -import org.neo4j.desktop.config.Installation; -import org.neo4j.desktop.config.osx.DarwinInstallation; -import org.neo4j.desktop.config.unix.UnixInstallation; -import org.neo4j.desktop.config.windows.WindowsInstallation; -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.runtime.DatabaseActions; -import org.neo4j.desktop.ui.MainWindow; -import org.neo4j.desktop.ui.PlatformUI; - -import static org.neo4j.desktop.ui.Components.alert; - -/** - * The main class for starting the Neo4j desktop app window. The different components are wired up and started. - */ - -public final class Neo4jDesktop -{ - public static void main( String[] args ) - { - preStartInitialize(); - - Neo4jDesktop app = new Neo4jDesktop( new Parameters( args ) ); - app.start(); - } - - private final Parameters parameters; - - public Neo4jDesktop( Parameters parameters ) - { - this.parameters = parameters; - } - - public static void preStartInitialize() - { - PlatformUI.selectPlatformUI(); - DesktopIdentification.register(); - } - - private void start() - { - try - { - Installation installation = getInstallation(); - installation.initialize(); - - DesktopModel model = new DesktopModel( installation, parameters ); - DatabaseActions databaseActions = new DatabaseActions( model ); - addShutdownHook( databaseActions ); - - MainWindow window = new MainWindow( databaseActions, model ); - window.display(); - } - catch ( Exception e ) - { - alert( e.getMessage() ); - e.printStackTrace( System.out ); - } - } - - private Installation getInstallation() throws Exception - { - if ( SystemUtils.IS_OS_WINDOWS ) - { - return new WindowsInstallation(); - } - else if ( SystemUtils.IS_OS_MAC ) - { - return new DarwinInstallation(); - } - else - { - return new UnixInstallation(); - } - } - - protected void addShutdownHook( final DatabaseActions databaseActions ) - { - Runtime.getRuntime() - .addShutdownHook( new Thread() - { - @Override - public void run() - { - databaseActions.stop(); - } - } ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java deleted file mode 100644 index 9d1a834d5ac22..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -import java.io.File; - -import org.neo4j.helpers.Args; - -public class Parameters -{ - private File configurationsFile; - - public Parameters( String[] args ) - { - Args parsedArgs = Args.parse( args ); - - String path = parsedArgs.get( "config-file" ); - if ( path != null ) - { - configurationsFile = new File( path ); - } - } - - public File getConfigurationsFile() - { - return configurationsFile; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java deleted file mode 100644 index 22349a823a2b7..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config; - -import java.io.File; -import java.io.InputStream; -import java.net.URISyntaxException; -import org.neo4j.desktop.config.portable.Environment; - -/** - * The Installation represents the "static" part of the configuration on a particular system. It abstracts away - * operating system specifics. - */ -public interface Installation -{ - String NEO4J_CONFIG_FILENAME = "neo4j.conf"; - String NEO4J_VMOPTIONS_FILENAME = "neo4j-community.vmoptions"; - String DEFAULT_CONFIG_RESOURCE_NAME = "/org/neo4j/desktop/config/neo4j-default.conf"; - String DEFAULT_VMOPTIONS_TEMPLATE_RESOURCE_NAME = "/org/neo4j/desktop/config/vmoptions.template"; - String INSTALL_PROPERTIES_FILENAME = "install.properties"; - - /** - * Get a facade for interacting with the environment, such as opening file editors and browsing URLs. - */ - Environment getEnvironment(); - - /** - * Get the directory wherein the database will put its store files. - */ - File getDatabaseDirectory(); - - /** - * Get the directory where the configuration properties files are located. - */ - File getConfigurationDirectory(); - - /** - * Get the abstract path name that points to the neo4j-community.vmoptions file. - */ - File getVmOptionsFile(); - - /** - * Get the abstract path name that points to the neo4j.conf file. - */ - File getConfigurationsFile(); - - /** - * Initialize the installation, such that we make sure that the various configuration files - * exist where we expect them to. - */ - void initialize() throws Exception; - - /** - * Get the contents for a default neo4j.conf file. - */ - InputStream getDefaultDatabaseConfiguration(); - - /** - * Get the contents for a default neo4j-community.vmoptions file. - */ - InputStream getDefaultVmOptions(); - - /** - * Get the directory into which Neo4j Desktop has been installed. - */ - File getInstallationDirectory() throws URISyntaxException; - - /** - * Get the directory where the neo4j-desktop.jar file has been installed into. - */ - File getInstallationBinDirectory() throws URISyntaxException; - - /** - * Get the directory where bundled JRE binaries are located. - */ - File getInstallationJreBinDirectory() throws URISyntaxException; -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java deleted file mode 100644 index 53641a33158a1..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.osx; - -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.config.portable.Environment; - -class DarwinEnvironment extends Environment -{ - @Override - public void editFile( File file ) throws IOException, SecurityException - { - try - { - super.editFile( file ); - } - catch ( IOException | UnsupportedOperationException ex ) - { - Runtime.getRuntime().exec( new String[]{"open", "-nt", file.getAbsolutePath()} ); - } - } - - @Override - public void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws IOException - { - Runtime.getRuntime().exec( new String[] { "open", "-na", "Terminal", "openNeoTerminal.sh" } ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java deleted file mode 100644 index a0e17eb089ff6..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.osx; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.URISyntaxException; - -import org.neo4j.desktop.config.portable.Environment; -import org.neo4j.desktop.config.unix.UnixInstallation; - -public class DarwinInstallation extends UnixInstallation -{ - - public DarwinInstallation() - { - String filename = "openNeoTerminal.sh"; - - try - { - String[] scriptCommands = { - "#!/bin/bash", - "export PATH=$PATH:'" + this.getInstallationBinDirectory().getAbsolutePath().toString() + "':'" + - this.getInstallationJreBinDirectory().getAbsolutePath().toString() + "'", - "echo Neo4j Command Prompt", - "echo", - "echo This window is configured with Neo4j on the path.", - "echo", - "echo Available commands:", - "echo neo4j-shell", - "echo neo4j-import", - "bash"}; - - try ( FileWriter fileWriter = new FileWriter( new File( filename ), false ) ) - { - for ( String scriptCommand : scriptCommands ) - { - fileWriter.write( scriptCommand + "\n" ); - } - - String[] commands = {"bash", "-c", "chmod a+x " + filename}; - - Runtime.getRuntime().exec( commands ); - } - catch ( IOException ioe ) - { - System.out.println( "Error writing " + filename ); - } - } - catch ( URISyntaxException urise ) - { - System.out.println( "Error getting bin locations for " + filename ); - } - } - - public Environment getEnvironment() - { - return new DarwinEnvironment(); - } - - @Override - protected File getDefaultDirectory() - { - return new File( new File( System.getProperty( "user.home" ) ), "Documents" ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java deleted file mode 100644 index 94bbd5a7416e9..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - - -import java.awt.Desktop; -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -import static java.awt.Desktop.getDesktop; -import static java.awt.Desktop.isDesktopSupported; - -public abstract class Environment -{ - public void editFile( File file ) throws IOException - { - if ( isPortableEditFileSupported() ) - { - if ( !file.exists() ) - { - file.createNewFile(); - } - - getDesktop().edit( file ); - } - else - { - throw new UnsupportedOperationException( "Cannot edit " + file + ". Unsupported operation." ); - } - } - - public void openDirectory( File file ) throws IOException - { - if ( isPortableOpenSupported() ) - { - getDesktop().open( file ); - } - else - { - throw new UnsupportedOperationException( "Cannot openDirectory " + file + ". Unsupported operation." ); - } - } - - public void browse( String link ) throws IOException, URISyntaxException - { - if ( isPortableBrowseSupported() ) - { - getDesktop().browse( new URI( link ) ); - } - else - { - throw new UnsupportedOperationException( "Cannot browse " + link + ". Unsupported operation." ); - } - } - - public abstract void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws - IOException; - - protected boolean desktopSupports( Desktop.Action action ) - { - return isDesktopSupported() && getDesktop().isSupported( action ); - } - - protected boolean isPortableOpenSupported() - { - return desktopSupports( Desktop.Action.OPEN ); - } - - protected boolean isPortableBrowseSupported() - { - return desktopSupports( Desktop.Action.BROWSE ); - } - - protected boolean isPortableEditFileSupported() - { - return desktopSupports( Desktop.Action.EDIT ); - } - -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java deleted file mode 100644 index 260b14f823090..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.io.File; -import java.io.InputStream; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; - -import org.neo4j.desktop.config.Installation; - -import static java.lang.String.format; - -public abstract class PortableInstallation implements Installation -{ - - @Override - public File getDatabaseDirectory() - { - List locations = new ArrayList<>(); - - File defaultDirectory = getDefaultDirectory(); - File userHome = new File( System.getProperty( "user.home" ) ); - File userDir = new File( System.getProperty( "user.dir" ) ); - - locations.add( defaultDirectory ); - locations.add( userHome ); - - File documents = selectFirstWritableDirectoryOrElse( locations, userDir ); - File neo4jData = new File( documents, "Neo4j" ); - File graphdb = new File( neo4jData, "default.graphdb" ); - - mkdirs( graphdb, "Neo4j data directory" ); - - return graphdb; - } - - protected abstract File getDefaultDirectory(); - - private static File selectFirstWritableDirectoryOrElse( List locations, File defaultFile ) - { - File result = defaultFile.getAbsoluteFile(); - for ( File file : locations ) - { - File candidateFile = file.getAbsoluteFile(); - if ( candidateFile.exists() && candidateFile.isDirectory() && candidateFile.canWrite() ) - { - result = candidateFile; - break; - } - } - return result; - } - - @Override - public void initialize() throws Exception - { - File vmopts = getVmOptionsFile(); - - if ( !vmopts.exists() ) - { - createVmOptionsFile( vmopts ); - } - } - - @Override - public InputStream getDefaultDatabaseConfiguration() - { - return getResourceStream( DEFAULT_CONFIG_RESOURCE_NAME ); - } - - @Override - public InputStream getDefaultVmOptions() - { - return getResourceStream( DEFAULT_VMOPTIONS_TEMPLATE_RESOURCE_NAME ); - } - - @Override - public File getInstallationDirectory() throws URISyntaxException - { - return getInstallationBinDirectory().getParentFile(); - } - - @Override - public File getInstallationBinDirectory() throws URISyntaxException - { - File appFile = new File( Installation.class.getProtectionDomain().getCodeSource().getLocation().toURI() ); - return appFile.getParentFile(); - } - - @Override - public File getInstallationJreBinDirectory() throws URISyntaxException - { - return new File( getInstallationDirectory(), "jre/bin" ); - } - - private InputStream getResourceStream( String defaultDatabaseConfigResourceName ) - { - return PortableInstallation.class.getResourceAsStream( defaultDatabaseConfigResourceName ); - } - protected void mkdirs( File path, String description ) - { - if ( path.exists() ) - { - if ( !path.isDirectory() ) - { - throw new PathAlreadyExistException( path, description ); - } - } - else if ( !path.mkdirs() ) - { - throw new CannotMakeDirectory( path, description ); - } - } - - private static class PathAlreadyExistException extends RuntimeException - { - PathAlreadyExistException( File path, String description ) - { - super( format( "%s already exists but is not a %s.", description, path.getAbsolutePath() ) ); - } - } - - private static class CannotMakeDirectory extends RuntimeException - { - CannotMakeDirectory( File path, String description ) - { - super( format( "Could not make %s %s", description, path.getAbsolutePath() ) ); - } - } - - private static class CannotFindInstallationDirectory extends RuntimeException - { - - CannotFindInstallationDirectory( Exception cause ) - { - super( cause ); - } - - } - - private void createVmOptionsFile( File file ) throws Exception - { - Template template = new Template( getDefaultVmOptions() ); - template.write( file ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java deleted file mode 100644 index 4ea969c5d7c17..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.nio.charset.StandardCharsets; -import java.util.function.Function; - -public class Template -{ - private final InputStream templateFile; - private final VariableSubstitutor substitutor; - private Function substitutionFunction; - - public Template( InputStream templateFile ) - { - this.templateFile = templateFile; - substitutor = new VariableSubstitutor(); - substitutionFunction = name -> - { - String var = System.getenv( name ); - return var == null ? "" : var; - }; - } - - public void write( File file ) throws Exception - { - try ( BufferedReader reader = new BufferedReader( new InputStreamReader( templateFile, StandardCharsets.UTF_8 ) ); - PrintWriter writer = new PrintWriter( file ) ) - { - String input = reader.readLine(); - while ( input != null ) - { - String output = substitutor.substitute( input, substitutionFunction ); - - if ( output == null ) - { - continue; - } - - writer.println( output ); - input = reader.readLine(); - } - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java deleted file mode 100644 index d7ec23fe85636..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.util.function.Function; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -class VariableSubstitutor -{ - private static final Pattern DEFAULT_PATTERN = Pattern.compile( "\\$\\{([^\\}]+)\\}" ); - private final Pattern pattern; - - private VariableSubstitutor( Pattern pattern ) - { - this.pattern = pattern; - } - - VariableSubstitutor() - { - this( DEFAULT_PATTERN ); - } - - public String substitute( String input, Function substitutionFunction ) - { - if ( input.length() == 0 ) - { - return ""; - } - - StringBuilder result = new StringBuilder( ); - Matcher matcher = pattern.matcher( input ); - int cur = 0; - while ( matcher.find( cur ) ) - { - result.append( input.substring( cur, matcher.start() ) ); - result.append( substitutionFunction.apply( matcher.group( 1 ) ) ); - cur = matcher.end(); - } - - if ( cur < input.length() ) - { - result.append( input.substring( cur ) ); - } - - return result.toString(); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java deleted file mode 100644 index 9a88dabb72397..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.unix; - -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.config.portable.Environment; - -class UnixEnvironment extends Environment -{ - - public void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws IOException - { - throw new UnsupportedOperationException( - "Opening a command prompt is not currently supported on this operating system." ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java deleted file mode 100644 index 01ea960a2f13f..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.unix; - -import java.io.File; - -import org.neo4j.desktop.config.portable.Environment; -import org.neo4j.desktop.config.portable.PortableInstallation; - -public class UnixInstallation extends PortableInstallation -{ - @Override - public Environment getEnvironment() - { - return new UnixEnvironment(); - } - - @Override - public File getConfigurationDirectory() - { - // On UNIX derived systems it makes sense to put the configurations in the parent directory of the default.graphdb directory - File databaseDirectory = getDatabaseDirectory(); - return databaseDirectory.getParentFile(); - } - - @Override - public File getVmOptionsFile() - { - return new File( getConfigurationDirectory(), "." + NEO4J_VMOPTIONS_FILENAME ); - } - - @Override - public File getConfigurationsFile() - { - return new File( getConfigurationDirectory(), "." + NEO4J_CONFIG_FILENAME ); - } - - @Override - protected File getDefaultDirectory() - { - return new File( System.getProperty( "user.home" ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java deleted file mode 100644 index c239aee162e81..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.windows; - -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.config.portable.Environment; - -import static java.lang.Runtime.getRuntime; -import static java.lang.String.format; -import static org.apache.commons.lang.StringUtils.join; - -class WindowsEnvironment extends Environment -{ - - @Override - public void editFile( File file ) throws IOException, SecurityException - { - try - { - super.editFile( file ); - } - catch ( IOException | UnsupportedOperationException ex ) - { - getRuntime().exec( new String[]{"notepad", file.getAbsolutePath()} ); - } - } - - @Override - public void openDirectory( File directory ) throws IOException - { - try - { - super.openDirectory( directory ); - } - catch ( IOException | UnsupportedOperationException ex ) - { - getRuntime().exec( new String[]{"explorer", directory.getAbsolutePath()} ); - } - } - - @Override - public void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws IOException - { - String[] shellStartupCommands = { - format( "set PATH=\"%s\";\"%s\";%%PATH%%", jreBinDirectory, binDirectory ), - "set REPO=" + binDirectory, - "cd /D " + workingDirectory, - "echo Neo4j Command Prompt", - "echo.", - "echo This window is configured with Neo4j on the path.", - "echo.", - "echo Available commands:", - "echo * Neo4jShell", - "echo * Neo4jImport" - }; - - String[] cmdArray = { - "cmd", - "/C", - format( "start \"Neo4j Command Prompt\" cmd /K \"%s\"", join( shellStartupCommands, " && " ) ) - }; - - getRuntime().exec( cmdArray ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java deleted file mode 100644 index 7b0ec8a208343..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.windows; - -import java.io.File; -import java.io.FileInputStream; -import java.util.Properties; - -import org.neo4j.desktop.config.portable.Environment; -import org.neo4j.desktop.config.portable.PortableInstallation; - -import static javax.swing.filechooser.FileSystemView.getFileSystemView; - -public class WindowsInstallation extends PortableInstallation -{ - private final WindowsEnvironment environment; - private final Properties config = new Properties(); - - public WindowsInstallation() throws Exception - { - environment = new WindowsEnvironment(); - config.load( new FileInputStream( new File( getInstallationBinDirectory(), INSTALL_PROPERTIES_FILENAME ) ) ); - } - - @Override - public Environment getEnvironment() - { - return environment; - } - - @Override - protected File getDefaultDirectory() - { - return getFileSystemView().getDefaultDirectory(); - } - - @Override - public File getConfigurationDirectory() - { - File appData = new File( System.getenv( "APPDATA" ) ); - return new File( appData, config.getProperty( "win.appdata.subdir" ) ); - } - - @Override - public File getVmOptionsFile() - { - return new File( getConfigurationDirectory(), NEO4J_VMOPTIONS_FILENAME ); - } - - @Override - public File getConfigurationsFile() - { - return new File( getConfigurationDirectory(), NEO4J_CONFIG_FILENAME ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java deleted file mode 100644 index 354f10bd795fc..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java +++ /dev/null @@ -1,211 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; - -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; -import org.neo4j.desktop.runtime.DesktopConfigurator; -import org.neo4j.desktop.ui.DesktopModelListener; -import org.neo4j.graphdb.factory.GraphDatabaseSettings; -import org.neo4j.helpers.ListenSocketAddress; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.internal.Version; - -import static java.lang.String.format; - -public class DesktopModel -{ - private final Installation installation; - private final DesktopConfigurator serverConfigurator; - private final List listeners = new ArrayList<>(); - - public DesktopModel( Installation installation, Parameters parameters ) - { - this.installation = installation; - this.serverConfigurator = new DesktopConfigurator( installation, parameters, - installation.getDatabaseDirectory() ); - } - - public Config getConfig() - { - serverConfigurator.refresh(); - - for ( DesktopModelListener listener : listeners ) - { - listener.desktopModelChanged( this ); - } - - return serverConfigurator.configuration(); - } - - public String getNeo4jVersion() - { - return format( "%s", Version.getNeo4jVersion() ); - } - - public ListenSocketAddress getServerAddress() - { - return serverConfigurator.getServerAddress(); - } - - public File getDatabaseDirectory() - { - return new File( serverConfigurator.getDatabaseDirectory() ); - } - - public void setDatabaseDirectory( File databaseDirectory ) throws UnsuitableDirectoryException - { - verifyGraphDirectory(databaseDirectory); - serverConfigurator.setDatabaseDirectory( databaseDirectory ); - } - - public File getVmOptionsFile() - { - return installation.getVmOptionsFile(); - } - - public File getDatabaseConfigurationFile() - { - return serverConfigurator.getConfigurationsFile(); - } - - @SuppressWarnings( "ResultOfMethodCallIgnored" ) - public void prepareGraphDirectoryForStart() throws UnsuitableDirectoryException - { - File databaseDirectory = new File( serverConfigurator.getDatabaseDirectory() ); - verifyGraphDirectory( databaseDirectory ); - if ( !databaseDirectory.exists() ) - { - databaseDirectory.mkdirs(); - } - - File configurationFile = installation.getConfigurationsFile(); - if ( !configurationFile.exists() ) - { - try - { - writeDefaultDatabaseConfiguration( configurationFile ); - } - catch ( IOException e ) - { - throw new UnsuitableDirectoryException( "Unable to write default configuration to %s", - databaseDirectory ); - } - } - } - - private static void verifyGraphDirectory( File dir ) throws UnsuitableDirectoryException - { - if ( !dir.isDirectory() ) - { - throw new UnsuitableDirectoryException( "%s is not a directory", dir ); - } - - if ( !dir.canWrite() ) - { - throw new UnsuitableDirectoryException( "%s is not writable", dir ); - } - - String[] fileNames = dir.list( ( dir1, name ) -> ! name.startsWith( "." ) ); - - if ( 0 == fileNames.length ) - { - return; - } - - for ( String fileName : fileNames ) - { - if ( fileName.startsWith( "neostore" ) || fileName.equals( Config.DEFAULT_CONFIG_FILE_NAME ) ) - { - return; - } - } - - throw new UnsuitableDirectoryException( - "%s is neither empty nor does it contain a neo4j graph database", dir ); - } - - public void register( DesktopModelListener desktopModelListener ) - { - listeners.add( desktopModelListener ); - } - - public void editFile( File file ) throws IOException - { - installation.getEnvironment().editFile( file ); - } - - public void openBrowser( String url ) throws IOException, URISyntaxException - { - installation.getEnvironment().browse( url ); - } - - public void writeDefaultDatabaseConfiguration( File file ) throws IOException - { - InputStream defaults = installation.getDefaultDatabaseConfiguration(); - writeInto( file, defaults ); - } - - private void writeInto( File file, InputStream data ) throws IOException - { - if ( data != null ) - { - try ( BufferedReader reader = new BufferedReader( new InputStreamReader( data ) ); - PrintWriter writer = new PrintWriter( file ) ) - { - String input = reader.readLine(); - while ( input != null ) - { - writer.println( input ); - input = reader.readLine(); - } - } - } - } - - public File getPluginsDirectory() - { - return serverConfigurator.configuration().get( GraphDatabaseSettings.plugin_dir ); - } - - public void openDirectory( File directory ) throws IOException - { - installation.getEnvironment().openDirectory( directory ); - } - - public void launchCommandPrompt() throws IOException, URISyntaxException - { - installation.getEnvironment().openCommandPrompt( - installation.getInstallationBinDirectory(), - installation.getInstallationJreBinDirectory(), - installation.getDatabaseDirectory().getParentFile() ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java deleted file mode 100644 index 8157782108c11..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.nio.file.Paths; -import java.util.Scanner; - -public class LastLocation -{ - private LastLocation() - { - } - - public static String getLastLocation( String defaultLocation ) - { - File file = new File( ".dblocation" ); - String location = defaultLocation; - - if ( file.exists() && file.canRead() ) - { - try ( Scanner scanner = new Scanner( file ) ) - { - if ( scanner.hasNextLine() ) - { - location = scanner.nextLine(); - } - } - catch ( FileNotFoundException fnfe ) - { - fnfe.printStackTrace(); - } - } - - return location; - } - - public static String setLastLocation( String location ) - { - try - { - java.nio.file.Files.write( Paths.get( ".dblocation" ),location.getBytes() ); - } - catch ( IOException ioe ) - { - System.out.println( "Error saving DB location" ); - System.out.println( ioe ); - } - - return location; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java deleted file mode 100644 index 8f3f41aef6290..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model; - -public interface SysTrayListener -{ - void open(); - void exit(); -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java deleted file mode 100644 index ab0bbe4282cd6..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model.exceptions; - -public class UnableToStartServerException extends Exception -{ - public UnableToStartServerException( String message ) - { - super( message ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java deleted file mode 100644 index 670c35798c906..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model.exceptions; - -import java.io.File; - -import static java.lang.String.format; - -public class UnsuitableDirectoryException extends Exception -{ - public UnsuitableDirectoryException( String message, File dir ) - { - super( format( message, dir.getAbsolutePath() ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java deleted file mode 100644 index d22897e204c48..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.net.BindException; -import java.util.HashSet; -import java.util.Set; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.exceptions.UnableToStartServerException; -import org.neo4j.desktop.ui.MainWindow; -import org.neo4j.kernel.GraphDatabaseDependencies; -import org.neo4j.kernel.StoreLockException; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.monitoring.Monitors; -import org.neo4j.logging.FormattedLogProvider; -import org.neo4j.logging.LogProvider; -import org.neo4j.server.AbstractNeoServer; -import org.neo4j.server.CommunityNeoServer; -import org.neo4j.server.ServerStartupException; - -/** - * Lifecycle actions for the Neo4j server living inside this JVM. Typically reacts to button presses - * from {@link MainWindow}. - */ - -public class DatabaseActions -{ - private final DesktopModel model; - private AbstractNeoServer server; - - public DatabaseActions( DesktopModel model ) - { - this.model = model; - } - - public void start() throws UnableToStartServerException - { - if ( isRunning() ) - { - throw new UnableToStartServerException( "Already started" ); - } - - Config config = model.getConfig(); - Monitors monitors = new Monitors(); - - LogProvider userLogProvider = FormattedLogProvider.toOutputStream( System.out ); - GraphDatabaseDependencies dependencies = GraphDatabaseDependencies.newDependencies() - .userLogProvider( userLogProvider ).monitors( monitors ); - - server = new CommunityNeoServer( config, dependencies, userLogProvider ); - - try - { - server.start(); - } - catch ( ServerStartupException e ) - { - server = null; - Set causes = extractCauseTypes( e ); - if ( causes.contains( StoreLockException.class ) ) - { - throw new UnableToStartServerException( - "Unable to lock store. Are you running another Neo4j process against this database?" ); - } - if ( causes.contains( BindException.class ) ) - { - throw new UnableToStartServerException( - "Unable to bind to port. Are you running another Neo4j process on this computer?" ); - } - throw new UnableToStartServerException( e.getMessage() ); - } - } - - public void stop() - { - if ( isRunning() ) - { - server.stop(); - server = null; - } - } - - private boolean isRunning() - { - return server != null; - } - - private Set extractCauseTypes( Throwable e ) - { - Set types = new HashSet<>(); - types.add( e.getClass() ); - - if ( e.getCause() != null ) - { - types.addAll( extractCauseTypes( e.getCause() ) ); - } - - return types; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java deleted file mode 100644 index eadef84df5010..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.io.File; -import java.util.Optional; - -import org.neo4j.dbms.DatabaseManagementSystemSettings; -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.helpers.ListenSocketAddress; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.configuration.HttpConnector; -import org.neo4j.logging.FormattedLog; - -public class DesktopConfigurator -{ - private final Installation installation; - - private Config config; - private final Parameters parameters; - private File dbDir; - - public DesktopConfigurator( Installation installation, Parameters parameters, File databaseDirectory ) - { - this.installation = installation; - this.parameters = parameters; - this.dbDir = databaseDirectory; - refresh(); - } - - public void refresh() - { - config = Config.fromFile( getConfigurationsFile() ) - .withHome( dbDir.getAbsoluteFile() ) - .withServerDefaults() - .withSetting( DatabaseManagementSystemSettings.database_path, dbDir.getAbsolutePath() ).build(); - - config.setLogger( FormattedLog.toOutputStream( System.out ) ); - } - - public File getConfigurationsFile() - { - return Optional.ofNullable( parameters.getConfigurationsFile() ) - .orElse( installation.getConfigurationsFile() ); - } - - public Config configuration() - { - return config; - } - - public void setDatabaseDirectory( File directory ) - { - dbDir = directory; - refresh(); - } - - public String getDatabaseDirectory() - { - return dbDir.getAbsolutePath(); - } - - public ListenSocketAddress getServerAddress() - { - return config.get( config.httpConnectors().stream() - .findFirst() - .orElse( new HttpConnector( "http" ) ) - .listen_address ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java deleted file mode 100644 index 052700a17f8da..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import org.apache.commons.lang3.SystemUtils; - -import java.awt.FileDialog; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import javax.swing.JFileChooser; -import javax.swing.JFrame; -import javax.swing.JTextField; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.LastLocation; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; - -import static javax.swing.JFileChooser.APPROVE_OPTION; -import static javax.swing.JFileChooser.CUSTOM_DIALOG; -import static javax.swing.JFileChooser.DIRECTORIES_ONLY; -import static javax.swing.JOptionPane.CANCEL_OPTION; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static javax.swing.JOptionPane.OK_CANCEL_OPTION; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedConfirmDialog; - -class BrowseForDatabaseActionListener implements ActionListener -{ - private final JFrame frame; - private final JTextField directoryDisplay; - private final DesktopModel model; - - BrowseForDatabaseActionListener( JFrame frame, JTextField directoryDisplay, DesktopModel model ) - { - this.model = model; - this.frame = frame; - this.directoryDisplay = directoryDisplay; - } - - @Override - public void actionPerformed( ActionEvent e ) - { - File selectedFile = null; - boolean cancelled = false; - boolean validLocation = false; - - while ( !validLocation && !cancelled ) - { - if ( SystemUtils.IS_OS_MAC ) - { - selectedFile = macFileSelection(); - } - else - { - selectedFile = fileSelection(); - } - - try - { - model.setDatabaseDirectory( selectedFile ); - directoryDisplay.setText( selectedFile.getAbsolutePath() ); - - validLocation = true; - - LastLocation.setLastLocation( selectedFile.getAbsolutePath() ); - } - catch ( UnsuitableDirectoryException ude ) - { - int choice = showWrappedConfirmDialog( frame, "Please choose a different folder." + "\n" + ude.getStackTrace(), - "Invalid folder selected", OK_CANCEL_OPTION, ERROR_MESSAGE ); - - if ( choice == CANCEL_OPTION ) - { - cancelled = true; - } - } - } - } - - private File fileSelection() - { - File selectedFile = null; - - JFileChooser fileChooser = new JFileChooser(); - fileChooser.setFileSelectionMode( DIRECTORIES_ONLY ); - fileChooser.setCurrentDirectory( new File( directoryDisplay.getText() ) ); - fileChooser.setDialogTitle( "Select database" ); - fileChooser.setDialogType( CUSTOM_DIALOG ); - - int choice = fileChooser.showOpenDialog( frame ); - - if ( choice == APPROVE_OPTION ) - { - selectedFile = fileChooser.getSelectedFile(); - } - - return selectedFile; - } - - private File macFileSelection() - { - System.setProperty( "apple.awt.fileDialogForDirectories", "true" ); - FileDialog fileDialog = new FileDialog( frame ); - - fileDialog.setDirectory( directoryDisplay.getText() ); - fileDialog.setVisible( true ); - - File selectedFile = new File( fileDialog.getDirectory(), fileDialog.getFile() ); - System.setProperty( "apple.awt.fileDialogForDirectories", "false" ); - - return selectedFile; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java deleted file mode 100644 index f8cb40e673ab1..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import org.apache.commons.lang3.StringUtils; - -import java.awt.Color; -import java.awt.Component; -import java.awt.FlowLayout; -import java.awt.Font; -import java.awt.LayoutManager; -import java.awt.event.ActionListener; -import java.util.Map; -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; -import javax.swing.border.Border; - -import static java.awt.font.TextAttribute.UNDERLINE; -import static java.awt.font.TextAttribute.UNDERLINE_ON; -import static java.lang.String.format; -import static javax.swing.JOptionPane.WARNING_MESSAGE; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -@SuppressWarnings( "MagicConstant" ) -public final class Components -{ - public static final int BASE_SPACING_SIZE = 5; - public static final int DEFAULT_TEXT_COLUMNS = 50; - - private Components() - { - throw new UnsupportedOperationException(); - } - - static JPanel createPanel( Component... components ) - { - JPanel panel = new JPanel(); - for ( Component component : components ) - { - panel.add( component ); - } - return panel; - } - - static JPanel withBackground( Color color, JPanel panel ) - { - panel.setBackground( color ); - return panel; - } - - static JPanel withLayout( LayoutManager layout, JPanel panel ) - { - panel.setLayout( layout ); - return panel; - } - - static JPanel withBoxLayout( int axis, JPanel panel ) - { - return withLayout( new BoxLayout( panel, axis ), panel ); - } - - static JPanel withFlowLayout( int alignment, JPanel panel ) - { - return withLayout( new FlowLayout( alignment ), panel ); - } - - static JPanel withFlowLayout( JPanel panel ) - { - return withLayout( new FlowLayout(), panel ); - } - - static JPanel withSpacingBorder( JPanel panel ) - { - return withBorder( createSpacingBorder( 1 ), panel ); - } - - static JPanel withBorder( Border border, JPanel panel ) - { - panel.setBorder( border ); - return panel; - } - - static Border createSpacingBorder( int size ) - { - int inset = BASE_SPACING_SIZE * size; - return BorderFactory.createEmptyBorder( inset, inset, inset, inset ); - } - - static JPanel withTitledBorder( String title, JPanel panel ) - { - panel.setBorder( BorderFactory.createTitledBorder( title ) ); - return panel; - } - - static Component createVerticalSpacing() - { - return Box.createVerticalStrut( BASE_SPACING_SIZE ); - } - - static JTextField createUnmodifiableTextField( String text ) - { - return createUnmodifiableTextField( text, DEFAULT_TEXT_COLUMNS ); - } - - static JTextField createUnmodifiableTextField( String text, int columns ) - { - JTextField textField = new JTextField( text, columns ); - textField.setForeground( Color.GRAY ); - textField.setEditable( false ); - - return textField; - } - - static JButton createTextButton( String text, ActionListener actionListener ) - { - JButton button = new JButton( text ); - button.addActionListener( actionListener ); - return button; - } - - public static JLabel createLabel( String... textLines ) - { - return new JLabel( format( "%s", StringUtils.join( textLines, "
" ) ) ); - } - - static String ellipsis( String input ) - { - return format( "%s\u2026", input ); - } - - @SuppressWarnings( { "unchecked", "rawtypes" } ) - static Font underlined( Font font ) - { - Map attributes = font.getAttributes(); - attributes.put( UNDERLINE, UNDERLINE_ON ); - return font.deriveFont( attributes ); - } - - public static void alert( String message ) - { - showWrappedMessageDialog( null, message, "Alert", WARNING_MESSAGE ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java deleted file mode 100644 index 46f1d027e96ca..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Color; -import java.awt.Component; -import java.awt.FlowLayout; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import org.neo4j.desktop.model.DesktopModel; - -import static org.neo4j.desktop.ui.Components.createPanel; -import static org.neo4j.desktop.ui.Components.ellipsis; -import static org.neo4j.desktop.ui.Components.withBackground; -import static org.neo4j.desktop.ui.Components.withLayout; - -public enum DatabaseStatus -{ - STOPPED, - STARTING, - STARTED, - STOPPING; - public static final Color STOPPED_COLOR = new Color( 1.0f, 0.5f, 0.5f ); - public static final Color CHANGING_COLOR = new Color( 1.0f, 1.0f, 0.5f ); - public static final Color STARTED_COLOR = new Color( 0.5f, 1.0f, 0.5f ); - - public Component display( DesktopModel model ) - { - switch ( this ) - { - case STOPPED: - return createTextStatusDisplay( STOPPED_COLOR, "Choose a graph database directory, " + - "then start the server" ); - case STARTING: - return createTextStatusDisplay( CHANGING_COLOR, ellipsis( "In just a few seconds, Neo4j will be ready" ) ); - case STARTED: - return createStartedStatusDisplay( model ); - case STOPPING: - return createTextStatusDisplay( CHANGING_COLOR, ellipsis( "Neo4j is shutting down" ) ); - default: - throw new IllegalStateException(); - } - } - - private static JPanel createTextStatusDisplay( Color color, String text ) - { - return createStatusDisplay( color, new JLabel( text ) ); - } - - private static JPanel createStartedStatusDisplay( DesktopModel model ) - { - final JLabel link = new JLabel( "http://localhost:7474/" ); - - model.register( model1 -> link.setText("http://" + model1.getServerAddress() + "/") ); - - link.setFont( Components.underlined( link.getFont() ) ); - link.addMouseListener( new OpenBrowserMouseListener( link, model ) ); - - return createStatusDisplay( STARTED_COLOR, new JLabel( "Neo4j is ready. Browse to " ), link ); - } - - private static JPanel createStatusDisplay( Color color, Component... components ) - { - return withBackground( color, withLayout( new FlowLayout(), createPanel( components ) ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java deleted file mode 100644 index dc63dc427620a..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import org.neo4j.desktop.model.DesktopModel; - -/** - * Listeners interested in changes to the DesktopModel. - * - */ -public interface DesktopModelListener -{ - - void desktopModelChanged( DesktopModel model ); - -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java deleted file mode 100644 index 6255ef14fc8b5..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.model.DesktopModel; - -import static java.lang.String.format; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static javax.swing.JOptionPane.showMessageDialog; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -public abstract class EditFileActionListener implements ActionListener -{ - private final Component parentComponent; - private final DesktopModel model; - - EditFileActionListener( Component parentComponent, DesktopModel model ) - { - this.parentComponent = parentComponent; - this.model = model; - } - - protected abstract File getFile(); - - @Override - public void actionPerformed( ActionEvent event ) - { - File file = getFile().getAbsoluteFile(); - if ( null == file ) - { - showMessageDialog( parentComponent, - "Did not find location of .vmoptions file", - "Error", - ERROR_MESSAGE ); - return; - } - try - { - ensureFileAndParentDirectoriesExists( file ); - model.editFile( file ); - } - catch ( IOException e ) - { - e.printStackTrace( System.out ); - showWrappedMessageDialog( parentComponent, - format( "Couldn't openDirectory %s, please openDirectory the file manually", file ), - "Error", - ERROR_MESSAGE ); - } - } - - @SuppressWarnings( "ResultOfMethodCallIgnored" ) - protected void ensureFileAndParentDirectoriesExists( File file ) throws IOException - { - file.getParentFile().mkdirs(); - if ( !file.exists() ) - { - file.createNewFile(); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java deleted file mode 100644 index 6dabff18c3bb2..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Image; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import javax.imageio.ImageIO; - -import static java.lang.String.format; - -public final class Graphics -{ - public static final String LOGO = "/neo4j-logo.png"; - public static final String SYSTEM_TRAY_ICON = "/neo4j-systray-16.png"; - - private static final String ICON_PATTERN = "/neo4j-icon_%1$dx%1$d.png"; - private static final int MIN_SIZE = 16; - private static final int MAX_SIZE = 512; - - private Graphics() - { - throw new UnsupportedOperationException(); - } - - static List loadIcons() - { - List icons = new ArrayList<>(); - for ( int i = MIN_SIZE; i <= MAX_SIZE; i *= 2 ) - { - Image image = loadImage( format( ICON_PATTERN, i ) ); - if ( null != image ) - { - icons.add( image ); - } - } - - return icons; - } - - static Image loadImage( String resource ) - { - try - { - return ImageIO.read( Components.class.getResource( resource ) ); - } - catch ( IOException e ) - { - throw new IllegalStateException( e ); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java deleted file mode 100644 index 9ae337d699fd9..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.CardLayout; -import java.awt.Component; -import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.io.File; -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.ImageIcon; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.LastLocation; -import org.neo4j.desktop.model.SysTrayListener; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; -import org.neo4j.desktop.runtime.DatabaseActions; - -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static javax.swing.JOptionPane.OK_OPTION; -import static javax.swing.SwingUtilities.invokeLater; -import static org.neo4j.desktop.ui.Components.createPanel; -import static org.neo4j.desktop.ui.Components.createUnmodifiableTextField; -import static org.neo4j.desktop.ui.Components.createVerticalSpacing; -import static org.neo4j.desktop.ui.Components.ellipsis; -import static org.neo4j.desktop.ui.Components.withBoxLayout; -import static org.neo4j.desktop.ui.Components.withFlowLayout; -import static org.neo4j.desktop.ui.Components.withLayout; -import static org.neo4j.desktop.ui.Components.withSpacingBorder; -import static org.neo4j.desktop.ui.Components.withTitledBorder; -import static org.neo4j.desktop.ui.DatabaseStatus.STARTED; -import static org.neo4j.desktop.ui.DatabaseStatus.STOPPED; -import static org.neo4j.desktop.ui.Graphics.loadImage; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedConfirmDialog; - -/** - * The main window of the Neo4j Desktop. Able to start/stop a database as well as providing access to some - * advanced configuration options, such as heap size and database properties. - */ - -public class MainWindow extends JFrame -{ - private final DesktopModel model; - - private JPanel rootPanel; - - private JButton optionsButton; - private JButton browseButton; - private JButton startButton; - private JButton stopButton; - - private JTextField directoryDisplay; - - private JPanel statusPanel; - private CardLayout statusPanelLayout; - - private SystemOutDebugWindow debugWindow; - - private SysTray sysTray; - - private DatabaseActions databaseActions; - - private DatabaseStatus databaseStatus; - - public MainWindow( DatabaseActions databaseActions, DesktopModel model ) - { - super( "Neo4j Community Edition" ); - - this.model = model; - this.databaseActions = databaseActions; - this.debugWindow = new SystemOutDebugWindow(); - - createComponents(); - setupComponents(); - - updateStatus( STOPPED ); - - try - { - model.setDatabaseDirectory( new File( LastLocation.getLastLocation( model.getDatabaseDirectory().getAbsolutePath() ) ) ); - } - catch ( UnsuitableDirectoryException ude ) - { - showWrappedConfirmDialog( this, "Please choose a different folder." + "\n" + ude.getStackTrace(), - "Invalid folder selected", OK_OPTION, ERROR_MESSAGE ); - } - } - - private JPanel createRootPanel( JTextField directoryDisplay, JButton browseButton, Component statusPanel, - JButton startButton, JButton stopButton, JButton settingsButton ) - { - return withSpacingBorder( withBoxLayout( BoxLayout.Y_AXIS, - createPanel( createLogoPanel(), createSelectionPanel( directoryDisplay, browseButton ), statusPanel, - createVerticalSpacing(), createActionPanel( startButton, stopButton, settingsButton ) ) ) ); - } - - private void createComponents() - { - String lastLocation = LastLocation.getLastLocation( model.getDatabaseDirectory().getAbsolutePath() ); - directoryDisplay = createUnmodifiableTextField( lastLocation, 35 ); - - optionsButton = createOptionsButton(); - browseButton = createBrowseButton(); - startButton = createStartButton(); - stopButton = createStopButton(); - - statusPanelLayout = new CardLayout(); - statusPanel = createStatusPanel( statusPanelLayout ); - - rootPanel = createRootPanel( directoryDisplay, browseButton, statusPanel, startButton, stopButton, optionsButton ); - - } - - private void setupComponents() - { - setIconImages( Graphics.loadIcons() ); - sysTray = new SysTray( new SysTrayHandler() ); - - add( rootPanel ); - pack(); - setResizable( false ); - } - - public void display() - { - setLocationRelativeTo( null ); - setVisible( true ); - } - - private JPanel createLogoPanel() - { - return withFlowLayout( FlowLayout.LEFT, createPanel( new JLabel( new ImageIcon( loadImage( Graphics.LOGO ) ) ), - new JLabel( model.getNeo4jVersion() ) ) ); - } - - private JPanel createActionPanel( JButton startButton, JButton stopButton, JButton settingsButton ) - { - return withBoxLayout( BoxLayout.LINE_AXIS, - createPanel( settingsButton, Box.createHorizontalGlue(), stopButton, startButton ) ); - } - - private JButton createOptionsButton() - { - return Components.createTextButton( ellipsis( "Options" ), e -> - { - JDialog settingsDialog = new SettingsDialog( MainWindow.this, model ); - settingsDialog.setLocationRelativeTo( null ); - settingsDialog.setVisible( true ); - } ); - } - - private JPanel createSelectionPanel( JTextField directoryDisplay, JButton selectButton ) - { - return withTitledBorder( "Database Location", withBoxLayout( BoxLayout.LINE_AXIS, - createPanel( directoryDisplay, selectButton ) ) ); - } - - protected void shutdown() - { - databaseActions.stop(); - debugWindow.dispose(); - this.dispose(); - - System.exit( 0 ); - } - - private JPanel createStatusPanel( CardLayout statusPanelLayout ) - { - JPanel panel = withLayout( statusPanelLayout, withTitledBorder( "Status", createPanel() ) ); - - for ( DatabaseStatus status : DatabaseStatus.values() ) - { - panel.add( status.name(), status.display( model ) ); - } - - panel.addMouseListener( new MouseAdapter() - { - @Override - public void mouseClicked( MouseEvent e ) - { - if ( MouseEvent.BUTTON1 == e.getButton() && e.isAltDown() ) - { - debugWindow.show(); - } - } - } ); - return panel; - } - - private JButton createBrowseButton() - { - ActionListener actionListener = new BrowseForDatabaseActionListener( this, directoryDisplay, model ); - return Components.createTextButton( ellipsis( "Choose" ), actionListener ); - } - - private JButton createStartButton() - { - return Components.createTextButton( "Start", new StartDatabaseActionListener( this, model, databaseActions ) ); - } - - private JButton createStopButton() - { - return Components.createTextButton( "Stop", e -> - { - updateStatus( DatabaseStatus.STOPPING ); - - invokeLater( () -> - { - databaseActions.stop(); - updateStatus( STOPPED ); - } ); - } ); - } - - public void updateStatus( DatabaseStatus status ) - { - browseButton.setEnabled( STOPPED == status ); - startButton.setEnabled( STOPPED == status ); - stopButton.setEnabled( STARTED == status ); - - statusPanelLayout.show( statusPanel, status.name() ); - sysTray.changeStatus( status ); - databaseStatus = status; - } - - private class SysTrayHandler implements SysTrayListener - { - @Override - public void open() - { - display(); - } - - @Override - public void exit() - { - shutdown(); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java deleted file mode 100644 index ce9f355f6834a..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Desktop; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.io.IOException; -import java.net.URISyntaxException; -import javax.swing.JLabel; - -import org.neo4j.desktop.model.DesktopModel; - -import static java.awt.Cursor.DEFAULT_CURSOR; -import static java.awt.Cursor.HAND_CURSOR; -import static java.awt.Cursor.getPredefinedCursor; -import static java.lang.String.format; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -/** - * {@link MouseListener} that can openDirectory links in the systems default browser, presumably using {@link Desktop}. - */ -public class OpenBrowserMouseListener extends MouseAdapter -{ - private final JLabel link; - private final DesktopModel model; - - public OpenBrowserMouseListener( JLabel link, DesktopModel model ) - { - this.link = link; - this.model = model; - } - - @Override - public void mouseClicked( MouseEvent event ) - { - try - { - model.openBrowser( link.getText() ); - } - catch ( IOException | URISyntaxException e ) - { - e.printStackTrace( System.out ); - showError( e ); - } - } - - private void showError( Exception e ) - { - showWrappedMessageDialog( link, - format( "Couldn't openDirectory the browser: %s", e.getMessage() ), - "Error", - ERROR_MESSAGE ); - } - - @Override - public void mouseEntered( MouseEvent e ) - { - link.setCursor( getPredefinedCursor( HAND_CURSOR ) ); - } - - @Override - public void mouseExited( MouseEvent e ) - { - link.setCursor( getPredefinedCursor( DEFAULT_CURSOR ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java deleted file mode 100644 index 3006df3cf13a2..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.model.DesktopModel; - -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -public class OpenDirectoryActionListener implements ActionListener -{ - private final Component parent; - private final File directory; - private final DesktopModel model; - - public OpenDirectoryActionListener( Component parent, File directory, DesktopModel model ) - { - this.parent = parent; - this.directory = directory; - this.model = model; - } - - @Override - public void actionPerformed( ActionEvent e ) - { - if ( isExistingDirectory( directory ) || directory.mkdirs() ) - { - try - { - model.openDirectory( directory ); - } - catch ( IOException exception ) - { - String message = - "Could not openDirectory directory or create directory: " + directory + "\n\n" + exception.getMessage(); - showError( message ); - } - } - else - { - String message = "Could not openDirectory directory or create directory: " + directory; - showError( message ); - } - } - - private void showError( String message ) - { - showWrappedMessageDialog( parent, message, "Error", ERROR_MESSAGE ); - } - - private boolean isExistingDirectory( File directory ) - { - return directory.exists() && directory.isDirectory(); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java deleted file mode 100644 index 4461057591f1c..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; - -public class PlatformUI -{ - private PlatformUI() - { - } - - public static void selectPlatformUI() - { - try - { - UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); - } - catch ( ClassNotFoundException | UnsupportedLookAndFeelException | InstantiationException | - IllegalAccessException e ) - { - // don't care - e.printStackTrace( System.out ); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java deleted file mode 100644 index 2eaf957a280e7..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -import static javax.swing.JOptionPane.showConfirmDialog; -import static javax.swing.JOptionPane.showMessageDialog; - -@SuppressWarnings( "MagicConstant" ) -public class ScrollableOptionPane -{ - private ScrollableOptionPane() - { - } - - public static void showWrappedMessageDialog( Component parentComponent, String message, String title, - int messageType ) - { - showMessageDialog( parentComponent, createWrappingScrollPane( message ), title, messageType ); - } - - public static int showWrappedConfirmDialog( Component parentComponent, String message, String title, - int optionType, int messageType ) - { - return showConfirmDialog( parentComponent, createWrappingScrollPane( message ), title, optionType, messageType ); - } - - private static JScrollPane createWrappingScrollPane( String message ) - { - JTextArea view = new JTextArea( message, 10, 80 ); - view.setLineWrap( true ); - view.setEditable( false ); - view.setWrapStyleWord( true ); - return new JScrollPane( view ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java deleted file mode 100644 index ac3495b29cf0c..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import java.awt.FlowLayout; -import java.awt.Frame; -import java.io.File; -import java.io.IOException; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JDialog; - -import org.neo4j.desktop.model.DesktopModel; - -import static org.neo4j.desktop.ui.Components.alert; -import static org.neo4j.desktop.ui.Components.createLabel; -import static org.neo4j.desktop.ui.Components.createPanel; -import static org.neo4j.desktop.ui.Components.createTextButton; -import static org.neo4j.desktop.ui.Components.createUnmodifiableTextField; -import static org.neo4j.desktop.ui.Components.createVerticalSpacing; -import static org.neo4j.desktop.ui.Components.ellipsis; -import static org.neo4j.desktop.ui.Components.withBoxLayout; -import static org.neo4j.desktop.ui.Components.withFlowLayout; -import static org.neo4j.desktop.ui.Components.withSpacingBorder; -import static org.neo4j.desktop.ui.Components.withTitledBorder; - -class SettingsDialog extends JDialog -{ - private final DesktopModel model; - - SettingsDialog( Frame owner, DesktopModel model ) - { - super( owner, "Neo4j Community Edition - Options", true ); - this.model = model; - - getContentPane().add( withSpacingBorder( withBoxLayout( BoxLayout.Y_AXIS, createPanel( - createEditDatabaseConfigPanel( createEditDatabaseConfigurationButton() ), - createEditVmOptionsPanel( createEditVmOptionsButton() ), - createExtensionsPanel( createOpenPluginsDirectoryButton() ), - createVerticalSpacing(), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createTextButton( "Close", e -> close() ) ) ) - ) ) ) ); - - pack(); - } - - private void close() - { - setVisible( false ); - } - - private Component createCommandPromptPanel( JButton commandPromptButton ) - { - return withTitledBorder( "Command-line Tools", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - "Use the command prompt to run command-line tools such as neo4j-shell and neo4j-import." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( commandPromptButton ) ) ) ) ); - } - - private Component createEditDatabaseConfigPanel( JButton configurationButton ) - { - File configFile = model.getDatabaseConfigurationFile(); - return withTitledBorder( "Database Configuration", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - "neo4j.conf contains configuration such as cache settings and port bindings.", - "You will need to stop and re-start the database for changes to take effect." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createUnmodifiableTextField( configFile.getAbsolutePath() ), - configurationButton - ) ) - ) - ) ); - } - - private Component createEditVmOptionsPanel( JButton editVmOptionsButton ) - { - File vmOptionsFile = model.getVmOptionsFile(); - return withTitledBorder( "Java VM Tuning", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - vmOptionsFile.getName() + " is for adjusting Java VM settings, such as memory usage.", - "You will need to close and re-start this application for changes to take effect." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createUnmodifiableTextField( vmOptionsFile.getAbsolutePath() ), - editVmOptionsButton - ) ) - ) - ) ); - } - - private Component createExtensionsPanel( JButton openPluginsDirectoryButton ) - { - String pluginsDirectory = model.getPluginsDirectory().getAbsolutePath(); - return withTitledBorder( "Plugins and Extensions", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - "Neo4j looks for Server Plugins and Unmanaged Extensions in this folder." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createUnmodifiableTextField( pluginsDirectory ), - openPluginsDirectoryButton - ) ) - ) - ) ); - } - - private JButton createCommandPromptButton() - { - return Components.createTextButton( ellipsis( "Command Prompt" ), e -> - { - try - { - model.launchCommandPrompt(); - } - catch ( Exception exception ) - { - exception.printStackTrace(); - alert( exception.getMessage() ); - } - } ); - } - - private JButton createEditDatabaseConfigurationButton() - { - return Components.createTextButton( ellipsis( "Edit" ), new EditFileActionListener( this, model ) - { - @Override - protected File getFile() - { - return model.getDatabaseConfigurationFile(); - } - - @SuppressWarnings( "ResultOfMethodCallIgnored" ) - @Override - protected void ensureFileAndParentDirectoriesExists( File file ) throws IOException - { - file.getParentFile().mkdirs(); - if ( !file.exists() ) - { - model.writeDefaultDatabaseConfiguration( file ); - } - } - } ); - } - - private JButton createEditVmOptionsButton() - { - return Components.createTextButton( ellipsis( "Edit" ), new EditFileActionListener( this, model ) - { - @Override - protected File getFile() - { - return model.getVmOptionsFile(); - } - } ); - } - - private JButton createOpenPluginsDirectoryButton() - { - return Components.createTextButton( "Open", - new OpenDirectoryActionListener( this, model.getPluginsDirectory(), model ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java deleted file mode 100644 index 7936e735fd12c..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.exceptions.UnableToStartServerException; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; -import org.neo4j.desktop.runtime.DatabaseActions; - -import static javax.swing.SwingUtilities.invokeLater; -import static org.neo4j.desktop.ui.Components.alert; -import static org.neo4j.desktop.ui.DatabaseStatus.STARTED; -import static org.neo4j.desktop.ui.DatabaseStatus.STARTING; -import static org.neo4j.desktop.ui.DatabaseStatus.STOPPED; - -class StartDatabaseActionListener implements ActionListener -{ - private MainWindow mainWindow; - private final DesktopModel model; - private final DatabaseActions databaseActions; - - StartDatabaseActionListener( MainWindow mainWindow, DesktopModel model, DatabaseActions databaseActions ) - { - this.mainWindow = mainWindow; - this.model = model; - this.databaseActions = databaseActions; - } - - @Override - public void actionPerformed( ActionEvent event ) - { - mainWindow.updateStatus( STARTING ); - - invokeLater( new Runnable() - { - @Override - public void run() - { - try - { - model.prepareGraphDirectoryForStart(); - - databaseActions.start(); - mainWindow.updateStatus( STARTED ); - } - catch ( UnsuitableDirectoryException | UnableToStartServerException e ) - { - updateUserWithErrorMessageAndStatus( e ); - } - } - - private void updateUserWithErrorMessageAndStatus( Exception e ) - { - alert( e.getMessage() ); - mainWindow.updateStatus( STOPPED ); - } - } ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java deleted file mode 100644 index 1a6a0e5a9d0ce..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - - -import java.awt.AWTException; -import java.awt.MenuItem; -import java.awt.PopupMenu; -import java.awt.SystemTray; -import java.awt.TrayIcon; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -import org.neo4j.desktop.model.SysTrayListener; - -import static org.neo4j.desktop.ui.DatabaseStatus.STOPPED; -import static org.neo4j.desktop.ui.Graphics.loadImage; - -public class SysTray -{ - private TrayIcon trayIcon; - private SysTrayListener listener; - private final String iconResourceBaseName = Graphics.SYSTEM_TRAY_ICON; - - public SysTray( SysTrayListener listener ) - { - this.listener = listener; - - if ( SystemTray.isSupported() ) - { - try - { - init(); - } - catch ( AWTException ex ) - { - System.err.println( ex ); - } - } - } - - private void init() throws AWTException - { - trayIcon = new TrayIcon( loadImage( iconResourceBaseName ), formatTitle( STOPPED ) ); - - setupTrayIcon(); - SystemTray.getSystemTray().add( trayIcon ); - } - - private void setupTrayIcon() - { - PopupMenu popUpMenu = createPopupMenu(); - trayIcon.setPopupMenu( popUpMenu ); - - trayIcon.addActionListener( e -> listener.open() ); - - trayIcon.addMouseListener( new MouseAdapter() - { - @Override - public void mouseClicked( MouseEvent e ) - { - listener.open(); - } - } ); - } - - private PopupMenu createPopupMenu() - { - PopupMenu popUpMenu = new PopupMenu(); - MenuItem menuItemOpen = new MenuItem( "Open" ); - MenuItem menuItemExit = new MenuItem( "Exit" ); - - menuItemOpen.addActionListener( actionEvent -> listener.open() ); - - menuItemExit.addActionListener( actionEvent -> listener.exit() ); - - popUpMenu.add( menuItemOpen ); - popUpMenu.add( menuItemExit ); - - return popUpMenu; - } - - public void changeStatus( DatabaseStatus status ) - { - trayIcon.setToolTip( formatTitle( status ) ); - } - - private String formatTitle( DatabaseStatus status ) - { - String title = "Neo4j Community Edition"; - String formattedStatus = status.name().substring( 0, 1 ) + status.name().substring( 1 ).toLowerCase(); - - return title + " - " + formattedStatus; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java deleted file mode 100644 index 41392ec86a455..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.CardLayout; -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -import static javax.swing.WindowConstants.HIDE_ON_CLOSE; - -/** - * Useful for debugging purposes: an easy way to get access to that data in an environment where java is run without - * a console. - * - * When created will tee the System.out/err streams and pipe them into an unbounded byte array. - */ -public class SystemOutDebugWindow -{ - private static final int START_X = 100; - private static final int START_Y = 100; - private static final int START_WIDTH = 600; - private static final int START_HEIGHT = 800; - - private final ByteArrayOutputStream sysStreamCapture = new ByteArrayOutputStream(); - private PrintStream sysStreamPrinter; - private JFrame frame; - private JTextArea text; - - public SystemOutDebugWindow() - { - stealSystemOut(); - init(); - } - - private void stealSystemOut() - { - sysStreamPrinter = new PrintStream( new TeeOutputStream( System.out, sysStreamCapture ) ); - System.setOut( sysStreamPrinter ); - System.setErr( sysStreamPrinter ); - } - - private void init() - { - frame = new JFrame( "Debug" ); - JPanel panel = new JPanel(); - panel.setLayout( new CardLayout() ); - - sysStreamPrinter.flush(); - text = new JTextArea(); - panel.add( "status", text ); - frame.add( new JScrollPane( panel ) ); - - frame.pack(); - frame.setBounds( START_X, START_Y, START_WIDTH, START_HEIGHT ); - frame.setVisible( false ); - frame.setDefaultCloseOperation( HIDE_ON_CLOSE ); - } - - public void show() - { - sysStreamPrinter.flush(); - text.setText( sysStreamCapture.toString() ); - frame.setVisible( true ); - } - - public void dispose() - { - frame.dispose(); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java deleted file mode 100644 index 57f92b3bd9cef..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.io.IOException; -import java.io.OutputStream; - -public class TeeOutputStream extends OutputStream -{ - private final OutputStream a; - private final OutputStream b; - - public TeeOutputStream( OutputStream a, OutputStream b ) - { - this.a = a; - this.b = b; - } - - @Override - public void write( int data ) throws IOException - { - a.write( data ); - b.write( data ); - } -} diff --git a/packaging/neo4j-desktop/src/main/resources/.background/background.png b/packaging/neo4j-desktop/src/main/resources/.background/background.png deleted file mode 100644 index 94fd09a220ed7..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/.background/background.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_128x128.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_128x128.png deleted file mode 100644 index f9b46b71c50a6..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_128x128.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_16x16.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_16x16.png deleted file mode 100644 index 5a741bc2a6a98..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_16x16.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_256x256.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_256x256.png deleted file mode 100644 index d3ab0af6c08b6..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_256x256.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_32x32.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_32x32.png deleted file mode 100644 index 2728fb6deae38..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_32x32.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_512x512.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_512x512.png deleted file mode 100644 index c9e4a263f0eaf..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_512x512.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_64x64.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_64x64.png deleted file mode 100644 index 66f37e1b92afb..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_64x64.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_128x128.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_128x128.png deleted file mode 100644 index f9b46b71c50a6..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_128x128.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_16x16.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_16x16.png deleted file mode 100644 index 5a741bc2a6a98..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_16x16.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_256x256.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_256x256.png deleted file mode 100644 index d3ab0af6c08b6..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_256x256.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_32x32.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_32x32.png deleted file mode 100644 index 2728fb6deae38..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_32x32.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_512x512.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_512x512.png deleted file mode 100644 index c9e4a263f0eaf..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_512x512.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_64x64.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_64x64.png deleted file mode 100644 index 66f37e1b92afb..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_64x64.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-logo.png b/packaging/neo4j-desktop/src/main/resources/neo4j-logo.png deleted file mode 100644 index e00f90ffcbd41..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-logo.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-systray-16.png b/packaging/neo4j-desktop/src/main/resources/neo4j-systray-16.png deleted file mode 100644 index 5a741bc2a6a98..0000000000000 Binary files a/packaging/neo4j-desktop/src/main/resources/neo4j-systray-16.png and /dev/null differ diff --git a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf b/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf deleted file mode 100644 index 8ba99a840043a..0000000000000 --- a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf +++ /dev/null @@ -1,95 +0,0 @@ -#*************************************************************** -# Server configuration -# -# For more details and a complete list of settings, please see -# https://neo4j.com/docs/operations-manual/current/reference/configuration-settings/ -#*************************************************************** - -# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or uncomment it to -# allow files to be loaded from anywhere in filesystem; this introduces possible security problems. See the `LOAD CSV` -# section of the manual for details. -dbms.directories.import=import - -# Require (or disable the requirement of) auth to access Neo4j -dbms.security.auth_enabled=true - -# With default configuration Neo4j only accepts local connections. -# To accept non-local connections, uncomment this line: -#dbms.connectors.default_listen_address=0.0.0.0 - -# You can also choose a specific network interface, and configure a non-default -# port for each connector, by setting their individual listen_address. - -# The address at which this server can be reached by its clients. This may be the server's IP address or DNS name, or -# it may be the address of a reverse proxy which sits in front of the server. This setting may be overridden for -# individual connectors below. -#dbms.connectors.default_advertised_address=localhost - -# You can also choose a specific advertised hostname or IP address, and -# configure an advertised port for each connector, by setting their -# individual advertised_address. - -# Bolt connector -dbms.connector.bolt.enabled=true -#dbms.connector.bolt.tls_level=OPTIONAL -#dbms.connector.bolt.listen_address=:7687 - -# HTTP Connector -dbms.connector.http.enabled=true -#dbms.connector.http.listen_address=:#{default.http.port} - -# HTTPS Connector -dbms.connector.https.enabled=true -#dbms.connector.https.listen_address=:#{default.https.port} - -# Certificates directory -# dbms.directories.certificates=certificates - -#***************************************************************** -# Administration client configuration -#***************************************************************** - - -# Comma separated list of JAX-RS packages containing JAX-RS resources, one -# package name for each mountpoint. The listed package names will be loaded -# under the mountpoints specified. Uncomment this line to mount the -# org.neo4j.examples.server.unmanaged.HelloWorldResource.java from -# neo4j-examples under /examples/unmanaged, resulting in a final URL of -# http://localhost:${default.http.port}/examples/unmanaged/helloworld/{nodeId} -#dbms.unmanaged_extension_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged - -#***************************************************************** -# HTTP logging configuration -#***************************************************************** - -# HTTP logging is disabled. HTTP logging can be enabled by setting this -# property to 'true'. -dbms.logs.http.enabled=false - -# Enable this to be able to upgrade a store from an older version. -#dbms.allow_upgrade=true - -# The amount of memory to use for mapping the store files, in bytes (or -# kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). -# If Neo4j is running on a dedicated server, then it is generally recommended -# to leave about 2-4 gigabytes for the operating system, give the JVM enough -# heap to hold all your transaction state and query context, and then leave the -# rest for the page cache. -# The default page cache memory assumes the machine is dedicated to running -# Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size. -#dbms.memory.pagecache.size=10g - -# Enable this to specify a parser other than the default one. -#cypher.default_language_version=2.0 - -# Keep logical logs, helps debugging but uses more disk space, enabled for -# legacy reasons To limit space needed to store historical logs use values such -# as: "7 days" or "100M size" instead of "true". -#dbms.tx_log.rotation.retention_policy=7 days - -# Enable shell server so that remote clients can connect via Neo4j shell. -#dbms.shell.enabled=true -# The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces). -#dbms.shell.host=127.0.0.1 -# The port the shell will listen on, default is 1337. -#dbms.shell.port=1337 diff --git a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template b/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template deleted file mode 100644 index 6f47b2c519190..0000000000000 --- a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template +++ /dev/null @@ -1,3 +0,0 @@ -# Enter one VM parameter per line, note that some parameters can only be set once. -# For example, to adjust the maximum memory usage to 512 MB, uncomment the following line -# -Xmx512m diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java deleted file mode 100644 index 8f62201a3cd69..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -import java.io.File; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -public class ParametersTest -{ - @Test - public void shouldParseConfParameter() throws Exception - { - // given - Parameters parameters = new Parameters( new String[]{"--config-file", "path/to/my-neo4j.conf"} ); - - // then - assertEquals( new File( "path/to/my-neo4j.conf" ), parameters.getConfigurationsFile() ); - } -} diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java deleted file mode 100644 index b8c8b79bcdc8f..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import org.junit.Test; - -import java.util.function.Function; - -import static org.junit.Assert.assertEquals; - -public class VariableSubstitutorTest -{ - private static final Function TO_UPPER_CASE = s -> s.toUpperCase(); - - private final VariableSubstitutor substitutor = new VariableSubstitutor( ); - - @Test - public void shouldAcceptEmptyInput() - { - assertEquals( "", substitutor.substitute( "", null ) ); - } - - @Test - public void shouldAcceptInputWithoutVariables() - { - String expected = "Hello/Kitty/{TEST}"; - assertEquals( expected, substitutor.substitute( expected, null ) ); - } - - @Test - public void shouldSubstituteVariable() - { - assertEquals( "TEST", substitutor.substitute( "${test}", TO_UPPER_CASE ) ); - } - - @Test - public void shouldSubstituteMultipleVariables() - { - assertEquals( "TESTTEXT", substitutor.substitute( "${test}${text}", TO_UPPER_CASE ) ); - } - - @Test - public void shouldSubstituteMultipleVariablesInText() - { - assertEquals( - "APPDATA/neo4j-desktop.vmoptions", - substitutor.substitute( "${APPDATA}/neo4j-desktop.vmoptions", TO_UPPER_CASE ) ); - } - - @Test - public void shouldSubstituteMultipleVariablesInMiddleOfText() - { - assertEquals( "do/TEST/and/VERIFY", substitutor.substitute( "do/${test}/and/${verify}", TO_UPPER_CASE ) ); - } -} diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsIT.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsIT.java deleted file mode 100644 index a508981455f16..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsIT.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.Properties; - -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.kernel.configuration.BoltConnector; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.configuration.HttpConnector; -import org.neo4j.ports.allocation.PortAuthority; -import org.neo4j.test.rule.TestDirectory; - -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class DatabaseActionsIT -{ - @Rule - public TestDirectory testDirectory = TestDirectory.testDirectory(); - - private File storeDir; - private File configFile; - - @Before - public void createFiles() throws IOException - { - storeDir = new File( testDirectory.directory(), "store_dir" ); - storeDir.mkdirs(); - - configFile = new File( testDirectory.directory(), Config.DEFAULT_CONFIG_FILE_NAME ); - Properties props = new Properties(); - props.setProperty( new HttpConnector( "http" ).type.name(), "HTTP" ); - props.setProperty( new HttpConnector( "http" ).encryption.name(), "NONE" ); - props.setProperty( new HttpConnector( "http" ).enabled.name(), "true" ); - props.setProperty( new HttpConnector( "http" ).listen_address.name(), "localhost:" + PortAuthority.allocatePort() ); - props.setProperty( new HttpConnector( "https" ).listen_address.name(), "localhost:" + PortAuthority.allocatePort() ); - - props.setProperty( new BoltConnector( "bolt" ).listen_address.name(), "localhost:" + PortAuthority.allocatePort() ); - - try ( FileWriter writer = new FileWriter( configFile ) ) - { - props.store( writer, "" ); - } - } - - @Test - public void shouldCreateMessagesLogBelowStoreDir() throws Exception - { - // Given - Installation installation = mock( Installation.class ); - when( installation.getDatabaseDirectory() ).thenReturn( storeDir ); - when( installation.getConfigurationsFile() ).thenReturn( configFile ); - - DesktopModel model = new DesktopModel( installation, new Parameters( new String[] {} ) ); - DatabaseActions databaseActions = new DatabaseActions( model ); - - try - { - // when - databaseActions.start(); - - // Then - File logFile = new File( new File( storeDir, "logs" ), "debug.log" ); - assertTrue( logFile.exists() ); - } - finally - { - // After - databaseActions.stop(); // do not need to wait for the server to finish all its start procedure - } - } -} diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java deleted file mode 100644 index 9051ebbf9fad5..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.io.File; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.dbms.DatabaseManagementSystemSettings; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class DesktopConfiguratorTest -{ - private File emptyServerConfigFile; - - @Before - public void setUp() throws Throwable - { - emptyServerConfigFile = File.createTempFile( "emptyFile", "tmp" ); - } - - @After - public void tearDown() - { - emptyServerConfigFile.delete(); - } - - @Test - public void configShouldContainStoreDirSetting() throws Exception - { - // Given - Installation installation = mock( Installation.class ); - when( installation.getConfigurationsFile() ).thenReturn( emptyServerConfigFile ); - - File storeDir = new File( "graph.db" ).getAbsoluteFile(); // will not create any file - - // When - DesktopConfigurator config = new DesktopConfigurator( - installation, new Parameters( new String[] {} ), storeDir ); - - // Then - assertEquals( storeDir.getAbsolutePath(), config.getDatabaseDirectory() ); - - File pathToStoreDir = config.configuration().get( DatabaseManagementSystemSettings.database_path ); - assertEquals( storeDir, pathToStoreDir ); - } -} diff --git a/packaging/standalone/pom.xml b/packaging/standalone/pom.xml index 625950ba2bd94..4c3e10572373f 100644 --- a/packaging/standalone/pom.xml +++ b/packaging/standalone/pom.xml @@ -123,7 +123,6 @@ licensing-requirements-base.xml licensing-requirements-js.xml licensing-requirements-browser.xml - licensing-requirements-win.xml licensing-requirements-oss.xml ${project.artifactId}-${neo4j.version}-oss-win.txt @@ -177,7 +176,6 @@ licensing-requirements-base.xml licensing-requirements-js.xml licensing-requirements-browser.xml - licensing-requirements-win.xml licensing-requirements-com.xml ${project.artifactId}-${neo4j.version}-win.txt diff --git a/packaging/standalone/standalone-community/pom.xml b/packaging/standalone/standalone-community/pom.xml index 78951794d75b6..5bac8d1df752a 100644 --- a/packaging/standalone/standalone-community/pom.xml +++ b/packaging/standalone/standalone-community/pom.xml @@ -118,7 +118,6 @@ terms of the relevant Commercial Agreement. licensing-requirements-base.xml licensing-requirements-js.xml licensing-requirements-browser.xml - licensing-requirements-win.xml ${project.artifactId}-${neo4j.version}-NOTICE-win.txt ${project.build.directory}/../src/main/distribution/text/community/NOTICE.txt diff --git a/packaging/standalone/standalone-community/src/main/distribution/text/community/LICENSES.txt b/packaging/standalone/standalone-community/src/main/distribution/text/community/LICENSES.txt index 8595f2abfe8e2..7f4723b38033d 100644 --- a/packaging/standalone/standalone-community/src/main/distribution/text/community/LICENSES.txt +++ b/packaging/standalone/standalone-community/src/main/distribution/text/community/LICENSES.txt @@ -1391,516 +1391,6 @@ you do not wish to do so, delete this exception statement from your version. ------------------------------------------------------------------------------- -GNU Lesser General Public License, Version 2.1 - Java Native Access - Yet Another Java Service Wrapper ------------------------------------------------------------------------------- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - ------------------------------------------------------------------------------ MIT License angular-animate diff --git a/packaging/standalone/standalone-community/src/main/distribution/text/community/NOTICE.txt b/packaging/standalone/standalone-community/src/main/distribution/text/community/NOTICE.txt index 58527bb1b431a..a80dd70a67dcd 100644 --- a/packaging/standalone/standalone-community/src/main/distribution/text/community/NOTICE.txt +++ b/packaging/standalone/standalone-community/src/main/distribution/text/community/NOTICE.txt @@ -110,10 +110,6 @@ GNU General Public License, version 2 with the Classpath Exception jsr311-api MIME streaming extension -GNU Lesser General Public License, Version 2.1 - Java Native Access - Yet Another Java Service Wrapper - MIT License angular-animate angular-base64