This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/syncope.git
commit 4d84def6c650f5b6f0950391207433a5b6626bb6 Author: Francesco Chicchiriccò <ilgro...@apache.org> AuthorDate: Thu Aug 12 10:47:35 2021 +0200 [SYNCOPE-1638] Netbeans IDE Plugin removal --- ide/netbeans/LICENSE | 677 ------------------- ide/netbeans/NOTICE | 50 -- ide/netbeans/nb-configuration.xml | 36 - ide/netbeans/pom.xml | 213 ------ .../syncope/ide/netbeans/ConnectionParams.java | 137 ---- .../syncope/ide/netbeans/PluginConstants.java | 45 -- .../syncope/ide/netbeans/ResourceConnector.java | 107 --- .../service/ImplementationManagerService.java | 56 -- .../service/MailTemplateManagerService.java | 63 -- .../service/ReportTemplateManagerService.java | 67 -- .../netbeans/service/SyncopeManagerService.java | 36 - .../view/ResourceExplorerTopComponent.form | 68 -- .../view/ResourceExplorerTopComponent.java | 721 --------------------- .../ide/netbeans/view/ServerDetailsView.form | 182 ------ .../ide/netbeans/view/ServerDetailsView.java | 265 -------- ide/netbeans/src/main/nbm/MANIFEST.MF | 3 - .../syncope/ide/netbeans/view/Bundle.properties | 28 - .../apache/syncope/ide/netbeans/view/favicon.png | Bin 641 -> 0 bytes ide/pom.xml | 106 --- pom.xml | 86 --- src/main/asciidoc/getting-started/obtain.adoc | 67 -- src/main/asciidoc/images/netbeans01.png | Bin 25791 -> 0 bytes src/main/asciidoc/images/netbeans02.png | Bin 16210 -> 0 bytes src/main/asciidoc/images/netbeans03.png | Bin 45644 -> 0 bytes src/main/asciidoc/images/netbeans04.png | Bin 29113 -> 0 bytes src/main/asciidoc/images/netbeans05.png | Bin 44042 -> 0 bytes src/main/asciidoc/images/netbeans06.png | Bin 41707 -> 0 bytes src/main/asciidoc/images/netbeans07.png | Bin 43136 -> 0 bytes src/main/asciidoc/images/netbeans08.png | Bin 42063 -> 0 bytes src/main/asciidoc/images/netbeans09.png | Bin 16119 -> 0 bytes src/main/asciidoc/images/netbeans10.png | Bin 29973 -> 0 bytes src/main/asciidoc/images/netbeans11.png | Bin 51834 -> 0 bytes src/main/asciidoc/images/netbeans12.png | Bin 9614 -> 0 bytes src/main/asciidoc/images/netbeans13.png | Bin 9899 -> 0 bytes .../reference-guide/architecture/architecture.adoc | 6 - .../reference-guide/concepts/notifications.adoc | 3 +- .../asciidoc/reference-guide/concepts/reports.adoc | 2 +- 37 files changed, 2 insertions(+), 3022 deletions(-) diff --git a/ide/netbeans/LICENSE b/ide/netbeans/LICENSE deleted file mode 100644 index 876156c..0000000 --- a/ide/netbeans/LICENSE +++ /dev/null @@ -1,677 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -== - -For Jackson (http://wiki.fasterxml.com/JacksonHome): -This is licensed under the AL 2.0, see above. - -== - -For JAX-B (http://jaxb.java.net/): -This is licensed under the CDDL 1.0: - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0 - -1. Definitions. - -1.1. "Contributor" means each individual or entity that -creates or contributes to the creation of Modifications. - -1.2. "Contributor Version" means the combination of the -Original Software, prior Modifications used by a -Contributor (if any), and the Modifications made by that -particular Contributor. - -1.3. "Covered Software" means (a) the Original Software, or -(b) Modifications, or (c) the combination of files -containing Original Software with files containing -Modifications, in each case including portions thereof. - -1.4. "Executable" means the Covered Software in any form -other than Source Code. - -1.5. "Initial Developer" means the individual or entity -that first makes Original Software available under this -License. - -1.6. "Larger Work" means a work which combines Covered -Software or portions thereof with code not governed by the -terms of this License. - -1.7. "License" means this document. - -1.8. "Licensable" means having the right to grant, to the -maximum extent possible, whether at the time of the initial -grant or subsequently acquired, any and all of the rights -conveyed herein. - -1.9. "Modifications" means the Source Code and Executable -form of any of the following: - -A. Any file that results from an addition to, -deletion from or modification of the contents of a -file containing Original Software or previous -Modifications; - -B. Any new file that contains any part of the -Original Software or previous Modification; or - -C. Any new file that is contributed or otherwise made -available under the terms of this License. - -1.10. "Original Software" means the Source Code and -Executable form of computer software code that is -originally released under this License. - -1.11. "Patent Claims" means any patent claim(s), now owned -or hereafter acquired, including without limitation, -method, process, and apparatus claims, in any patent -Licensable by grantor. - -1.12. "Source Code" means (a) the common form of computer -software code in which modifications are made and (b) -associated documentation included in or with such code. - -1.13. "You" (or "Your") means an individual or a legal -entity exercising rights under, and complying with all of -the terms of, this License. For legal entities, "You" -includes any entity which controls, is controlled by, or is -under common control with You. For purposes of this -definition, "control" means (a) the power, direct or -indirect, to cause the direction or management of such -entity, whether by contract or otherwise, or (b) ownership -of more than fifty percent (50%) of the outstanding shares -or beneficial ownership of such entity. - -2. License Grants. - -2.1. The Initial Developer Grant. - -Conditioned upon Your compliance with Section 3.1 below and -subject to third party intellectual property claims, the -Initial Developer hereby grants You a world-wide, -royalty-free, non-exclusive license: - -(a) under intellectual property rights (other than -patent or trademark) Licensable by Initial Developer, -to use, reproduce, modify, display, perform, -sublicense and distribute the Original Software (or -portions thereof), with or without Modifications, -and/or as part of a Larger Work; and - -(b) under Patent Claims infringed by the making, -using or selling of Original Software, to make, have -made, use, practice, sell, and offer for sale, and/or -otherwise dispose of the Original Software (or -portions thereof). - -(c) The licenses granted in Sections 2.1(a) and (b) -are effective on the date Initial Developer first -distributes or otherwise makes the Original Software -available to a third party under the terms of this -License. - -(d) Notwithstanding Section 2.1(b) above, no patent -license is granted: (1) for code that You delete from -the Original Software, or (2) for infringements -caused by: (i) the modification of the Original -Software, or (ii) the combination of the Original -Software with other software or devices. - -2.2. Contributor Grant. - -Conditioned upon Your compliance with Section 3.1 below and -subject to third party intellectual property claims, each -Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than -patent or trademark) Licensable by Contributor to -use, reproduce, modify, display, perform, sublicense -and distribute the Modifications created by such -Contributor (or portions thereof), either on an -unmodified basis, with other Modifications, as -Covered Software and/or as part of a Larger Work; and - -(b) under Patent Claims infringed by the making, -using, or selling of Modifications made by that -Contributor either alone and/or in combination with -its Contributor Version (or portions of such -combination), to make, use, sell, offer for sale, -have made, and/or otherwise dispose of: (1) -Modifications made by that Contributor (or portions -thereof); and (2) the combination of Modifications -made by that Contributor with its Contributor Version -(or portions of such combination). - -(c) The licenses granted in Sections 2.2(a) and -2.2(b) are effective on the date Contributor first -distributes or otherwise makes the Modifications -available to a third party. - -(d) Notwithstanding Section 2.2(b) above, no patent -license is granted: (1) for any code that Contributor -has deleted from the Contributor Version; (2) for -infringements caused by: (i) third party -modifications of Contributor Version, or (ii) the -combination of Modifications made by that Contributor -with other software (except as part of the -Contributor Version) or other devices; or (3) under -Patent Claims infringed by Covered Software in the -absence of Modifications made by that Contributor. - -3. Distribution Obligations. - -3.1. Availability of Source Code. - -Any Covered Software that You distribute or otherwise make -available in Executable form must also be made available in -Source Code form and that Source Code form must be -distributed only under the terms of this License. You must -include a copy of this License with every copy of the -Source Code form of the Covered Software You distribute or -otherwise make available. You must inform recipients of any -such Covered Software in Executable form as to how they can -obtain such Covered Software in Source Code form in a -reasonable manner on or through a medium customarily used -for software exchange. - -3.2. Modifications. - -The Modifications that You create or to which You -contribute are governed by the terms of this License. You -represent that You believe Your Modifications are Your -original creation(s) and/or You have sufficient rights to -grant the rights conveyed by this License. - -3.3. Required Notices. - -You must include a notice in each of Your Modifications -that identifies You as the Contributor of the Modification. -You may not remove or alter any copyright, patent or -trademark notices contained within the Covered Software, or -any notices of licensing or any descriptive text giving -attribution to any Contributor or the Initial Developer. - -3.4. Application of Additional Terms. - -You may not offer or impose any terms on any Covered -Software in Source Code form that alters or restricts the -applicable version of this License or the recipients' -rights hereunder. You may choose to offer, and to charge a -fee for, warranty, support, indemnity or liability -obligations to one or more recipients of Covered Software. -However, you may do so only on Your own behalf, and not on -behalf of the Initial Developer or any Contributor. You -must make it absolutely clear that any such warranty, -support, indemnity or liability obligation is offered by -You alone, and You hereby agree to indemnify the Initial -Developer and every Contributor for any liability incurred -by the Initial Developer or such Contributor as a result of -warranty, support, indemnity or liability terms You offer. - -3.5. Distribution of Executable Versions. - -You may distribute the Executable form of the Covered -Software under the terms of this License or under the terms -of a license of Your choice, which may contain terms -different from this License, provided that You are in -compliance with the terms of this License and that the -license for the Executable form does not attempt to limit -or alter the recipient's rights in the Source Code form -from the rights set forth in this License. If You -distribute the Covered Software in Executable form under a -different license, You must make it absolutely clear that -any terms which differ from this License are offered by You -alone, not by the Initial Developer or Contributor. You -hereby agree to indemnify the Initial Developer and every -Contributor for any liability incurred by the Initial -Developer or such Contributor as a result of any such terms -You offer. - -3.6. Larger Works. - -You may create a Larger Work by combining Covered Software -with other code not governed by the terms of this License -and distribute the Larger Work as a single product. In such -a case, You must make sure the requirements of this License -are fulfilled for the Covered Software. - -4. Versions of the License. - -4.1. New Versions. - -Sun Microsystems, Inc. is the initial license steward and -may publish revised and/or new versions of this License -from time to time. Each version will be given a -distinguishing version number. Except as provided in -Section 4.3, no one other than the license steward has the -right to modify this License. - -4.2. Effect of New Versions. - -You may always continue to use, distribute or otherwise -make the Covered Software available under the terms of the -version of the License under which You originally received -the Covered Software. If the Initial Developer includes a -notice in the Original Software prohibiting it from being -distributed or otherwise made available under any -subsequent version of the License, You must distribute and -make the Covered Software available under the terms of the -version of the License under which You originally received -the Covered Software. Otherwise, You may also choose to -use, distribute or otherwise make the Covered Software -available under the terms of any subsequent version of the -License published by the license steward. - -4.3. Modified Versions. - -When You are an Initial Developer and You want to create a -new license for Your Original Software, You may create and -use a modified version of this License if You: (a) rename -the license and remove any references to the name of the -license steward (except to note that the license differs -from this License); and (b) otherwise make it clear that -the license contains terms which differ from this License. - -5. DISCLAIMER OF WARRANTY. - -COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" -BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, -INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED -SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR -PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND -PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY -COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE -INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF -ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF -WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF -ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS -DISCLAIMER. - -6. TERMINATION. - -6.1. This License and the rights granted hereunder will -terminate automatically if You fail to comply with terms -herein and fail to cure such breach within 30 days of -becoming aware of the breach. Provisions which, by their -nature, must remain in effect beyond the termination of -this License shall survive. - -6.2. If You assert a patent infringement claim (excluding -declaratory judgment actions) against Initial Developer or -a Contributor (the Initial Developer or Contributor against -whom You assert such claim is referred to as "Participant") -alleging that the Participant Software (meaning the -Contributor Version where the Participant is a Contributor -or the Original Software where the Participant is the -Initial Developer) directly or indirectly infringes any -patent, then any and all rights granted directly or -indirectly to You by such Participant, the Initial -Developer (if the Initial Developer is not the Participant) -and all Contributors under Sections 2.1 and/or 2.2 of this -License shall, upon 60 days notice from Participant -terminate prospectively and automatically at the expiration -of such 60 day notice period, unless if within such 60 day -period You withdraw Your claim with respect to the -Participant Software against such Participant either -unilaterally or pursuant to a written agreement with -Participant. - -6.3. In the event of termination under Sections 6.1 or 6.2 -above, all end user licenses that have been validly granted -by You or any distributor hereunder prior to termination -(excluding licenses granted to You by any distributor) -shall survive termination. - -7. LIMITATION OF LIABILITY. - -UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT -(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE -INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF -COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE -LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR -CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT -LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK -STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER -COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN -INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF -LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL -INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT -APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO -NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR -CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT -APPLY TO YOU. - -8. U.S. GOVERNMENT END USERS. - -The Covered Software is a "commercial item," as that term is -defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial -computer software" (as that term is defined at 48 C.F.R. $ -252.227-7014(a)(1)) and "commercial computer software -documentation" as such terms are used in 48 C.F.R. 12.212 (Sept. -1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 -through 227.7202-4 (June 1995), all U.S. Government End Users -acquire Covered Software with only those rights set forth herein. -This U.S. Government Rights clause is in lieu of, and supersedes, -any other FAR, DFAR, or other clause or provision that addresses -Government rights in computer software under this License. - -9. MISCELLANEOUS. - -This License represents the complete agreement concerning subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the -extent necessary to make it enforceable. This License shall be -governed by the law of the jurisdiction specified in a notice -contained within the Original Software (except to the extent -applicable law, if any, provides otherwise), excluding such -jurisdiction's conflict-of-law provisions. Any litigation -relating to this License shall be subject to the jurisdiction of -the courts located in the jurisdiction and venue specified in a -notice contained within the Original Software, with the losing -party responsible for costs, including, without limitation, court -costs and reasonable attorneys' fees and expenses. The -application of the United Nations Convention on Contracts for the -International Sale of Goods is expressly excluded. Any law or -regulation which provides that the language of a contract shall -be construed against the drafter shall not apply to this License. -You agree that You alone are responsible for compliance with the -United States export administration regulations (and the export -control laws and regulation of any other countries) when You use, -distribute or otherwise make available any Covered Software. - -10. RESPONSIBILITY FOR CLAIMS. - -As between Initial Developer and the Contributors, each party is -responsible for claims and damages arising, directly or -indirectly, out of its utilization of rights under this License -and You agree to work with Initial Developer and Contributors to -distribute such responsibility on an equitable basis. Nothing -herein is intended or shall be deemed to constitute any admission -of liability. - -== - -For javax.annotation-api (https://jcp.org/en/jsr/detail?id=250): -This is licensed under the CDDL 1.0, see above. - -== - -For Bean Validation API (http://beanvalidation.org/): -This is licensed under the AL 2.0, see above. - -== - -For javax.ws.rs-api (https://jax-rs-spec.java.net/): -This is licensed under the CDDL 1.0, see above. - -== - -For Joda Time (http://www.joda.org/joda-time/): -This is licensed under the AL 2.0, see above. - -== - -For StAX2 API (http://wiki.fasterxml.com/WoodstoxStax2): -This is licensed under the BSD license: - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -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 holder 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 HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -== - -For Woodstox (http://wiki.fasterxml.com/WoodstoxHome): -This is licensed under the AL 2.0, see above. - -== - -For ASM (http://asm.ow2.org/): -This is licensed under the BSD license, see above. - -== - -For Simple Logging Facade for Java - SLF4J (http://www.slf4j.org/): -This is licensed under the MIT license: - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/ide/netbeans/NOTICE b/ide/netbeans/NOTICE deleted file mode 100644 index efb0700..0000000 --- a/ide/netbeans/NOTICE +++ /dev/null @@ -1,50 +0,0 @@ -Apache Syncope -Copyright 2012-2021 The Apache Software Foundation - -This product includes software developed by: -The Apache Software Foundation (http://www.apache.org/). - -The following copyright notice(s) were affixed to portions of this code -with which this file is now or was at one time distributed. - -== - -This product includes software developed by the Jackson project. - -== - -This product includes software developed by the JAXB project. -Copyright (c) 2013-2016 The JAXB project. - -== - -This product includs software developed by Oracle. -Copyright (c) 2012-2013 Oracle and/or its affiliates. All rights reserved. - -== - -This product includes software developed by the Bean Validation Project (http://beanvalidation.org). -Copyright (c) Red Hat, Inc., Emmanuel Bernard - -== - -This product includes software developed by the JAX-RS project. -Copyright (c) 2014, Oracle Corporation and/or its affiliates. All rights reserved. - -== - -This product includes software developed by the Joda Time project. -Copyright (c) 2002-2016 Joda.org. All Rights Reserved. - -== - -This product includes software developed by the Stax 2 Extension API Project. - -== - -This product includes software developed by the Woodstox Project. - -== - -This products includes software developed by the Simple Logging Facade for Java (SLF4J) project. -Copyright (c) 2004-2016 QOS.ch. diff --git a/ide/netbeans/nb-configuration.xml b/ide/netbeans/nb-configuration.xml deleted file mode 100644 index 93c2817..0000000 --- a/ide/netbeans/nb-configuration.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<project-shared-configuration> - <!-- - This file contains additional configuration written by modules in the NetBeans IDE. - The configuration is intended to be shared among all the users of project and - therefore it is assumed to be part of version control checkout. - Without this configuration present, some functionality in the IDE may be limited or fail altogether. - --> - <properties xmlns="http://www.netbeans.org/ns/maven-properties-data/1"> - <!-- - Properties that influence various parts of the IDE, especially code formatting and the like. - You can copy and paste the single properties, into the pom.xml file and the IDE will pick them up. - That way multiple projects can share the same settings (useful for formatting rules for example). - Any value defined here will override the pom.xml file value but is only applicable to the current project. - --> - <org-netbeans-modules-javascript2-requirejs.enabled>true</org-netbeans-modules-javascript2-requirejs.enabled> - </properties> -</project-shared-configuration> diff --git a/ide/netbeans/pom.xml b/ide/netbeans/pom.xml deleted file mode 100644 index 2ed5406..0000000 --- a/ide/netbeans/pom.xml +++ /dev/null @@ -1,213 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright owership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - <parent> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope-ide</artifactId> - <version>3.0.0-SNAPSHOT</version> - </parent> - - <name>Apache Syncope IDE Netbeans plugin</name> - <description>Apache Syncope IDE Netbeans plugin</description> - <groupId>org.apache.syncope.ide</groupId> - <artifactId>syncope-ide-netbeans</artifactId> - - <packaging>nbm</packaging> - - <properties> - <rootpom.basedir>${basedir}/../..</rootpom.basedir> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.syncope.client.idm</groupId> - <artifactId>syncope-client-idm-lib</artifactId> - <version>${project.version}</version> - </dependency> - - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-api-annotations-common</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-windows</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-util</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-util-ui</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-util-lookup</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-awt</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-modules-settings</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-io</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-nodes</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-text</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-filesystems</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-loaders</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-core-multiview</artifactId> - <type>jar</type> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-modules-editor-lib2</artifactId> - <type>jar</type> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-api-progress</artifactId> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-api-progress-nb</artifactId> - </dependency> - </dependencies> - - <build> - <plugins> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>nbm-maven-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <verifyRuntime>skip</verifyRuntime> - <useOSGiDependencies>false</useOSGiDependencies> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jar-plugin</artifactId> - <configuration> - <archive> - <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> - </archive> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <configuration> - <target> - <zip update="true" destfile="${project.build.directory}/syncope-ide-netbeans-${project.version}.nbm"> - <zipfileset dir="${basedir}" prefix="META-INF" includes="LICENSE,NOTICE" /> - </zip> - </target> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - </plugin> - </plugins> - - <resources> - <resource> - <directory>src/main/resources</directory> - <filtering>false</filtering> - <includes> - <include>org/apache/syncope/**/*.png</include> - </includes> - </resource> - <resource> - <directory>${basedir}/../../client/console/src/main/resources/org/apache/syncope/client/console/implementations/</directory> - <filtering>false</filtering> - <includes> - <include>*.groovy</include> - </includes> - <targetPath>org/apache/syncope/ide/netbeans/implementations</targetPath> - </resource> - - <resource> - <directory>${basedir}</directory> - <targetPath>META-INF</targetPath> - <includes> - <include>LICENSE</include> - <include>NOTICE</include> - </includes> - </resource> - </resources> - </build> - - <profiles> - <profile> - <id>apache-release</id> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-deploy-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skipSource>true</skipSource> - </configuration> - </plugin> - </plugins> - </build> - </profile> - </profiles> -</project> diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/ConnectionParams.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/ConnectionParams.java deleted file mode 100644 index b6ddfaf..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/ConnectionParams.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans; - -public final class ConnectionParams { - - private String url; - - private String username; - - private String password; - - public static final class Builder { - - private String scheme; - - private String host; - - private String port; - - private String username; - - private String password; - - private Builder() { - } - - public Builder scheme(final String value) { - this.scheme = value; - return this; - } - - public Builder host(final String value) { - this.host = value; - return this; - } - - public Builder port(final String value) { - this.port = value; - return this; - } - - public Builder username(final String value) { - this.username = value; - return this; - } - - public Builder password(final String value) { - this.password = value; - return this; - } - - public ConnectionParams build() { - return new ConnectionParams(scheme + "://" + host + ':' + port + "/syncope/rest", username, password); - } - } - - public static ConnectionParams.Builder builder() { - return new ConnectionParams.Builder(); - } - - private ConnectionParams( - final String url, - final String userName, - final String password) { - this.url = url; - this.username = userName; - this.password = password; - } - - public String getUrl() { - return url; - } - - public void setUrl(final String url) { - this.url = url; - } - - public String getUsername() { - return username; - } - - public void setUsername(final String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(final String password) { - this.password = password; - } - - public ConnectionParams port(final String value) { - this.url = value; - return this; - } - - public ConnectionParams userName(final String value) { - this.username = value; - return this; - } - - public ConnectionParams password(final String value) { - this.password = value; - return this; - } - - @Override - public String toString() { - StringBuilder toStringBuilder; - toStringBuilder = new StringBuilder("ConnectionParams{"); - toStringBuilder.append("url=").append(this.url); - toStringBuilder.append(",username=").append(this.username); - toStringBuilder.append(",password=").append(this.password); - toStringBuilder.append('}'); - return toStringBuilder.toString(); - } - -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/PluginConstants.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/PluginConstants.java deleted file mode 100644 index b598421..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/PluginConstants.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans; - -import org.apache.syncope.common.lib.types.MailTemplateFormat; -import org.apache.syncope.common.lib.types.ReportTemplateFormat; - -public final class PluginConstants { - - public static final String MAIL_TEMPLATES = "Mail Templates"; - - public static final String REPORT_XSLTS = "Report XSLTs"; - - public static final String GROOVY_SCRIPTS = "Groovy Implementations"; - - public static final String[] MAIL_TEMPLATE_FORMATS = { - MailTemplateFormat.HTML.name(), MailTemplateFormat.TEXT.name() }; - - public static final String[] REPORT_TEMPLATE_FORMATS = { - ReportTemplateFormat.HTML.name(), ReportTemplateFormat.CSV.name(), ReportTemplateFormat.FO.name() }; - - public static final String ROOT_NAME = "Apache Syncope"; - - public static final String TOOL_TIP_TEXT = "This is a Apache Syncope window"; - - private PluginConstants() { - } - -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/ResourceConnector.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/ResourceConnector.java deleted file mode 100644 index fe47dbf..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/ResourceConnector.java +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans; - -import java.io.IOException; -import java.util.prefs.Preferences; -import org.apache.commons.lang3.StringUtils; -import org.apache.syncope.ide.netbeans.service.MailTemplateManagerService; -import org.apache.syncope.ide.netbeans.service.ReportTemplateManagerService; -import org.apache.syncope.ide.netbeans.service.ImplementationManagerService; -import org.apache.syncope.ide.netbeans.service.SyncopeManagerService; -import org.apache.syncope.ide.netbeans.view.ResourceExplorerTopComponent; -import org.openide.util.NbPreferences; - -public final class ResourceConnector { - - private static SyncopeManagerService SYNCOPE_MANAGER_SERVICE; - - private static MailTemplateManagerService MAIL_TEMPLATE_MANAGER_SERVICE; - - private static ReportTemplateManagerService REPORT_TEMPLATE_MANAGER_SERVICE; - - private static ImplementationManagerService IMPLEMENTATION_MANAGER_SERVICE; - - private static final Object SYNCOPE_MONITOR = new Object(); - - private static final Object MAIL_TEMPLATE_MONITOR = new Object(); - - private static final Object REPORT_TEMPLATE_MONITOR = new Object(); - - private static final Object IMPLEMENTATION_MONITOR = new Object(); - - private ResourceConnector() { - } - - public static SyncopeManagerService getSyncopeManagerService() { - synchronized (SYNCOPE_MONITOR) { - ConnectionParams connParams = getConnectionParams(); - SYNCOPE_MANAGER_SERVICE = new SyncopeManagerService( - connParams.getUrl(), - connParams.getUsername(), - connParams.getPassword()); - } - return SYNCOPE_MANAGER_SERVICE; - } - - public static MailTemplateManagerService getMailTemplateManagerService() throws IOException { - synchronized (MAIL_TEMPLATE_MONITOR) { - ConnectionParams connParams = getConnectionParams(); - MAIL_TEMPLATE_MANAGER_SERVICE = new MailTemplateManagerService( - connParams.getUrl(), - connParams.getUsername(), - connParams.getPassword()); - } - return MAIL_TEMPLATE_MANAGER_SERVICE; - } - - public static ReportTemplateManagerService getReportTemplateManagerService() throws IOException { - synchronized (REPORT_TEMPLATE_MONITOR) { - ConnectionParams connParams = getConnectionParams(); - REPORT_TEMPLATE_MANAGER_SERVICE = new ReportTemplateManagerService( - connParams.getUrl(), - connParams.getUsername(), - connParams.getPassword()); - } - return REPORT_TEMPLATE_MANAGER_SERVICE; - } - - public static ImplementationManagerService getImplementationManagerService() throws IOException { - synchronized (IMPLEMENTATION_MONITOR) { - ConnectionParams connParams = getConnectionParams(); - IMPLEMENTATION_MANAGER_SERVICE = new ImplementationManagerService( - connParams.getUrl(), - connParams.getUsername(), - connParams.getPassword()); - } - return IMPLEMENTATION_MANAGER_SERVICE; - } - - public static ConnectionParams getConnectionParams() { - Preferences prefs = NbPreferences.forModule(ResourceExplorerTopComponent.class); - return ConnectionParams.builder() - .scheme(prefs.get("scheme", "http")) - .host(prefs.get("host", "localhost")) - .port(prefs.get("port", "8080")) - .username(prefs.get("username", StringUtils.EMPTY)) - .password(prefs.get("password", StringUtils.EMPTY)) - .build(); - } - -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/ImplementationManagerService.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/ImplementationManagerService.java deleted file mode 100644 index 96d8517..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/ImplementationManagerService.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans.service; - -import java.util.List; -import javax.ws.rs.core.Response; -import org.apache.syncope.client.lib.SyncopeClient; -import org.apache.syncope.client.lib.SyncopeClientFactoryBean; -import org.apache.syncope.common.lib.to.ImplementationTO; -import org.apache.syncope.common.rest.api.service.ImplementationService; - -public class ImplementationManagerService { - - private final ImplementationService service; - - public ImplementationManagerService(final String url, final String userName, final String password) { - SyncopeClient syncopeClient = new SyncopeClientFactoryBean().setAddress(url).create(userName, password); - service = syncopeClient.getService(ImplementationService.class); - } - - public List<ImplementationTO> list(final String type) { - return service.list(type); - } - - public ImplementationTO read(final String type, final String key) { - return service.read(type, key); - } - - public boolean create(final ImplementationTO implementationTO) { - return Response.Status.CREATED.getStatusCode() == service.create(implementationTO).getStatus(); - } - - public boolean delete(final String type, final String key) { - return Response.Status.NO_CONTENT.getStatusCode() == service.delete(type, key).getStatus(); - } - - public boolean update(final ImplementationTO implementationTO) { - return Response.Status.NO_CONTENT.getStatusCode() == service.update(implementationTO).getStatus(); - } -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/MailTemplateManagerService.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/MailTemplateManagerService.java deleted file mode 100644 index 41dba18..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/MailTemplateManagerService.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans.service; - -import java.io.InputStream; -import java.util.List; -import javax.ws.rs.core.Response; -import org.apache.syncope.client.lib.SyncopeClient; -import org.apache.syncope.client.lib.SyncopeClientFactoryBean; -import org.apache.syncope.common.lib.to.MailTemplateTO; -import org.apache.syncope.common.lib.types.MailTemplateFormat; -import org.apache.syncope.common.rest.api.service.MailTemplateService; - -public class MailTemplateManagerService { - - private final MailTemplateService service; - - public MailTemplateManagerService(final String url, final String userName, final String password) { - SyncopeClient syncopeClient = new SyncopeClientFactoryBean().setAddress(url).create(userName, password); - service = syncopeClient.getService(MailTemplateService.class); - } - - public List<MailTemplateTO> list() { - return service.list(); - } - - public boolean create(final MailTemplateTO mailTemplateTO) { - return Response.Status.CREATED.getStatusCode() == service.create(mailTemplateTO).getStatus(); - } - - public MailTemplateTO read(final String key) { - return service.read(key); - } - - public boolean delete(final String key) { - service.delete(key); - return true; - } - - public Object getFormat(final String key, final MailTemplateFormat format) { - return service.getFormat(key, format).getEntity(); - } - - public void setFormat(final String key, final MailTemplateFormat format, final InputStream templateIn) { - service.setFormat(key, format, templateIn); - } -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/ReportTemplateManagerService.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/ReportTemplateManagerService.java deleted file mode 100644 index c670e0b..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/ReportTemplateManagerService.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans.service; - -import java.io.InputStream; -import java.util.List; -import javax.ws.rs.core.Response; -import org.apache.syncope.client.lib.SyncopeClient; -import org.apache.syncope.client.lib.SyncopeClientFactoryBean; -import org.apache.syncope.common.lib.to.ReportTemplateTO; -import org.apache.syncope.common.lib.types.ReportTemplateFormat; -import org.apache.syncope.common.rest.api.service.ReportTemplateService; - -public class ReportTemplateManagerService { - - private final ReportTemplateService service; - - public ReportTemplateManagerService(final String url, final String userName, final String password) { - SyncopeClient syncopeClient = new SyncopeClientFactoryBean().setAddress(url).create(userName, password); - service = syncopeClient.getService(ReportTemplateService.class); - } - - public List<ReportTemplateTO> list() { - return service.list(); - } - - public boolean create(final ReportTemplateTO reportTemplateTO) { - return Response.Status.CREATED.getStatusCode() == service.create(reportTemplateTO).getStatus(); - } - - public ReportTemplateTO read(final String key) { - return service.read(key); - } - - public boolean delete(final String key) { - service.delete(key); - return true; - } - - public Object getFormat(final String key, final ReportTemplateFormat format) { - return service.getFormat(key, format).getEntity(); - } - - public void setFormat(final String key, final ReportTemplateFormat format, final InputStream templateIn) { - service.setFormat(key, format, templateIn); - } - - public void removeFormat(final String key, final ReportTemplateFormat format) { - service.removeFormat(key, format); - } -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/SyncopeManagerService.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/SyncopeManagerService.java deleted file mode 100644 index 659fbb6..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/service/SyncopeManagerService.java +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans.service; - -import java.util.Set; -import org.apache.syncope.client.lib.SyncopeClient; -import org.apache.syncope.client.lib.SyncopeClientFactoryBean; - -public class SyncopeManagerService { - - private final SyncopeClient syncopeClient; - - public SyncopeManagerService(final String url, final String userName, final String password) { - syncopeClient = new SyncopeClientFactoryBean().setAddress(url).create(userName, password); - } - - public Set<String> getImplementationTypes() { - return syncopeClient.platform().getImplementationTypes(); - } -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.form b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.form deleted file mode 100644 index 78cec38..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.form +++ /dev/null @@ -1,68 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> - -<Form version="1.7" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo"> - <AuxValues> - <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/> - <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> - <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> - <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/> - <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/> - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> - <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> - <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> - <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> - </AuxValues> - - <Layout> - <DimensionLayout dim="0"> - <Group type="103" groupAlignment="0" attributes="0"> - <Component id="jScrollPane1" alignment="0" pref="258" max="32767" attributes="0"/> - </Group> - </DimensionLayout> - <DimensionLayout dim="1"> - <Group type="103" groupAlignment="0" attributes="0"> - <Component id="jScrollPane1" alignment="0" pref="445" max="32767" attributes="0"/> - </Group> - </DimensionLayout> - </Layout> - <SubComponents> - <Container class="javax.swing.JScrollPane" name="jScrollPane1"> - <AuxValues> - <AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/> - </AuxValues> - - <Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/> - <SubComponents> - <Component class="javax.swing.JTree" name="resourceExplorerTree"> - <Properties> - <Property name="model" type="javax.swing.tree.TreeModel" editor="org.netbeans.modules.form.editors2.TreeModelEditor"> - <TreeModel code=""/> - </Property> - <Property name="rootVisible" type="boolean" value="false"/> - </Properties> - <Events> - <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="resourceExplorerTreeMouseClicked"/> - </Events> - </Component> - </SubComponents> - </Container> - </SubComponents> -</Form> diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java deleted file mode 100644 index 75624af..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ResourceExplorerTopComponent.java +++ /dev/null @@ -1,721 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans.view; - -import java.awt.Image; -import java.awt.event.ActionEvent; -import java.awt.event.MouseEvent; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.nio.charset.Charset; -import java.nio.charset.StandardCharsets; -import java.util.List; -import java.util.Optional; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.prefs.Preferences; -import javax.swing.ImageIcon; -import javax.swing.JMenuItem; -import javax.swing.JOptionPane; -import javax.swing.JPopupMenu; -import javax.swing.text.BadLocationException; -import javax.swing.text.Document; -import javax.swing.tree.DefaultMutableTreeNode; -import javax.swing.tree.DefaultTreeModel; -import org.apache.commons.lang3.StringUtils; -import org.apache.cxf.helpers.IOUtils; -import org.apache.syncope.common.lib.SyncopeClientException; -import org.apache.syncope.common.lib.to.MailTemplateTO; -import org.apache.syncope.common.lib.to.ReportTemplateTO; -import org.apache.syncope.common.lib.to.ImplementationTO; -import org.apache.syncope.common.lib.types.IdMImplementationType; -import org.apache.syncope.common.lib.types.IdRepoImplementationType; -import org.apache.syncope.common.lib.types.MailTemplateFormat; -import org.apache.syncope.common.lib.types.ReportTemplateFormat; -import org.apache.syncope.common.lib.types.ImplementationEngine; -import org.apache.syncope.ide.netbeans.PluginConstants; -import org.apache.syncope.ide.netbeans.ResourceConnector; -import org.apache.syncope.ide.netbeans.service.MailTemplateManagerService; -import org.apache.syncope.ide.netbeans.service.ReportTemplateManagerService; -import org.apache.syncope.ide.netbeans.service.ImplementationManagerService; -import org.apache.syncope.ide.netbeans.service.SyncopeManagerService; -import org.netbeans.api.editor.EditorRegistry; -import org.netbeans.api.progress.ProgressHandle; -import org.netbeans.api.settings.ConvertAsProperties; -import org.openide.awt.ActionID; -import org.openide.awt.ActionReference; -import org.openide.cookies.OpenCookie; -import org.openide.filesystems.FileObject; -import org.openide.filesystems.FileUtil; -import org.openide.loaders.DataObject; -import org.openide.util.Exceptions; -import org.openide.util.NbPreferences; -import org.openide.util.RequestProcessor; -import org.openide.windows.TopComponent; - -/** - * Top component which displays something. - */ -@ConvertAsProperties( - dtd = "-//org.apache.syncope.ide.netbeans//ResourceExplorer//EN", - autostore = false -) -@TopComponent.Description( - preferredID = "ResourceExplorerTopComponent", - iconBase = "images/syncope.png", - persistenceType = TopComponent.PERSISTENCE_ALWAYS -) -@TopComponent.Registration(mode = "explorer", openAtStartup = false) -@ActionID(category = "Window", id = "org.apache.syncope.ide.netbeans.ResourceExplorerTopComponent") -@ActionReference(path = "Menu/Window") -@TopComponent.OpenActionRegistration( - displayName = "Apache Syncope", - preferredID = "ResourceExplorerTopComponent" -) -public final class ResourceExplorerTopComponent extends TopComponent { - - private static final long serialVersionUID = -1643737786852621861L; - - private static final Logger LOG = Logger.getLogger(ResourceExplorerTopComponent.class.getSimpleName()); - - private static final RequestProcessor REQUEST_PROCESSOR = new RequestProcessor(ResourceExplorerTopComponent.class); - - private final DefaultTreeModel treeModel; - - private final DefaultMutableTreeNode visibleRoot; - - private final DefaultMutableTreeNode root; - - private final DefaultMutableTreeNode mailTemplates; - - private final DefaultMutableTreeNode reportXslts; - - private final DefaultMutableTreeNode groovyScripts; - - private SyncopeManagerService syncopeManagerService; - - private MailTemplateManagerService mailTemplateManagerService; - - private ReportTemplateManagerService reportTemplateManagerService; - - private ImplementationManagerService implementationManagerService; - - private Charset encodingPattern; - - public ResourceExplorerTopComponent() { - - initComponents(); - setName(PluginConstants.ROOT_NAME); - setToolTipText(PluginConstants.TOOL_TIP_TEXT); - - treeModel = (DefaultTreeModel) resourceExplorerTree.getModel(); - root = (DefaultMutableTreeNode) treeModel.getRoot(); - visibleRoot = new DefaultMutableTreeNode(PluginConstants.ROOT_NAME); - mailTemplates = new DefaultMutableTreeNode(PluginConstants.MAIL_TEMPLATES); - reportXslts = new DefaultMutableTreeNode(PluginConstants.REPORT_XSLTS); - groovyScripts = new DefaultMutableTreeNode(PluginConstants.GROOVY_SCRIPTS); - root.add(visibleRoot); - initTemplatesTree(); - } - - /** - * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The - * content of this method is always regenerated by the Form Editor. - */ - //CHECKSTYLE:OFF - // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents - private void initComponents() { - - jScrollPane1 = new javax.swing.JScrollPane(); - resourceExplorerTree = new javax.swing.JTree(); - - javax.swing.tree.DefaultMutableTreeNode treeNode1 = new javax.swing.tree.DefaultMutableTreeNode("root"); - resourceExplorerTree.setModel(new javax.swing.tree.DefaultTreeModel(treeNode1)); - resourceExplorerTree.setRootVisible(false); - resourceExplorerTree.setScrollsOnExpand(true); - resourceExplorerTree.addMouseListener(new java.awt.event.MouseAdapter() { - public void mouseClicked(java.awt.event.MouseEvent evt) { - resourceExplorerTreeMouseClicked(evt); - } - }); - jScrollPane1.setViewportView(resourceExplorerTree); - - javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); - this.setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 258, Short.MAX_VALUE) - ); - layout.setVerticalGroup( - layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) - .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 445, Short.MAX_VALUE) - ); - }// </editor-fold>//GEN-END:initComponents - //CHECKSTYLE:ON - - @Override - public Image getIcon() { - return new ImageIcon(ResourceExplorerTopComponent.class.getResource( - "/org/apache/syncope/ide/netbeans/view/favicon.png")).getImage(); - } - - private void resourceExplorerTreeMouseClicked(final java.awt.event.MouseEvent evt) { - if (evt.getButton() == MouseEvent.BUTTON1 && evt.getClickCount() == 2) { - DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) resourceExplorerTree. - getLastSelectedPathComponent(); - DefaultMutableTreeNode parentNode = (DefaultMutableTreeNode) selectedNode.getParent(); - String parentNodeName = Optional.ofNullable(parentNode) - .map(node -> String.valueOf(node.getUserObject())).orElse(null); - if (selectedNode.isLeaf() && StringUtils.isNotBlank(parentNodeName)) { - String leafNodeName = (String) selectedNode.getUserObject(); - DefaultMutableTreeNode grandParentNode = (DefaultMutableTreeNode) parentNode.getParent(); - String grandParentNodeName = (String) grandParentNode.getUserObject(); - try { - if (PluginConstants.MAIL_TEMPLATES.equals(parentNodeName)) { - openMailEditor(leafNodeName); - } else if (PluginConstants.REPORT_XSLTS.equals(parentNodeName)) { - openReportEditor(leafNodeName); - } else if (PluginConstants.GROOVY_SCRIPTS.equals(grandParentNodeName)) { - openScriptEditor(leafNodeName, parentNodeName); - } - } catch (SyncopeClientException ex) { - JOptionPane.showMessageDialog(null, ex.getMessage(), "Syncope Error", JOptionPane.ERROR_MESSAGE); - } catch (IOException ex) { - JOptionPane.showMessageDialog(null, ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); - } catch (Exception ex) { - LOG.log(Level.WARNING, "While navigating explorer tree {0}", ex); - getRefreshServerDetails().setVisible(true); - } - } - } else if (evt.getButton() == MouseEvent.BUTTON3 && evt.getClickCount() == 1) { - DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) resourceExplorerTree. - getLastSelectedPathComponent(); - - if (selectedNode != null) { - DefaultMutableTreeNode parent = (DefaultMutableTreeNode) selectedNode.getParent(); - String parentNodeName = (String) parent.getUserObject(); - String selectedNodeName = (String) selectedNode.getUserObject(); - if (selectedNode.isLeaf() - && !PluginConstants.ROOT_NAME.equals(selectedNodeName) - && !PluginConstants.MAIL_TEMPLATES.equals(selectedNodeName) - && !PluginConstants.REPORT_XSLTS.equals(selectedNodeName) - && !PluginConstants.GROOVY_SCRIPTS.equals(parentNodeName)) { - leafRightClickAction(evt, selectedNode); - } else if (PluginConstants.MAIL_TEMPLATES.equals(selectedNodeName)) { - folderRightClickAction(evt, mailTemplates); - } else if (PluginConstants.REPORT_XSLTS.equals(selectedNodeName)) { - folderRightClickAction(evt, reportXslts); - } else if (PluginConstants.GROOVY_SCRIPTS.equals(parentNodeName)) { - folderRightClickAction(evt, selectedNode); - } else if (PluginConstants.ROOT_NAME.equals(selectedNodeName)) { - rootRightClickAction(evt); - } - } - } - } - - // Variables declaration - do not modify//GEN-BEGIN:variables - private javax.swing.JScrollPane jScrollPane1; - private javax.swing.JTree resourceExplorerTree; - // End of variables declaration//GEN-END:variables - - @Override - public void componentOpened() { - // look for connection preferences - Preferences prefs = NbPreferences.forModule(ResourceExplorerTopComponent.class); - if (StringUtils.isBlank(prefs.get("scheme", null)) - || StringUtils.isBlank(prefs.get("host", null)) - || StringUtils.isBlank(prefs.get("port", null)) - || StringUtils.isBlank(prefs.get("username", null)) - || StringUtils.isBlank(prefs.get("password", null))) { - - new ServerDetailsView(null, true).setVisible(true); - } - try { - syncopeManagerService = ResourceConnector.getSyncopeManagerService(); - mailTemplateManagerService = ResourceConnector.getMailTemplateManagerService(); - reportTemplateManagerService = ResourceConnector.getReportTemplateManagerService(); - implementationManagerService = ResourceConnector.getImplementationManagerService(); - // init tree, because on close it is reset - initTemplatesTree(); - // Load templates - LOG.info("Loading Apache Syncope templates..."); - Runnable tsk = () -> { - final ProgressHandle progr = ProgressHandle.createHandle("Loading Templates", () -> true); - - progr.start(); - progr.progress("Loading Templates."); - addMailTemplates(); - addReportXslts(); - addGroovyScripts(); - progr.finish(); - }; - REQUEST_PROCESSOR.post(tsk); - } catch (IOException e) { - JOptionPane.showMessageDialog(null, e.getMessage(), "Generic Error", JOptionPane.ERROR_MESSAGE); - getRefreshServerDetails(); - } catch (Exception ex) { - getRefreshServerDetails().setVisible(true); - } - } - - @Override - public void componentClosed() { - // TODO add custom code on component - resetTree(); - } - - static void writeProperties(final java.util.Properties p) { - // better to version settings since initial version as advocated at - // http://wiki.apidesign.org/wiki/PropertyFiles - p.setProperty("version", "1.0"); - // TODO store your settings - } - - static void readProperties(final java.util.Properties p) { - // TODO read your settings according to their version - // String version = p.getProperty("version"); - } - - private void addMailTemplates() { - List<MailTemplateTO> mailTemplateList = mailTemplateManagerService.list(); - mailTemplateList - .forEach(mailTemplate -> this.mailTemplates.add(new DefaultMutableTreeNode(mailTemplate.getKey()))); - treeModel.reload(); - } - - private void addReportXslts() { - List<ReportTemplateTO> reportTemplates = reportTemplateManagerService.list(); - reportTemplates.forEach(reportTemplate -> reportXslts.add(new DefaultMutableTreeNode(reportTemplate.getKey()))); - treeModel.reload(); - } - - private void addGroovyScripts() { - syncopeManagerService.getImplementationTypes().stream(). - filter(type -> !IdRepoImplementationType.JWT_SSO_PROVIDER.equals(type) - && !IdRepoImplementationType.AUDIT_APPENDER.equals(type)). - forEach(type -> { - - DefaultMutableTreeNode tempNode = new DefaultMutableTreeNode(type); - List<ImplementationTO> scripts = implementationManagerService.list(type); - scripts.stream(). - filter((script) -> (script.getEngine() == ImplementationEngine.GROOVY)). - forEach(script -> tempNode.add(new DefaultMutableTreeNode(script.getKey()))); - groovyScripts.add(tempNode); - }); - - treeModel.reload(); - } - - private void rootRightClickAction(final MouseEvent evt) { - JPopupMenu menu = new JPopupMenu(); - JMenuItem refreshItem = new JMenuItem("Refresh Templates"); - JMenuItem resetConnectionItem = new JMenuItem("Reset Connection"); - menu.add(refreshItem); - menu.add(resetConnectionItem); - - refreshItem.addActionListener(event -> { - // simulate close and open to refresh the tree - componentClosed(); - componentOpened(); - }); - - resetConnectionItem.addActionListener(event -> { - ServerDetailsView serverDetails = getRefreshServerDetails(); - // set previous preferences - Preferences prefs = NbPreferences.forModule(ResourceExplorerTopComponent.class); - serverDetails.setDetails(prefs.get("scheme", "http"), - prefs.get("host", "localhost"), - prefs.get("port", "8080"), - prefs.get("username", StringUtils.EMPTY), - prefs.get("password", StringUtils.EMPTY)); - // reset connection preferences - prefs.remove("scheme"); - prefs.remove("host"); - prefs.remove("port"); - prefs.remove("username"); - prefs.remove("password"); - serverDetails.setVisible(true); - }); - - menu.show(evt.getComponent(), evt.getX(), evt.getY()); - } - - private void folderRightClickAction(final MouseEvent evt, final DefaultMutableTreeNode node) { - JPopupMenu menu = new JPopupMenu(); - JMenuItem addItem = new JMenuItem("New"); - menu.add(addItem); - - addItem.addActionListener(event -> { - try { - String name1 = JOptionPane.showInputDialog("Enter Name"); - if (StringUtils.isBlank(name1)) { - return; - } - DefaultMutableTreeNode parent1 = (DefaultMutableTreeNode) node.getParent(); - if (!"exit".equals(event.getActionCommand())) { - boolean added; - if (PluginConstants.MAIL_TEMPLATES.equals(node.getUserObject())) { - MailTemplateTO mailTemplate = new MailTemplateTO(); - mailTemplate.setKey(name1); - added = mailTemplateManagerService.create(mailTemplate); - mailTemplateManagerService.setFormat(name1, MailTemplateFormat.HTML, - new ByteArrayInputStream("//Enter content here".getBytes(encodingPattern))); - mailTemplateManagerService.setFormat(name1, MailTemplateFormat.TEXT, - new ByteArrayInputStream("//Enter content here".getBytes(encodingPattern))); - openMailEditor(name1); - } else if (PluginConstants.GROOVY_SCRIPTS.equals(parent1.getUserObject())) { - ImplementationTO newNode = new ImplementationTO(); - String type = (String) node.getUserObject(); - newNode.setKey(name1); - newNode.setEngine(ImplementationEngine.GROOVY); - newNode.setType(type); - String templateClassName = null; - switch (type) { - case IdRepoImplementationType.REPORTLET: - templateClassName = "MyReportlet"; - break; - - case IdRepoImplementationType.ACCOUNT_RULE: - templateClassName = "MyAccountRule"; - break; - - case IdRepoImplementationType.PASSWORD_RULE: - templateClassName = "MyPasswordRule"; - break; - - case IdRepoImplementationType.ITEM_TRANSFORMER: - templateClassName = "MyItemTransformer"; - break; - - case IdRepoImplementationType.TASKJOB_DELEGATE: - templateClassName = "MySchedTaskJobDelegate"; - break; - - case IdMImplementationType.RECON_FILTER_BUILDER: - templateClassName = "MyReconFilterBuilder"; - break; - - case IdRepoImplementationType.LOGIC_ACTIONS: - templateClassName = "MyLogicActions"; - break; - - case IdMImplementationType.PROPAGATION_ACTIONS: - templateClassName = "MyPropagationActions"; - break; - - case IdMImplementationType.PULL_ACTIONS: - templateClassName = "MyPullActions"; - break; - - case IdMImplementationType.PUSH_ACTIONS: - templateClassName = "MyPushActions"; - break; - - case IdMImplementationType.PULL_CORRELATION_RULE: - templateClassName = "MyPullCorrelationRule"; - break; - - case IdMImplementationType.PUSH_CORRELATION_RULE: - templateClassName = "MyPushCorrelationRule"; - break; - - case IdRepoImplementationType.VALIDATOR: - templateClassName = "MyValidator"; - break; - - case IdRepoImplementationType.RECIPIENTS_PROVIDER: - templateClassName = "MyRecipientsProvider"; - break; - - case IdMImplementationType.PROVISION_SORTER: - templateClassName = "MyProvisionSorter"; - break; - - default: - } - newNode.setBody(IOUtils.toString(ResourceExplorerTopComponent.class.getResourceAsStream( - "/org/apache/syncope/ide/netbeans/implementations/" + templateClassName + ".groovy"), - StandardCharsets.UTF_8.name())); - added = implementationManagerService.create(newNode); - openScriptEditor(name1, (String) node.getUserObject()); - } else { - ReportTemplateTO reportTemplate = new ReportTemplateTO(); - reportTemplate.setKey(name1); - added = reportTemplateManagerService.create(reportTemplate); - reportTemplateManagerService.setFormat(name1, ReportTemplateFormat.FO, - new ByteArrayInputStream("//Enter content here".getBytes(encodingPattern))); - reportTemplateManagerService.setFormat(name1, ReportTemplateFormat.CSV, - new ByteArrayInputStream("//Enter content here".getBytes(encodingPattern))); - reportTemplateManagerService.setFormat(name1, ReportTemplateFormat.HTML, - new ByteArrayInputStream("//Enter content here".getBytes(encodingPattern))); - openReportEditor(name1); - } - if (added) { - node.add(new DefaultMutableTreeNode(name1)); - treeModel.reload(node); - } else { - JOptionPane.showMessageDialog( - null, "Error while creating new element", "Error", JOptionPane.ERROR_MESSAGE); - } - } - } catch (SyncopeClientException sce) { - JOptionPane.showMessageDialog(null, sce.getMessage(), "Syncope Error", JOptionPane.ERROR_MESSAGE); - } catch (IOException ioe) { - JOptionPane.showMessageDialog(null, ioe.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); - } catch (Exception e) { - LOG.log(Level.WARNING, "Refreshing after exception", e); - getRefreshServerDetails().setVisible(true); - } - }); - - menu.show(evt.getComponent(), evt.getX(), evt.getY()); - } - - private void leafRightClickAction(final MouseEvent evt, - final DefaultMutableTreeNode node) { - JPopupMenu menu = new JPopupMenu(); - JMenuItem deleteItem = new JMenuItem("Delete"); - menu.add(deleteItem); - - deleteItem.addActionListener(event -> { - int result = JOptionPane.showConfirmDialog(null, "Are you sure to delete the item?"); - if (result == JOptionPane.OK_OPTION) { - DefaultMutableTreeNode parent1 = (DefaultMutableTreeNode) node.getParent(); - String nodeName1 = (String) node.getUserObject(); - try { - boolean deleted; - if (PluginConstants.MAIL_TEMPLATES.equals(parent1.getUserObject())) { - deleted = mailTemplateManagerService.delete(nodeName1); - } else if (PluginConstants.REPORT_XSLTS.equals(parent1.getUserObject())) { - deleted = reportTemplateManagerService.delete(nodeName1); - } else { - String type = (String) parent1.getUserObject(); - deleted = implementationManagerService.delete(type, nodeName1); - } - if (deleted) { - node.removeFromParent(); - treeModel.reload(parent1); - } else { - JOptionPane.showMessageDialog( - null, "Error while deleting new element", "Error", JOptionPane.ERROR_MESSAGE); - } - } catch (SyncopeClientException exc) { - JOptionPane.showMessageDialog( - null, exc.getMessage(), "Syncope Error", JOptionPane.ERROR_MESSAGE); - } catch (Exception ex) { - getRefreshServerDetails().setVisible(true); - } - } - }); - - menu.show(evt.getComponent(), evt.getX(), evt.getY()); - } - - private void openMailEditor(final String name) throws IOException { - String formatStr = (String) JOptionPane.showInputDialog(null, "Select File Format", - "File format", JOptionPane.QUESTION_MESSAGE, null, - PluginConstants.MAIL_TEMPLATE_FORMATS, MailTemplateFormat.TEXT.name()); - - if (StringUtils.isNotBlank(formatStr)) { - MailTemplateFormat format = MailTemplateFormat.valueOf(formatStr); - String type = null; - InputStream is = null; - - switch (format) { - case HTML: - type = "html"; - is = (InputStream) mailTemplateManagerService.getFormat(name, MailTemplateFormat.HTML); - break; - case TEXT: - type = "txt"; - is = (InputStream) mailTemplateManagerService.getFormat(name, MailTemplateFormat.TEXT); - break; - default: - LOG.log(Level.SEVERE, String.format("Format [%s] not supported", format)); - break; - } - String content = is == null ? StringUtils.EMPTY : IOUtils.toString(is, encodingPattern.name()); - - String mailTemplatesDirName = System.getProperty("java.io.tmpdir") + "/Templates/Mail/"; - File mailTemplatesDir = new File(mailTemplatesDirName); - if (!mailTemplatesDir.exists()) { - mailTemplatesDir.mkdirs(); - } - File file = new File(mailTemplatesDirName + name + '.' + type); - try (FileWriter fw = new FileWriter(file, StandardCharsets.UTF_8)) { - fw.write(content); - fw.flush(); - } - FileObject fob = FileUtil.toFileObject(file.getAbsoluteFile()); - fob.setAttribute("description", "TEXT"); - DataObject data = DataObject.find(fob); - data.getLookup().lookup(OpenCookie.class).open(); - data.addPropertyChangeListener(event -> { - if (DataObject.PROP_MODIFIED.equals(event.getPropertyName())) { - //save item remotely - LOG.info(String.format("Saving Mail template [%s]", name)); - saveContent(); - } - }); - } - } - - private void openScriptEditor(final String name, final String type) throws IOException { - ImplementationTO node = implementationManagerService.read(type, name); - String groovyScriptsDirName = System.getProperty("java.io.tmpdir") + "/Groovy/" + node.getType() + '/'; - File groovyScriptsDir = new File(groovyScriptsDirName); - if (!groovyScriptsDir.exists()) { - groovyScriptsDir.mkdirs(); - } - File file = new File(groovyScriptsDirName + name + ".groovy"); - try (FileWriter fw = new FileWriter(file, StandardCharsets.UTF_8)) { - fw.write(node.getBody()); - fw.flush(); - } - FileObject fob = FileUtil.toFileObject(file.getAbsoluteFile()); - DataObject data = DataObject.find(fob); - data.getLookup().lookup(OpenCookie.class).open(); - data.addPropertyChangeListener(event -> { - if (DataObject.PROP_MODIFIED.equals(event.getPropertyName())) { - //save item remotely - LOG.info(String.format("Saving Groovy template [%s]", name)); - saveContent(); - } - }); - } - - private void openReportEditor(final String name) throws IOException { - String formatStr = (String) JOptionPane.showInputDialog(null, "Select File Format", - "File format", JOptionPane.QUESTION_MESSAGE, null, - PluginConstants.REPORT_TEMPLATE_FORMATS, ReportTemplateFormat.FO.name()); - - if (StringUtils.isNotBlank(formatStr)) { - ReportTemplateFormat format = ReportTemplateFormat.valueOf(formatStr); - InputStream is = null; - switch (format) { - case HTML: - is = (InputStream) reportTemplateManagerService.getFormat(name, ReportTemplateFormat.HTML); - break; - case CSV: - is = (InputStream) reportTemplateManagerService.getFormat(name, ReportTemplateFormat.CSV); - break; - case FO: - is = (InputStream) reportTemplateManagerService.getFormat(name, ReportTemplateFormat.FO); - break; - default: - LOG.log(Level.SEVERE, String.format("Format [%s] not supported", format)); - break; - } - String content = is == null ? StringUtils.EMPTY : IOUtils.toString(is, encodingPattern.name()); - - String reportTemplatesDirName = System.getProperty("java.io.tmpdir") + "/Templates/Report/"; - File reportTemplatesDir = new File(reportTemplatesDirName); - if (!reportTemplatesDir.exists()) { - reportTemplatesDir.mkdirs(); - } - File file = new File(reportTemplatesDirName + name + '.' + format.name().toLowerCase()); - try (FileWriter fw = new FileWriter(file, StandardCharsets.UTF_8)) { - fw.write(content); - fw.flush(); - } - FileObject fob = FileUtil.toFileObject(file.getAbsoluteFile()); - DataObject data = DataObject.find(fob); - data.getLookup().lookup(OpenCookie.class).open(); - data.addPropertyChangeListener(event -> { - if (DataObject.PROP_MODIFIED.equals(event.getPropertyName())) { - //save item remotely - LOG.info(String.format("Saving Report template [%s]", name)); - saveContent(); - } - }); - } - } - - private void saveContent() { - try { - Document document = EditorRegistry.lastFocusedComponent().getDocument(); - String textContent = document.getText(0, document.getLength()); - InputStream isContent = new ByteArrayInputStream(textContent.getBytes(encodingPattern)); - String path = (String) document.getProperty(Document.TitleProperty); - String[] temp = path.split(File.separator.replace("\\", "\\\\")); - String name = temp[temp.length - 1]; - String fileName = temp[temp.length - 3]; - String templateType = temp[temp.length - 2]; - temp = name.split("\\."); - String format = temp[1]; - String key = temp[0]; - - if ("Mail".equals(templateType)) { - if ("txt".equals(format)) { - mailTemplateManagerService.setFormat(key, MailTemplateFormat.TEXT, isContent); - } else { - mailTemplateManagerService.setFormat(key, MailTemplateFormat.HTML, isContent); - } - } else if ("html".equals(format)) { - reportTemplateManagerService.setFormat(key, ReportTemplateFormat.HTML, isContent); - } else if ("fo".equals(format)) { - reportTemplateManagerService.setFormat(key, ReportTemplateFormat.FO, isContent); - } else if ("csv".equals(format)) { - reportTemplateManagerService.setFormat(key, ReportTemplateFormat.CSV, isContent); - } else if ("Groovy".equals(fileName)) { - ImplementationTO node = implementationManagerService.read(templateType, key); - node.setBody(textContent); - implementationManagerService.update(node); - } - } catch (BadLocationException e) { - Exceptions.printStackTrace(e); - } catch (Exception e) { - getRefreshServerDetails().setVisible(true); - } - } - - private void initTemplatesTree() { - visibleRoot.add(mailTemplates); - visibleRoot.add(reportXslts); - visibleRoot.add(groovyScripts); - treeModel.reload(); - } - - private void resetTree() { - visibleRoot.removeAllChildren(); - mailTemplates.removeAllChildren(); - reportXslts.removeAllChildren(); - groovyScripts.removeAllChildren(); - treeModel.reload(); - } - - private ServerDetailsView getRefreshServerDetails() { - return new ServerDetailsView(null, true) { - - private static final long serialVersionUID = 3926689175745815987L; - - @Override - protected void okButtonActionPerformed(final ActionEvent evt) { - super.okButtonActionPerformed(evt); - // simulate close and open to refresh the tree - componentClosed(); - componentOpened(); - } - }; - } -} diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ServerDetailsView.form b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ServerDetailsView.form deleted file mode 100644 index b9f8dc2..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ServerDetailsView.form +++ /dev/null @@ -1,182 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> - -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> - -<Form version="1.5" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JDialogFormInfo"> - <Properties> - <Property name="defaultCloseOperation" type="int" value="2"/> - </Properties> - <SyntheticProperties> - <SyntheticProperty name="formSizePolicy" type="int" value="1"/> - <SyntheticProperty name="generateCenter" type="boolean" value="false"/> - </SyntheticProperties> - <AuxValues> - <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/> - <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/> - <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/> - <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/> - <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/> - <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/> - <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/> - <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/> - <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/> - </AuxValues> - - <Layout> - <DimensionLayout dim="0"> - <Group type="103" groupAlignment="0" attributes="0"> - <Group type="102" attributes="0"> - <EmptySpace min="-2" pref="41" max="-2" attributes="0"/> - <Group type="103" groupAlignment="0" attributes="0"> - <Component id="jLabel4" alignment="0" min="-2" pref="256" max="-2" attributes="0"/> - <Group type="103" groupAlignment="1" attributes="0"> - <Component id="okButton" min="-2" pref="74" max="-2" attributes="0"/> - <Group type="102" alignment="1" attributes="0"> - <Group type="103" groupAlignment="0" attributes="0"> - <Component id="jLabel1" alignment="0" min="-2" max="-2" attributes="0"/> - <Component id="jLabel2" alignment="0" min="-2" max="-2" attributes="0"/> - <Component id="jLabel3" alignment="0" min="-2" max="-2" attributes="0"/> - <Component id="jLabel5" min="-2" max="-2" attributes="0"/> - <Component id="jLabel6" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace min="-2" pref="39" max="-2" attributes="0"/> - <Group type="103" groupAlignment="0" max="-2" attributes="0"> - <Component id="portTxt" max="32767" attributes="0"/> - <Component id="hostTxt" max="32767" attributes="0"/> - <Component id="userNameTxt" max="32767" attributes="0"/> - <Component id="schemeTxt" max="32767" attributes="0"/> - <Component id="passwordTxt" alignment="0" pref="155" max="32767" attributes="0"/> - </Group> - </Group> - </Group> - </Group> - <EmptySpace pref="40" max="32767" attributes="0"/> - </Group> - </Group> - </DimensionLayout> - <DimensionLayout dim="1"> - <Group type="103" groupAlignment="0" attributes="0"> - <Group type="102" alignment="1" attributes="0"> - <EmptySpace max="32767" attributes="0"/> - <Component id="jLabel4" min="-2" pref="65" max="-2" attributes="0"/> - <EmptySpace type="separate" max="-2" attributes="0"/> - <Group type="103" groupAlignment="3" attributes="0"> - <Component id="jLabel1" alignment="3" min="-2" max="-2" attributes="0"/> - <Component id="schemeTxt" alignment="3" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace max="-2" attributes="0"/> - <Group type="103" groupAlignment="3" attributes="0"> - <Component id="hostTxt" alignment="3" min="-2" max="-2" attributes="0"/> - <Component id="jLabel6" alignment="3" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace max="-2" attributes="0"/> - <Group type="103" groupAlignment="3" attributes="0"> - <Component id="portTxt" alignment="3" min="-2" max="-2" attributes="0"/> - <Component id="jLabel5" alignment="3" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace max="-2" attributes="0"/> - <Group type="103" groupAlignment="3" attributes="0"> - <Component id="userNameTxt" alignment="3" min="-2" max="-2" attributes="0"/> - <Component id="jLabel2" alignment="3" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace max="-2" attributes="0"/> - <Group type="103" groupAlignment="3" attributes="0"> - <Component id="jLabel3" alignment="3" min="-2" max="-2" attributes="0"/> - <Component id="passwordTxt" alignment="3" min="-2" max="-2" attributes="0"/> - </Group> - <EmptySpace max="-2" attributes="0"/> - <Component id="okButton" min="-2" max="-2" attributes="0"/> - <EmptySpace max="-2" attributes="0"/> - </Group> - </Group> - </DimensionLayout> - </Layout> - <SubComponents> - <Component class="javax.swing.JLabel" name="jLabel1"> - <Properties> - <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor"> - <ComponentRef name="schemeTxt"/> - </Property> - <Property name="text" type="java.lang.String" value="Scheme"/> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - <Component class="javax.swing.JLabel" name="jLabel2"> - <Properties> - <Property name="text" type="java.lang.String" value="Username"/> - </Properties> - </Component> - <Component class="javax.swing.JLabel" name="jLabel3"> - <Properties> - <Property name="text" type="java.lang.String" value="Password"/> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - <Component class="javax.swing.JTextField" name="schemeTxt"> - <Properties> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - <Component class="javax.swing.JTextField" name="userNameTxt"> - </Component> - <Component class="javax.swing.JPasswordField" name="passwordTxt"> - </Component> - <Component class="javax.swing.JButton" name="okButton"> - <Properties> - <Property name="text" type="java.lang.String" value="submit"/> - </Properties> - <Events> - <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="okButtonActionPerformed"/> - </Events> - </Component> - <Component class="javax.swing.JLabel" name="jLabel4"> - <Properties> - <Property name="horizontalAlignment" type="int" value="0"/> - <Property name="text" type="java.lang.String" value="Apache Syncope connection"/> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - <Component class="javax.swing.JTextField" name="hostTxt"> - <Properties> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - <Component class="javax.swing.JLabel" name="jLabel5"> - <Properties> - <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor"> - <ComponentRef name="portTxt"/> - </Property> - <Property name="text" type="java.lang.String" value="Port"/> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - <Component class="javax.swing.JTextField" name="portTxt"> - </Component> - <Component class="javax.swing.JLabel" name="jLabel6"> - <Properties> - <Property name="labelFor" type="java.awt.Component" editor="org.netbeans.modules.form.ComponentChooserEditor"> - <ComponentRef name="hostTxt"/> - </Property> - <Property name="text" type="java.lang.String" value="Host"/> - <Property name="toolTipText" type="java.lang.String" value=""/> - </Properties> - </Component> - </SubComponents> -</Form> diff --git a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ServerDetailsView.java b/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ServerDetailsView.java deleted file mode 100644 index 00d9bb9..0000000 --- a/ide/netbeans/src/main/java/org/apache/syncope/ide/netbeans/view/ServerDetailsView.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.syncope.ide.netbeans.view; - -import java.awt.EventQueue; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Logger; -import java.util.prefs.Preferences; -import javax.swing.GroupLayout; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPasswordField; -import javax.swing.JTextField; -import javax.swing.LayoutStyle; -import javax.swing.SwingConstants; -import javax.swing.WindowConstants; -import org.apache.commons.lang3.StringUtils; -import org.openide.util.NbPreferences; - -public class ServerDetailsView extends JDialog { - - private static final long serialVersionUID = -8693554903195406915L; - - public static final Logger LOG = Logger.getLogger("ServerDetailsView"); - - /** - * Creates new form LoginView - * - * @param parent Parent Frame - * @param modal Whether it is modal or not - */ - public ServerDetailsView(final java.awt.Frame parent, final boolean modal) { - super(parent, modal); - initComponents(); - setLocationRelativeTo(this); - } - - /** - * This method is called from within the constructor to initialize the form. - * WARNING: Do NOT modify this code. The content of this method is always - * regenerated by the Form Editor. - */ - @SuppressWarnings("unchecked") - //CHECKSTYLE:OFF - // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents - private void initComponents() { - - jLabel1 = new JLabel(); - jLabel2 = new JLabel(); - jLabel3 = new JLabel(); - schemeTxt = new JTextField(); - userNameTxt = new JTextField(); - passwordTxt = new JPasswordField(); - okButton = new JButton(); - jLabel4 = new JLabel(); - hostTxt = new JTextField(); - jLabel5 = new JLabel(); - portTxt = new JTextField(); - jLabel6 = new JLabel(); - - setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - - jLabel1.setLabelFor(schemeTxt); - org.openide.awt.Mnemonics.setLocalizedText(jLabel1, "Scheme"); - jLabel1.setToolTipText(""); - - org.openide.awt.Mnemonics.setLocalizedText(jLabel2, "Username"); - - org.openide.awt.Mnemonics.setLocalizedText(jLabel3, "Password"); - jLabel3.setToolTipText(""); - - schemeTxt.setToolTipText(""); - - org.openide.awt.Mnemonics.setLocalizedText(okButton, "submit"); - okButton.addActionListener(this::okButtonActionPerformed); - - jLabel4.setHorizontalAlignment(SwingConstants.CENTER); - org.openide.awt.Mnemonics.setLocalizedText(jLabel4, "Apache Syncope connection"); - jLabel4.setToolTipText(""); - - hostTxt.setToolTipText(""); - - jLabel5.setLabelFor(portTxt); - org.openide.awt.Mnemonics.setLocalizedText(jLabel5, "Port"); - jLabel5.setToolTipText(""); - - jLabel6.setLabelFor(hostTxt); - org.openide.awt.Mnemonics.setLocalizedText(jLabel6, "Host"); - jLabel6.setToolTipText(""); - - GroupLayout layout = new GroupLayout(getContentPane()); - getContentPane().setLayout(layout); - layout.setHorizontalGroup( - layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(layout.createSequentialGroup() - .addGap(41, 41, 41) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(jLabel4, GroupLayout.PREFERRED_SIZE, - 256, GroupLayout.PREFERRED_SIZE) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.TRAILING) - .addComponent(okButton, GroupLayout.PREFERRED_SIZE, - 74, GroupLayout.PREFERRED_SIZE) - .addGroup(layout.createSequentialGroup() - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addComponent(jLabel1) - .addComponent(jLabel2) - .addComponent(jLabel3) - .addComponent(jLabel5) - .addComponent(jLabel6)) - .addGap(39, 39, 39) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING, false) - .addComponent(portTxt) - .addComponent(hostTxt) - .addComponent(userNameTxt) - .addComponent(schemeTxt) - .addComponent(passwordTxt, GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE))))) - .addContainerGap(40, Short.MAX_VALUE)) - ); - layout.setVerticalGroup( - layout.createParallelGroup(GroupLayout.Alignment.LEADING) - .addGroup(GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() - .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) - .addComponent(jLabel4, GroupLayout.PREFERRED_SIZE, 65, GroupLayout.PREFERRED_SIZE) - .addGap(18, 18, 18) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(jLabel1) - .addComponent(schemeTxt, GroupLayout.PREFERRED_SIZE, - GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(hostTxt, GroupLayout.PREFERRED_SIZE, - GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel6)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(portTxt, GroupLayout.PREFERRED_SIZE, - GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel5)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(userNameTxt, GroupLayout.PREFERRED_SIZE, - GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE) - .addComponent(jLabel2)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) - .addComponent(jLabel3) - .addComponent(passwordTxt, GroupLayout.PREFERRED_SIZE, - GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)) - .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED) - .addComponent(okButton) - .addContainerGap()) - ); - - pack(); - }// </editor-fold>//GEN-END:initComponents - //CHECKSTYLE:ON - - protected void okButtonActionPerformed(final java.awt.event.ActionEvent evt) { - // validation - List<String> validation = validate(schemeTxt, hostTxt, portTxt, userNameTxt); - if (validation.isEmpty()) { - Preferences prefs = NbPreferences.forModule(ResourceExplorerTopComponent.class); - prefs.put("scheme", schemeTxt.getText()); - prefs.put("host", hostTxt.getText()); - prefs.put("port", portTxt.getText()); - prefs.put("username", userNameTxt.getText()); - prefs.put("password", new String(passwordTxt.getPassword())); - // dismiss panel - this.dispose(); - } else { - JOptionPane.showMessageDialog( - null, "Please insert valid " + validation, "Validation Error", JOptionPane.ERROR_MESSAGE); - } - } - - public void setDetails( - final String scheme, - final String host, - final String port, - final String username, - final String password) { - schemeTxt.setText(scheme); - hostTxt.setText(host); - portTxt.setText(port); - userNameTxt.setText(username); - passwordTxt.setText(password); - } - - public static void main(final String[] args) { - /* Create and display the dialog */ - EventQueue.invokeLater(() -> { - ServerDetailsView dialog = new ServerDetailsView(new JFrame(), true); - dialog.addWindowListener(new WindowAdapter() { - - @Override - public void windowClosing(final WindowEvent e) { - System.exit(0); - } - }); - dialog.setVisible(true); - }); - } - - // Variables declaration - do not modify//GEN-BEGIN:variables - private JTextField hostTxt; - private JLabel jLabel1; - private JLabel jLabel2; - private JLabel jLabel3; - private JLabel jLabel4; - private JLabel jLabel5; - private JLabel jLabel6; - private JButton okButton; - private JPasswordField passwordTxt; - private JTextField portTxt; - private JTextField schemeTxt; - private JTextField userNameTxt; - // End of variables declaration//GEN-END:variables - - private static List<String> validate( - final JTextField schemeTxt, - final JTextField hostTxt, - final JTextField portTxt, - final JTextField userNameTxt) { - - List<String> res = new ArrayList<>(); - - if (StringUtils.isBlank(schemeTxt.getText()) - || (!StringUtils.equals(schemeTxt.getText(), "http") - && !StringUtils.equals(schemeTxt.getText(), "https"))) { - res.add("scheme"); - } - if (StringUtils.isBlank(hostTxt.getText())) { - res.add("host"); - } - if (StringUtils.isBlank(portTxt.getText()) || !StringUtils.isNumeric(portTxt.getText())) { - res.add("port"); - } - if (StringUtils.isBlank(userNameTxt.getText())) { - res.add("username"); - } - return res; - } -} diff --git a/ide/netbeans/src/main/nbm/MANIFEST.MF b/ide/netbeans/src/main/nbm/MANIFEST.MF deleted file mode 100644 index b147609..0000000 --- a/ide/netbeans/src/main/nbm/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt -Manifest-Version: 1.0 -OpenIDE-Module-Requires: org.openide.windows.WindowManager diff --git a/ide/netbeans/src/main/resources/org/apache/syncope/ide/netbeans/view/Bundle.properties b/ide/netbeans/src/main/resources/org/apache/syncope/ide/netbeans/view/Bundle.properties deleted file mode 100644 index 17de78d..0000000 --- a/ide/netbeans/src/main/resources/org/apache/syncope/ide/netbeans/view/Bundle.properties +++ /dev/null @@ -1,28 +0,0 @@ -#Licensed to the Apache Software Foundation (ASF) under one -#or more contributor license agreements. See the NOTICE file -#distributed with this work for additional information -#regarding copyright ownership. The ASF licenses this file -#to you under the Apache License, Version 2.0 (the -#"License"); you may not use this file except in compliance -#with the License. You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -#Unless required by applicable law or agreed to in writing, -#software distributed under the License is distributed on an -#"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -#KIND, either express or implied. See the License for the -#specific language governing permissions and limitations -#under the License. - -TemplateViewTopComponent.jPanel1.TabConstraints.tabTitle=TEXT -TemplateViewTopComponent.jPanel2.TabConstraints.tabTitle=XML - -ServerDetailsView.jLabel1.text=URL -ServerDetailsView.jLabel4.text=Apache Syncope -ServerDetailsView.okButton.text=OK -ServerDetailsView.passwordTxt.text= -ServerDetailsView.userNameTxt.text= -ServerDetailsView.urlTxt.text= -ServerDetailsView.jLabel3.text=Password -ServerDetailsView.jLabel2.text=User Name diff --git a/ide/netbeans/src/main/resources/org/apache/syncope/ide/netbeans/view/favicon.png b/ide/netbeans/src/main/resources/org/apache/syncope/ide/netbeans/view/favicon.png deleted file mode 100644 index aa2f3e2..0000000 Binary files a/ide/netbeans/src/main/resources/org/apache/syncope/ide/netbeans/view/favicon.png and /dev/null differ diff --git a/ide/pom.xml b/ide/pom.xml deleted file mode 100644 index d359196..0000000 --- a/ide/pom.xml +++ /dev/null @@ -1,106 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- -Licensed to the Apache Software Foundation (ASF) under one -or more contributor license agreements. See the NOTICE file -distributed with this work for additional information -regarding copyright ownership. The ASF licenses this file -to you under the Apache License, Version 2.0 (the -"License"); you may not use this file except in compliance -with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 -Unless required by applicable law or agreed to in writing, -software distributed under the License is distributed on an -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, either express or implied. See the License for the -specific language governing permissions and limitations -under the License. ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope</artifactId> - <version>3.0.0-SNAPSHOT</version> - </parent> - - <name>Apache Syncope IDE</name> - <description>Apache Syncope IDE</description> - <groupId>org.apache.syncope</groupId> - <artifactId>syncope-ide</artifactId> - <packaging>pom</packaging> - - <properties> - <rootpom.basedir>${basedir}/..</rootpom.basedir> - </properties> - - <profiles> - <profile> - <id>site</id> - - <build> - <plugins> - <plugin> - <groupId>org.asciidoctor</groupId> - <artifactId>asciidoctor-maven-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-site-plugin</artifactId> - <inherited>true</inherited> - <configuration> - <skip>true</skip> - <skipDeploy>true</skipDeploy> - <generateReports>false</generateReports> - </configuration> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <id>copy-docs-to-site</id> - <phase>none</phase> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - - <profile> - <id>apache-release</id> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-deploy-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-source-plugin</artifactId> - <inherited>false</inherited> - <configuration> - <skipSource>true</skipSource> - </configuration> - </plugin> - </plugins> - </build> - </profile> - </profiles> - - <modules> - <module>netbeans</module> - </modules> -</project> diff --git a/pom.xml b/pom.xml index 94f38cd..2125adb 100644 --- a/pom.xml +++ b/pom.xml @@ -479,8 +479,6 @@ under the License. <wicket-bootstrap.version>5.0.5</wicket-bootstrap.version> <wicket-spring-boot.version>3.0.4</wicket-spring-boot.version> - <netbeans.version>RELEASE124</netbeans.version> - <antlr4.version>4.9.2</antlr4.version> <curator.version>5.2.0</curator.version> @@ -1825,89 +1823,6 @@ under the License. </dependency> <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-api-annotations-common</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-windows</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-util</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-util-ui</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-util-lookup</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-awt</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-modules-settings</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-io</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-nodes</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-text</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-filesystems</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-openide-loaders</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-core-multiview</artifactId> - <version>${netbeans.version}</version> - <type>jar</type> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-modules-editor-lib2</artifactId> - <version>${netbeans.version}</version> - <type>jar</type> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-api-progress</artifactId> - <version>${netbeans.version}</version> - </dependency> - <dependency> - <groupId>org.netbeans.api</groupId> - <artifactId>org-netbeans-api-progress-nb</artifactId> - <version>${netbeans.version}</version> - </dependency> - - <dependency> <groupId>org.antlr</groupId> <artifactId>antlr4-runtime</artifactId> <version>${antlr4.version}</version> @@ -2988,7 +2903,6 @@ under the License. <module>ext</module> <module>archetype</module> <module>standalone</module> - <module>ide</module> </modules> </project> diff --git a/src/main/asciidoc/getting-started/obtain.adoc b/src/main/asciidoc/getting-started/obtain.adoc index 4f7f32b..be03468 100644 --- a/src/main/asciidoc/getting-started/obtain.adoc +++ b/src/main/asciidoc/getting-started/obtain.adoc @@ -519,70 +519,3 @@ You can configure any LDAP client (such as http://jxplorer.org/[JXplorer^], for Click 'Connect' button |=== - -=== Netbeans IDE Plugin - -The Netbeans IDE plugin allows remote management of notification e-mail and report templates, and remote editing -of Apache Groovy implementations. - -[[netbeansplugin-installation]] -==== Installation - -After https://syncope.apache.org/downloads[download^], start the most recent Netbeans IDE then go to -`Tools > Plugins`: - -image::netbeans01.png[netbeans01] - -Click on `Downloaded > Add Plugins...`: - -image::netbeans02.png[netbeans02] - -image::netbeans03.png[netbeans03] - -image::netbeans04.png[netbeans04] - -Select `Apache Syncope Netbeans IDE Plugin` and click on `Install`: - -image::netbeans05.png[netbeans05] - -image::netbeans06.png[netbeans06] - -==== Setup - -Once installed go to `Window` > `Apache Syncope`: - -image::netbeans07.png[netbeans07] - -The first time the plugin is run, it will prompt for connection details: - -image::netbeans12.png[netbeans12] - -Once a connection to the given Apache Syncope deployment is established, a panel showing Mail Templates, Report XSLTs -and Groovy implementations will appear on the left; by double-clicking on each folder, the list of available items -is shown: - -image::netbeans08.png[netbeans08] - -To refresh the list of available items, or to update the connection details, right-click on the -`Apache Syncope` root node: - -image::netbeans09.png[netbeans09] - -To create a new item, right-click on the `Mail Templates`, `Report XSLTs` or `Groovy Implementations` folder and then -click on `New` label: - -image::netbeans10.png[netbeans10] - -[NOTE] -==== -Before creating or editing a mail or report template, a modal window will be shown to select the edit format: - -image::netbeans13.png[netbeans13] -==== - -To edit am item, double-click on the item name and an editor will appear. On save, the item content will be -uploaded to the configured Apache Syncope deployment. - -To delete an existing item, right-click on the item name and then click on `Delete`: - -image::netbeans11.png[netbeans11] diff --git a/src/main/asciidoc/images/netbeans01.png b/src/main/asciidoc/images/netbeans01.png deleted file mode 100644 index 1fc62ae..0000000 Binary files a/src/main/asciidoc/images/netbeans01.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans02.png b/src/main/asciidoc/images/netbeans02.png deleted file mode 100644 index 119a58b..0000000 Binary files a/src/main/asciidoc/images/netbeans02.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans03.png b/src/main/asciidoc/images/netbeans03.png deleted file mode 100644 index 90b3bc9..0000000 Binary files a/src/main/asciidoc/images/netbeans03.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans04.png b/src/main/asciidoc/images/netbeans04.png deleted file mode 100644 index 772b99b..0000000 Binary files a/src/main/asciidoc/images/netbeans04.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans05.png b/src/main/asciidoc/images/netbeans05.png deleted file mode 100644 index 2018ea5..0000000 Binary files a/src/main/asciidoc/images/netbeans05.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans06.png b/src/main/asciidoc/images/netbeans06.png deleted file mode 100644 index 6010051..0000000 Binary files a/src/main/asciidoc/images/netbeans06.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans07.png b/src/main/asciidoc/images/netbeans07.png deleted file mode 100644 index 3078269..0000000 Binary files a/src/main/asciidoc/images/netbeans07.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans08.png b/src/main/asciidoc/images/netbeans08.png deleted file mode 100644 index fe4afa8..0000000 Binary files a/src/main/asciidoc/images/netbeans08.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans09.png b/src/main/asciidoc/images/netbeans09.png deleted file mode 100644 index 6a4694c..0000000 Binary files a/src/main/asciidoc/images/netbeans09.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans10.png b/src/main/asciidoc/images/netbeans10.png deleted file mode 100644 index ba7130d..0000000 Binary files a/src/main/asciidoc/images/netbeans10.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans11.png b/src/main/asciidoc/images/netbeans11.png deleted file mode 100644 index 8d1701a..0000000 Binary files a/src/main/asciidoc/images/netbeans11.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans12.png b/src/main/asciidoc/images/netbeans12.png deleted file mode 100644 index 32400cf..0000000 Binary files a/src/main/asciidoc/images/netbeans12.png and /dev/null differ diff --git a/src/main/asciidoc/images/netbeans13.png b/src/main/asciidoc/images/netbeans13.png deleted file mode 100644 index 009f645..0000000 Binary files a/src/main/asciidoc/images/netbeans13.png and /dev/null differ diff --git a/src/main/asciidoc/reference-guide/architecture/architecture.adoc b/src/main/asciidoc/reference-guide/architecture/architecture.adoc index 34a672a..1a45d52 100644 --- a/src/main/asciidoc/reference-guide/architecture/architecture.adoc +++ b/src/main/asciidoc/reference-guide/architecture/architecture.adoc @@ -194,9 +194,3 @@ To reset to the default mode, it is enough to click again on the specific icon. Third-party applications are provided full access to IdM services by leveraging the REST interface, either via the Java <<client-library,Client Library>> (the basis of Admin UI and End-user UI) or plain HTTP calls. - -==== Netbeans IDE Plugin - -The Netbeans IDE plugin allows remote management of <<notification-templates,notification e-mail>> and -<<report-templates,report>> templates, and remote editing of Apache Groovy <<implementations,implementations>>. + -It constitutes an example of a Java application relying on the Client Library for interacting with the Core via REST. diff --git a/src/main/asciidoc/reference-guide/concepts/notifications.adoc b/src/main/asciidoc/reference-guide/concepts/notifications.adoc index 3051696..b4e170a 100644 --- a/src/main/asciidoc/reference-guide/concepts/notifications.adoc +++ b/src/main/asciidoc/reference-guide/concepts/notifications.adoc @@ -106,8 +106,7 @@ to be used respectively for plaintext and HTML e-mails, and is available for sel [NOTE] ==== -Notification templates can be easily managed either via the <<console-configuration-notifications,admin console>> -or the <<netbeans-ide-plugin>>. +Notification templates can be easily managed via the <<console-configuration-notifications,admin console>>. ==== The full power of JEXL expressions - see http://commons.apache.org/proper/commons-jexl/reference/syntax.html[reference^] diff --git a/src/main/asciidoc/reference-guide/concepts/reports.adoc b/src/main/asciidoc/reference-guide/concepts/reports.adoc index 1e18526..b24852a 100644 --- a/src/main/asciidoc/reference-guide/concepts/reports.adoc +++ b/src/main/asciidoc/reference-guide/concepts/reports.adoc @@ -45,7 +45,7 @@ will be then made available as PDF and RTF [NOTE] ==== -Report templates can be easily managed either via the <<console-reports,admin console>> or the <<netbeans-ide-plugin>>. +Report templates can be easily managed via the <<console-reports,admin console>>. ==== ==== Reportlets