adjusted legal info, cleanup, new features
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..fc5938d
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,140 @@
+Eclipse Foundation Software User Agreement
+
+November 22, 2017
+
+Usage Of Content
+
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU
+MAY NOT USE THE CONTENT.
+
+Applicable Licenses
+
+Unless otherwise indicated, all Content made available by the Eclipse Foundation
+is provided to you under the terms and conditions of the Eclipse Public License
+Version 2.0 ("EPL"). A copy of the EPL is provided with this Content and is also
+available at http://www.eclipse.org/legal/epl-2.0. For purposes of the EPL,
+"Program" will mean the Content.
+
+Content includes, but is not limited to, source code, object code, documentation
+and other files maintained in the Eclipse Foundation source code repository
+("Repository") in software modules ("Modules") and made available as
+downloadable archives ("Downloads").
+
+- Content may be structured and packaged into modules to facilitate
+ delivering, extending, and upgrading the Content. Typical modules may
+ include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and
+ features ("Features").
+- Each Plug-in or Fragment may be packaged as a sub-directory or JAR
+ (Java™ ARchive) in a directory named "plugins".
+- A Feature is a bundle of one or more Plug-ins and/or Fragments and
+ associated material. Each Feature may be packaged as a sub-directory in a
+ directory named "features". Within a Feature, files named "feature.xml" may
+ contain a list of the names and version numbers of the Plug-ins and/or
+ Fragments associated with that Feature.
+- Features may also include other Features ("Included Features"). Within a
+ Feature, files named "feature.xml" may contain a list of the names and
+ version numbers of Included Features.
+
+The terms and conditions governing Plug-ins and Fragments should be contained in
+files named "about.html" ("Abouts"). The terms and conditions governing Features
+and Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+directory of a Download or Module including, but not limited to the following
+locations:
+
+- The top-level (root) directory
+- Plug-in and Fragment directories
+- Inside Plug-ins and Fragments packaged as JARs
+- Sub-directories of the directory named "src" of certain Plug-ins
+- Feature directories
+
+Note: if a Feature made available by the Eclipse Foundation is installed using
+the Provisioning Technology (as defined below), you must agree to a license
+("Feature Update License") during the installation process. If the Feature
+contains Included Features, the Feature Update License should either provide you
+with the terms and conditions governing the Included Features or inform you
+where you can locate them. Feature Update Licenses may be found in the "license"
+property of files named "feature.properties" found within a Feature. Such
+Abouts, Feature Licenses, and Feature Update Licenses contain the terms and
+conditions (or references to such terms and conditions) that govern your use of
+the associated Content in that directory.
+
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
+
+- Eclipse Public License Version 1.0 (available at
+ http://www.eclipse.org/legal/epl-v10.html)
+- Eclipse Distribution License Version 1.0 (available at
+ http://www.eclipse.org/licenses/edl-v1.0.html)
+- Common Public License Version 1.0 (available at
+ http://www.eclipse.org/legal/cpl-v10.html)
+- Apache Software License 1.1 (available at
+ http://www.apache.org/licenses/LICENSE)
+- Apache Software License 2.0 (available at
+ http://www.apache.org/licenses/LICENSE-2.0)
+- Mozilla Public License Version 1.1 (available at
+ http://www.mozilla.org/MPL/MPL-1.1.html)
+
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO
+USE OF THE CONTENT. If no About, Feature License, or Feature Update License is
+provided, please contact the Eclipse Foundation to determine what terms and
+conditions govern that particular Content.
+
+Use of Provisioning Technology
+
+The Eclipse Foundation makes available provisioning software, examples of which
+include, but are not limited to, p2 and the Eclipse Update Manager
+("Provisioning Technology") for the purpose of allowing users to install
+software, documentation, information and/or other materials (collectively
+"Installable Software"). This capability is provided with the intent of allowing
+such users to install, extend and update Eclipse-based products. Information
+about packaging Installable Software is available at
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").
+
+You may use Provisioning Technology to allow other parties to install
+Installable Software. You shall be responsible for enabling the applicable
+license agreements relating to the Installable Software to be presented to, and
+accepted by, the users of the Provisioning Technology in accordance with the
+Specification. By using Provisioning Technology in such a manner and making it
+available in accordance with the Specification, you further acknowledge your
+agreement to, and the acquisition of all necessary rights to permit the
+following:
+
+1. A series of actions may occur ("Provisioning Process") in which a user may
+ execute the Provisioning Technology on a machine ("Target Machine") with the
+ intent of installing, extending or updating the functionality of an
+ Eclipse-based product.
+2. During the Provisioning Process, the Provisioning Technology may cause third
+ party Installable Software or a portion thereof to be accessed and copied to
+ the Target Machine.
+3. Pursuant to the Specification, you will provide to the user the terms and
+ conditions that govern the use of the Installable Software ("Installable
+ Software Agreement") and such Installable Software Agreement shall be
+ accessed from the Target Machine in accordance with the Specification. Such
+ Installable Software Agreement must inform the user of the terms and
+ conditions that govern the Installable Software and must solicit acceptance
+ by the end user in the manner prescribed in such Installable
+ Software Agreement. Upon such indication of agreement by the user, the
+ provisioning Technology will complete installation of the
+ Installable Software.
+
+Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the
+United States, other countries, or both.
diff --git a/about.ini b/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/about.mappings b/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/epl-2.0.html b/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/epl-2.0.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Eclipse Public License - Version 2.0</title>
+ <style type="text/css">
+ body {
+ margin: 1.5em 3em;
+ }
+ h1{
+ font-size:1.5em;
+ }
+ h2{
+ font-size:1em;
+ margin-bottom:0.5em;
+ margin-top:1em;
+ }
+ p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ ul, ol{
+ list-style-type:none;
+ }
+ </style>
+ </head>
+ <body>
+ <h1>Eclipse Public License - v 2.0</h1>
+ <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+ PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
+ OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ </p>
+ <h2 id="definitions">1. DEFINITIONS</h2>
+ <p>“Contribution” means:</p>
+ <ul>
+ <li>a) in the case of the initial Contributor, the initial content
+ Distributed under this Agreement, and
+ </li>
+ <li>
+ b) in the case of each subsequent Contributor:
+ <ul>
+ <li>i) changes to the Program, and</li>
+ <li>ii) additions to the Program;</li>
+ </ul>
+ where such changes and/or additions to the Program originate from
+ and are Distributed by that particular Contributor. A Contribution
+ “originates” from a Contributor if it was added to the Program by such
+ Contributor itself or anyone acting on such Contributor's behalf.
+ Contributions do not include changes or additions to the Program that
+ are not Modified Works.
+ </li>
+ </ul>
+ <p>“Contributor” means any person or entity that Distributes the Program.</p>
+ <p>“Licensed Patents” mean patent claims licensable by a Contributor which
+ are necessarily infringed by the use or sale of its Contribution alone
+ or when combined with the Program.
+ </p>
+ <p>“Program” means the Contributions Distributed in accordance with this
+ Agreement.
+ </p>
+ <p>“Recipient” means anyone who receives the Program under this Agreement
+ or any Secondary License (as applicable), including Contributors.
+ </p>
+ <p>“Derivative Works” shall mean any work, whether in Source Code or other
+ form, that is based on (or derived from) the Program and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship.
+ </p>
+ <p>“Modified Works” shall mean any work in Source Code or other form that
+ results from an addition to, deletion from, or modification of the
+ contents of the Program, including, for purposes of clarity any new file
+ in Source Code form that contains any contents of the Program. Modified
+ Works shall not include works that contain only declarations, interfaces,
+ types, classes, structures, or files of the Program solely in each case
+ in order to link to, bind by name, or subclass the Program or Modified
+ Works thereof.
+ </p>
+ <p>“Distribute” means the acts of a) distributing or b) making available
+ in any manner that enables the transfer of a copy.
+ </p>
+ <p>“Source Code” means the form of a Program preferred for making
+ modifications, including but not limited to software source code,
+ documentation source, and configuration files.
+ </p>
+ <p>“Secondary License” means either the GNU General Public License,
+ Version 2.0, or any later versions of that license, including any
+ exceptions or additional permissions as identified by the initial
+ Contributor.
+ </p>
+ <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+ <ul>
+ <li>a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare Derivative Works of, publicly display,
+ publicly perform, Distribute and sublicense the Contribution of such
+ Contributor, if any, and such Derivative Works.
+ </li>
+ <li>b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor,
+ if any, in Source Code or other form. This patent license shall
+ apply to the combination of the Contribution and the Program if,
+ at the time the Contribution is added by the Contributor, such
+ addition of the Contribution causes such combination to be covered
+ by the Licensed Patents. The patent license shall not apply to any
+ other combinations which include the Contribution. No hardware per
+ se is licensed hereunder.
+ </li>
+ <li>c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity.
+ Each Contributor disclaims any liability to Recipient for claims
+ brought by any other entity based on infringement of intellectual
+ property rights or otherwise. As a condition to exercising the rights
+ and licenses granted hereunder, each Recipient hereby assumes sole
+ responsibility to secure any other intellectual property rights needed,
+ if any. For example, if a third party patent license is required to
+ allow Recipient to Distribute the Program, it is Recipient's
+ responsibility to acquire that license before distributing the Program.
+ </li>
+ <li>d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+ </li>
+ <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+ makes additional grants to any Recipient (other than those set forth
+ in this Agreement) as a result of such Recipient's receipt of the
+ Program under the terms of a Secondary License (if permitted under
+ the terms of Section 3).
+ </li>
+ </ul>
+ <h2 id="requirements">3. REQUIREMENTS</h2>
+ <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+ <ul>
+ <li>a) the Program must also be made available as Source Code, in
+ accordance with section 3.2, and the Contributor must accompany
+ the Program with a statement that the Source Code for the Program
+ is available under this Agreement, and informs Recipients how to
+ obtain it in a reasonable manner on or through a medium customarily
+ used for software exchange; and
+ </li>
+ <li>
+ b) the Contributor may Distribute the Program under a license
+ different than this Agreement, provided that such license:
+ <ul>
+ <li>i) effectively disclaims on behalf of all other Contributors all
+ warranties and conditions, express and implied, including warranties
+ or conditions of title and non-infringement, and implied warranties
+ or conditions of merchantability and fitness for a particular purpose;
+ </li>
+ <li>ii) effectively excludes on behalf of all other Contributors all
+ liability for damages, including direct, indirect, special, incidental
+ and consequential damages, such as lost profits;
+ </li>
+ <li>iii) does not attempt to limit or alter the recipients' rights in the
+ Source Code under section 3.2; and
+ </li>
+ <li>iv) requires any subsequent distribution of the Program by any party
+ to be under a license that satisfies the requirements of this section 3.
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>3.2 When the Program is Distributed as Source Code:</p>
+ <ul>
+ <li>a) it must be made available under this Agreement, or if the Program (i)
+ is combined with other material in a separate file or files made available
+ under a Secondary License, and (ii) the initial Contributor attached to
+ the Source Code the notice described in Exhibit A of this Agreement,
+ then the Program may be made available under the terms of such
+ Secondary Licenses, and
+ </li>
+ <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+ </ul>
+ <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+ attribution notices, disclaimers of warranty, or limitations of liability
+ (‘notices’) contained within the Program from any copy of the Program which
+ they Distribute, provided that Contributors may add their own appropriate
+ notices.
+ </p>
+ <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+ <p>Commercial distributors of software may accept certain responsibilities
+ with respect to end users, business partners and the like. While this
+ license is intended to facilitate the commercial use of the Program, the
+ Contributor who includes the Program in a commercial product offering should
+ do so in a manner which does not create potential liability for other
+ Contributors. Therefore, if a Contributor includes the Program in a
+ commercial product offering, such Contributor (“Commercial Contributor”)
+ hereby agrees to defend and indemnify every other Contributor
+ (“Indemnified Contributor”) against any losses, damages and costs
+ (collectively “Losses”) arising from claims, lawsuits and other legal actions
+ brought by a third party against the Indemnified Contributor to the extent
+ caused by the acts or omissions of such Commercial Contributor in connection
+ with its distribution of the Program in a commercial product offering.
+ The obligations in this section do not apply to any claims or Losses relating
+ to any actual or alleged intellectual property infringement. In order to
+ qualify, an Indemnified Contributor must: a) promptly notify the
+ Commercial Contributor in writing of such claim, and b) allow the Commercial
+ Contributor to control, and cooperate with the Commercial Contributor in,
+ the defense and any related settlement negotiations. The Indemnified
+ Contributor may participate in any such claim at its own expense.
+ </p>
+ <p>For example, a Contributor might include the Program
+ in a commercial product offering, Product X. That Contributor is then a
+ Commercial Contributor. If that Commercial Contributor then makes performance
+ claims, or offers warranties related to Product X, those performance claims
+ and warranties are such Commercial Contributor's responsibility alone.
+ Under this section, the Commercial Contributor would have to defend claims
+ against the other Contributors related to those performance claims and
+ warranties, and if a court requires any other Contributor to pay any damages
+ as a result, the Commercial Contributor must pay those damages.
+ </p>
+ <h2 id="warranty">5. NO WARRANTY</h2>
+ <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+ BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+ WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+ solely responsible for determining the appropriateness of using and
+ distributing the Program and assumes all risks associated with its
+ exercise of rights under this Agreement, including but not limited to the
+ risks and costs of program errors, compliance with applicable laws, damage
+ to or loss of data, programs or equipment, and unavailability or
+ interruption of operations.
+ </p>
+ <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+ <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+ BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+ LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+ GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ </p>
+ <h2 id="general">7. GENERAL</h2>
+ <p>If any provision of this Agreement is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of the
+ remainder of the terms of this Agreement, and without further action by the
+ parties hereto, such provision shall be reformed to the minimum extent
+ necessary to make such provision valid and enforceable.
+ </p>
+ <p>If Recipient institutes patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+ (excluding combinations of the Program with other software or hardware)
+ infringes such Recipient's patent(s), then such Recipient's rights granted
+ under Section 2(b) shall terminate as of the date such litigation is filed.
+ </p>
+ <p>All Recipient's rights under this Agreement shall terminate if it fails to
+ comply with any of the material terms or conditions of this Agreement and
+ does not cure such failure in a reasonable period of time after becoming
+ aware of such noncompliance. If all Recipient's rights under this Agreement
+ terminate, Recipient agrees to cease use and distribution of the Program
+ as soon as reasonably practicable. However, Recipient's obligations under
+ this Agreement and any licenses granted by Recipient relating to the
+ Program shall continue and survive.
+ </p>
+ <p>Everyone is permitted to copy and distribute copies of this Agreement,
+ but in order to avoid inconsistency the Agreement is copyrighted and may
+ only be modified in the following manner. The Agreement Steward reserves
+ the right to publish new versions (including revisions) of this Agreement
+ from time to time. No one other than the Agreement Steward has the right
+ to modify this Agreement. The Eclipse Foundation is the initial Agreement
+ Steward. The Eclipse Foundation may assign the responsibility to serve as
+ the Agreement Steward to a suitable separate entity. Each new version of
+ the Agreement will be given a distinguishing version number. The Program
+ (including Contributions) may always be Distributed subject to the version
+ of the Agreement under which it was received. In addition, after a new
+ version of the Agreement is published, Contributor may elect to Distribute
+ the Program (including its Contributions) under the new version.
+ </p>
+ <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+ receives no rights or licenses to the intellectual property of any
+ Contributor under this Agreement, whether expressly, by implication,
+ estoppel or otherwise. All rights in the Program not expressly granted
+ under this Agreement are reserved. Nothing in this Agreement is intended
+ to be enforceable by any entity that is not a Contributor or Recipient.
+ No third-party beneficiary rights are created under this Agreement.
+ </p>
+ <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
+ <p>“This Source Code may also be made available under the following
+ Secondary Licenses when the conditions for such availability set forth
+ in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+ version(s), and exceptions or additional permissions here}.”
+ </p>
+ <blockquote>
+ <p>Simply including a copy of this Agreement, including this Exhibit A
+ is not sufficient to license the Source Code under Secondary Licenses.
+ </p>
+ <p>If it is not possible or desirable to put the notice in a particular file,
+ then You may include the notice in a location (such as a LICENSE file in a
+ relevant directory) where a recipient would be likely to look for
+ such a notice.
+ </p>
+ <p>You may add additional accurate notices of copyright ownership.</p>
+ </blockquote>
+ </body>
+</html>
\ No newline at end of file
diff --git a/license.html b/license.html
new file mode 100644
index 0000000..008b801
--- /dev/null
+++ b/license.html
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+ <h2>Eclipse Foundation Software User Agreement</h2>
+ <p>November 22, 2017</p>
+
+ <h3>Usage Of Content</h3>
+
+ <p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+ INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY
+ THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+ BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
+ GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
+ APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+ BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+ AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+ AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+ USE THE CONTENT.</p>
+
+ <h3>Applicable Licenses</h3>
+
+ <p>
+ Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+ Eclipse Public License Version 2.0 ("EPL"). A copy of the
+ EPL is provided with this Content and is also available at <a
+ href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+ For purposes of the EPL, "Program" will mean the Content.
+ </p>
+
+ <p>Content includes, but is not limited to, source code, object
+ code, documentation and other files maintained in the Eclipse
+ Foundation source code repository ("Repository") in software
+ modules ("Modules") and made available as downloadable
+ archives ("Downloads").</p>
+
+ <ul>
+ <li>Content may be structured and packaged into modules to
+ facilitate delivering, extending, and upgrading the Content. Typical
+ modules may include plug-ins ("Plug-ins"), plug-in
+ fragments ("Fragments"), and features
+ ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory
+ or JAR (Java™ ARchive) in a directory named
+ "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+ Fragments and associated material. Each Feature may be packaged as a
+ sub-directory in a directory named "features". Within a
+ Feature, files named "feature.xml" may contain a list of
+ the names and version numbers of the Plug-ins and/or Fragments
+ associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+ Features"). Within a Feature, files named
+ "feature.xml" may contain a list of the names and version
+ numbers of Included Features.</li>
+ </ul>
+
+ <p>The terms and conditions governing Plug-ins and Fragments should
+ be contained in files named "about.html"
+ ("Abouts"). The terms and conditions governing Features and
+ Included Features should be contained in files named
+ "license.html" ("Feature Licenses"). Abouts and
+ Feature Licenses may be located in any directory of a Download or
+ Module including, but not limited to the following locations:</p>
+
+ <ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of
+ certain Plug-ins</li>
+ <li>Feature directories</li>
+ </ul>
+
+ <p>Note: if a Feature made available by the Eclipse Foundation is
+ installed using the Provisioning Technology (as defined below), you
+ must agree to a license ("Feature Update License") during
+ the installation process. If the Feature contains Included Features,
+ the Feature Update License should either provide you with the terms
+ and conditions governing the Included Features or inform you where you
+ can locate them. Feature Update Licenses may be found in the
+ "license" property of files named
+ "feature.properties" found within a Feature. Such Abouts,
+ Feature Licenses, and Feature Update Licenses contain the terms and
+ conditions (or references to such terms and conditions) that govern
+ your use of the associated Content in that directory.</p>
+
+ <p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY
+ REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
+ CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
+ ARE NOT LIMITED TO):</p>
+
+ <ul>
+ <li>Eclipse Public License Version 1.0 (available at <a
+ href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)
+ </li>
+ <li>Eclipse Distribution License Version 1.0 (available at <a
+ href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)
+ </li>
+ <li>Common Public License Version 1.0 (available at <a
+ href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)
+ </li>
+ <li>Apache Software License 1.1 (available at <a
+ href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)
+ </li>
+ <li>Apache Software License 2.0 (available at <a
+ href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)
+ </li>
+ <li>Mozilla Public License Version 1.1 (available at <a
+ href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)
+ </li>
+ </ul>
+
+ <p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+ CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+ or Feature Update License is provided, please contact the Eclipse
+ Foundation to determine what terms and conditions govern that
+ particular Content.</p>
+
+
+ <h3>Use of Provisioning Technology</h3>
+
+ <p>
+ The Eclipse Foundation makes available provisioning software, examples
+ of which include, but are not limited to, p2 and the Eclipse Update
+ Manager ("Provisioning Technology") for the purpose of
+ allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+ capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+ packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").
+ </p>
+
+ <p>You may use Provisioning Technology to allow other parties to
+ install Installable Software. You shall be responsible for enabling
+ the applicable license agreements relating to the Installable Software
+ to be presented to, and accepted by, the users of the Provisioning
+ Technology in accordance with the Specification. By using Provisioning
+ Technology in such a manner and making it available in accordance with
+ the Specification, you further acknowledge your agreement to, and the
+ acquisition of all necessary rights to permit the following:</p>
+
+ <ol>
+ <li>A series of actions may occur ("Provisioning
+ Process") in which a user may execute the Provisioning
+ Technology on a machine ("Target Machine") with the intent
+ of installing, extending or updating the functionality of an
+ Eclipse-based product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+ may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+ the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such
+ Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+ Software Agreement must inform the user of the terms and conditions
+ that govern the Installable Software and must solicit acceptance by
+ the end user in the manner prescribed in such Installable Software
+ Agreement. Upon such indication of agreement by the user, the
+ provisioning Technology will complete installation of the Installable
+ Software.</li>
+ </ol>
+
+ <h3>Cryptography</h3>
+
+ <p>Content may contain encryption software. The country in which
+ you are currently may have restrictions on the import, possession, and
+ use, and/or re-export to another country, of encryption software.
+ BEFORE using any encryption software, please check the country's laws,
+ regulations and policies concerning the import, possession, or use,
+ and re-export of encryption software, to see if this is permitted.</p>
+
+ <p>
+ <small>Java and all Java-based trademarks are trademarks of
+ Oracle Corporation in the United States, other countries, or both.</small>
+ </p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.menu.feature/feature.properties b/org.eclipse.osbp.xtext.menu.feature/feature.properties
index d6c708e..f786d61 100644
--- a/org.eclipse.osbp.xtext.menu.feature/feature.properties
+++ b/org.eclipse.osbp.xtext.menu.feature/feature.properties
@@ -37,7 +37,7 @@
https://www.eclipse.org/legal/epl-2.0/\n\
\n\
SPDX-License-Identifier: EPL-2.0\n\
-\n\
+\n
################ end of copyright property ####################################
# "licenseURL" property - URL of the "Feature License"
diff --git a/org.eclipse.osbp.xtext.menu.feature/feature.xml b/org.eclipse.osbp.xtext.menu.feature/feature.xml
index 3b97b43..4ae56c1 100644
--- a/org.eclipse.osbp.xtext.menu.feature/feature.xml
+++ b/org.eclipse.osbp.xtext.menu.feature/feature.xml
@@ -15,7 +15,7 @@
label="%featureName"
version="0.9.0.qualifier"
provider-name="%providerName"
- plugin="org.eclipse.osbp.xtext.menu">
+ plugin="org.eclipse.osbp.license">
<description>
%description
diff --git a/org.eclipse.osbp.xtext.menu.ide/LICENSE.txt b/org.eclipse.osbp.xtext.menu.ide/LICENSE.txt
new file mode 100644
index 0000000..fc5938d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/LICENSE.txt
@@ -0,0 +1,140 @@
+Eclipse Foundation Software User Agreement
+
+November 22, 2017
+
+Usage Of Content
+
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
+AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT"). USE OF
+THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE
+TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED
+BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY
+APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU
+MAY NOT USE THE CONTENT.
+
+Applicable Licenses
+
+Unless otherwise indicated, all Content made available by the Eclipse Foundation
+is provided to you under the terms and conditions of the Eclipse Public License
+Version 2.0 ("EPL"). A copy of the EPL is provided with this Content and is also
+available at http://www.eclipse.org/legal/epl-2.0. For purposes of the EPL,
+"Program" will mean the Content.
+
+Content includes, but is not limited to, source code, object code, documentation
+and other files maintained in the Eclipse Foundation source code repository
+("Repository") in software modules ("Modules") and made available as
+downloadable archives ("Downloads").
+
+- Content may be structured and packaged into modules to facilitate
+ delivering, extending, and upgrading the Content. Typical modules may
+ include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and
+ features ("Features").
+- Each Plug-in or Fragment may be packaged as a sub-directory or JAR
+ (Java™ ARchive) in a directory named "plugins".
+- A Feature is a bundle of one or more Plug-ins and/or Fragments and
+ associated material. Each Feature may be packaged as a sub-directory in a
+ directory named "features". Within a Feature, files named "feature.xml" may
+ contain a list of the names and version numbers of the Plug-ins and/or
+ Fragments associated with that Feature.
+- Features may also include other Features ("Included Features"). Within a
+ Feature, files named "feature.xml" may contain a list of the names and
+ version numbers of Included Features.
+
+The terms and conditions governing Plug-ins and Fragments should be contained in
+files named "about.html" ("Abouts"). The terms and conditions governing Features
+and Included Features should be contained in files named "license.html"
+("Feature Licenses"). Abouts and Feature Licenses may be located in any
+directory of a Download or Module including, but not limited to the following
+locations:
+
+- The top-level (root) directory
+- Plug-in and Fragment directories
+- Inside Plug-ins and Fragments packaged as JARs
+- Sub-directories of the directory named "src" of certain Plug-ins
+- Feature directories
+
+Note: if a Feature made available by the Eclipse Foundation is installed using
+the Provisioning Technology (as defined below), you must agree to a license
+("Feature Update License") during the installation process. If the Feature
+contains Included Features, the Feature Update License should either provide you
+with the terms and conditions governing the Included Features or inform you
+where you can locate them. Feature Update Licenses may be found in the "license"
+property of files named "feature.properties" found within a Feature. Such
+Abouts, Feature Licenses, and Feature Update Licenses contain the terms and
+conditions (or references to such terms and conditions) that govern your use of
+the associated Content in that directory.
+
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL
+OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):
+
+- Eclipse Public License Version 1.0 (available at
+ http://www.eclipse.org/legal/epl-v10.html)
+- Eclipse Distribution License Version 1.0 (available at
+ http://www.eclipse.org/licenses/edl-v1.0.html)
+- Common Public License Version 1.0 (available at
+ http://www.eclipse.org/legal/cpl-v10.html)
+- Apache Software License 1.1 (available at
+ http://www.apache.org/licenses/LICENSE)
+- Apache Software License 2.0 (available at
+ http://www.apache.org/licenses/LICENSE-2.0)
+- Mozilla Public License Version 1.1 (available at
+ http://www.mozilla.org/MPL/MPL-1.1.html)
+
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO
+USE OF THE CONTENT. If no About, Feature License, or Feature Update License is
+provided, please contact the Eclipse Foundation to determine what terms and
+conditions govern that particular Content.
+
+Use of Provisioning Technology
+
+The Eclipse Foundation makes available provisioning software, examples of which
+include, but are not limited to, p2 and the Eclipse Update Manager
+("Provisioning Technology") for the purpose of allowing users to install
+software, documentation, information and/or other materials (collectively
+"Installable Software"). This capability is provided with the intent of allowing
+such users to install, extend and update Eclipse-based products. Information
+about packaging Installable Software is available at
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").
+
+You may use Provisioning Technology to allow other parties to install
+Installable Software. You shall be responsible for enabling the applicable
+license agreements relating to the Installable Software to be presented to, and
+accepted by, the users of the Provisioning Technology in accordance with the
+Specification. By using Provisioning Technology in such a manner and making it
+available in accordance with the Specification, you further acknowledge your
+agreement to, and the acquisition of all necessary rights to permit the
+following:
+
+1. A series of actions may occur ("Provisioning Process") in which a user may
+ execute the Provisioning Technology on a machine ("Target Machine") with the
+ intent of installing, extending or updating the functionality of an
+ Eclipse-based product.
+2. During the Provisioning Process, the Provisioning Technology may cause third
+ party Installable Software or a portion thereof to be accessed and copied to
+ the Target Machine.
+3. Pursuant to the Specification, you will provide to the user the terms and
+ conditions that govern the use of the Installable Software ("Installable
+ Software Agreement") and such Installable Software Agreement shall be
+ accessed from the Target Machine in accordance with the Specification. Such
+ Installable Software Agreement must inform the user of the terms and
+ conditions that govern the Installable Software and must solicit acceptance
+ by the end user in the manner prescribed in such Installable
+ Software Agreement. Upon such indication of agreement by the user, the
+ provisioning Technology will complete installation of the
+ Installable Software.
+
+Cryptography
+
+Content may contain encryption software. The country in which you are currently
+may have restrictions on the import, possession, and use, and/or re-export to
+another country, of encryption software. BEFORE using any encryption software,
+please check the country's laws, regulations and policies concerning the import,
+possession, or use, and re-export of encryption software, to see if this is
+permitted.
+
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the
+United States, other countries, or both.
diff --git a/org.eclipse.osbp.xtext.menu.ide/about.html b/org.eclipse.osbp.xtext.menu.ide/about.html
new file mode 100644
index 0000000..e8b834d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 30, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 2.0 ("EPL"). A copy of the EPL is available
+at <a href="https://www.eclipse.org/legal/epl-2.0">https://www.eclipse.org/legal/epl-2.0</a>.
+For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party ("Redistributor") and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.menu.ide/about.ini b/org.eclipse.osbp.xtext.menu.ide/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/about.ini
@@ -0,0 +1,17 @@
+# about.ini
+# contains information about a feature
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# "%key" are externalized strings defined in about.properties
+# This file does not need to be translated.
+
+# Property "aboutText" contains blurb for "About" dialog (translated)
+aboutText=%featureText
+
+# Property "featureImage" contains path to feature image (32x32)
+featureImage=
+
+# Property "appName" contains name of the application (translated)
+appName=%featureName
+
+# Property "welcomePage" contains path to welcome page (special XML-based format)
+welcomePage=
diff --git a/org.eclipse.osbp.xtext.menu.ide/about.mappings b/org.eclipse.osbp.xtext.menu.ide/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/about.mappings
@@ -0,0 +1,6 @@
+# about.mappings
+# contains fill-ins for about.properties
+# java.io.Properties file (ISO 8859-1 with "\" escapes)
+# This file does not need to be translated.
+
+0=qualifier
diff --git a/org.eclipse.osbp.xtext.menu.ide/about.properties b/org.eclipse.osbp.xtext.menu.ide/about.properties
new file mode 100644
index 0000000..79b2157
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/about.properties
@@ -0,0 +1,57 @@
+#
+# Copyright (c) 2012, 2016 - Loetz GmbH&Co.KG (Heidelberg)
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Christophe Loetz (Loetz GmbH&Co.KG) - initial API and implementation
+#
+
+# NLS_MESSAGEFORMAT_VAR
+
+featureName=org.eclipse.osbp.xtext.menu
+
+################ blurb property ####################################
+aboutText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+
+featureText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+
+blurb=\
+Eclipse OSBP Software Factory\n\
+org.eclipse.osbp.xtext.menu - Version ${featureVersion}\n\
+\n\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.menu.ide/build.properties b/org.eclipse.osbp.xtext.menu.ide/build.properties
index 6ef1a59..82d3329 100644
--- a/org.eclipse.osbp.xtext.menu.ide/build.properties
+++ b/org.eclipse.osbp.xtext.menu.ide/build.properties
@@ -1,5 +1,12 @@
-bin.includes = META-INF/,\
+bin.includes = about.properties, about.mappings, about.ini, about.html, .,\
+ META-INF/,\
.,\
src/,\
- src-gen/
-source.. = src/,src-gen/
+ src-gen/,\
+ epl-2.0.html,\
+ LICENSE.txt,\
+ license.html
+src.includes = about.properties, about.mappings, about.ini, about.html, LICENSE.txt,\
+ epl-2.0.html,\
+ license.html
+
diff --git a/org.eclipse.osbp.xtext.menu.ide/epl-2.0.html b/org.eclipse.osbp.xtext.menu.ide/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/epl-2.0.html
@@ -0,0 +1,300 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <title>Eclipse Public License - Version 2.0</title>
+ <style type="text/css">
+ body {
+ margin: 1.5em 3em;
+ }
+ h1{
+ font-size:1.5em;
+ }
+ h2{
+ font-size:1em;
+ margin-bottom:0.5em;
+ margin-top:1em;
+ }
+ p {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ ul, ol{
+ list-style-type:none;
+ }
+ </style>
+ </head>
+ <body>
+ <h1>Eclipse Public License - v 2.0</h1>
+ <p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+ PUBLIC LICENSE (“AGREEMENT”). ANY USE, REPRODUCTION OR DISTRIBUTION
+ OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ </p>
+ <h2 id="definitions">1. DEFINITIONS</h2>
+ <p>“Contribution” means:</p>
+ <ul>
+ <li>a) in the case of the initial Contributor, the initial content
+ Distributed under this Agreement, and
+ </li>
+ <li>
+ b) in the case of each subsequent Contributor:
+ <ul>
+ <li>i) changes to the Program, and</li>
+ <li>ii) additions to the Program;</li>
+ </ul>
+ where such changes and/or additions to the Program originate from
+ and are Distributed by that particular Contributor. A Contribution
+ “originates” from a Contributor if it was added to the Program by such
+ Contributor itself or anyone acting on such Contributor's behalf.
+ Contributions do not include changes or additions to the Program that
+ are not Modified Works.
+ </li>
+ </ul>
+ <p>“Contributor” means any person or entity that Distributes the Program.</p>
+ <p>“Licensed Patents” mean patent claims licensable by a Contributor which
+ are necessarily infringed by the use or sale of its Contribution alone
+ or when combined with the Program.
+ </p>
+ <p>“Program” means the Contributions Distributed in accordance with this
+ Agreement.
+ </p>
+ <p>“Recipient” means anyone who receives the Program under this Agreement
+ or any Secondary License (as applicable), including Contributors.
+ </p>
+ <p>“Derivative Works” shall mean any work, whether in Source Code or other
+ form, that is based on (or derived from) the Program and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship.
+ </p>
+ <p>“Modified Works” shall mean any work in Source Code or other form that
+ results from an addition to, deletion from, or modification of the
+ contents of the Program, including, for purposes of clarity any new file
+ in Source Code form that contains any contents of the Program. Modified
+ Works shall not include works that contain only declarations, interfaces,
+ types, classes, structures, or files of the Program solely in each case
+ in order to link to, bind by name, or subclass the Program or Modified
+ Works thereof.
+ </p>
+ <p>“Distribute” means the acts of a) distributing or b) making available
+ in any manner that enables the transfer of a copy.
+ </p>
+ <p>“Source Code” means the form of a Program preferred for making
+ modifications, including but not limited to software source code,
+ documentation source, and configuration files.
+ </p>
+ <p>“Secondary License” means either the GNU General Public License,
+ Version 2.0, or any later versions of that license, including any
+ exceptions or additional permissions as identified by the initial
+ Contributor.
+ </p>
+ <h2 id="grant-of-rights">2. GRANT OF RIGHTS</h2>
+ <ul>
+ <li>a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare Derivative Works of, publicly display,
+ publicly perform, Distribute and sublicense the Contribution of such
+ Contributor, if any, and such Derivative Works.
+ </li>
+ <li>b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor,
+ if any, in Source Code or other form. This patent license shall
+ apply to the combination of the Contribution and the Program if,
+ at the time the Contribution is added by the Contributor, such
+ addition of the Contribution causes such combination to be covered
+ by the Licensed Patents. The patent license shall not apply to any
+ other combinations which include the Contribution. No hardware per
+ se is licensed hereunder.
+ </li>
+ <li>c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity.
+ Each Contributor disclaims any liability to Recipient for claims
+ brought by any other entity based on infringement of intellectual
+ property rights or otherwise. As a condition to exercising the rights
+ and licenses granted hereunder, each Recipient hereby assumes sole
+ responsibility to secure any other intellectual property rights needed,
+ if any. For example, if a third party patent license is required to
+ allow Recipient to Distribute the Program, it is Recipient's
+ responsibility to acquire that license before distributing the Program.
+ </li>
+ <li>d) Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+ </li>
+ <li>e) Notwithstanding the terms of any Secondary License, no Contributor
+ makes additional grants to any Recipient (other than those set forth
+ in this Agreement) as a result of such Recipient's receipt of the
+ Program under the terms of a Secondary License (if permitted under
+ the terms of Section 3).
+ </li>
+ </ul>
+ <h2 id="requirements">3. REQUIREMENTS</h2>
+ <p>3.1 If a Contributor Distributes the Program in any form, then:</p>
+ <ul>
+ <li>a) the Program must also be made available as Source Code, in
+ accordance with section 3.2, and the Contributor must accompany
+ the Program with a statement that the Source Code for the Program
+ is available under this Agreement, and informs Recipients how to
+ obtain it in a reasonable manner on or through a medium customarily
+ used for software exchange; and
+ </li>
+ <li>
+ b) the Contributor may Distribute the Program under a license
+ different than this Agreement, provided that such license:
+ <ul>
+ <li>i) effectively disclaims on behalf of all other Contributors all
+ warranties and conditions, express and implied, including warranties
+ or conditions of title and non-infringement, and implied warranties
+ or conditions of merchantability and fitness for a particular purpose;
+ </li>
+ <li>ii) effectively excludes on behalf of all other Contributors all
+ liability for damages, including direct, indirect, special, incidental
+ and consequential damages, such as lost profits;
+ </li>
+ <li>iii) does not attempt to limit or alter the recipients' rights in the
+ Source Code under section 3.2; and
+ </li>
+ <li>iv) requires any subsequent distribution of the Program by any party
+ to be under a license that satisfies the requirements of this section 3.
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>3.2 When the Program is Distributed as Source Code:</p>
+ <ul>
+ <li>a) it must be made available under this Agreement, or if the Program (i)
+ is combined with other material in a separate file or files made available
+ under a Secondary License, and (ii) the initial Contributor attached to
+ the Source Code the notice described in Exhibit A of this Agreement,
+ then the Program may be made available under the terms of such
+ Secondary Licenses, and
+ </li>
+ <li>b) a copy of this Agreement must be included with each copy of the Program.</li>
+ </ul>
+ <p>3.3 Contributors may not remove or alter any copyright, patent, trademark,
+ attribution notices, disclaimers of warranty, or limitations of liability
+ (‘notices’) contained within the Program from any copy of the Program which
+ they Distribute, provided that Contributors may add their own appropriate
+ notices.
+ </p>
+ <h2 id="commercial-distribution">4. COMMERCIAL DISTRIBUTION</h2>
+ <p>Commercial distributors of software may accept certain responsibilities
+ with respect to end users, business partners and the like. While this
+ license is intended to facilitate the commercial use of the Program, the
+ Contributor who includes the Program in a commercial product offering should
+ do so in a manner which does not create potential liability for other
+ Contributors. Therefore, if a Contributor includes the Program in a
+ commercial product offering, such Contributor (“Commercial Contributor”)
+ hereby agrees to defend and indemnify every other Contributor
+ (“Indemnified Contributor”) against any losses, damages and costs
+ (collectively “Losses”) arising from claims, lawsuits and other legal actions
+ brought by a third party against the Indemnified Contributor to the extent
+ caused by the acts or omissions of such Commercial Contributor in connection
+ with its distribution of the Program in a commercial product offering.
+ The obligations in this section do not apply to any claims or Losses relating
+ to any actual or alleged intellectual property infringement. In order to
+ qualify, an Indemnified Contributor must: a) promptly notify the
+ Commercial Contributor in writing of such claim, and b) allow the Commercial
+ Contributor to control, and cooperate with the Commercial Contributor in,
+ the defense and any related settlement negotiations. The Indemnified
+ Contributor may participate in any such claim at its own expense.
+ </p>
+ <p>For example, a Contributor might include the Program
+ in a commercial product offering, Product X. That Contributor is then a
+ Commercial Contributor. If that Commercial Contributor then makes performance
+ claims, or offers warranties related to Product X, those performance claims
+ and warranties are such Commercial Contributor's responsibility alone.
+ Under this section, the Commercial Contributor would have to defend claims
+ against the other Contributors related to those performance claims and
+ warranties, and if a court requires any other Contributor to pay any damages
+ as a result, the Commercial Contributor must pay those damages.
+ </p>
+ <h2 id="warranty">5. NO WARRANTY</h2>
+ <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+ BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING,
+ WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is
+ solely responsible for determining the appropriateness of using and
+ distributing the Program and assumes all risks associated with its
+ exercise of rights under this Agreement, including but not limited to the
+ risks and costs of program errors, compliance with applicable laws, damage
+ to or loss of data, programs or equipment, and unavailability or
+ interruption of operations.
+ </p>
+ <h2 id="disclaimer">6. DISCLAIMER OF LIABILITY</h2>
+ <p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED
+ BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY
+ LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS),
+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS
+ GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ </p>
+ <h2 id="general">7. GENERAL</h2>
+ <p>If any provision of this Agreement is invalid or unenforceable under
+ applicable law, it shall not affect the validity or enforceability of the
+ remainder of the terms of this Agreement, and without further action by the
+ parties hereto, such provision shall be reformed to the minimum extent
+ necessary to make such provision valid and enforceable.
+ </p>
+ <p>If Recipient institutes patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Program itself
+ (excluding combinations of the Program with other software or hardware)
+ infringes such Recipient's patent(s), then such Recipient's rights granted
+ under Section 2(b) shall terminate as of the date such litigation is filed.
+ </p>
+ <p>All Recipient's rights under this Agreement shall terminate if it fails to
+ comply with any of the material terms or conditions of this Agreement and
+ does not cure such failure in a reasonable period of time after becoming
+ aware of such noncompliance. If all Recipient's rights under this Agreement
+ terminate, Recipient agrees to cease use and distribution of the Program
+ as soon as reasonably practicable. However, Recipient's obligations under
+ this Agreement and any licenses granted by Recipient relating to the
+ Program shall continue and survive.
+ </p>
+ <p>Everyone is permitted to copy and distribute copies of this Agreement,
+ but in order to avoid inconsistency the Agreement is copyrighted and may
+ only be modified in the following manner. The Agreement Steward reserves
+ the right to publish new versions (including revisions) of this Agreement
+ from time to time. No one other than the Agreement Steward has the right
+ to modify this Agreement. The Eclipse Foundation is the initial Agreement
+ Steward. The Eclipse Foundation may assign the responsibility to serve as
+ the Agreement Steward to a suitable separate entity. Each new version of
+ the Agreement will be given a distinguishing version number. The Program
+ (including Contributions) may always be Distributed subject to the version
+ of the Agreement under which it was received. In addition, after a new
+ version of the Agreement is published, Contributor may elect to Distribute
+ the Program (including its Contributions) under the new version.
+ </p>
+ <p>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+ receives no rights or licenses to the intellectual property of any
+ Contributor under this Agreement, whether expressly, by implication,
+ estoppel or otherwise. All rights in the Program not expressly granted
+ under this Agreement are reserved. Nothing in this Agreement is intended
+ to be enforceable by any entity that is not a Contributor or Recipient.
+ No third-party beneficiary rights are created under this Agreement.
+ </p>
+ <h2 id="exhibit-a">Exhibit A – Form of Secondary Licenses Notice</h2>
+ <p>“This Source Code may also be made available under the following
+ Secondary Licenses when the conditions for such availability set forth
+ in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+ version(s), and exceptions or additional permissions here}.”
+ </p>
+ <blockquote>
+ <p>Simply including a copy of this Agreement, including this Exhibit A
+ is not sufficient to license the Source Code under Secondary Licenses.
+ </p>
+ <p>If it is not possible or desirable to put the notice in a particular file,
+ then You may include the notice in a location (such as a LICENSE file in a
+ relevant directory) where a recipient would be likely to look for
+ such a notice.
+ </p>
+ <p>You may add additional accurate notices of copyright ownership.</p>
+ </blockquote>
+ </body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.osbp.xtext.menu.ide/license.html b/org.eclipse.osbp.xtext.menu.ide/license.html
new file mode 100644
index 0000000..008b801
--- /dev/null
+++ b/org.eclipse.osbp.xtext.menu.ide/license.html
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+ <h2>Eclipse Foundation Software User Agreement</h2>
+ <p>November 22, 2017</p>
+
+ <h3>Usage Of Content</h3>
+
+ <p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
+ INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY
+ THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+ BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
+ GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
+ APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
+ BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
+ AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
+ AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
+ USE THE CONTENT.</p>
+
+ <h3>Applicable Licenses</h3>
+
+ <p>
+ Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the
+ Eclipse Public License Version 2.0 ("EPL"). A copy of the
+ EPL is provided with this Content and is also available at <a
+ href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+ For purposes of the EPL, "Program" will mean the Content.
+ </p>
+
+ <p>Content includes, but is not limited to, source code, object
+ code, documentation and other files maintained in the Eclipse
+ Foundation source code repository ("Repository") in software
+ modules ("Modules") and made available as downloadable
+ archives ("Downloads").</p>
+
+ <ul>
+ <li>Content may be structured and packaged into modules to
+ facilitate delivering, extending, and upgrading the Content. Typical
+ modules may include plug-ins ("Plug-ins"), plug-in
+ fragments ("Fragments"), and features
+ ("Features").</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory
+ or JAR (Java™ ARchive) in a directory named
+ "plugins".</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or
+ Fragments and associated material. Each Feature may be packaged as a
+ sub-directory in a directory named "features". Within a
+ Feature, files named "feature.xml" may contain a list of
+ the names and version numbers of the Plug-ins and/or Fragments
+ associated with that Feature.</li>
+ <li>Features may also include other Features ("Included
+ Features"). Within a Feature, files named
+ "feature.xml" may contain a list of the names and version
+ numbers of Included Features.</li>
+ </ul>
+
+ <p>The terms and conditions governing Plug-ins and Fragments should
+ be contained in files named "about.html"
+ ("Abouts"). The terms and conditions governing Features and
+ Included Features should be contained in files named
+ "license.html" ("Feature Licenses"). Abouts and
+ Feature Licenses may be located in any directory of a Download or
+ Module including, but not limited to the following locations:</p>
+
+ <ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named "src" of
+ certain Plug-ins</li>
+ <li>Feature directories</li>
+ </ul>
+
+ <p>Note: if a Feature made available by the Eclipse Foundation is
+ installed using the Provisioning Technology (as defined below), you
+ must agree to a license ("Feature Update License") during
+ the installation process. If the Feature contains Included Features,
+ the Feature Update License should either provide you with the terms
+ and conditions governing the Included Features or inform you where you
+ can locate them. Feature Update Licenses may be found in the
+ "license" property of files named
+ "feature.properties" found within a Feature. Such Abouts,
+ Feature Licenses, and Feature Update Licenses contain the terms and
+ conditions (or references to such terms and conditions) that govern
+ your use of the associated Content in that directory.</p>
+
+ <p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY
+ REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
+ CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
+ ARE NOT LIMITED TO):</p>
+
+ <ul>
+ <li>Eclipse Public License Version 1.0 (available at <a
+ href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)
+ </li>
+ <li>Eclipse Distribution License Version 1.0 (available at <a
+ href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)
+ </li>
+ <li>Common Public License Version 1.0 (available at <a
+ href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)
+ </li>
+ <li>Apache Software License 1.1 (available at <a
+ href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)
+ </li>
+ <li>Apache Software License 2.0 (available at <a
+ href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)
+ </li>
+ <li>Mozilla Public License Version 1.1 (available at <a
+ href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)
+ </li>
+ </ul>
+
+ <p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
+ CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License,
+ or Feature Update License is provided, please contact the Eclipse
+ Foundation to determine what terms and conditions govern that
+ particular Content.</p>
+
+
+ <h3>Use of Provisioning Technology</h3>
+
+ <p>
+ The Eclipse Foundation makes available provisioning software, examples
+ of which include, but are not limited to, p2 and the Eclipse Update
+ Manager ("Provisioning Technology") for the purpose of
+ allowing users to install software, documentation, information and/or
+ other materials (collectively "Installable Software"). This
+ capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about
+ packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ ("Specification").
+ </p>
+
+ <p>You may use Provisioning Technology to allow other parties to
+ install Installable Software. You shall be responsible for enabling
+ the applicable license agreements relating to the Installable Software
+ to be presented to, and accepted by, the users of the Provisioning
+ Technology in accordance with the Specification. By using Provisioning
+ Technology in such a manner and making it available in accordance with
+ the Specification, you further acknowledge your agreement to, and the
+ acquisition of all necessary rights to permit the following:</p>
+
+ <ol>
+ <li>A series of actions may occur ("Provisioning
+ Process") in which a user may execute the Provisioning
+ Technology on a machine ("Target Machine") with the intent
+ of installing, extending or updating the functionality of an
+ Eclipse-based product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology
+ may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user
+ the terms and conditions that govern the use of the Installable
+ Software ("Installable Software Agreement") and such
+ Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable
+ Software Agreement must inform the user of the terms and conditions
+ that govern the Installable Software and must solicit acceptance by
+ the end user in the manner prescribed in such Installable Software
+ Agreement. Upon such indication of agreement by the user, the
+ provisioning Technology will complete installation of the Installable
+ Software.</li>
+ </ol>
+
+ <h3>Cryptography</h3>
+
+ <p>Content may contain encryption software. The country in which
+ you are currently may have restrictions on the import, possession, and
+ use, and/or re-export to another country, of encryption software.
+ BEFORE using any encryption software, please check the country's laws,
+ regulations and policies concerning the import, possession, or use,
+ and re-export of encryption software, to see if this is permitted.</p>
+
+ <p>
+ <small>Java and all Java-based trademarks are trademarks of
+ Oracle Corporation in the United States, other countries, or both.</small>
+ </p>
+</body>
+</html>
diff --git a/org.eclipse.osbp.xtext.menu.tests/about.properties b/org.eclipse.osbp.xtext.menu.tests/about.properties
index 9bd6fd3..79b2157 100644
--- a/org.eclipse.osbp.xtext.menu.tests/about.properties
+++ b/org.eclipse.osbp.xtext.menu.tests/about.properties
@@ -13,9 +13,21 @@
# NLS_MESSAGEFORMAT_VAR
-featureName=org.eclipse.osbp.xtext.menu.tests
+featureName=org.eclipse.osbp.xtext.menu
################ blurb property ####################################
+aboutText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+
featureText=\
Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
All rights reserved. This program and the accompanying materials\n\
@@ -27,4 +39,19 @@
\n\
Contributors:\n\
Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+
+blurb=\
+Eclipse OSBP Software Factory\n\
+org.eclipse.osbp.xtext.menu - Version ${featureVersion}\n\
+\n\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.menu.ui/about.properties b/org.eclipse.osbp.xtext.menu.ui/about.properties
index 16c18b5..79b2157 100644
--- a/org.eclipse.osbp.xtext.menu.ui/about.properties
+++ b/org.eclipse.osbp.xtext.menu.ui/about.properties
@@ -13,9 +13,21 @@
# NLS_MESSAGEFORMAT_VAR
-featureName=org.eclipse.osbp.xtext.menu.ui
+featureName=org.eclipse.osbp.xtext.menu
################ blurb property ####################################
+aboutText=\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+
featureText=\
Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
All rights reserved. This program and the accompanying materials\n\
@@ -27,4 +39,19 @@
\n\
Contributors:\n\
Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
+
+blurb=\
+Eclipse OSBP Software Factory\n\
+org.eclipse.osbp.xtext.menu - Version ${featureVersion}\n\
+\n\
+Copyright (c) 2012-2016 - Loetz GmbH&Co.KG \n\
+All rights reserved. This program and the accompanying materials\n\
+are made available under the terms of the Eclipse Public License 2.0 \n\
+which accompanies this distribution, and is available at\n\
+https://www.eclipse.org/legal/epl-2.0/\n\
+\n\
+SPDX-License-Identifier: EPL-2.0\n\
+\n\
+Contributors:\n\
+ Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
################ end of blurb property ####################################
diff --git a/org.eclipse.osbp.xtext.menu.ui/src/org/eclipse/osbp/xtext/menu/ui/contentassist/MenuDslProposalProvider.xtend b/org.eclipse.osbp.xtext.menu.ui/src/org/eclipse/osbp/xtext/menu/ui/contentassist/MenuDslProposalProvider.xtend
index e8a652f..874e1dd 100644
--- a/org.eclipse.osbp.xtext.menu.ui/src/org/eclipse/osbp/xtext/menu/ui/contentassist/MenuDslProposalProvider.xtend
+++ b/org.eclipse.osbp.xtext.menu.ui/src/org/eclipse/osbp/xtext/menu/ui/contentassist/MenuDslProposalProvider.xtend
@@ -57,7 +57,7 @@
var imageSelectorDialog = new ImageSelectorDialog(shell, 16);
imageSelectorDialog.setFilterExtensions(extensions)
var imageFileName = imageSelectorDialog.open(true);
- return "\"".concat(imageFileName).concat("\"");
+ return if (imageFileName !== null) "\"".concat(imageFileName).concat("\"") else "";
}
}
diff --git a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/.gitignore b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/.gitignore
deleted file mode 100644
index f36f8b1..0000000
--- a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.MenuDslDescriptionLabelProvider.xtendbin
-/.MenuDslLabelProvider.xtendbin
-/.MenuDslOutlineTreeProvider.xtendbin
-/.MenuDslProposalProvider.xtendbin
-/.MenuDslQuickfixProvider.xtendbin
diff --git a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/.gitignore b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/.gitignore
deleted file mode 100644
index 3ca567d..0000000
--- a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/ImageFileNameTextApplier.java
-/MenuDslProposalProvider.java
diff --git a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/ImageFileNameTextApplier.java b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/ImageFileNameTextApplier.java
index b2bde8f..071fff9 100644
--- a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/ImageFileNameTextApplier.java
+++ b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/contentassist/ImageFileNameTextApplier.java
@@ -47,6 +47,12 @@
ImageSelectorDialog imageSelectorDialog = new ImageSelectorDialog(shell, 16);
imageSelectorDialog.setFilterExtensions(this.extensions);
String imageFileName = imageSelectorDialog.open(true);
- return "\"".concat(imageFileName).concat("\"");
+ String _xifexpression = null;
+ if ((imageFileName != null)) {
+ _xifexpression = "\"".concat(imageFileName).concat("\"");
+ } else {
+ _xifexpression = "";
+ }
+ return _xifexpression;
}
}
diff --git a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/labeling/.gitignore b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/labeling/.gitignore
deleted file mode 100644
index a1bb3c3..0000000
--- a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/labeling/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/MenuDslDescriptionLabelProvider.java
-/MenuDslLabelProvider.java
diff --git a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/outline/.gitignore b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/outline/.gitignore
deleted file mode 100644
index c1fbcd7..0000000
--- a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/outline/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/MenuDslOutlineTreeProvider.java
diff --git a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/quickfix/.gitignore b/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/quickfix/.gitignore
deleted file mode 100644
index e9dfa24..0000000
--- a/org.eclipse.osbp.xtext.menu.ui/xtend-gen/org/eclipse/osbp/xtext/menu/ui/quickfix/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/MenuDslQuickfixProvider.java
diff --git a/org.eclipse.osbp.xtext.menu/build.properties b/org.eclipse.osbp.xtext.menu/build.properties
index ab84fea..11fd77f 100644
--- a/org.eclipse.osbp.xtext.menu/build.properties
+++ b/org.eclipse.osbp.xtext.menu/build.properties
@@ -3,6 +3,7 @@
META-INF/,\
plugin.xml,\
plugin.properties,\
+ epl-2.0.html,\
LICENSE.txt,\
license.html
jars.compile.order = .
@@ -12,4 +13,5 @@
xtend-gen
output.. = target/classes/
src.includes = about.properties, about.mappings, about.ini, about.html, LICENSE.txt,\
+ epl-2.0.html,\
license.html
diff --git a/org.eclipse.osbp.xtext.menu/src-gen/org/eclipse/osbp/xtext/menu/parser/antlr/internal/InternalMenuDslLexer.java b/org.eclipse.osbp.xtext.menu/src-gen/org/eclipse/osbp/xtext/menu/parser/antlr/internal/InternalMenuDslLexer.java
index 2ea53eb..fc3162b 100644
--- a/org.eclipse.osbp.xtext.menu/src-gen/org/eclipse/osbp/xtext/menu/parser/antlr/internal/InternalMenuDslLexer.java
+++ b/org.eclipse.osbp.xtext.menu/src-gen/org/eclipse/osbp/xtext/menu/parser/antlr/internal/InternalMenuDslLexer.java
@@ -1,3 +1,13 @@
+/*
+ * Copyright (c) 2014,2016 Loetz GmbH&Co.KG (Heidelberg)
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http{//www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Loetz GmbH&Co.KG - Initial implementation
+ */
package org.eclipse.osbp.xtext.menu.parser.antlr.internal;
// Hack: Use our own Lexer superclass by means of import.
@@ -4243,4 +4253,4 @@
}
-}
\ No newline at end of file
+}
diff --git a/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.xtend
index ae14012..db2be48 100644
--- a/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.xtend
@@ -33,7 +33,6 @@
import org.eclipse.e4.core.contexts.IEclipseContext
import org.eclipse.e4.core.di.annotations.Optional
import org.eclipse.osbp.bpm.api.IBPMEngine
-import org.eclipse.osbp.bpm.api.IBlipBPMFunctionProvider
import org.eclipse.osbp.runtime.common.event.IEventDispatcher
import org.eclipse.osbp.ui.api.contextfunction.IUserMenuProvider
import org.eclipse.osbp.ui.api.contextfunction.IVaadinDialogProvider
@@ -72,10 +71,8 @@
@Named(Constants.FILE_EXTENSIONS) String fileExtension
@Inject extension CommonUtils
- var String binderClassName = ""
var String contextClassName = ""
var String clsName = ""
- var flagTreeMenu = false
def dispatch void infer(MenuPackage pkg, IJvmDeclaredTypeAcceptor acceptor, boolean isPreIndexingPhase) {
clsName = pkg.eResource.URI.lastSegment.replace("."+fileExtension,"").toFirstUpper+fileExtension.toFirstUpper
@@ -231,8 +228,6 @@
type.members += field
field = pkg.toField("downloadPerspectiveHandler", _typeReferenceBuilder.typeRef(IMenuItemHandler))[annotations += _annotationTypesBuilder.annotationRef(Inject) annotations += _annotationTypesBuilder.annotationRef(Optional) annotations += _annotationTypesBuilder.annotationRef(Named, "DownloadPerspectiveHandler")]
type.members += field
- field = pkg.toField("blip", _typeReferenceBuilder.typeRef(IBlipBPMFunctionProvider)) [annotations += _annotationTypesBuilder.annotationRef(Inject)]
- type.members += field
field = pkg.toField("tabs",
_typeReferenceBuilder.typeRef(HashMap, _typeReferenceBuilder.typeRef(TabSheet.Tab), _typeReferenceBuilder.typeRef(Pair, _typeReferenceBuilder.typeRef(String), _typeReferenceBuilder.typeRef(String))))
type.members += field
@@ -341,7 +336,7 @@
def init(MenuPackage pkg)
'''
- bpmnWindow = new BpmnWindow(bpmEngine, blip, context);
+ bpmnWindow = new BpmnWindow(bpmEngine, context);
tabs = new HashMap<>();
items = new HashMap<>();
user.addUserLocaleListener(this);
@@ -427,7 +422,13 @@
UserMenuItem item = (UserMenuItem) ((Tree)event.getProperty()).getValue();
if(item != null) {
if(item.getType() == UserMenuItemType.PROCESS) {
- bpmnWindow.showBpmn(item.getCallId());
+ bpmEngine.registerProcess(item.getCallId());
+ if(bpmEngine.processHasErrors()) {
+ String errorMessage = bpmEngine.getKnowledgeBuilderErrors().stream().map(e->e.toString()).collect(Collectors.joining("\n"));
+ Notification.show(errorMessage, Type.ERROR_MESSAGE);
+ } else {
+ bpmnWindow.showBpmn(item.getCallId());
+ }
}
else if(item.getType() == UserMenuItemType.PERSPECTIVE) {
bpmnWindow.closeBpmn();
@@ -451,7 +452,7 @@
«IF category.hasUserFilter»
if(userAccessService.isSuperuser()) {
«ELSE»
- if(true) {
+ if(dslMetadataService.isMenuCategoryAuthorized("«category.fullyQualifiedName»", userAccessService)) {
«ENDIF»
VerticalLayout tab«category.name.toFirstUpper» = new VerticalLayout();
Tree category«category.name.toFirstUpper» = new Tree();
@@ -481,34 +482,36 @@
reportPrinter.createView(tab«category.name.toFirstUpper»);
«ENDIF»
«FOR tree:category.trees»
- UserMenuItem «tree.name» = new UserMenuItem(dslMetadataService, "«tree.name»", "«tree.name»", UserMenuItemType.NONE, "«tree.tooltip»", null);
- items.put(«tree.name», "«tree.name»");
- category«category.name.toFirstUpper».addItem(«tree.name»);
- category«category.name.toFirstUpper».setChildrenAllowed(«tree.name», true);
- «FOR entry:tree.entries»
- «IF entry.hasProcess»
- if(bpmEngine != null && userAccessService.isGranted(Group.PROCESS, Action.STARTABLE, "«entry.process.name»")) {
- «ELSE»
- if(true) {
- «ENDIF»
- UserMenuItem «tree.name»«entry.name» = new UserMenuItem(dslMetadataService, "«entry.name»",
- «IF entry.hasProcess»"«entry.process.name»"
- «ELSEIF entry.hasPerspective»"«entry.perspective.fullyQualifiedName»"
- «ELSE»""
- «ENDIF», UserMenuItemType.«IF entry.hasProcess»PROCESS, "«entry.process.descriptionValue»"
- «ELSEIF entry.hasPerspective»PERSPECTIVE, "«entry.perspective.descriptionValue»"«
- ELSE»NONE, ""
- «ENDIF», "«entry.icon»");
- items.put(«tree.name»«entry.name», "«entry.name»");
- category«category.name.toFirstUpper».addItem(«tree.name»«entry.name»);
- category«category.name.toFirstUpper».setParent(«tree.name»«entry.name», «tree.name»);
- category«category.name.toFirstUpper».setChildrenAllowed(«tree.name»«entry.name», false);
- «IF entry.hasIcon»
- category«category.name.toFirstUpper».setItemIcon(«tree.name»«entry.name», themeResourceService.getThemeResource("«entry.icon»", ThemeResourceType.ICON));
+ if(dslMetadataService.isMenuTreeAuthorized("«tree.fullyQualifiedName»", userAccessService)) {
+ UserMenuItem «tree.name» = new UserMenuItem(dslMetadataService, "«tree.name»", "«tree.name»", UserMenuItemType.NONE, "«tree.tooltip»", null);
+ items.put(«tree.name», "«tree.name»");
+ category«category.name.toFirstUpper».addItem(«tree.name»);
+ category«category.name.toFirstUpper».setChildrenAllowed(«tree.name», true);
+ «FOR entry:tree.entries»
+ «IF entry.hasProcess»
+ if(bpmEngine != null && userAccessService.isGranted(Group.PROCESS, Action.STARTABLE, "«entry.process.name»")) {
+ «ELSE»
+ if(dslMetadataService.isPerspectiveAuthorized("«entry.perspective.fullyQualifiedName»", userAccessService)) {
«ENDIF»
- }
-
- «ENDFOR»
+ UserMenuItem «tree.name»«entry.name» = new UserMenuItem(dslMetadataService, "«entry.name»",
+ «IF entry.hasProcess»"«entry.process.name»"
+ «ELSEIF entry.hasPerspective»"«entry.perspective.fullyQualifiedName»"
+ «ELSE»""
+ «ENDIF», UserMenuItemType.«IF entry.hasProcess»PROCESS, "«entry.process.descriptionValue»"
+ «ELSEIF entry.hasPerspective»PERSPECTIVE, "«entry.perspective.descriptionValue»"«
+ ELSE»NONE, ""
+ «ENDIF», "«entry.icon»");
+ items.put(«tree.name»«entry.name», "«entry.name»");
+ category«category.name.toFirstUpper».addItem(«tree.name»«entry.name»);
+ category«category.name.toFirstUpper».setParent(«tree.name»«entry.name», «tree.name»);
+ category«category.name.toFirstUpper».setChildrenAllowed(«tree.name»«entry.name», false);
+ «IF entry.hasIcon»
+ category«category.name.toFirstUpper».setItemIcon(«tree.name»«entry.name», themeResourceService.getThemeResource("«entry.icon»", ThemeResourceType.ICON));
+ «ENDIF»
+ }
+
+ «ENDFOR»
+ }
«ENDFOR»
}
«ENDFOR»
diff --git a/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.xtend b/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.xtend
index 0b2fc78..978d403 100644
--- a/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.xtend
+++ b/org.eclipse.osbp.xtext.menu/src/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.xtend
@@ -16,8 +16,7 @@
* This copyright notice shows up in the generated Java code
*
*/
-
-package org.eclipse.osbp.xtext.menu.jvmmodel
+ package org.eclipse.osbp.xtext.menu.jvmmodel
import com.vaadin.data.Property.ValueChangeEvent
import com.vaadin.data.Property.ValueChangeListener
@@ -68,6 +67,7 @@
import org.eclipse.xtext.xbase.compiler.GeneratorConfig
import org.eclipse.xtext.xbase.compiler.ImportManager
import org.vaadin.hene.popupbutton.PopupButton
+import java.util.stream.Collectors
class MenuModelGenerator extends I18NModelGenerator {
@Inject extension BasicDslGeneratorUtils
@@ -92,6 +92,8 @@
, SelectedTabChangeListener
, SelectedTabChangeEvent
, Notification
+ , Notification.Type
+ , Collectors
, IBlipBPMFunctionProvider
, com.vaadin.server.Resource
, Tab
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/.gitignore b/org.eclipse.osbp.xtext.menu/xtend-gen/.gitignore
deleted file mode 100644
index c31378f..0000000
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-/.MenuDslFormatter.xtendbin
-/.MenuDslJvmModelInferrer.xtendbin
-/.MenuDslScopeProvider.xtendbin
-/.MenuDslValidator.xtendbin
-/.MenuModelGenerator.xtendbin
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/formatting/.gitignore b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/formatting/.gitignore
deleted file mode 100644
index d4f3f2d..0000000
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/formatting/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/MenuDslFormatter.java
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/.gitignore b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/.gitignore
deleted file mode 100644
index e2c2970..0000000
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/MenuDslJvmModelInferrer.java
-/MenuModelGenerator.java
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.java b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.java
index 400eedb..9bf16b6 100644
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.java
+++ b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuDslJvmModelInferrer.java
@@ -34,7 +34,6 @@
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.osbp.bpm.api.IBPMEngine;
-import org.eclipse.osbp.bpm.api.IBlipBPMFunctionProvider;
import org.eclipse.osbp.runtime.common.event.IEventDispatcher;
import org.eclipse.osbp.ui.api.contextfunction.IUserMenuProvider;
import org.eclipse.osbp.ui.api.contextfunction.IVaadinDialogProvider;
@@ -98,14 +97,10 @@
@Extension
private CommonUtils _commonUtils;
- private String binderClassName = "";
-
private String contextClassName = "";
private String clsName = "";
- private boolean flagTreeMenu = false;
-
protected void _infer(final MenuPackage pkg, final IJvmDeclaredTypeAcceptor acceptor, final boolean isPreIndexingPhase) {
String _firstUpper = StringExtensions.toFirstUpper(pkg.eResource().getURI().lastSegment().replace(("." + this.fileExtension), ""));
String _firstUpper_1 = StringExtensions.toFirstUpper(this.fileExtension);
@@ -471,23 +466,15 @@
field = this._jvmTypesBuilder.toField(pkg, "downloadPerspectiveHandler", this._typeReferenceBuilder.typeRef(IMenuItemHandler.class), _function_16);
EList<JvmMember> _members_28 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_28, field);
- final Procedure1<JvmField> _function_17 = (JvmField it) -> {
- EList<JvmAnnotationReference> _annotations = it.getAnnotations();
- JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
- this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
- };
- field = this._jvmTypesBuilder.toField(pkg, "blip", this._typeReferenceBuilder.typeRef(IBlipBPMFunctionProvider.class), _function_17);
- EList<JvmMember> _members_29 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_29, field);
field = this._jvmTypesBuilder.toField(pkg, "tabs",
this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(TabSheet.Tab.class), this._typeReferenceBuilder.typeRef(Pair.class, this._typeReferenceBuilder.typeRef(String.class), this._typeReferenceBuilder.typeRef(String.class))));
- EList<JvmMember> _members_30 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_30, field);
+ EList<JvmMember> _members_29 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_29, field);
field = this._jvmTypesBuilder.toField(pkg, "items",
this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(UserMenuItem.class), this._typeReferenceBuilder.typeRef(String.class)));
- EList<JvmMember> _members_31 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_31, field);
- final Procedure1<JvmField> _function_18 = (JvmField it) -> {
+ EList<JvmMember> _members_30 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_30, field);
+ final Procedure1<JvmField> _function_17 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
@@ -495,10 +482,10 @@
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Named.class, "UserFilter");
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
};
- field = this._jvmTypesBuilder.toField(pkg, "userFilter", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_18);
- EList<JvmMember> _members_32 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_32, field);
- final Procedure1<JvmField> _function_19 = (JvmField it) -> {
+ field = this._jvmTypesBuilder.toField(pkg, "userFilter", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_17);
+ EList<JvmMember> _members_31 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_31, field);
+ final Procedure1<JvmField> _function_18 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
@@ -506,10 +493,10 @@
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Named.class, "KeyBindingDialog");
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
};
- field = this._jvmTypesBuilder.toField(pkg, "keyBinding", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_19);
- EList<JvmMember> _members_33 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_33, field);
- final Procedure1<JvmField> _function_20 = (JvmField it) -> {
+ field = this._jvmTypesBuilder.toField(pkg, "keyBinding", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_18);
+ EList<JvmMember> _members_32 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_32, field);
+ final Procedure1<JvmField> _function_19 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
@@ -517,10 +504,10 @@
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Named.class, "SystemSettings");
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
};
- field = this._jvmTypesBuilder.toField(pkg, "systemSettings", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_20);
- EList<JvmMember> _members_34 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_34, field);
- final Procedure1<JvmField> _function_21 = (JvmField it) -> {
+ field = this._jvmTypesBuilder.toField(pkg, "systemSettings", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_19);
+ EList<JvmMember> _members_33 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_33, field);
+ final Procedure1<JvmField> _function_20 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
@@ -528,15 +515,26 @@
JvmAnnotationReference _annotationRef_1 = this._annotationTypesBuilder.annotationRef(Named.class, "ReportPrinterDialog");
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations_1, _annotationRef_1);
};
- field = this._jvmTypesBuilder.toField(pkg, "reportPrinter", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_21);
- EList<JvmMember> _members_35 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_35, field);
- final Procedure1<JvmField> _function_22 = (JvmField it) -> {
+ field = this._jvmTypesBuilder.toField(pkg, "reportPrinter", this._typeReferenceBuilder.typeRef(IVaadinDialogProvider.class), _function_20);
+ EList<JvmMember> _members_34 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_34, field);
+ final Procedure1<JvmField> _function_21 = (JvmField it) -> {
EList<JvmAnnotationReference> _annotations = it.getAnnotations();
JvmAnnotationReference _annotationRef = this._annotationTypesBuilder.annotationRef(Inject.class);
this._jvmTypesBuilder.<JvmAnnotationReference>operator_add(_annotations, _annotationRef);
};
- field = this._jvmTypesBuilder.toField(pkg, "executorService", this._typeReferenceBuilder.typeRef(VaadinExecutorService.class), _function_22);
+ field = this._jvmTypesBuilder.toField(pkg, "executorService", this._typeReferenceBuilder.typeRef(VaadinExecutorService.class), _function_21);
+ EList<JvmMember> _members_35 = type.getMembers();
+ this._jvmTypesBuilder.<JvmField>operator_add(_members_35, field);
+ final Procedure1<JvmField> _function_22 = (JvmField it) -> {
+ final Procedure1<ITreeAppendable> _function_23 = (ITreeAppendable it_1) -> {
+ StringConcatenation _builder = new StringConcatenation();
+ _builder.append("new HashMap<>()");
+ it_1.append(_builder);
+ };
+ this._jvmTypesBuilder.setInitializer(it, _function_23);
+ };
+ field = this._jvmTypesBuilder.toField(pkg, "enabledUpdaters", this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(MenuBar.MenuItem.class), this._typeReferenceBuilder.typeRef(Runnable.class)), _function_22);
EList<JvmMember> _members_36 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_36, field);
final Procedure1<JvmField> _function_23 = (JvmField it) -> {
@@ -547,23 +545,12 @@
};
this._jvmTypesBuilder.setInitializer(it, _function_24);
};
- field = this._jvmTypesBuilder.toField(pkg, "enabledUpdaters", this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(MenuBar.MenuItem.class), this._typeReferenceBuilder.typeRef(Runnable.class)), _function_23);
+ field = this._jvmTypesBuilder.toField(pkg, "menuItems", this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(IMenuItemHandler.class), this._typeReferenceBuilder.typeRef(MenuBar.MenuItem.class)), _function_23);
EList<JvmMember> _members_37 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_37, field);
- final Procedure1<JvmField> _function_24 = (JvmField it) -> {
- final Procedure1<ITreeAppendable> _function_25 = (ITreeAppendable it_1) -> {
- StringConcatenation _builder = new StringConcatenation();
- _builder.append("new HashMap<>()");
- it_1.append(_builder);
- };
- this._jvmTypesBuilder.setInitializer(it, _function_25);
- };
- field = this._jvmTypesBuilder.toField(pkg, "menuItems", this._typeReferenceBuilder.typeRef(HashMap.class, this._typeReferenceBuilder.typeRef(IMenuItemHandler.class), this._typeReferenceBuilder.typeRef(MenuBar.MenuItem.class)), _function_24);
+ field = this._jvmTypesBuilder.toField(pkg, "bpmnWindow", this._typeReferenceBuilder.typeRef(BpmnWindow.class));
EList<JvmMember> _members_38 = type.getMembers();
this._jvmTypesBuilder.<JvmField>operator_add(_members_38, field);
- field = this._jvmTypesBuilder.toField(pkg, "bpmnWindow", this._typeReferenceBuilder.typeRef(BpmnWindow.class));
- EList<JvmMember> _members_39 = type.getMembers();
- this._jvmTypesBuilder.<JvmField>operator_add(_members_39, field);
}
public void toOperations(final JvmDeclaredType type, final MenuPackage pkg) {
@@ -762,7 +749,7 @@
public CharSequence init(final MenuPackage pkg) {
StringConcatenation _builder = new StringConcatenation();
- _builder.append("bpmnWindow = new BpmnWindow(bpmEngine, blip, context);");
+ _builder.append("bpmnWindow = new BpmnWindow(bpmEngine, context);");
_builder.newLine();
_builder.append("tabs = new HashMap<>();");
_builder.newLine();
@@ -982,8 +969,26 @@
_builder.append("if(item.getType() == UserMenuItemType.PROCESS) {");
_builder.newLine();
_builder.append("\t\t\t\t");
+ _builder.append("bpmEngine.registerProcess(item.getCallId());");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("if(bpmEngine.processHasErrors()) {");
+ _builder.newLine();
+ _builder.append("\t\t\t\t\t");
+ _builder.append("String errorMessage = bpmEngine.getKnowledgeBuilderErrors().stream().map(e->e.toString()).collect(Collectors.joining(\"\\n\"));");
+ _builder.newLine();
+ _builder.append("\t\t\t\t\t");
+ _builder.append("Notification.show(errorMessage, Type.ERROR_MESSAGE);");
+ _builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("} else {");
+ _builder.newLine();
+ _builder.append("\t\t\t\t\t");
_builder.append("bpmnWindow.showBpmn(item.getCallId());");
_builder.newLine();
+ _builder.append("\t\t\t\t");
+ _builder.append("}");
+ _builder.newLine();
_builder.append("\t\t\t");
_builder.append("} ");
_builder.newLine();
@@ -1067,8 +1072,11 @@
_builder.append("if(userAccessService.isSuperuser()) {");
_builder.newLine();
} else {
- _builder.append("if(true) {");
- _builder.newLine();
+ _builder.append("if(dslMetadataService.isMenuCategoryAuthorized(\"");
+ QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(category);
+ _builder.append(_fullyQualifiedName);
+ _builder.append("\", userAccessService)) {");
+ _builder.newLineIfNotEmpty();
}
}
_builder.append("\t");
@@ -1249,45 +1257,55 @@
EList<MenuTree> _trees = category.getTrees();
for(final MenuTree tree : _trees) {
_builder.append("\t");
+ _builder.append("if(dslMetadataService.isMenuTreeAuthorized(\"");
+ QualifiedName _fullyQualifiedName_1 = this._iQualifiedNameProvider.getFullyQualifiedName(tree);
+ _builder.append(_fullyQualifiedName_1, "\t");
+ _builder.append("\", userAccessService)) {");
+ _builder.newLineIfNotEmpty();
+ _builder.append("\t");
+ _builder.append("\t");
_builder.append("UserMenuItem ");
String _name_3 = tree.getName();
- _builder.append(_name_3, "\t");
+ _builder.append(_name_3, "\t\t");
_builder.append(" = new UserMenuItem(dslMetadataService, \"");
String _name_4 = tree.getName();
- _builder.append(_name_4, "\t");
+ _builder.append(_name_4, "\t\t");
_builder.append("\", \"");
String _name_5 = tree.getName();
- _builder.append(_name_5, "\t");
+ _builder.append(_name_5, "\t\t");
_builder.append("\", UserMenuItemType.NONE, \"");
String _tooltip = tree.getTooltip();
- _builder.append(_tooltip, "\t");
+ _builder.append(_tooltip, "\t\t");
_builder.append("\", null);");
_builder.newLineIfNotEmpty();
_builder.append("\t");
+ _builder.append("\t");
_builder.append("items.put(");
String _name_6 = tree.getName();
- _builder.append(_name_6, "\t");
+ _builder.append(_name_6, "\t\t");
_builder.append(", \"");
String _name_7 = tree.getName();
- _builder.append(_name_7, "\t");
+ _builder.append(_name_7, "\t\t");
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
+ _builder.append("\t");
_builder.append("category");
String _firstUpper_18 = StringExtensions.toFirstUpper(category.getName());
- _builder.append(_firstUpper_18, "\t");
+ _builder.append(_firstUpper_18, "\t\t");
_builder.append(".addItem(");
String _name_8 = tree.getName();
- _builder.append(_name_8, "\t");
+ _builder.append(_name_8, "\t\t");
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
+ _builder.append("\t");
_builder.append("category");
String _firstUpper_19 = StringExtensions.toFirstUpper(category.getName());
- _builder.append(_firstUpper_19, "\t");
+ _builder.append(_firstUpper_19, "\t\t");
_builder.append(".setChildrenAllowed(");
String _name_9 = tree.getName();
- _builder.append(_name_9, "\t");
+ _builder.append(_name_9, "\t\t");
_builder.append(", true);");
_builder.newLineIfNotEmpty();
{
@@ -1297,56 +1315,66 @@
boolean _isHasProcess = entry.isHasProcess();
if (_isHasProcess) {
_builder.append("\t");
+ _builder.append("\t");
_builder.append("if(bpmEngine != null && userAccessService.isGranted(Group.PROCESS, Action.STARTABLE, \"");
String _name_10 = entry.getProcess().getName();
- _builder.append(_name_10, "\t");
+ _builder.append(_name_10, "\t\t");
_builder.append("\")) {");
_builder.newLineIfNotEmpty();
} else {
_builder.append("\t");
- _builder.append("if(true) {");
- _builder.newLine();
+ _builder.append("\t");
+ _builder.append("if(dslMetadataService.isPerspectiveAuthorized(\"");
+ QualifiedName _fullyQualifiedName_2 = this._iQualifiedNameProvider.getFullyQualifiedName(entry.getPerspective());
+ _builder.append(_fullyQualifiedName_2, "\t\t");
+ _builder.append("\", userAccessService)) {");
+ _builder.newLineIfNotEmpty();
}
}
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
_builder.append("UserMenuItem ");
String _name_11 = tree.getName();
- _builder.append(_name_11, "\t\t");
+ _builder.append(_name_11, "\t\t\t");
String _name_12 = entry.getName();
- _builder.append(_name_12, "\t\t");
+ _builder.append(_name_12, "\t\t\t");
_builder.append(" = new UserMenuItem(dslMetadataService, \"");
String _name_13 = entry.getName();
- _builder.append(_name_13, "\t\t");
+ _builder.append(_name_13, "\t\t\t");
_builder.append("\", ");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
{
boolean _isHasProcess_1 = entry.isHasProcess();
if (_isHasProcess_1) {
_builder.append("\"");
String _name_14 = entry.getProcess().getName();
- _builder.append(_name_14, "\t\t");
+ _builder.append(_name_14, "\t\t\t");
_builder.append("\"");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
} else {
boolean _isHasPerspective = entry.isHasPerspective();
if (_isHasPerspective) {
_builder.append("\"");
- QualifiedName _fullyQualifiedName = this._iQualifiedNameProvider.getFullyQualifiedName(entry.getPerspective());
- _builder.append(_fullyQualifiedName, "\t\t");
+ QualifiedName _fullyQualifiedName_3 = this._iQualifiedNameProvider.getFullyQualifiedName(entry.getPerspective());
+ _builder.append(_fullyQualifiedName_3, "\t\t\t");
_builder.append("\"");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
} else {
_builder.append("\"\"");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
}
}
}
@@ -1356,80 +1384,86 @@
if (_isHasProcess_2) {
_builder.append("PROCESS, \"");
String _descriptionValue = entry.getProcess().getDescriptionValue();
- _builder.append(_descriptionValue, "\t\t");
+ _builder.append(_descriptionValue, "\t\t\t");
_builder.append("\"");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
} else {
boolean _isHasPerspective_1 = entry.isHasPerspective();
if (_isHasPerspective_1) {
_builder.append("PERSPECTIVE, \"");
String _descriptionValue_1 = entry.getPerspective().getDescriptionValue();
- _builder.append(_descriptionValue_1, "\t\t");
+ _builder.append(_descriptionValue_1, "\t\t\t");
_builder.append("\"");
} else {
_builder.append("NONE, \"\"");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
}
}
}
_builder.append(", \"");
String _icon = entry.getIcon();
- _builder.append(_icon, "\t\t");
+ _builder.append(_icon, "\t\t\t");
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
_builder.append("items.put(");
String _name_15 = tree.getName();
- _builder.append(_name_15, "\t\t");
+ _builder.append(_name_15, "\t\t\t");
String _name_16 = entry.getName();
- _builder.append(_name_16, "\t\t");
+ _builder.append(_name_16, "\t\t\t");
_builder.append(", \"");
String _name_17 = entry.getName();
- _builder.append(_name_17, "\t\t");
+ _builder.append(_name_17, "\t\t\t");
_builder.append("\");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
_builder.append("category");
String _firstUpper_20 = StringExtensions.toFirstUpper(category.getName());
- _builder.append(_firstUpper_20, "\t\t");
+ _builder.append(_firstUpper_20, "\t\t\t");
_builder.append(".addItem(");
String _name_18 = tree.getName();
- _builder.append(_name_18, "\t\t");
+ _builder.append(_name_18, "\t\t\t");
String _name_19 = entry.getName();
- _builder.append(_name_19, "\t\t");
+ _builder.append(_name_19, "\t\t\t");
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
_builder.append("category");
String _firstUpper_21 = StringExtensions.toFirstUpper(category.getName());
- _builder.append(_firstUpper_21, "\t\t");
+ _builder.append(_firstUpper_21, "\t\t\t");
_builder.append(".setParent(");
String _name_20 = tree.getName();
- _builder.append(_name_20, "\t\t");
+ _builder.append(_name_20, "\t\t\t");
String _name_21 = entry.getName();
- _builder.append(_name_21, "\t\t");
+ _builder.append(_name_21, "\t\t\t");
_builder.append(", ");
String _name_22 = tree.getName();
- _builder.append(_name_22, "\t\t");
+ _builder.append(_name_22, "\t\t\t");
_builder.append(");");
_builder.newLineIfNotEmpty();
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
_builder.append("category");
String _firstUpper_22 = StringExtensions.toFirstUpper(category.getName());
- _builder.append(_firstUpper_22, "\t\t");
+ _builder.append(_firstUpper_22, "\t\t\t");
_builder.append(".setChildrenAllowed(");
String _name_23 = tree.getName();
- _builder.append(_name_23, "\t\t");
+ _builder.append(_name_23, "\t\t\t");
String _name_24 = entry.getName();
- _builder.append(_name_24, "\t\t");
+ _builder.append(_name_24, "\t\t\t");
_builder.append(", false);");
_builder.newLineIfNotEmpty();
{
@@ -1437,28 +1471,34 @@
if (_isHasIcon) {
_builder.append("\t");
_builder.append("\t");
+ _builder.append("\t");
_builder.append("category");
String _firstUpper_23 = StringExtensions.toFirstUpper(category.getName());
- _builder.append(_firstUpper_23, "\t\t");
+ _builder.append(_firstUpper_23, "\t\t\t");
_builder.append(".setItemIcon(");
String _name_25 = tree.getName();
- _builder.append(_name_25, "\t\t");
+ _builder.append(_name_25, "\t\t\t");
String _name_26 = entry.getName();
- _builder.append(_name_26, "\t\t");
+ _builder.append(_name_26, "\t\t\t");
_builder.append(", themeResourceService.getThemeResource(\"");
String _icon_1 = entry.getIcon();
- _builder.append(_icon_1, "\t\t");
+ _builder.append(_icon_1, "\t\t\t");
_builder.append("\", ThemeResourceType.ICON));");
_builder.newLineIfNotEmpty();
}
}
_builder.append("\t");
+ _builder.append("\t");
_builder.append("}");
_builder.newLine();
_builder.append("\t");
+ _builder.append("\t");
_builder.newLine();
}
}
+ _builder.append("\t");
+ _builder.append("}");
+ _builder.newLine();
}
}
_builder.append("}");
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.java b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.java
index a970b11..607dba2 100644
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.java
+++ b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/jvmmodel/MenuModelGenerator.java
@@ -31,6 +31,7 @@
import com.vaadin.ui.Tree;
import com.vaadin.ui.UI;
import com.vaadin.ui.VerticalLayout;
+import java.util.stream.Collectors;
import javax.inject.Inject;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.ui.model.application.MApplication;
@@ -74,7 +75,7 @@
TreeAppendable _xblockexpression = null;
{
this.setBuilder(context.eResource());
- this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, VerticalLayout.class, HorizontalLayout.class, AbsoluteLayout.class, Label.class, Image.class, PopupButton.class, IUserMenuProvider.class, TabSheet.SelectedTabChangeListener.class, TabSheet.SelectedTabChangeEvent.class, Notification.class, IBlipBPMFunctionProvider.class, com.vaadin.server.Resource.class, TabSheet.Tab.class, Button.class, Accordion.class, IUserAccessService.class, IBPMEngine.class, AbstractAuthorization.Group.class, AbstractAuthorization.Action.class, IThemeResourceService.class, IThemeResourceService.ThemeResourceType.class, Tree.class, Property.ValueChangeListener.class, Property.ValueChangeEvent.class, UserMenuItem.class, UserMenuItem.UserMenuItemType.class, Button.ClickListener.class, Button.ClickEvent.class, IViewEmbeddedProvider.class, MApplication.class, ContextInjectionFactory.class, Pair.class, UI.class, AbstractOrderedLayout.class, EventDispatcherEvent.EventDispatcherDataTag.class, EventDispatcherEvent.EventDispatcherCommand.class, EventDispatcherEvent.class, MenuBar.class, MenuBar.MenuItem.class, BpmnWindow.class, AbstractSelect.ItemDescriptionGenerator.class, Tree.TreeDragMode.class, MPerspective.class);
+ this._basicDslGeneratorUtils.addImportFor(this, importManager, this._typeReferenceBuilder, VerticalLayout.class, HorizontalLayout.class, AbsoluteLayout.class, Label.class, Image.class, PopupButton.class, IUserMenuProvider.class, TabSheet.SelectedTabChangeListener.class, TabSheet.SelectedTabChangeEvent.class, Notification.class, Notification.Type.class, Collectors.class, IBlipBPMFunctionProvider.class, com.vaadin.server.Resource.class, TabSheet.Tab.class, Button.class, Accordion.class, IUserAccessService.class, IBPMEngine.class, AbstractAuthorization.Group.class, AbstractAuthorization.Action.class, IThemeResourceService.class, IThemeResourceService.ThemeResourceType.class, Tree.class, Property.ValueChangeListener.class, Property.ValueChangeEvent.class, UserMenuItem.class, UserMenuItem.UserMenuItemType.class, Button.ClickListener.class, Button.ClickEvent.class, IViewEmbeddedProvider.class, MApplication.class, ContextInjectionFactory.class, Pair.class, UI.class, AbstractOrderedLayout.class, EventDispatcherEvent.EventDispatcherDataTag.class, EventDispatcherEvent.EventDispatcherCommand.class, EventDispatcherEvent.class, MenuBar.class, MenuBar.MenuItem.class, BpmnWindow.class, AbstractSelect.ItemDescriptionGenerator.class, Tree.TreeDragMode.class, MPerspective.class);
_xblockexpression = super.createAppendable(context, importManager, config);
}
return _xblockexpression;
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/scoping/.gitignore b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/scoping/.gitignore
deleted file mode 100644
index fdef469..0000000
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/scoping/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/MenuDslScopeProvider.java
diff --git a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/validation/.gitignore b/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/validation/.gitignore
deleted file mode 100644
index a7ec748..0000000
--- a/org.eclipse.osbp.xtext.menu/xtend-gen/org/eclipse/osbp/xtext/menu/validation/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/MenuDslValidator.java