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