Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Bergmayr2015-07-31 08:50:03 -0400
committerAlex Bergmayr2015-07-31 08:50:03 -0400
commit31245ca47c863216d15dcd3c86b83b0a5fc324ee (patch)
tree6de5d4de026908b799c381c5f75b7d2d6a4df7f6 /proprietary/bundles/org.eclipse.upr.platform.java.configuration
parentd754246c1bc2dc9db9b392f1e00d69a6fb5ac42e (diff)
downloadupr-31245ca47c863216d15dcd3c86b83b0a5fc324ee.tar.gz
upr-31245ca47c863216d15dcd3c86b83b0a5fc324ee.tar.xz
upr-31245ca47c863216d15dcd3c86b83b0a5fc324ee.zip
Added initial JUMP contributionHEADmaster
Diffstat (limited to 'proprietary/bundles/org.eclipse.upr.platform.java.configuration')
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project28
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore1
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties22
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore18
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel23
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml17
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml27
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java42
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java18
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java60
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java316
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java52
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java235
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java152
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java41
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java168
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java259
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java163
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java156
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java153
-rw-r--r--proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java59
26 files changed, 2080 insertions, 0 deletions
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath
new file mode 100644
index 0000000..098194c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project
new file mode 100644
index 0000000..4e8fcda
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.configuration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4bb0704
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/META-INF/MANIFEST.MF
@@ -0,0 +1,17 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.configuration;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7,
+ JavaSE-1.8
+Export-Package: org.eclipse.upr.platform.java.jumpcfg,
+ org.eclipse.upr.platform.java.jumpcfg.impl,
+ org.eclipse.upr.platform.java.jumpcfg.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi
+Bundle-ActivationPolicy: lazy
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; 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 (&quot;Redistributor&quot;) 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.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore
new file mode 100644
index 0000000..cf1db2e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/bin/.gitignore
@@ -0,0 +1 @@
+/org/
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties
new file mode 100644
index 0000000..33e8c06
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/build.properties
@@ -0,0 +1,22 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+#
+
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ model/,\
+ plugin.properties
+src.includes = model/,\
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore
new file mode 100644
index 0000000..8e5ee12
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.ecore
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="jumpcfg" nsURI="http://org.eclipse.upr.platform.java.configuration/0.9"
+ nsPrefix="jcfg">
+ <eClassifiers xsi:type="ecore:EClass" name="Configuration">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="configurationParameters"
+ upperBound="-1" eType="#//ConfigurationParameter" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConfigurationParameter"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ProfileConfigurationParameter" eSuperTypes="#//ConfigurationParameter">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="repeatingStereotypes" eType="#//RepeatingStereotypesSolution"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="RepeatingStereotypesSolution">
+ <eLiterals name="composition"/>
+ <eLiterals name="emulation" value="1"/>
+ <eLiterals name="native" value="2"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel
new file mode 100644
index 0000000..3991784
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/model/JumpCfg.genmodel
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.upr.platform.java.configuration/src"
+ modelPluginID="org.eclipse.upr.platform.java.configuration" modelName="JumpCfg"
+ rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
+ complianceLevel="7.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
+ <foreignModel>JumpCfg.ecore</foreignModel>
+ <genPackages prefix="JConfiguration" basePackage="org.eclipse.upr.platform.java"
+ disposableProviderFactory="true" ecorePackage="JumpCfg.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="JumpCfg.ecore#//RepeatingStereotypesSolution">
+ <genEnumLiterals ecoreEnumLiteral="JumpCfg.ecore#//RepeatingStereotypesSolution/composition"/>
+ <genEnumLiterals ecoreEnumLiteral="JumpCfg.ecore#//RepeatingStereotypesSolution/emulation"/>
+ <genEnumLiterals ecoreEnumLiteral="JumpCfg.ecore#//RepeatingStereotypesSolution/native"/>
+ </genEnums>
+ <genClasses ecoreClass="JumpCfg.ecore#//Configuration">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference JumpCfg.ecore#//Configuration/configurationParameters"/>
+ </genClasses>
+ <genClasses ecoreClass="JumpCfg.ecore#//ConfigurationParameter"/>
+ <genClasses ecoreClass="JumpCfg.ecore#//ProfileConfigurationParameter">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute JumpCfg.ecore#//ProfileConfigurationParameter/repeatingStereotypes"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties
new file mode 100644
index 0000000..72b58b8
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.properties
@@ -0,0 +1,17 @@
+# <copyright>
+# Copyright (c) 2015 TU Wien.
+# 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:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+# </copyright>
+#
+# $Id$
+
+pluginName = JumpCfg Model (Incubation)
+providerName = Eclipse UPR
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml
new file mode 100644
index 0000000..617d254
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/plugin.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated JumpCfg -->
+ <package
+ uri="http://org.eclipse.upr.platform.java.configuration/0.9"
+ class="org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage"
+ genModel="model/JumpCfg.genmodel"/>
+ </extension>
+
+</plugin>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml
new file mode 100644
index 0000000..cae9636
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/pom.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2015 TU Wien.
+ 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:
+ Alexander Bergmayr (TU Wien) - initial API and implementation
+
+ Initially developed in the context of ARTIST EU project www.artist-project.eu
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.jump.build</artifactId>
+ <relativePath>../../build/org.eclipse.upr.platform.jump.build/pom.xml</relativePath>
+ <version>0.9.0</version>
+ </parent>
+ <groupId>org.eclipse.upr.jump</groupId>
+ <artifactId>org.eclipse.upr.platform.java.configuration</artifactId>
+ <version>0.9.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project>
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java
new file mode 100644
index 0000000..b87bda2
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/Configuration.java
@@ -0,0 +1,42 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.Configuration#getConfigurationParameters <em>Configuration Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getConfiguration()
+ * @model
+ * @generated
+ */
+public interface Configuration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Configuration Parameters</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Configuration Parameters</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Configuration Parameters</em>' containment reference list.
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getConfiguration_ConfigurationParameters()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ConfigurationParameter> getConfigurationParameters();
+
+} // Configuration
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java
new file mode 100644
index 0000000..5486815
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ConfigurationParameter.java
@@ -0,0 +1,18 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getConfigurationParameter()
+ * @model
+ * @generated
+ */
+public interface ConfigurationParameter extends EObject {
+} // ConfigurationParameter
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java
new file mode 100644
index 0000000..ced11d4
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationFactory.java
@@ -0,0 +1,60 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage
+ * @generated
+ */
+public interface JConfigurationFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ JConfigurationFactory eINSTANCE = org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration</em>'.
+ * @generated
+ */
+ Configuration createConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Configuration Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Configuration Parameter</em>'.
+ * @generated
+ */
+ ConfigurationParameter createConfigurationParameter();
+
+ /**
+ * Returns a new object of class '<em>Profile Configuration Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Profile Configuration Parameter</em>'.
+ * @generated
+ */
+ ProfileConfigurationParameter createProfileConfigurationParameter();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ JConfigurationPackage getJConfigurationPackage();
+
+} //JConfigurationFactory
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java
new file mode 100644
index 0000000..78d4d18
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/JConfigurationPackage.java
@@ -0,0 +1,316 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface JConfigurationPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "jumpcfg";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://org.eclipse.upr.platform.java.configuration/0.9";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "jcfg";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ JConfigurationPackage eINSTANCE = org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfiguration()
+ * @generated
+ */
+ int CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Configuration Parameters</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION__CONFIGURATION_PARAMETERS = 0;
+
+ /**
+ * The number of structural features of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl <em>Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfigurationParameter()
+ * @generated
+ */
+ int CONFIGURATION_PARAMETER = 1;
+
+ /**
+ * The number of structural features of the '<em>Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_PARAMETER_FEATURE_COUNT = 0;
+
+ /**
+ * The number of operations of the '<em>Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONFIGURATION_PARAMETER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl <em>Profile Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getProfileConfigurationParameter()
+ * @generated
+ */
+ int PROFILE_CONFIGURATION_PARAMETER = 2;
+
+ /**
+ * The feature id for the '<em><b>Repeating Stereotypes</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES = CONFIGURATION_PARAMETER_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Profile Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONFIGURATION_PARAMETER_FEATURE_COUNT = CONFIGURATION_PARAMETER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Profile Configuration Parameter</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROFILE_CONFIGURATION_PARAMETER_OPERATION_COUNT = CONFIGURATION_PARAMETER_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution <em>Repeating Stereotypes Solution</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getRepeatingStereotypesSolution()
+ * @generated
+ */
+ int REPEATING_STEREOTYPES_SOLUTION = 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.upr.platform.java.jumpcfg.Configuration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.Configuration
+ * @generated
+ */
+ EClass getConfiguration();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.upr.platform.java.jumpcfg.Configuration#getConfigurationParameters <em>Configuration Parameters</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Configuration Parameters</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.Configuration#getConfigurationParameters()
+ * @see #getConfiguration()
+ * @generated
+ */
+ EReference getConfiguration_ConfigurationParameters();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter <em>Configuration Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Configuration Parameter</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter
+ * @generated
+ */
+ EClass getConfigurationParameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter <em>Profile Configuration Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Profile Configuration Parameter</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter
+ * @generated
+ */
+ EClass getProfileConfigurationParameter();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes <em>Repeating Stereotypes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Repeating Stereotypes</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes()
+ * @see #getProfileConfigurationParameter()
+ * @generated
+ */
+ EAttribute getProfileConfigurationParameter_RepeatingStereotypes();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution <em>Repeating Stereotypes Solution</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Repeating Stereotypes Solution</em>'.
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @generated
+ */
+ EEnum getRepeatingStereotypesSolution();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ JConfigurationFactory getJConfigurationFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl <em>Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfiguration()
+ * @generated
+ */
+ EClass CONFIGURATION = eINSTANCE.getConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>Configuration Parameters</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONFIGURATION__CONFIGURATION_PARAMETERS = eINSTANCE.getConfiguration_ConfigurationParameters();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl <em>Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getConfigurationParameter()
+ * @generated
+ */
+ EClass CONFIGURATION_PARAMETER = eINSTANCE.getConfigurationParameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl <em>Profile Configuration Parameter</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getProfileConfigurationParameter()
+ * @generated
+ */
+ EClass PROFILE_CONFIGURATION_PARAMETER = eINSTANCE.getProfileConfigurationParameter();
+
+ /**
+ * The meta object literal for the '<em><b>Repeating Stereotypes</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES = eINSTANCE.getProfileConfigurationParameter_RepeatingStereotypes();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution <em>Repeating Stereotypes Solution</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see org.eclipse.upr.platform.java.jumpcfg.impl.JConfigurationPackageImpl#getRepeatingStereotypesSolution()
+ * @generated
+ */
+ EEnum REPEATING_STEREOTYPES_SOLUTION = eINSTANCE.getRepeatingStereotypesSolution();
+
+ }
+
+} //JConfigurationPackage
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java
new file mode 100644
index 0000000..d7f9c84
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/ProfileConfigurationParameter.java
@@ -0,0 +1,52 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Profile Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes <em>Repeating Stereotypes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getProfileConfigurationParameter()
+ * @model
+ * @generated
+ */
+public interface ProfileConfigurationParameter extends ConfigurationParameter {
+ /**
+ * Returns the value of the '<em><b>Repeating Stereotypes</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Repeating Stereotypes</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Repeating Stereotypes</em>' attribute.
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see #setRepeatingStereotypes(RepeatingStereotypesSolution)
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getProfileConfigurationParameter_RepeatingStereotypes()
+ * @model
+ * @generated
+ */
+ RepeatingStereotypesSolution getRepeatingStereotypes();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter#getRepeatingStereotypes <em>Repeating Stereotypes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Repeating Stereotypes</em>' attribute.
+ * @see org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution
+ * @see #getRepeatingStereotypes()
+ * @generated
+ */
+ void setRepeatingStereotypes(RepeatingStereotypesSolution value);
+
+} // ProfileConfigurationParameter
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java
new file mode 100644
index 0000000..6568f7b
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/RepeatingStereotypesSolution.java
@@ -0,0 +1,235 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Repeating Stereotypes Solution</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#getRepeatingStereotypesSolution()
+ * @model
+ * @generated
+ */
+public enum RepeatingStereotypesSolution implements Enumerator {
+ /**
+ * The '<em><b>Composition</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #COMPOSITION_VALUE
+ * @generated
+ * @ordered
+ */
+ COMPOSITION(0, "composition", "composition"),
+
+ /**
+ * The '<em><b>Emulation</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EMULATION_VALUE
+ * @generated
+ * @ordered
+ */
+ EMULATION(1, "emulation", "emulation"),
+
+ /**
+ * The '<em><b>Native</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NATIVE_VALUE
+ * @generated
+ * @ordered
+ */
+ NATIVE(2, "native", "native");
+
+ /**
+ * The '<em><b>Composition</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Composition</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #COMPOSITION
+ * @model name="composition"
+ * @generated
+ * @ordered
+ */
+ public static final int COMPOSITION_VALUE = 0;
+
+ /**
+ * The '<em><b>Emulation</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Emulation</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EMULATION
+ * @model name="emulation"
+ * @generated
+ * @ordered
+ */
+ public static final int EMULATION_VALUE = 1;
+
+ /**
+ * The '<em><b>Native</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Native</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NATIVE
+ * @model name="native"
+ * @generated
+ * @ordered
+ */
+ public static final int NATIVE_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Repeating Stereotypes Solution</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final RepeatingStereotypesSolution[] VALUES_ARRAY =
+ new RepeatingStereotypesSolution[] {
+ COMPOSITION,
+ EMULATION,
+ NATIVE,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Repeating Stereotypes Solution</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<RepeatingStereotypesSolution> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Repeating Stereotypes Solution</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RepeatingStereotypesSolution get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ RepeatingStereotypesSolution result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Repeating Stereotypes Solution</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RepeatingStereotypesSolution getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ RepeatingStereotypesSolution result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Repeating Stereotypes Solution</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static RepeatingStereotypesSolution get(int value) {
+ switch (value) {
+ case COMPOSITION_VALUE: return COMPOSITION;
+ case EMULATION_VALUE: return EMULATION;
+ case NATIVE_VALUE: return NATIVE;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private RepeatingStereotypesSolution(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //RepeatingStereotypesSolution
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java
new file mode 100644
index 0000000..c057651
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationImpl.java
@@ -0,0 +1,152 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.upr.platform.java.jumpcfg.Configuration;
+import org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.impl.ConfigurationImpl#getConfigurationParameters <em>Configuration Parameters</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurationImpl extends MinimalEObjectImpl.Container implements Configuration {
+ /**
+ * The cached value of the '{@link #getConfigurationParameters() <em>Configuration Parameters</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConfigurationParameters()
+ * @generated
+ * @ordered
+ */
+ protected EList<ConfigurationParameter> configurationParameters;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return JConfigurationPackage.Literals.CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ConfigurationParameter> getConfigurationParameters() {
+ if (configurationParameters == null) {
+ configurationParameters = new EObjectContainmentEList<ConfigurationParameter>(ConfigurationParameter.class, this, JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS);
+ }
+ return configurationParameters;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ return ((InternalEList<?>)getConfigurationParameters()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ return getConfigurationParameters();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ getConfigurationParameters().clear();
+ getConfigurationParameters().addAll((Collection<? extends ConfigurationParameter>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ getConfigurationParameters().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.CONFIGURATION__CONFIGURATION_PARAMETERS:
+ return configurationParameters != null && !configurationParameters.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ConfigurationImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java
new file mode 100644
index 0000000..515b09e
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ConfigurationParameterImpl.java
@@ -0,0 +1,41 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ConfigurationParameterImpl extends MinimalEObjectImpl.Container implements ConfigurationParameter {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConfigurationParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return JConfigurationPackage.Literals.CONFIGURATION_PARAMETER;
+ }
+
+} //ConfigurationParameterImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java
new file mode 100644
index 0000000..dd2cc7c
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationFactoryImpl.java
@@ -0,0 +1,168 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.upr.platform.java.jumpcfg.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class JConfigurationFactoryImpl extends EFactoryImpl implements JConfigurationFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static JConfigurationFactory init() {
+ try {
+ JConfigurationFactory theJConfigurationFactory = (JConfigurationFactory)EPackage.Registry.INSTANCE.getEFactory(JConfigurationPackage.eNS_URI);
+ if (theJConfigurationFactory != null) {
+ return theJConfigurationFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new JConfigurationFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case JConfigurationPackage.CONFIGURATION: return createConfiguration();
+ case JConfigurationPackage.CONFIGURATION_PARAMETER: return createConfigurationParameter();
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER: return createProfileConfigurationParameter();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case JConfigurationPackage.REPEATING_STEREOTYPES_SOLUTION:
+ return createRepeatingStereotypesSolutionFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case JConfigurationPackage.REPEATING_STEREOTYPES_SOLUTION:
+ return convertRepeatingStereotypesSolutionToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Configuration createConfiguration() {
+ ConfigurationImpl configuration = new ConfigurationImpl();
+ return configuration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConfigurationParameter createConfigurationParameter() {
+ ConfigurationParameterImpl configurationParameter = new ConfigurationParameterImpl();
+ return configurationParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProfileConfigurationParameter createProfileConfigurationParameter() {
+ ProfileConfigurationParameterImpl profileConfigurationParameter = new ProfileConfigurationParameterImpl();
+ return profileConfigurationParameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RepeatingStereotypesSolution createRepeatingStereotypesSolutionFromString(EDataType eDataType, String initialValue) {
+ RepeatingStereotypesSolution result = RepeatingStereotypesSolution.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertRepeatingStereotypesSolutionToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationPackage getJConfigurationPackage() {
+ return (JConfigurationPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static JConfigurationPackage getPackage() {
+ return JConfigurationPackage.eINSTANCE;
+ }
+
+} //JConfigurationFactoryImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java
new file mode 100644
index 0000000..bb91c18
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/JConfigurationPackageImpl.java
@@ -0,0 +1,259 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.upr.platform.java.jumpcfg.Configuration;
+import org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class JConfigurationPackageImpl extends EPackageImpl implements JConfigurationPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass configurationParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass profileConfigurationParameterEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum repeatingStereotypesSolutionEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private JConfigurationPackageImpl() {
+ super(eNS_URI, JConfigurationFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link JConfigurationPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static JConfigurationPackage init() {
+ if (isInited) return (JConfigurationPackage)EPackage.Registry.INSTANCE.getEPackage(JConfigurationPackage.eNS_URI);
+
+ // Obtain or create and register package
+ JConfigurationPackageImpl theJConfigurationPackage = (JConfigurationPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof JConfigurationPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new JConfigurationPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theJConfigurationPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theJConfigurationPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theJConfigurationPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(JConfigurationPackage.eNS_URI, theJConfigurationPackage);
+ return theJConfigurationPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfiguration() {
+ return configurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getConfiguration_ConfigurationParameters() {
+ return (EReference)configurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConfigurationParameter() {
+ return configurationParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProfileConfigurationParameter() {
+ return profileConfigurationParameterEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProfileConfigurationParameter_RepeatingStereotypes() {
+ return (EAttribute)profileConfigurationParameterEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getRepeatingStereotypesSolution() {
+ return repeatingStereotypesSolutionEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationFactory getJConfigurationFactory() {
+ return (JConfigurationFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ configurationEClass = createEClass(CONFIGURATION);
+ createEReference(configurationEClass, CONFIGURATION__CONFIGURATION_PARAMETERS);
+
+ configurationParameterEClass = createEClass(CONFIGURATION_PARAMETER);
+
+ profileConfigurationParameterEClass = createEClass(PROFILE_CONFIGURATION_PARAMETER);
+ createEAttribute(profileConfigurationParameterEClass, PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES);
+
+ // Create enums
+ repeatingStereotypesSolutionEEnum = createEEnum(REPEATING_STEREOTYPES_SOLUTION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ profileConfigurationParameterEClass.getESuperTypes().add(this.getConfigurationParameter());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(configurationEClass, Configuration.class, "Configuration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getConfiguration_ConfigurationParameters(), this.getConfigurationParameter(), null, "configurationParameters", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(configurationParameterEClass, ConfigurationParameter.class, "ConfigurationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(profileConfigurationParameterEClass, ProfileConfigurationParameter.class, "ProfileConfigurationParameter", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProfileConfigurationParameter_RepeatingStereotypes(), this.getRepeatingStereotypesSolution(), "repeatingStereotypes", null, 0, 1, ProfileConfigurationParameter.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.class, "RepeatingStereotypesSolution");
+ addEEnumLiteral(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.COMPOSITION);
+ addEEnumLiteral(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.EMULATION);
+ addEEnumLiteral(repeatingStereotypesSolutionEEnum, RepeatingStereotypesSolution.NATIVE);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //JConfigurationPackageImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java
new file mode 100644
index 0000000..678144d
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/impl/ProfileConfigurationParameterImpl.java
@@ -0,0 +1,163 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Profile Configuration Parameter</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.upr.platform.java.jumpcfg.impl.ProfileConfigurationParameterImpl#getRepeatingStereotypes <em>Repeating Stereotypes</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProfileConfigurationParameterImpl extends ConfigurationParameterImpl implements ProfileConfigurationParameter {
+ /**
+ * The default value of the '{@link #getRepeatingStereotypes() <em>Repeating Stereotypes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepeatingStereotypes()
+ * @generated
+ * @ordered
+ */
+ protected static final RepeatingStereotypesSolution REPEATING_STEREOTYPES_EDEFAULT = RepeatingStereotypesSolution.COMPOSITION;
+
+ /**
+ * The cached value of the '{@link #getRepeatingStereotypes() <em>Repeating Stereotypes</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRepeatingStereotypes()
+ * @generated
+ * @ordered
+ */
+ protected RepeatingStereotypesSolution repeatingStereotypes = REPEATING_STEREOTYPES_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProfileConfigurationParameterImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return JConfigurationPackage.Literals.PROFILE_CONFIGURATION_PARAMETER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RepeatingStereotypesSolution getRepeatingStereotypes() {
+ return repeatingStereotypes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRepeatingStereotypes(RepeatingStereotypesSolution newRepeatingStereotypes) {
+ RepeatingStereotypesSolution oldRepeatingStereotypes = repeatingStereotypes;
+ repeatingStereotypes = newRepeatingStereotypes == null ? REPEATING_STEREOTYPES_EDEFAULT : newRepeatingStereotypes;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES, oldRepeatingStereotypes, repeatingStereotypes));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ return getRepeatingStereotypes();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ setRepeatingStereotypes((RepeatingStereotypesSolution)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ setRepeatingStereotypes(REPEATING_STEREOTYPES_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER__REPEATING_STEREOTYPES:
+ return repeatingStereotypes != REPEATING_STEREOTYPES_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (repeatingStereotypes: ");
+ result.append(repeatingStereotypes);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProfileConfigurationParameterImpl
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java
new file mode 100644
index 0000000..ed3fbf9
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationAdapterFactory.java
@@ -0,0 +1,156 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.upr.platform.java.jumpcfg.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage
+ * @generated
+ */
+public class JConfigurationAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static JConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = JConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected JConfigurationSwitch<Adapter> modelSwitch =
+ new JConfigurationSwitch<Adapter>() {
+ @Override
+ public Adapter caseConfiguration(Configuration object) {
+ return createConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseConfigurationParameter(ConfigurationParameter object) {
+ return createConfigurationParameterAdapter();
+ }
+ @Override
+ public Adapter caseProfileConfigurationParameter(ProfileConfigurationParameter object) {
+ return createProfileConfigurationParameterAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.upr.platform.java.jumpcfg.Configuration <em>Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.upr.platform.java.jumpcfg.Configuration
+ * @generated
+ */
+ public Adapter createConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter <em>Configuration Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ConfigurationParameter
+ * @generated
+ */
+ public Adapter createConfigurationParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter <em>Profile Configuration Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter
+ * @generated
+ */
+ public Adapter createProfileConfigurationParameterAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //JConfigurationAdapterFactory
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java
new file mode 100644
index 0000000..74b88ff
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationSwitch.java
@@ -0,0 +1,153 @@
+/**
+ */
+package org.eclipse.upr.platform.java.jumpcfg.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.upr.platform.java.jumpcfg.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage
+ * @generated
+ */
+public class JConfigurationSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static JConfigurationPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public JConfigurationSwitch() {
+ if (modelPackage == null) {
+ modelPackage = JConfigurationPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case JConfigurationPackage.CONFIGURATION: {
+ Configuration configuration = (Configuration)theEObject;
+ T result = caseConfiguration(configuration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case JConfigurationPackage.CONFIGURATION_PARAMETER: {
+ ConfigurationParameter configurationParameter = (ConfigurationParameter)theEObject;
+ T result = caseConfigurationParameter(configurationParameter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case JConfigurationPackage.PROFILE_CONFIGURATION_PARAMETER: {
+ ProfileConfigurationParameter profileConfigurationParameter = (ProfileConfigurationParameter)theEObject;
+ T result = caseProfileConfigurationParameter(profileConfigurationParameter);
+ if (result == null) result = caseConfigurationParameter(profileConfigurationParameter);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfiguration(Configuration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Configuration Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Configuration Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseConfigurationParameter(ConfigurationParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Profile Configuration Parameter</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Profile Configuration Parameter</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProfileConfigurationParameter(ProfileConfigurationParameter object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //JConfigurationSwitch
diff --git a/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java
new file mode 100644
index 0000000..1d85948
--- /dev/null
+++ b/proprietary/bundles/org.eclipse.upr.platform.java.configuration/src/org/eclipse/upr/platform/java/jumpcfg/util/JConfigurationUtil.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Vienna University of Technology.
+ * 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:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+
+package org.eclipse.upr.platform.java.jumpcfg.util;
+
+import java.io.File;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
+import org.eclipse.upr.platform.java.jumpcfg.Configuration;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationFactory;
+import org.eclipse.upr.platform.java.jumpcfg.JConfigurationPackage;
+import org.eclipse.upr.platform.java.jumpcfg.ProfileConfigurationParameter;
+import org.eclipse.upr.platform.java.jumpcfg.RepeatingStereotypesSolution;
+
+public class JConfigurationUtil {
+
+ private static Resource DEFAULT_CONFIGURATION = null;
+
+ /**
+ * Produces a default configuration.
+ *
+ * @return Jump configuration
+ */
+ public static Resource getDefaultConfiguration() {
+ if(DEFAULT_CONFIGURATION == null) {
+ DEFAULT_CONFIGURATION = createDefaultConfiguration();
+ }
+ return DEFAULT_CONFIGURATION;
+ }
+
+ private static Resource createDefaultConfiguration() {
+ ResourceSet resourceSet = new ResourceSetImpl();
+ resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
+ .put(JConfigurationPackage.eNS_PREFIX, new XMIResourceFactoryImpl());
+ URI uri = URI.createFileURI(new File("./jump-default.jcfg").getAbsolutePath());
+ Resource resource = resourceSet.createResource(uri);
+ Configuration configuration = JConfigurationFactory.eINSTANCE.createConfiguration();
+ ProfileConfigurationParameter parameter = JConfigurationFactory.eINSTANCE.createProfileConfigurationParameter();
+ parameter.setRepeatingStereotypes(RepeatingStereotypesSolution.COMPOSITION);
+ configuration.getConfigurationParameters().add(parameter);
+ resource.getContents().add(configuration);
+ return resource;
+ }
+
+}

Back to the top