catch up with development
Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.xtext.datamartdsl.feature/feature.properties b/org.eclipse.osbp.xtext.datamartdsl.feature/feature.properties
index 58ee5c3..b247e1d 100644
--- a/org.eclipse.osbp.xtext.datamartdsl.feature/feature.properties
+++ b/org.eclipse.osbp.xtext.datamartdsl.feature/feature.properties
Binary files differ
diff --git a/org.eclipse.osbp.xtext.datamartdsl.ide/LICENSE.txt b/org.eclipse.osbp.xtext.datamartdsl.ide/LICENSE.txt
new file mode 100644
index 0000000..fc5938d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.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.datamartdsl.ide/about.html b/org.eclipse.osbp.xtext.datamartdsl.ide/about.html
new file mode 100644
index 0000000..e8b834d
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.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.datamartdsl.ide/about.ini b/org.eclipse.osbp.xtext.datamartdsl.ide/about.ini
new file mode 100644
index 0000000..7df671f
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.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.datamartdsl.ide/about.mappings b/org.eclipse.osbp.xtext.datamartdsl.ide/about.mappings
new file mode 100644
index 0000000..4511a0a
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.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.datamartdsl.ide/about.properties b/org.eclipse.osbp.xtext.datamartdsl.ide/about.properties
new file mode 100644
index 0000000..e17fceb
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.ide/about.properties
@@ -0,0 +1,27 @@
+#Generated by Eclipse Messages Editor (Eclipse Babel)
+#
+# 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.datamartdsl.ide
+
+################ blurb property ####################################
+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:\nChristophe Loetz (Loetz GmbH&Co.KG) - initial implementation\n
diff --git a/org.eclipse.osbp.xtext.datamartdsl.ide/build.properties b/org.eclipse.osbp.xtext.datamartdsl.ide/build.properties
index 6ef1a59..8c1b710 100644
--- a/org.eclipse.osbp.xtext.datamartdsl.ide/build.properties
+++ b/org.eclipse.osbp.xtext.datamartdsl.ide/build.properties
@@ -1,5 +1,20 @@
bin.includes = META-INF/,\
- .,\
+ .,\
src/,\
- src-gen/
-source.. = src/,src-gen/
+ src-gen/,\
+ about.html,\
+ about.ini,\
+ about.mappings,\
+ about.properties,\
+ epl-2.0.html,\
+ license.html,\
+ LICENSE.txt
+source.. = src/,\
+ src-gen/
+src.includes = about.html,\
+ about.ini,\
+ about.mappings,\
+ about.properties,\
+ epl-2.0.html,\
+ license.html,\
+ LICENSE.txt
diff --git a/org.eclipse.osbp.xtext.datamartdsl.ide/epl-2.0.html b/org.eclipse.osbp.xtext.datamartdsl.ide/epl-2.0.html
new file mode 100644
index 0000000..637a181
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.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.datamartdsl.ide/license.html b/org.eclipse.osbp.xtext.datamartdsl.ide/license.html
new file mode 100644
index 0000000..008b801
--- /dev/null
+++ b/org.eclipse.osbp.xtext.datamartdsl.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.datamartdsl.tests/build.properties b/org.eclipse.osbp.xtext.datamartdsl.tests/build.properties
index 2fd8cb3..d216966 100644
--- a/org.eclipse.osbp.xtext.datamartdsl.tests/build.properties
+++ b/org.eclipse.osbp.xtext.datamartdsl.tests/build.properties
@@ -7,16 +7,18 @@
about.html,\
META-INF/,\
.,\
- .classpath,\
- .project,\
- .settings/,\
license.html,\
LICENSE.txt,\
epl-2.0.html,\
src/,\
src-gen/,\
xtend-gen/
-src.includes = about.properties, about.mappings, about.ini, about.html, license.html,\
+src.includes = about.properties,\
+ about.mappings,\
+ about.ini,\
+ about.html,\
+ license.html,\
LICENSE.txt,\
- epl-2.0.html
+ epl-2.0.html,\
+ META-INF/
diff --git a/org.eclipse.osbp.xtext.datamartdsl.ui/build.properties b/org.eclipse.osbp.xtext.datamartdsl.ui/build.properties
index 0295520..b6fb999 100644
--- a/org.eclipse.osbp.xtext.datamartdsl.ui/build.properties
+++ b/org.eclipse.osbp.xtext.datamartdsl.ui/build.properties
@@ -8,9 +8,6 @@
META-INF/,\
.,\
plugin.xml,\
- .classpath,\
- .project,\
- .settings/,\
i18n/,\
templates/,\
icons/,\
diff --git a/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/jvmmodel/DatamartDSLJvmModelInferrer.xtend b/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/jvmmodel/DatamartDSLJvmModelInferrer.xtend
index 7326259..115d7bb 100644
--- a/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/jvmmodel/DatamartDSLJvmModelInferrer.xtend
+++ b/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/jvmmodel/DatamartDSLJvmModelInferrer.xtend
@@ -962,6 +962,8 @@
for (DatamartFilter filter : getFilters()) {
if(filter.getCondition() != null) {
filteredStatement = filteredStatement.replace(filter.getDecoratedName(), filter.getCondition().replace("'",""));
+ } else {
+ filteredStatement = filteredStatement.replace(filter.getDecoratedName(), "");
}
}
filteredStatement = filteredStatement.replace("<empty>,","").replace(",<empty>","").replace("<empty>","");
@@ -1074,6 +1076,81 @@
)
]
])
+
+ // addUserFilter method
+ operation = definition.toMethod("addUserFilter", _typeReferenceBuilder.typeRef(String), [
+ parameters += definition.toParameter("sql", _typeReferenceBuilder.typeRef(String))
+ parameters += definition.toParameter("entity", _typeReferenceBuilder.typeRef(String))
+ body = [
+ append(
+ '''
+ return addUserFilter( sql, entity, entity );
+ '''
+ )
+ ]
+ ])
+ type.members += operation
+
+ // addUserFilter method
+ operation = definition.toMethod("addUserFilter", _typeReferenceBuilder.typeRef(String), [
+ parameters += definition.toParameter("sql", _typeReferenceBuilder.typeRef(String))
+ parameters += definition.toParameter("entity", _typeReferenceBuilder.typeRef(String))
+ parameters += definition.toParameter("entityAlias", _typeReferenceBuilder.typeRef(String))
+ body = [
+ append(
+ '''
+ String condition = "";
+ String retSql=sql;
+ if ( user.getUserFilter() == null )
+ return retSql;
+ if ( user.getUserFilter().getInFilterMap() != null ) {
+ String idList="";
+ for ( java.util.Map.Entry<String, List<String>> uf :user.getUserFilter().getInFilterMap().entrySet() ) {
+ if (uf.getKey().contains(entity)) {
+ for ( String entry:uf.getValue() ) {
+ if ( !idList.equals("") ) {
+ idList = idList + ",";
+ }
+ idList = idList + "\'" + entry + "\'" ;
+ }
+ idList="(" + idList + ")";
+ }
+ }
+ if ( !idList.equals("") ) {
+ condition = " ("+entityAlias+".id in "+idList+") ";
+ }
+ } else if ( user.getUserFilter().getNotFilterMap() != null ) {
+ String idList="";
+ for ( java.util.Map.Entry<String, List<String>> uf :user.getUserFilter().getNotFilterMap().entrySet() ) {
+ if (uf.getKey().contains(entity)) {
+ for ( String entry:uf.getValue() ) {
+ if ( !idList.equals("") ) {
+ idList = idList + ",";
+ }
+ idList = idList + "\'" + entry + "\'" ;
+ }
+ idList="(" + idList + ")";
+ }
+ }
+ if ( !idList.equals("") ) {
+ condition = " ("+entityAlias+".id not in "+idList+") ";
+ }
+ }
+ if( condition != "" ) {
+ if ( retSql.toLowerCase().contains( " where " ) ) {
+ retSql = insertCondition(retSql, " and " + condition);
+ } else {
+ retSql = insertCondition(retSql, " where " + condition);
+ }
+ }
+ return retSql;
+ '''
+ )
+ ]
+ ])
+ type.members += operation
+
+
// renderFilters method
operation = definition.toMethod("renderFilters", _typeReferenceBuilder.typeRef(Void::TYPE), [
body = [
@@ -1083,6 +1160,7 @@
if (connection != null) {
for (DatamartFilter filter : getFilters()) {
if((DatamartFilter.FilterType.BY_ID != filter.getType()) && (DatamartFilter.FilterType.BY_HISTUUID != filter.getType()) && (DatamartFilter.FilterType.BETWEEN != filter.getType()) && (DatamartFilter.FilterType.BETWEEN_DATE != filter.getType())) {
+ filter.setSql(addUserFilter(filter.getSql(), filter.getEntityName() ));
try (ResultSet rs = connection.createStatement().executeQuery(getVendorSql(filter))){
if (rs != null) {
while (rs.next()) {
@@ -1179,6 +1257,7 @@
else {
if(filter.getCondition() != null) {
filteredStatement = filteredStatement.replace(filter.getDecoratedName(), filter.getCondition());
+ filteredStatement =addUserFilter( filteredStatement, filter.getEntityName(), filter.getAliasName() );
} else {
log.debug("condition was null in «definition.name»:{}", filteredStatement);
return "";
@@ -1207,6 +1286,11 @@
«ENDIF»
}
log.debug("«definition.name»:"+filteredStatement);
+ String entity=getPrimaryFilterId().split("\\.")[0];
+ if( entity.contains("_")){
+ entity=entity.split("\\_")[0];
+ }
+ filteredStatement = addUserFilter( filteredStatement, entity);
return filteredStatement;''')
]
])
@@ -2408,20 +2492,20 @@
return (hierarchy.hierarchyRef.eContainer as CubeDimension).name
}
} else {
- return hierarchy.hierarchyRef.name
+ return '''«(hierarchy.hierarchyRef.eContainer as CubeDimension).name».«hierarchy.hierarchyRef.name»'''
}
return ""
}
/**
- * <p>mdx syntax part for hierarchy names of execpt keyword. If a hierarchy itself has no name in the cube definition, the dimension name is used instead</p>
+ * <p>mdx syntax part for hierarchy names of except keyword. If a hierarchy itself has no name in the cube definition, the dimension name is used instead</p>
*
*/
def String getExceptHierarchyName(DatamartHierarchy hierarchy) {
if (hierarchy.exceptRef.name === null) {
return (hierarchy.exceptRef.eContainer as CubeDimension).name
} else {
- hierarchy.exceptRef.name
+ return '''«(hierarchy.exceptRef.eContainer as CubeDimension).name».«hierarchy.exceptRef.name»'''
}
}
@@ -2650,7 +2734,7 @@
if (hierarchy.hierarchyRef.name === null) {
dim = '''«IF withBrackets»[«ENDIF»«(hierarchy.hierarchyRef.eContainer as CubeDimension).name»«IF withBrackets»]«ENDIF»'''
} else {
- dim = '''«IF withBrackets»[«ENDIF»«hierarchy.hierarchyRef.name»«IF withBrackets»]«ENDIF»'''
+ dim = '''«IF withBrackets»[«ENDIF»«(hierarchy.hierarchyRef.eContainer as CubeDimension).name».«hierarchy.hierarchyRef.name»«IF withBrackets»]«ENDIF»'''
}
}
return dim
diff --git a/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.xtend b/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.xtend
index 16a6b8b..7baeef1 100644
--- a/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.xtend
+++ b/org.eclipse.osbp.xtext.datamartdsl/src/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.xtend
@@ -17,8 +17,6 @@
import java.util.ArrayList
import javax.inject.Inject
-import org.eclipse.emf.common.util.BasicEList
-import org.eclipse.emf.common.util.EList
import org.eclipse.emf.ecore.EObject
import org.eclipse.emf.ecore.EReference
import org.eclipse.emf.ecore.InternalEObject
@@ -43,9 +41,12 @@
import org.eclipse.osbp.xtext.datamartdsl.DatamartMember
import org.eclipse.osbp.xtext.datamartdsl.DatamartOwner
import org.eclipse.osbp.xtext.datamartdsl.DatamartReference
+import org.eclipse.xtext.resource.EObjectDescription
+import org.eclipse.xtext.resource.IEObjectDescription
import org.eclipse.xtext.scoping.IScope
import org.eclipse.xtext.scoping.Scopes
import org.eclipse.xtext.scoping.impl.FilteringScope
+import org.eclipse.xtext.scoping.impl.MapBasedScope
/**
* This class contains custom scoping description.
@@ -232,7 +233,7 @@
}
def IScope getDatamartHierarchy_hierarchyRef(EObject context) {
- var result = <EObject>newArrayList
+ var result = <IEObjectDescription>newArrayList
var eObj = context.eContainer
while (!(eObj instanceof DatamartDefinition)) {
eObj = eObj.eContainer
@@ -246,11 +247,19 @@
var cube = datamartSource.cubeRef
if (cube !== null) {
if (cube.getCubeTypeEntity() !== null) {
- var hierList = new BasicEList<CubeHierarchy>();
for (CubeDimensionUsage ccCubeDimensionUsage : cube.getCubeTypeEntity().getDimensionUsages()) {
- hierList.addAll(ccCubeDimensionUsage.sourceValue.hierarchies)
+ for (CubeHierarchy ccCubeHierarchy : ccCubeDimensionUsage.sourceValue.hierarchies) {
+ var name = ccCubeHierarchy.name
+ if ((name === null) || (name.length() == 0)) {
+ var dimObj = ccCubeHierarchy.eContainer
+ while (!(dimObj instanceof CubeDimension)) {
+ dimObj = dimObj.eContainer
+ }
+ name = (dimObj as CubeDimension).name
+ }
+ result.add(EObjectDescription.create(name, ccCubeHierarchy))
+ }
}
- result = getHierarchyList(hierList, result);
}
}
}
@@ -258,7 +267,7 @@
}
}
}
- return Scopes.scopeFor(result)
+ return MapBasedScope.createScope(IScope.NULLSCOPE, result)
}
def IScope getDatamartHierarchy_levelRef(EObject eObj) {
@@ -347,20 +356,4 @@
}
return Scopes.scopeFor(result)
}
-
- def ArrayList<EObject> getHierarchyList(EList<CubeHierarchy> hierList, ArrayList<EObject> result) {
- for (CubeHierarchy ccCubeHierarchy : hierList) {
- var name = ccCubeHierarchy.name
- if ((name === null) || (name.length() == 0)) {
- var eObj = ccCubeHierarchy.eContainer
- while (!(eObj instanceof CubeDimension)) {
- eObj = eObj.eContainer
- }
- name = (eObj as CubeDimension).name
- ccCubeHierarchy.name = name
- }
- result.add(ccCubeHierarchy)
- }
- return result;
- }
}
diff --git a/org.eclipse.osbp.xtext.datamartdsl/xtend-gen/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.java b/org.eclipse.osbp.xtext.datamartdsl/xtend-gen/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.java
index 21258c5..4ecf037 100644
--- a/org.eclipse.osbp.xtext.datamartdsl/xtend-gen/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.java
+++ b/org.eclipse.osbp.xtext.datamartdsl/xtend-gen/org/eclipse/osbp/xtext/datamartdsl/scoping/DatamartDSLScopeProvider.java
@@ -20,7 +20,6 @@
import java.util.List;
import java.util.function.Consumer;
import javax.inject.Inject;
-import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
@@ -53,10 +52,12 @@
import org.eclipse.osbp.xtext.datamartdsl.DatamartReference;
import org.eclipse.osbp.xtext.datamartdsl.DatamartSource;
import org.eclipse.osbp.xtext.datamartdsl.scoping.AbstractDatamartDSLScopeProvider;
+import org.eclipse.xtext.resource.EObjectDescription;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
import org.eclipse.xtext.scoping.Scopes;
import org.eclipse.xtext.scoping.impl.FilteringScope;
+import org.eclipse.xtext.scoping.impl.MapBasedScope;
import org.eclipse.xtext.xbase.lib.CollectionLiterals;
import org.eclipse.xtext.xbase.lib.Extension;
@@ -296,7 +297,7 @@
}
public IScope getDatamartHierarchy_hierarchyRef(final EObject context) {
- ArrayList<EObject> result = CollectionLiterals.<EObject>newArrayList();
+ ArrayList<IEObjectDescription> result = CollectionLiterals.<IEObjectDescription>newArrayList();
EObject eObj = context.eContainer();
while ((!(eObj instanceof DatamartDefinition))) {
eObj = eObj.eContainer();
@@ -316,12 +317,23 @@
CubeTypeEntity _cubeTypeEntity = cube.getCubeTypeEntity();
boolean _tripleNotEquals_2 = (_cubeTypeEntity != null);
if (_tripleNotEquals_2) {
- BasicEList<CubeHierarchy> hierList = new BasicEList<CubeHierarchy>();
EList<CubeDimensionUsage> _dimensionUsages = cube.getCubeTypeEntity().getDimensionUsages();
for (final CubeDimensionUsage ccCubeDimensionUsage : _dimensionUsages) {
- hierList.addAll(ccCubeDimensionUsage.getSourceValue().getHierarchies());
+ EList<CubeHierarchy> _hierarchies = ccCubeDimensionUsage.getSourceValue().getHierarchies();
+ for (final CubeHierarchy ccCubeHierarchy : _hierarchies) {
+ {
+ String name = ccCubeHierarchy.getName();
+ if (((name == null) || (name.length() == 0))) {
+ EObject dimObj = ccCubeHierarchy.eContainer();
+ while ((!(dimObj instanceof CubeDimension))) {
+ dimObj = dimObj.eContainer();
+ }
+ name = ((CubeDimension) dimObj).getName();
+ }
+ result.add(EObjectDescription.create(name, ccCubeHierarchy));
+ }
+ }
}
- result = this.getHierarchyList(hierList, result);
}
}
}
@@ -329,7 +341,7 @@
}
}
}
- return Scopes.scopeFor(result);
+ return MapBasedScope.createScope(IScope.NULLSCOPE, result);
}
public IScope getDatamartHierarchy_levelRef(final EObject eObj) {
@@ -440,22 +452,4 @@
}
return Scopes.scopeFor(result);
}
-
- public ArrayList<EObject> getHierarchyList(final EList<CubeHierarchy> hierList, final ArrayList<EObject> result) {
- for (final CubeHierarchy ccCubeHierarchy : hierList) {
- {
- String name = ccCubeHierarchy.getName();
- if (((name == null) || (name.length() == 0))) {
- EObject eObj = ccCubeHierarchy.eContainer();
- while ((!(eObj instanceof CubeDimension))) {
- eObj = eObj.eContainer();
- }
- name = ((CubeDimension) eObj).getName();
- ccCubeHierarchy.setName(name);
- }
- result.add(ccCubeHierarchy);
- }
- }
- return result;
- }
}
diff --git a/pom.xml b/pom.xml
index f1f4b27..d3736e0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,6 @@
<groupId>org.eclipse.osbp.xtext.datamartdsl</groupId>
<artifactId>org.eclipse.osbp.xtext.datamartdsl.aggregator</artifactId>
- <version>0.9.0-SNAPSHOT</version>
<packaging>pom</packaging>
<url>${osbp.site.repository.url}</url>