diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/CoffeePackage.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/CoffeePackage.java
index dbe43fab..935b3cb6 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/CoffeePackage.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/CoffeePackage.java
@@ -68,6 +68,43 @@ public interface CoffeePackage extends EPackage {
*/
CoffeePackage eINSTANCE = org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl.init();
+ /**
+ * The meta object id for the '{@link org.eclipse.emfcloud.coffee.impl.IdentifiableImpl Identifiable }' class.
+ *
+ *
+ * @see org.eclipse.emfcloud.coffee.impl.IdentifiableImpl
+ * @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getIdentifiable()
+ * @generated
+ */
+ int IDENTIFIABLE = 0;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int IDENTIFIABLE__ID = 0;
+
+ /**
+ * The number of structural features of the 'Identifiable ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int IDENTIFIABLE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the 'Identifiable ' class.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int IDENTIFIABLE_OPERATION_COUNT = 0;
+
/**
* The meta object id for the '{@link org.eclipse.emfcloud.coffee.impl.ComponentImpl Component }' class.
*
@@ -75,7 +112,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getComponent()
* @generated
*/
- int COMPONENT = 0;
+ int COMPONENT = 1;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int COMPONENT__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Children ' containment reference list.
@@ -83,7 +129,7 @@ public interface CoffeePackage extends EPackage {
* @generated
* @ordered
*/
- int COMPONENT__CHILDREN = 0;
+ int COMPONENT__CHILDREN = IDENTIFIABLE_FEATURE_COUNT + 0;
/**
* The feature id for the 'Parent ' container reference.
+ *
+ * @generated
+ * @ordered
+ */
+ int MACHINE__ID = COMPONENT__ID;
/**
* The feature id for the 'Children ' containment reference list.
@@ -180,7 +235,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getControlUnit()
* @generated
*/
- int CONTROL_UNIT = 2;
+ int CONTROL_UNIT = 3;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int CONTROL_UNIT__ID = COMPONENT__ID;
/**
* The feature id for the 'Children ' containment reference list.
@@ -267,7 +331,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getBrewingUnit()
* @generated
*/
- int BREWING_UNIT = 3;
+ int BREWING_UNIT = 4;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int BREWING_UNIT__ID = COMPONENT__ID;
/**
* The feature id for the 'Children ' containment reference list.
@@ -311,7 +384,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getDipTray()
* @generated
*/
- int DIP_TRAY = 4;
+ int DIP_TRAY = 5;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int DIP_TRAY__ID = COMPONENT__ID;
/**
* The feature id for the 'Children ' containment reference list.
@@ -355,7 +437,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getWaterTank()
* @generated
*/
- int WATER_TANK = 5;
+ int WATER_TANK = 6;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int WATER_TANK__ID = COMPONENT__ID;
/**
* The feature id for the 'Children ' containment reference list.
@@ -399,7 +490,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getProcessor()
* @generated
*/
- int PROCESSOR = 6;
+ int PROCESSOR = 7;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int PROCESSOR__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Vendor ' attribute.
+ *
+ * @generated
+ * @ordered
+ */
+ int DIMENSION__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Width ' attribute.
@@ -488,7 +597,7 @@ public interface CoffeePackage extends EPackage {
* @generated
* @ordered
*/
- int DIMENSION__WIDTH = 0;
+ int DIMENSION__WIDTH = IDENTIFIABLE_FEATURE_COUNT + 0;
/**
* The feature id for the 'Height ' attribute.
+ *
+ * @generated
+ * @ordered
+ */
+ int RAM__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Clock Speed ' attribute.
+ * The feature id for the 'Ram Type ' attribute.
+ *
+ *
* @generated
* @ordered
*/
- int RAM__TYPE = 2;
+ int RAM__RAM_TYPE = IDENTIFIABLE_FEATURE_COUNT + 2;
/**
* The number of structural features of the 'RAM ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int DISPLAY__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Width ' attribute.
@@ -596,7 +723,7 @@ public interface CoffeePackage extends EPackage {
* @generated
* @ordered
*/
- int DISPLAY__WIDTH = 0;
+ int DISPLAY__WIDTH = IDENTIFIABLE_FEATURE_COUNT + 0;
/**
* The feature id for the 'Height ' attribute.
+ *
+ * @generated
+ * @ordered
+ */
+ int WORKFLOW__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Name ' attribute.
@@ -641,7 +777,7 @@ public interface CoffeePackage extends EPackage {
* @generated
* @ordered
*/
- int WORKFLOW__NAME = 0;
+ int WORKFLOW__NAME = IDENTIFIABLE_FEATURE_COUNT + 0;
/**
* The feature id for the 'Nodes ' containment reference list.
@@ -649,7 +785,7 @@ public interface CoffeePackage extends EPackage {
* @generated
* @ordered
*/
- int WORKFLOW__NODES = 1;
+ int WORKFLOW__NODES = IDENTIFIABLE_FEATURE_COUNT + 1;
/**
* The feature id for the 'Flows ' containment reference list.
@@ -657,7 +793,7 @@ public interface CoffeePackage extends EPackage {
* @generated
* @ordered
*/
- int WORKFLOW__FLOWS = 2;
+ int WORKFLOW__FLOWS = IDENTIFIABLE_FEATURE_COUNT + 2;
/**
* The number of structural features of the 'Workflow ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int NODE__ID = IDENTIFIABLE__ID;
/**
* The number of structural features of the 'Node ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int TASK__ID = NODE__ID;
/**
* The feature id for the 'Name ' attribute.
@@ -801,7 +955,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getAutomaticTask()
* @generated
*/
- int AUTOMATIC_TASK = 13;
+ int AUTOMATIC_TASK = 14;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int AUTOMATIC_TASK__ID = TASK__ID;
/**
* The feature id for the 'Name ' attribute.
@@ -890,7 +1053,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getManualTask()
* @generated
*/
- int MANUAL_TASK = 14;
+ int MANUAL_TASK = 15;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int MANUAL_TASK__ID = TASK__ID;
/**
* The feature id for the 'Name ' attribute.
@@ -980,7 +1152,16 @@ public interface CoffeePackage extends EPackage {
* @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getFork()
* @generated
*/
- int FORK = 15;
+ int FORK = 16;
+
+ /**
+ * The feature id for the 'Id ' attribute.
+ *
+ *
+ * @generated
+ * @ordered
+ */
+ int FORK__ID = NODE__ID;
/**
* The number of structural features of the 'Fork ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int JOIN__ID = NODE__ID;
/**
* The number of structural features of the 'Join ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int DECISION__ID = NODE__ID;
/**
* The number of structural features of the 'Decision ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int MERGE__ID = NODE__ID;
/**
* The number of structural features of the 'Merge ' class.
+ *
+ * @generated
+ * @ordered
+ */
+ int FLOW__ID = IDENTIFIABLE__ID;
/**
* The feature id for the 'Source ' reference.
+ *
+ * @generated
+ * @ordered
+ */
+ int WEIGHTED_FLOW__ID = FLOW__ID;
/**
* The feature id for the 'Source ' reference.
+ *
+ * @return the meta object for class 'Identifiable '.
+ * @see org.eclipse.emfcloud.coffee.Identifiable
+ * @generated
+ */
+ EClass getIdentifiable();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.emfcloud.coffee.Identifiable#getId Id }'.
+ *
+ *
+ * @return the meta object for the attribute 'Id '.
+ * @see org.eclipse.emfcloud.coffee.Identifiable#getId()
+ * @see #getIdentifiable()
+ * @generated
+ */
+ EAttribute getIdentifiable_Id();
/**
* Returns the meta object for class
@@ -1609,16 +1856,15 @@ public interface CoffeePackage extends EPackage {
EAttribute getRAM_Size();
/**
- * Returns the meta object for the attribute
- * '{@link org.eclipse.emfcloud.coffee.RAM#getType Type }'.
- *
- * @return the meta object for the attribute 'Type '.
- * @see org.eclipse.emfcloud.coffee.RAM#getType()
+ * Returns the meta object for the attribute '{@link org.eclipse.emfcloud.coffee.RAM#getRamType Ram Type }'.
+ *
+ *
+ * @return the meta object for the attribute 'Ram Type '.
+ * @see org.eclipse.emfcloud.coffee.RAM#getRamType()
* @see #getRAM()
* @generated
*/
- EAttribute getRAM_Type();
+ EAttribute getRAM_RamType();
/**
* Returns the meta object for class '{@link org.eclipse.emfcloud.coffee.Display Display }'.
@@ -2019,6 +2265,24 @@ public interface CoffeePackage extends EPackage {
* @generated
*/
interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emfcloud.coffee.impl.IdentifiableImpl Identifiable }' class.
+ *
+ *
+ * @see org.eclipse.emfcloud.coffee.impl.IdentifiableImpl
+ * @see org.eclipse.emfcloud.coffee.impl.CoffeePackageImpl#getIdentifiable()
+ * @generated
+ */
+ EClass IDENTIFIABLE = eINSTANCE.getIdentifiable();
+
+ /**
+ * The meta object literal for the 'Id ' attribute feature.
+ *
+ *
+ * @generated
+ */
+ EAttribute IDENTIFIABLE__ID = eINSTANCE.getIdentifiable_Id();
+
/**
* The meta object literal for the '{@link org.eclipse.emfcloud.coffee.impl.ComponentImpl Component }' class.
*
@@ -2243,11 +2507,12 @@ interface Literals {
EAttribute RAM__SIZE = eINSTANCE.getRAM_Size();
/**
- * The meta object literal for the 'Type ' attribute feature.
- *
+ * The meta object literal for the 'Ram Type ' attribute feature.
+ *
+ *
* @generated
*/
- EAttribute RAM__TYPE = eINSTANCE.getRAM_Type();
+ EAttribute RAM__RAM_TYPE = eINSTANCE.getRAM_RamType();
/**
* The meta object literal for the '{@link org.eclipse.emfcloud.coffee.impl.DisplayImpl Display }' class.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Component.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Component.java
index 04e3c0ca..3f764a11 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Component.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Component.java
@@ -16,7 +16,6 @@
package org.eclipse.emfcloud.coffee;
import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EObject;
/**
* A representation of the model object
@@ -34,7 +33,7 @@
* @model abstract="true"
* @generated
*/
-public interface Component extends EObject {
+public interface Component extends Identifiable {
/**
* Returns the value of the 'Children ' containment reference list.
* The list contents are of type {@link org.eclipse.emfcloud.coffee.Component}.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Dimension.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Dimension.java
index af1d8228..62e3f20b 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Dimension.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Dimension.java
@@ -15,8 +15,6 @@
*/
package org.eclipse.emfcloud.coffee;
-import org.eclipse.emf.ecore.EObject;
-
/**
* A representation of the model object
* 'Dimension '.
@@ -34,7 +32,7 @@
* @model
* @generated
*/
-public interface Dimension extends EObject {
+public interface Dimension extends Identifiable {
/**
* Returns the value of the 'Width ' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Display.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Display.java
index 6d6e4060..2b324bd7 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Display.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Display.java
@@ -15,8 +15,6 @@
*/
package org.eclipse.emfcloud.coffee;
-import org.eclipse.emf.ecore.EObject;
-
/**
* A representation of the model object
* 'Display '.
@@ -33,7 +31,7 @@
* @model
* @generated
*/
-public interface Display extends EObject {
+public interface Display extends Identifiable {
/**
* Returns the value of the 'Width ' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Flow.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Flow.java
index 019b1b07..966ceb6a 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Flow.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Flow.java
@@ -15,8 +15,6 @@
*/
package org.eclipse.emfcloud.coffee;
-import org.eclipse.emf.ecore.EObject;
-
/**
* A representation of the model object
* 'Flow '.
@@ -33,7 +31,7 @@
* @model
* @generated
*/
-public interface Flow extends EObject {
+public interface Flow extends Identifiable {
/**
* Returns the value of the 'Source ' reference.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Identifiable.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Identifiable.java
new file mode 100644
index 00000000..92ed189d
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Identifiable.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (c) 2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ */
+package org.eclipse.emfcloud.coffee;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ *
+ * A representation of the model object 'Identifiable '.
+ *
+ *
+ *
+ * The following features are supported:
+ *
+ *
+ * {@link org.eclipse.emfcloud.coffee.Identifiable#getId Id }
+ *
+ *
+ * @see org.eclipse.emfcloud.coffee.CoffeePackage#getIdentifiable()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Identifiable extends EObject {
+ /**
+ * Returns the value of the 'Id ' attribute.
+ *
+ *
+ * @return the value of the 'Id ' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.emfcloud.coffee.CoffeePackage#getIdentifiable_Id()
+ * @model id="true"
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emfcloud.coffee.Identifiable#getId Id }' attribute.
+ *
+ *
+ * @param value the new value of the 'Id ' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // Identifiable
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Node.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Node.java
index 70415a37..ad94d555 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Node.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Node.java
@@ -19,7 +19,6 @@
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
-import org.eclipse.emf.ecore.EObject;
/**
* A representation of the model object
@@ -30,7 +29,7 @@
* @model abstract="true"
* @generated
*/
-public interface Node extends EObject {
+public interface Node extends Identifiable {
/**
*
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Processor.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Processor.java
index e420e963..6f67e74d 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Processor.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/Processor.java
@@ -15,8 +15,6 @@
*/
package org.eclipse.emfcloud.coffee;
-import org.eclipse.emf.ecore.EObject;
-
/**
* A representation of the model object
* 'Processor '.
@@ -37,7 +35,7 @@
* @model
* @generated
*/
-public interface Processor extends EObject {
+public interface Processor extends Identifiable {
/**
* Returns the value of the 'Vendor ' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RAM.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RAM.java
index 173d771b..d76cc818 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RAM.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RAM.java
@@ -15,8 +15,6 @@
*/
package org.eclipse.emfcloud.coffee;
-import org.eclipse.emf.ecore.EObject;
-
/**
* A representation of the model object
* 'RAM '.
@@ -27,14 +25,14 @@
*
* {@link org.eclipse.emfcloud.coffee.RAM#getClockSpeed Clock Speed }
* {@link org.eclipse.emfcloud.coffee.RAM#getSize Size }
- * {@link org.eclipse.emfcloud.coffee.RAM#getType Type }
+ * {@link org.eclipse.emfcloud.coffee.RAM#getRamType Ram Type }
*
*
* @see org.eclipse.emfcloud.coffee.CoffeePackage#getRAM()
* @model
* @generated
*/
-public interface RAM extends EObject {
+public interface RAM extends Identifiable {
/**
* Returns the value of the 'Clock Speed ' attribute.
@@ -80,27 +78,28 @@ public interface RAM extends EObject {
void setSize(int value);
/**
- * Returns the value of the 'Type ' attribute. The literals are
- * from the enumeration {@link org.eclipse.emfcloud.coffee.RamType}.
- *
- * @return the value of the 'Type ' attribute.
+ * Returns the value of the 'Ram Type ' attribute.
+ * The literals are from the enumeration {@link org.eclipse.emfcloud.coffee.RamType}.
+ *
+ *
+ * @return the value of the 'Ram Type ' attribute.
* @see org.eclipse.emfcloud.coffee.RamType
- * @see #setType(RamType)
- * @see org.eclipse.emfcloud.coffee.CoffeePackage#getRAM_Type()
+ * @see #setRamType(RamType)
+ * @see org.eclipse.emfcloud.coffee.CoffeePackage#getRAM_RamType()
* @model
* @generated
*/
- RamType getType();
+ RamType getRamType();
/**
- * Sets the value of the '{@link org.eclipse.emfcloud.coffee.RAM#getType Type }' attribute.
- *
- * @param value the new value of the 'Type ' attribute.
+ * Sets the value of the '{@link org.eclipse.emfcloud.coffee.RAM#getRamType Ram Type }' attribute.
+ *
+ *
+ * @param value the new value of the 'Ram Type ' attribute.
* @see org.eclipse.emfcloud.coffee.RamType
- * @see #getType()
+ * @see #getRamType()
* @generated
*/
- void setType(RamType value);
+ void setRamType(RamType value);
} // RAM
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RamType.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RamType.java
index d29f3b20..db815272 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RamType.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/RamType.java
@@ -38,7 +38,7 @@ public enum RamType implements Enumerator {
* @generated
* @ordered
*/
- SODIMM(0, "SODIMM", "SO-DIMM"),
+ SODIMM(0, "SODIMM", "SODIMM"),
/**
* The 'SIDIMM ' literal object.
@@ -48,14 +48,14 @@ public enum RamType implements Enumerator {
* @generated
* @ordered
*/
- SIDIMM(0, "SIDIMM", "SI-DIMM");
+ SIDIMM(1, "SIDIMM", "SIDIMM");
/**
* The 'SODIMM ' literal value.
*
* @see #SODIMM
- * @model literal="SO-DIMM"
+ * @model
* @generated
* @ordered
*/
@@ -66,11 +66,11 @@ public enum RamType implements Enumerator {
*
* @see #SIDIMM
- * @model literal="SI-DIMM"
+ * @model
* @generated
* @ordered
*/
- public static final int SIDIMM_VALUE = 0;
+ public static final int SIDIMM_VALUE = 1;
/**
* An array of all the 'Ram Type ' enumerators. A representation of the model object
@@ -35,7 +34,7 @@
* @model
* @generated
*/
-public interface Workflow extends EObject {
+public interface Workflow extends Identifiable {
/**
* Returns the value of the 'Name ' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/CoffeePackageImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/CoffeePackageImpl.java
index ae3fb101..2d467100 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/CoffeePackageImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/CoffeePackageImpl.java
@@ -37,6 +37,7 @@
import org.eclipse.emfcloud.coffee.Display;
import org.eclipse.emfcloud.coffee.Flow;
import org.eclipse.emfcloud.coffee.Fork;
+import org.eclipse.emfcloud.coffee.Identifiable;
import org.eclipse.emfcloud.coffee.Join;
import org.eclipse.emfcloud.coffee.Machine;
import org.eclipse.emfcloud.coffee.ManualTask;
@@ -59,6 +60,13 @@
* @generated
*/
public class CoffeePackageImpl extends EPackageImpl implements CoffeePackage {
+ /**
+ *
+ *
+ * @generated
+ */
+ private EClass identifiableEClass = null;
+
/**
*
* @generated
@@ -285,6 +293,26 @@ public EValidator getEValidator() {
return theCoffeePackage;
}
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EClass getIdentifiable() {
+ return identifiableEClass;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public EAttribute getIdentifiable_Id() {
+ return (EAttribute)identifiableEClass.getEStructuralFeatures().get(0);
+ }
+
/**
*
* @generated
@@ -547,11 +575,12 @@ public EAttribute getRAM_Size() {
}
/**
- *
+ *
+ *
* @generated
*/
@Override
- public EAttribute getRAM_Type() {
+ public EAttribute getRAM_RamType() {
return (EAttribute)ramEClass.getEStructuralFeatures().get(2);
}
@@ -915,6 +944,9 @@ public void createPackageContents() {
isCreated = true;
// Create classes and their features
+ identifiableEClass = createEClass(IDENTIFIABLE);
+ createEAttribute(identifiableEClass, IDENTIFIABLE__ID);
+
componentEClass = createEClass(COMPONENT);
createEReference(componentEClass, COMPONENT__CHILDREN);
createEReference(componentEClass, COMPONENT__PARENT);
@@ -952,7 +984,7 @@ public void createPackageContents() {
ramEClass = createEClass(RAM);
createEAttribute(ramEClass, RAM__CLOCK_SPEED);
createEAttribute(ramEClass, RAM__SIZE);
- createEAttribute(ramEClass, RAM__TYPE);
+ createEAttribute(ramEClass, RAM__RAM_TYPE);
displayEClass = createEClass(DISPLAY);
createEAttribute(displayEClass, DISPLAY__WIDTH);
@@ -1035,11 +1067,18 @@ public void initializePackageContents() {
// Set bounds for type parameters
// Add supertypes to classes
+ componentEClass.getESuperTypes().add(this.getIdentifiable());
machineEClass.getESuperTypes().add(this.getComponent());
controlUnitEClass.getESuperTypes().add(this.getComponent());
brewingUnitEClass.getESuperTypes().add(this.getComponent());
dipTrayEClass.getESuperTypes().add(this.getComponent());
waterTankEClass.getESuperTypes().add(this.getComponent());
+ processorEClass.getESuperTypes().add(this.getIdentifiable());
+ dimensionEClass.getESuperTypes().add(this.getIdentifiable());
+ ramEClass.getESuperTypes().add(this.getIdentifiable());
+ displayEClass.getESuperTypes().add(this.getIdentifiable());
+ workflowEClass.getESuperTypes().add(this.getIdentifiable());
+ nodeEClass.getESuperTypes().add(this.getIdentifiable());
taskEClass.getESuperTypes().add(this.getNode());
automaticTaskEClass.getESuperTypes().add(this.getTask());
manualTaskEClass.getESuperTypes().add(this.getTask());
@@ -1047,9 +1086,13 @@ public void initializePackageContents() {
joinEClass.getESuperTypes().add(this.getNode());
decisionEClass.getESuperTypes().add(this.getNode());
mergeEClass.getESuperTypes().add(this.getNode());
+ flowEClass.getESuperTypes().add(this.getIdentifiable());
weightedFlowEClass.getESuperTypes().add(this.getFlow());
// Initialize classes, features, and operations; add parameters
+ initEClass(identifiableEClass, Identifiable.class, "Identifiable", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getIdentifiable_Id(), ecorePackage.getEString(), "id", null, 0, 1, Identifiable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
initEClass(componentEClass, Component.class, "Component", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getComponent_Children(), this.getComponent(), this.getComponent_Parent(), "children", null, 0, -1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getComponent_Parent(), this.getComponent(), this.getComponent_Children(), "parent", null, 0, 1, Component.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1087,7 +1130,7 @@ public void initializePackageContents() {
initEClass(ramEClass, org.eclipse.emfcloud.coffee.RAM.class, "RAM", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRAM_ClockSpeed(), ecorePackage.getEInt(), "clockSpeed", null, 0, 1, org.eclipse.emfcloud.coffee.RAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getRAM_Size(), ecorePackage.getEInt(), "size", null, 0, 1, org.eclipse.emfcloud.coffee.RAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEAttribute(getRAM_Type(), this.getRamType(), "type", null, 0, 1, org.eclipse.emfcloud.coffee.RAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRAM_RamType(), this.getRamType(), "ramType", null, 0, 1, org.eclipse.emfcloud.coffee.RAM.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(displayEClass, Display.class, "Display", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getDisplay_Width(), ecorePackage.getEInt(), "width", null, 0, 1, Display.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ComponentImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ComponentImpl.java
index 2cd22425..fdc3eeec 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ComponentImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ComponentImpl.java
@@ -23,7 +23,6 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.util.InternalEList;
@@ -43,7 +42,7 @@
*
* @generated
*/
-public abstract class ComponentImpl extends MinimalEObjectImpl.Container implements Component {
+public abstract class ComponentImpl extends IdentifiableImpl implements Component {
/**
* The cached value of the '{@link #getChildren() Children }' containment reference list.
*
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DimensionImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DimensionImpl.java
index 28194dd8..6243be63 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DimensionImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DimensionImpl.java
@@ -18,7 +18,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emfcloud.coffee.CoffeePackage;
import org.eclipse.emfcloud.coffee.Dimension;
@@ -36,7 +35,7 @@
*
* @generated
*/
-public class DimensionImpl extends MinimalEObjectImpl.Container implements Dimension {
+public class DimensionImpl extends IdentifiableImpl implements Dimension {
/**
* The default value of the '{@link #getWidth() Width }' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DisplayImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DisplayImpl.java
index 77375a14..2eb290e4 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DisplayImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/DisplayImpl.java
@@ -18,7 +18,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emfcloud.coffee.CoffeePackage;
import org.eclipse.emfcloud.coffee.Display;
@@ -35,7 +34,7 @@
*
* @generated
*/
-public class DisplayImpl extends MinimalEObjectImpl.Container implements Display {
+public class DisplayImpl extends IdentifiableImpl implements Display {
/**
* The default value of the '{@link #getWidth() Width }' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/FlowImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/FlowImpl.java
index 66a798b1..3076086f 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/FlowImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/FlowImpl.java
@@ -19,7 +19,6 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emfcloud.coffee.CoffeePackage;
import org.eclipse.emfcloud.coffee.Flow;
import org.eclipse.emfcloud.coffee.Node;
@@ -37,7 +36,7 @@
*
* @generated
*/
-public class FlowImpl extends MinimalEObjectImpl.Container implements Flow {
+public class FlowImpl extends IdentifiableImpl implements Flow {
/**
* The cached value of the '{@link #getSource() Source }' reference.
*
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/IdentifiableImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/IdentifiableImpl.java
new file mode 100644
index 00000000..ff21afcd
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/IdentifiableImpl.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ */
+package org.eclipse.emfcloud.coffee.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emfcloud.coffee.CoffeePackage;
+import org.eclipse.emfcloud.coffee.Identifiable;
+
+/**
+ *
+ * An implementation of the model object 'Identifiable '.
+ *
+ *
+ * The following features are implemented:
+ *
+ *
+ * {@link org.eclipse.emfcloud.coffee.impl.IdentifiableImpl#getId Id }
+ *
+ *
+ * @generated
+ */
+public abstract class IdentifiableImpl extends MinimalEObjectImpl.Container implements Identifiable {
+ /**
+ * The default value of the '{@link #getId() Id }' attribute.
+ *
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() Id }' attribute.
+ *
+ *
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ *
+ *
+ * @generated
+ */
+ protected IdentifiableImpl() {
+ super();
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return CoffeePackage.Literals.IDENTIFIABLE;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String getId() {
+ return id;
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void setId(String newId) {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CoffeePackage.IDENTIFIABLE__ID, oldId, id));
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case CoffeePackage.IDENTIFIABLE__ID:
+ return getId();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case CoffeePackage.IDENTIFIABLE__ID:
+ setId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case CoffeePackage.IDENTIFIABLE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case CoffeePackage.IDENTIFIABLE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ *
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuilder result = new StringBuilder(super.toString());
+ result.append(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //IdentifiableImpl
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/NodeImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/NodeImpl.java
index 9b9e4fed..cde3369a 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/NodeImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/NodeImpl.java
@@ -25,7 +25,6 @@
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emfcloud.coffee.CoffeePackage;
import org.eclipse.emfcloud.coffee.Decision;
import org.eclipse.emfcloud.coffee.Flow;
@@ -40,7 +39,7 @@
*
* @generated
*/
-public abstract class NodeImpl extends MinimalEObjectImpl.Container implements Node {
+public abstract class NodeImpl extends IdentifiableImpl implements Node {
/**
*
* @generated
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ProcessorImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ProcessorImpl.java
index 0b04a898..a78a5d45 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ProcessorImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/ProcessorImpl.java
@@ -18,7 +18,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emfcloud.coffee.CoffeePackage;
import org.eclipse.emfcloud.coffee.ManufactoringProcess;
import org.eclipse.emfcloud.coffee.Processor;
@@ -41,7 +40,7 @@
*
* @generated
*/
-public class ProcessorImpl extends MinimalEObjectImpl.Container implements Processor {
+public class ProcessorImpl extends IdentifiableImpl implements Processor {
/**
* The default value of the '{@link #getVendor() Vendor }' attribute.
*
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/RAMImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/RAMImpl.java
index 25f2c464..93dd747b 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/RAMImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/RAMImpl.java
@@ -18,7 +18,6 @@
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emfcloud.coffee.CoffeePackage;
import org.eclipse.emfcloud.coffee.RAM;
import org.eclipse.emfcloud.coffee.RamType;
@@ -32,12 +31,12 @@
*
* {@link org.eclipse.emfcloud.coffee.impl.RAMImpl#getClockSpeed Clock Speed }
* {@link org.eclipse.emfcloud.coffee.impl.RAMImpl#getSize Size }
- * {@link org.eclipse.emfcloud.coffee.impl.RAMImpl#getType Type }
+ * {@link org.eclipse.emfcloud.coffee.impl.RAMImpl#getRamType Ram Type }
*
*
* @generated
*/
-public class RAMImpl extends MinimalEObjectImpl.Container implements RAM {
+public class RAMImpl extends IdentifiableImpl implements RAM {
/**
* The default value of the '{@link #getClockSpeed() Clock Speed }' attribute.
*
@@ -77,24 +76,24 @@ public class RAMImpl extends MinimalEObjectImpl.Container implements RAM {
protected int size = SIZE_EDEFAULT;
/**
- * The default value of the '{@link #getType() Type }' attribute.
- *
- * @see #getType()
+ * The default value of the '{@link #getRamType() Ram Type }' attribute.
+ *
+ *
+ * @see #getRamType()
* @generated
* @ordered
*/
- protected static final RamType TYPE_EDEFAULT = RamType.SODIMM;
+ protected static final RamType RAM_TYPE_EDEFAULT = RamType.SODIMM;
/**
- * The cached value of the '{@link #getType() Type }' attribute.
- *
- * @see #getType()
+ * The cached value of the '{@link #getRamType() Ram Type }' attribute.
+ *
+ *
+ * @see #getRamType()
* @generated
* @ordered
*/
- protected RamType type = TYPE_EDEFAULT;
+ protected RamType ramType = RAM_TYPE_EDEFAULT;
/**
*
@@ -156,24 +155,26 @@ public void setSize(int newSize) {
}
/**
- *
+ *
+ *
* @generated
*/
@Override
- public RamType getType() {
- return type;
+ public RamType getRamType() {
+ return ramType;
}
/**
- *
+ *
+ *
* @generated
*/
@Override
- public void setType(RamType newType) {
- RamType oldType = type;
- type = newType == null ? TYPE_EDEFAULT : newType;
+ public void setRamType(RamType newRamType) {
+ RamType oldRamType = ramType;
+ ramType = newRamType == null ? RAM_TYPE_EDEFAULT : newRamType;
if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, CoffeePackage.RAM__TYPE, oldType, type));
+ eNotify(new ENotificationImpl(this, Notification.SET, CoffeePackage.RAM__RAM_TYPE, oldRamType, ramType));
}
/**
@@ -187,8 +188,8 @@ public Object eGet(int featureID, boolean resolve, boolean coreType) {
return getClockSpeed();
case CoffeePackage.RAM__SIZE:
return getSize();
- case CoffeePackage.RAM__TYPE:
- return getType();
+ case CoffeePackage.RAM__RAM_TYPE:
+ return getRamType();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -206,8 +207,8 @@ public void eSet(int featureID, Object newValue) {
case CoffeePackage.RAM__SIZE:
setSize((Integer)newValue);
return;
- case CoffeePackage.RAM__TYPE:
- setType((RamType)newValue);
+ case CoffeePackage.RAM__RAM_TYPE:
+ setRamType((RamType)newValue);
return;
}
super.eSet(featureID, newValue);
@@ -226,8 +227,8 @@ public void eUnset(int featureID) {
case CoffeePackage.RAM__SIZE:
setSize(SIZE_EDEFAULT);
return;
- case CoffeePackage.RAM__TYPE:
- setType(TYPE_EDEFAULT);
+ case CoffeePackage.RAM__RAM_TYPE:
+ setRamType(RAM_TYPE_EDEFAULT);
return;
}
super.eUnset(featureID);
@@ -244,8 +245,8 @@ public boolean eIsSet(int featureID) {
return clockSpeed != CLOCK_SPEED_EDEFAULT;
case CoffeePackage.RAM__SIZE:
return size != SIZE_EDEFAULT;
- case CoffeePackage.RAM__TYPE:
- return type != TYPE_EDEFAULT;
+ case CoffeePackage.RAM__RAM_TYPE:
+ return ramType != RAM_TYPE_EDEFAULT;
}
return super.eIsSet(featureID);
}
@@ -263,8 +264,8 @@ public String toString() {
result.append(clockSpeed);
result.append(", size: ");
result.append(size);
- result.append(", type: ");
- result.append(type);
+ result.append(", ramType: ");
+ result.append(ramType);
result.append(')');
return result.toString();
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/WorkflowImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/WorkflowImpl.java
index 44c43652..b979295d 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/WorkflowImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/impl/WorkflowImpl.java
@@ -23,7 +23,6 @@
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import org.eclipse.emfcloud.coffee.CoffeePackage;
@@ -45,7 +44,7 @@
*
* @generated
*/
-public class WorkflowImpl extends MinimalEObjectImpl.Container implements Workflow {
+public class WorkflowImpl extends IdentifiableImpl implements Workflow {
/**
* The default value of the '{@link #getName() Name }' attribute.
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeAdapterFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeAdapterFactory.java
index ad8de67d..93596f90 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeAdapterFactory.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeAdapterFactory.java
@@ -1,66 +1,45 @@
/**
- * Copyright (c) 2021 EclipseSource and others.
- *
+ * Copyright (c) 2022 EclipseSource and others.
+ *
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0.
- *
- * 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: GNU General Public License, version 2
- * with the GNU Classpath Exception which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
*/
package org.eclipse.emfcloud.coffee.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.emfcloud.coffee.AutomaticTask;
-import org.eclipse.emfcloud.coffee.BrewingUnit;
-import org.eclipse.emfcloud.coffee.CoffeePackage;
-import org.eclipse.emfcloud.coffee.Component;
-import org.eclipse.emfcloud.coffee.ControlUnit;
-import org.eclipse.emfcloud.coffee.Decision;
-import org.eclipse.emfcloud.coffee.Dimension;
-import org.eclipse.emfcloud.coffee.DipTray;
-import org.eclipse.emfcloud.coffee.Display;
-import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.coffee.Fork;
-import org.eclipse.emfcloud.coffee.Join;
-import org.eclipse.emfcloud.coffee.Machine;
-import org.eclipse.emfcloud.coffee.ManualTask;
-import org.eclipse.emfcloud.coffee.Merge;
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.Processor;
-import org.eclipse.emfcloud.coffee.RAM;
-import org.eclipse.emfcloud.coffee.Task;
-import org.eclipse.emfcloud.coffee.WaterTank;
-import org.eclipse.emfcloud.coffee.WeightedFlow;
-import org.eclipse.emfcloud.coffee.Workflow;
+
+import org.eclipse.emfcloud.coffee.*;
/**
- * The Adapter Factory for the model. It provides
- * an adapter createXXX
method for each class of the model.
+ *
+ * The Adapter Factory for the model.
+ * It provides an adapter createXXX
method for each class of the model.
+ *
* @see org.eclipse.emfcloud.coffee.CoffeePackage
* @generated
*/
public class CoffeeAdapterFactory extends AdapterFactoryImpl {
/**
* The cached model package.
- *
+ *
+ *
* @generated
*/
protected static CoffeePackage modelPackage;
/**
* Creates an instance of the adapter factory.
- *
+ *
+ *
* @generated
*/
public CoffeeAdapterFactory() {
@@ -70,11 +49,10 @@ public CoffeeAdapterFactory() {
}
/**
- * Returns whether this factory is applicable for the type of the object. This implementation returns true
if the
- * object is either the model's package or is an instance object of the model.
+ * Returns whether this factory is applicable for the type of the object.
+ *
+ * This implementation returns true
if the object is either the model's package or is an instance object of the model.
*
- *
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@@ -90,12 +68,17 @@ public boolean isFactoryForType(Object object) {
}
/**
- * The switch that delegates to the createXXX
methods.
- *
+ * The switch that delegates to the createXXX
methods.
+ *
+ *
* @generated
*/
- protected CoffeeSwitch modelSwitch = new CoffeeSwitch() {
+ protected CoffeeSwitch modelSwitch =
+ new CoffeeSwitch() {
+ @Override
+ public Adapter caseIdentifiable(Identifiable object) {
+ return createIdentifiableAdapter();
+ }
@Override
public Adapter caseComponent(Component object) {
return createComponentAdapter();
@@ -188,8 +171,8 @@ public Adapter defaultCase(EObject object) {
/**
* Creates an adapter for the target
.
- *
+ *
+ *
* @param target the object to adapt.
* @return the adapter for the target
.
* @generated
@@ -199,13 +182,27 @@ public Adapter createAdapter(Notifier target) {
return modelSwitch.doSwitch((EObject)target);
}
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Identifiable Identifiable }'.
+ *
+ * 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.
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emfcloud.coffee.Identifiable
+ * @generated
+ */
+ public Adapter createIdentifiableAdapter() {
+ return null;
+ }
+
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Component Component }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Component Component }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Component
* @generated
@@ -215,12 +212,11 @@ public Adapter createComponentAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Machine Machine }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Machine Machine }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Machine
* @generated
@@ -230,12 +226,11 @@ public Adapter createMachineAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.ControlUnit Control Unit }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.ControlUnit Control Unit }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.ControlUnit
* @generated
@@ -245,12 +240,11 @@ public Adapter createControlUnitAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.BrewingUnit Brewing Unit }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.BrewingUnit Brewing Unit }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.BrewingUnit
* @generated
@@ -260,12 +254,11 @@ public Adapter createBrewingUnitAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.DipTray Dip Tray }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.DipTray Dip Tray }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.DipTray
* @generated
@@ -275,12 +268,11 @@ public Adapter createDipTrayAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.WaterTank Water Tank }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.WaterTank Water Tank }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.WaterTank
* @generated
@@ -290,12 +282,11 @@ public Adapter createWaterTankAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Processor Processor }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Processor Processor }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Processor
* @generated
@@ -305,12 +296,11 @@ public Adapter createProcessorAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Dimension Dimension }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Dimension Dimension }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Dimension
* @generated
@@ -321,10 +311,10 @@ public Adapter createDimensionAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.RAM RAM }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.RAM
* @generated
@@ -334,12 +324,11 @@ public Adapter createRAMAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Display Display }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Display Display }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Display
* @generated
@@ -349,12 +338,11 @@ public Adapter createDisplayAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Workflow Workflow }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Workflow Workflow }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Workflow
* @generated
@@ -365,10 +353,10 @@ public Adapter createWorkflowAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Node Node }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Node
* @generated
@@ -379,10 +367,10 @@ public Adapter createNodeAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Task Task }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Task
* @generated
@@ -393,9 +381,10 @@ public Adapter createTaskAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.AutomaticTask Automatic Task }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.AutomaticTask
* @generated
@@ -405,12 +394,11 @@ public Adapter createAutomaticTaskAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.ManualTask Manual Task }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.ManualTask Manual Task }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.ManualTask
* @generated
@@ -421,10 +409,10 @@ public Adapter createManualTaskAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Fork Fork }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Fork
* @generated
@@ -435,10 +423,10 @@ public Adapter createForkAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Join Join }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Join
* @generated
@@ -448,12 +436,11 @@ public Adapter createJoinAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Decision Decision }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Decision Decision }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Decision
* @generated
@@ -463,12 +450,11 @@ public Adapter createDecisionAdapter() {
}
/**
- * Creates a new adapter for an object of class
- * '{@link org.eclipse.emfcloud.coffee.Merge Merge }'. 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.
- *
+ * Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Merge Merge }'.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Merge
* @generated
@@ -479,10 +465,10 @@ public Adapter createMergeAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.Flow Flow }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.Flow
* @generated
@@ -493,9 +479,10 @@ public Adapter createFlowAdapter() {
/**
* Creates a new adapter for an object of class '{@link org.eclipse.emfcloud.coffee.WeightedFlow Weighted Flow }'.
- * 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.
+ *
+ * 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.
+ *
* @return the new adapter.
* @see org.eclipse.emfcloud.coffee.WeightedFlow
* @generated
@@ -506,8 +493,9 @@ public Adapter createWeightedFlowAdapter() {
/**
* Creates a new adapter for the default case.
- * This
- * default implementation returns null.
+ *
+ * This default implementation returns null.
+ *
* @return the new adapter.
* @generated
*/
@@ -515,4 +503,4 @@ public Adapter createEObjectAdapter() {
return null;
}
-} // CoffeeAdapterFactory
+} //CoffeeAdapterFactory
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceFactoryImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceFactoryImpl.java
index e21c02d9..d5390c4a 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceFactoryImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceFactoryImpl.java
@@ -1,29 +1,49 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
+/**
+ * Copyright (c) 2022 EclipseSource and others.
+ *
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
* available at https://opensource.org/licenses/MIT.
- *
+ *
* SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
+ */
package org.eclipse.emfcloud.coffee.util;
import org.eclipse.emf.common.util.URI;
+
import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
-public class CoffeeResourceFactoryImpl extends ResourceFactoryImpl implements CoffeeResource.Factory {
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+/**
+ *
+ * The Resource Factory associated with the package.
+ *
+ * @see org.eclipse.emfcloud.coffee.util.CoffeeResourceImpl
+ * @generated
+ */
+public class CoffeeResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ *
+ *
+ * @generated
+ */
public CoffeeResourceFactoryImpl() {
super();
}
+ /**
+ * Creates an instance of the resource.
+ *
+ *
+ * @generated
+ */
@Override
- public Resource createResource(final URI uri) {
- CoffeeResource resource = new CoffeeResourceImpl(uri);
- return resource;
+ public Resource createResource(URI uri) {
+ Resource result = new CoffeeResourceImpl(uri);
+ return result;
}
-}
+} //CoffeeResourceFactoryImpl
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceImpl.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceImpl.java
index e7ab1716..9f9ea53e 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceImpl.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResourceImpl.java
@@ -1,37 +1,36 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
+/**
+ * Copyright (c) 2022 EclipseSource and others.
+ *
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
* available at https://opensource.org/licenses/MIT.
- *
+ *
* SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
+ */
package org.eclipse.emfcloud.coffee.util;
import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
-public class CoffeeResourceImpl extends XMIResourceImpl implements CoffeeResource {
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
- public CoffeeResourceImpl(final URI uri) {
+/**
+ *
+ * The Resource associated with the package.
+ *
+ * @see org.eclipse.emfcloud.coffee.util.CoffeeResourceFactoryImpl
+ * @generated
+ */
+public class CoffeeResourceImpl extends XMIResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ *
+ *
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public CoffeeResourceImpl(URI uri) {
super(uri);
}
- @Override
- protected boolean useIDAttributes() {
- return false;
- }
-
- @Override
- protected boolean useUUIDs() {
- return true;
- }
-
- @Override
- protected boolean assignIDsWhileLoading() {
- return false;
- }
-
-}
+} //CoffeeResourceImpl
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeSwitch.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeSwitch.java
index b440b9a9..69be943b 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeSwitch.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeSwitch.java
@@ -1,68 +1,48 @@
/**
- * Copyright (c) 2021 EclipseSource and others.
- *
+ * Copyright (c) 2022 EclipseSource and others.
+ *
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0.
- *
- * 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: GNU General Public License, version 2
- * with the GNU Classpath Exception which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
*/
package org.eclipse.emfcloud.coffee.util;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
+
import org.eclipse.emf.ecore.util.Switch;
-import org.eclipse.emfcloud.coffee.AutomaticTask;
-import org.eclipse.emfcloud.coffee.BrewingUnit;
-import org.eclipse.emfcloud.coffee.CoffeePackage;
-import org.eclipse.emfcloud.coffee.Component;
-import org.eclipse.emfcloud.coffee.ControlUnit;
-import org.eclipse.emfcloud.coffee.Decision;
-import org.eclipse.emfcloud.coffee.Dimension;
-import org.eclipse.emfcloud.coffee.DipTray;
-import org.eclipse.emfcloud.coffee.Display;
-import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.coffee.Fork;
-import org.eclipse.emfcloud.coffee.Join;
-import org.eclipse.emfcloud.coffee.Machine;
-import org.eclipse.emfcloud.coffee.ManualTask;
-import org.eclipse.emfcloud.coffee.Merge;
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.Processor;
-import org.eclipse.emfcloud.coffee.RAM;
-import org.eclipse.emfcloud.coffee.Task;
-import org.eclipse.emfcloud.coffee.WaterTank;
-import org.eclipse.emfcloud.coffee.WeightedFlow;
-import org.eclipse.emfcloud.coffee.Workflow;
+
+import org.eclipse.emfcloud.coffee.*;
/**
- * The Switch for the model's inheritance
- * hierarchy. It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ *
+ * The Switch for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
* to invoke the caseXXX
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.
+ * 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.
+ *
* @see org.eclipse.emfcloud.coffee.CoffeePackage
* @generated
*/
public class CoffeeSwitch extends Switch {
/**
* The cached model package
- *
+ *
+ *
* @generated
*/
protected static CoffeePackage modelPackage;
/**
- * Creates an instance of the switch.
- *
+ * Creates an instance of the switch.
+ *
+ *
* @generated
*/
public CoffeeSwitch() {
@@ -73,8 +53,8 @@ public CoffeeSwitch() {
/**
* Checks whether this is a switch for the given package.
- *
+ *
+ *
* @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
@@ -86,17 +66,24 @@ protected boolean isSwitchFor(EPackage ePackage) {
/**
* Calls caseXXX
for each class of the model until one returns a non null result; it yields that result.
- *
+ *
+ *
* @return the first non-null result returned by a caseXXX
call.
* @generated
*/
@Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
+ case CoffeePackage.IDENTIFIABLE: {
+ Identifiable identifiable = (Identifiable)theEObject;
+ T result = caseIdentifiable(identifiable);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
case CoffeePackage.COMPONENT: {
Component component = (Component)theEObject;
T result = caseComponent(component);
+ if (result == null) result = caseIdentifiable(component);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -104,6 +91,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
Machine machine = (Machine)theEObject;
T result = caseMachine(machine);
if (result == null) result = caseComponent(machine);
+ if (result == null) result = caseIdentifiable(machine);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -111,6 +99,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
ControlUnit controlUnit = (ControlUnit)theEObject;
T result = caseControlUnit(controlUnit);
if (result == null) result = caseComponent(controlUnit);
+ if (result == null) result = caseIdentifiable(controlUnit);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -118,6 +107,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
BrewingUnit brewingUnit = (BrewingUnit)theEObject;
T result = caseBrewingUnit(brewingUnit);
if (result == null) result = caseComponent(brewingUnit);
+ if (result == null) result = caseIdentifiable(brewingUnit);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -125,6 +115,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
DipTray dipTray = (DipTray)theEObject;
T result = caseDipTray(dipTray);
if (result == null) result = caseComponent(dipTray);
+ if (result == null) result = caseIdentifiable(dipTray);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -132,42 +123,49 @@ protected T doSwitch(int classifierID, EObject theEObject) {
WaterTank waterTank = (WaterTank)theEObject;
T result = caseWaterTank(waterTank);
if (result == null) result = caseComponent(waterTank);
+ if (result == null) result = caseIdentifiable(waterTank);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.PROCESSOR: {
Processor processor = (Processor)theEObject;
T result = caseProcessor(processor);
+ if (result == null) result = caseIdentifiable(processor);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.DIMENSION: {
Dimension dimension = (Dimension)theEObject;
T result = caseDimension(dimension);
+ if (result == null) result = caseIdentifiable(dimension);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.RAM: {
RAM ram = (RAM)theEObject;
T result = caseRAM(ram);
+ if (result == null) result = caseIdentifiable(ram);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.DISPLAY: {
Display display = (Display)theEObject;
T result = caseDisplay(display);
+ if (result == null) result = caseIdentifiable(display);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.WORKFLOW: {
Workflow workflow = (Workflow)theEObject;
T result = caseWorkflow(workflow);
+ if (result == null) result = caseIdentifiable(workflow);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.NODE: {
Node node = (Node)theEObject;
T result = caseNode(node);
+ if (result == null) result = caseIdentifiable(node);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -175,6 +173,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
Task task = (Task)theEObject;
T result = caseTask(task);
if (result == null) result = caseNode(task);
+ if (result == null) result = caseIdentifiable(task);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -183,6 +182,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
T result = caseAutomaticTask(automaticTask);
if (result == null) result = caseTask(automaticTask);
if (result == null) result = caseNode(automaticTask);
+ if (result == null) result = caseIdentifiable(automaticTask);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -191,6 +191,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
T result = caseManualTask(manualTask);
if (result == null) result = caseTask(manualTask);
if (result == null) result = caseNode(manualTask);
+ if (result == null) result = caseIdentifiable(manualTask);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -198,6 +199,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
Fork fork = (Fork)theEObject;
T result = caseFork(fork);
if (result == null) result = caseNode(fork);
+ if (result == null) result = caseIdentifiable(fork);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -205,6 +207,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
Join join = (Join)theEObject;
T result = caseJoin(join);
if (result == null) result = caseNode(join);
+ if (result == null) result = caseIdentifiable(join);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -212,6 +215,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
Decision decision = (Decision)theEObject;
T result = caseDecision(decision);
if (result == null) result = caseNode(decision);
+ if (result == null) result = caseIdentifiable(decision);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -219,12 +223,14 @@ protected T doSwitch(int classifierID, EObject theEObject) {
Merge merge = (Merge)theEObject;
T result = caseMerge(merge);
if (result == null) result = caseNode(merge);
+ if (result == null) result = caseIdentifiable(merge);
if (result == null) result = defaultCase(theEObject);
return result;
}
case CoffeePackage.FLOW: {
Flow flow = (Flow)theEObject;
T result = caseFlow(flow);
+ if (result == null) result = caseIdentifiable(flow);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -232,6 +238,7 @@ protected T doSwitch(int classifierID, EObject theEObject) {
WeightedFlow weightedFlow = (WeightedFlow)theEObject;
T result = caseWeightedFlow(weightedFlow);
if (result == null) result = caseFlow(weightedFlow);
+ if (result == null) result = caseIdentifiable(weightedFlow);
if (result == null) result = defaultCase(theEObject);
return result;
}
@@ -239,11 +246,27 @@ protected T doSwitch(int classifierID, EObject theEObject) {
}
}
+ /**
+ * Returns the result of interpreting the object as an instance of 'Identifiable '.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of 'Identifiable '.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIdentifiable(Identifiable object) {
+ return null;
+ }
+
/**
* Returns the result of interpreting the object as an instance of 'Component '.
- * This implementation returns
- * null; returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Component '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -255,8 +278,10 @@ public T caseComponent(Component object) {
/**
* Returns the result of interpreting the object as an instance of 'Machine '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Machine '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -268,8 +293,10 @@ public T caseMachine(Machine object) {
/**
* Returns the result of interpreting the object as an instance of 'Control Unit '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Control Unit '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -281,8 +308,10 @@ public T caseControlUnit(ControlUnit object) {
/**
* Returns the result of interpreting the object as an instance of 'Brewing Unit '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Brewing Unit '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -294,8 +323,10 @@ public T caseBrewingUnit(BrewingUnit object) {
/**
* Returns the result of interpreting the object as an instance of 'Dip Tray '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Dip Tray '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -307,8 +338,10 @@ public T caseDipTray(DipTray object) {
/**
* Returns the result of interpreting the object as an instance of 'Water Tank '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Water Tank '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -320,9 +353,10 @@ public T caseWaterTank(WaterTank object) {
/**
* Returns the result of interpreting the object as an instance of 'Processor '.
- * This implementation returns
- * null; returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Processor '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -334,9 +368,10 @@ public T caseProcessor(Processor object) {
/**
* Returns the result of interpreting the object as an instance of 'Dimension '.
- * This implementation returns
- * null; returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Dimension '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -348,8 +383,10 @@ public T caseDimension(Dimension object) {
/**
* Returns the result of interpreting the object as an instance of 'RAM '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'RAM '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -361,8 +398,10 @@ public T caseRAM(RAM object) {
/**
* Returns the result of interpreting the object as an instance of 'Display '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Display '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -374,9 +413,10 @@ public T caseDisplay(Display object) {
/**
* Returns the result of interpreting the object as an instance of 'Workflow '.
- * This implementation returns
- * null; returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Workflow '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -388,8 +428,10 @@ public T caseWorkflow(Workflow object) {
/**
* Returns the result of interpreting the object as an instance of 'Node '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Node '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -401,8 +443,10 @@ public T caseNode(Node object) {
/**
* Returns the result of interpreting the object as an instance of 'Task '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Task '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -414,9 +458,10 @@ public T caseTask(Task object) {
/**
* Returns the result of interpreting the object as an instance of 'Automatic Task '.
- * This implementation
- * returns null; returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Automatic Task '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -428,8 +473,10 @@ public T caseAutomaticTask(AutomaticTask object) {
/**
* Returns the result of interpreting the object as an instance of 'Manual Task '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Manual Task '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -441,8 +488,10 @@ public T caseManualTask(ManualTask object) {
/**
* Returns the result of interpreting the object as an instance of 'Fork '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Fork '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -454,8 +503,10 @@ public T caseFork(Fork object) {
/**
* Returns the result of interpreting the object as an instance of 'Join '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Join '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -467,9 +518,10 @@ public T caseJoin(Join object) {
/**
* Returns the result of interpreting the object as an instance of 'Decision '.
- * This implementation returns
- * null; returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Decision '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -481,8 +533,10 @@ public T caseDecision(Decision object) {
/**
* Returns the result of interpreting the object as an instance of 'Merge '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Merge '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -494,8 +548,10 @@ public T caseMerge(Merge object) {
/**
* Returns the result of interpreting the object as an instance of 'Flow '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Flow '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -507,8 +563,10 @@ public T caseFlow(Flow object) {
/**
* Returns the result of interpreting the object as an instance of 'Weighted Flow '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'Weighted Flow '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
@@ -520,9 +578,10 @@ public T caseWeightedFlow(WeightedFlow object) {
/**
* Returns the result of interpreting the object as an instance of 'EObject '.
- * This implementation returns null;
- * returning a non-null result will terminate the switch, but this is the last
- * case anyway.
+ *
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ *
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of 'EObject '.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
@@ -533,4 +592,4 @@ public T defaultCase(EObject object) {
return null;
}
-} // CoffeeSwitch
+} //CoffeeSwitch
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeValidator.java b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeValidator.java
index c4b5df23..06399d46 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeValidator.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeValidator.java
@@ -1,17 +1,12 @@
/**
- * Copyright (c) 2021 EclipseSource and others.
- *
+ * Copyright (c) 2022 EclipseSource and others.
+ *
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0.
- *
- * 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: GNU General Public License, version 2
- * with the GNU Classpath Exception which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
*/
package org.eclipse.emfcloud.coffee.util;
@@ -19,54 +14,35 @@
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.ResourceLocator;
+
import org.eclipse.emf.ecore.EPackage;
+
import org.eclipse.emf.ecore.util.EObjectValidator;
+
import org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil;
-import org.eclipse.emfcloud.coffee.AutomaticTask;
-import org.eclipse.emfcloud.coffee.BrewingUnit;
-import org.eclipse.emfcloud.coffee.CoffeePackage;
-import org.eclipse.emfcloud.coffee.Component;
-import org.eclipse.emfcloud.coffee.ControlUnit;
-import org.eclipse.emfcloud.coffee.Decision;
-import org.eclipse.emfcloud.coffee.Dimension;
-import org.eclipse.emfcloud.coffee.DipTray;
-import org.eclipse.emfcloud.coffee.Display;
-import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.coffee.Fork;
-import org.eclipse.emfcloud.coffee.Join;
-import org.eclipse.emfcloud.coffee.Machine;
-import org.eclipse.emfcloud.coffee.ManualTask;
-import org.eclipse.emfcloud.coffee.ManufactoringProcess;
-import org.eclipse.emfcloud.coffee.Merge;
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.Probability;
-import org.eclipse.emfcloud.coffee.Processor;
-import org.eclipse.emfcloud.coffee.RAM;
-import org.eclipse.emfcloud.coffee.RamType;
-import org.eclipse.emfcloud.coffee.SocketConnectorType;
-import org.eclipse.emfcloud.coffee.Task;
-import org.eclipse.emfcloud.coffee.WaterTank;
-import org.eclipse.emfcloud.coffee.WeightedFlow;
-import org.eclipse.emfcloud.coffee.Workflow;
+
+import org.eclipse.emfcloud.coffee.*;
/**
- * The Validator for the model.
- *
+ *
+ * The Validator for the model.
+ *
* @see org.eclipse.emfcloud.coffee.CoffeePackage
* @generated
*/
public class CoffeeValidator extends EObjectValidator {
/**
* The cached model package
- *
+ *
+ *
* @generated
*/
public static final CoffeeValidator INSTANCE = new CoffeeValidator();
/**
* A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
- *
+ *
+ *
* @see org.eclipse.emf.common.util.Diagnostic#getSource()
* @see org.eclipse.emf.common.util.Diagnostic#getCode()
* @generated
@@ -74,74 +50,73 @@ public class CoffeeValidator extends EObjectValidator {
public static final String DIAGNOSTIC_SOURCE = "org.eclipse.emfcloud.coffee";
/**
- * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for
- * constraint 'Has Cycle' of 'Node'.
- *
+ * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has Cycle' of 'Node'.
+ *
+ *
* @generated
*/
public static final int NODE__HAS_CYCLE = 1;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has At Most One Incoming' of 'Task'.
- *
+ *
+ *
* @generated
*/
public static final int TASK__HAS_AT_MOST_ONE_INCOMING = 2;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has At Most One Outgoing' of 'Task'.
- *
+ *
+ *
* @generated
*/
public static final int TASK__HAS_AT_MOST_ONE_OUTGOING = 3;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Is Used' of 'Task'.
- *
+ *
+ *
* @generated
*/
public static final int TASK__IS_USED = 4;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has One Incoming' of 'Decision'.
- *
+ *
+ *
* @generated
*/
public static final int DECISION__HAS_ONE_INCOMING = 5;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has Two Outgoing' of 'Decision'.
- *
+ *
+ *
* @generated
*/
public static final int DECISION__HAS_TWO_OUTGOING = 6;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has Two Incoming' of 'Merge'.
- *
+ *
+ *
* @generated
*/
public static final int MERGE__HAS_TWO_INCOMING = 7;
/**
* The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Has One Outgoing' of 'Merge'.
- *
+ *
+ *
* @generated
*/
public static final int MERGE__HAS_ONE_OUTGOING = 8;
/**
- * A constant with a fixed name that can be used as the base value for
- * additional hand written constants.
- *
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ *
+ *
* @generated
*/
private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 8;
@@ -155,9 +130,9 @@ public class CoffeeValidator extends EObjectValidator {
protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
/**
- * Creates an instance of the switch.
- *
+ * Creates an instance of the switch.
+ *
+ *
* @generated
*/
public CoffeeValidator() {
@@ -166,8 +141,8 @@ public CoffeeValidator() {
/**
* Returns the package of this validator switch.
- *
+ *
+ *
* @generated
*/
@Override
@@ -177,12 +152,15 @@ protected EPackage getEPackage() {
/**
* Calls validateXXX
for the corresponding classifier of the model.
- *
+ *
+ *
* @generated
*/
@Override
protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map context) {
switch (classifierID) {
+ case CoffeePackage.IDENTIFIABLE:
+ return validateIdentifiable((Identifiable)value, diagnostics, context);
case CoffeePackage.COMPONENT:
return validateComponent((Component)value, diagnostics, context);
case CoffeePackage.MACHINE:
@@ -241,7 +219,17 @@ protected boolean validate(int classifierID, Object value, DiagnosticChain diagn
}
/**
- *
+ *
+ *
+ * @generated
+ */
+ public boolean validateIdentifiable(Identifiable identifiable, DiagnosticChain diagnostics, Map context) {
+ return validate_EveryDefaultConstraint(identifiable, diagnostics, context);
+ }
+
+ /**
+ *
+ *
* @generated
*/
public boolean validateComponent(Component component, DiagnosticChain diagnostics, Map context) {
@@ -249,7 +237,8 @@ public boolean validateComponent(Component component, DiagnosticChain diagnostic
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateMachine(Machine machine, DiagnosticChain diagnostics, Map context) {
@@ -257,7 +246,8 @@ public boolean validateMachine(Machine machine, DiagnosticChain diagnostics, Map
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateControlUnit(ControlUnit controlUnit, DiagnosticChain diagnostics, Map context) {
@@ -265,7 +255,8 @@ public boolean validateControlUnit(ControlUnit controlUnit, DiagnosticChain diag
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateBrewingUnit(BrewingUnit brewingUnit, DiagnosticChain diagnostics, Map context) {
@@ -273,7 +264,8 @@ public boolean validateBrewingUnit(BrewingUnit brewingUnit, DiagnosticChain diag
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateDipTray(DipTray dipTray, DiagnosticChain diagnostics, Map context) {
@@ -281,7 +273,8 @@ public boolean validateDipTray(DipTray dipTray, DiagnosticChain diagnostics, Map
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateWaterTank(WaterTank waterTank, DiagnosticChain diagnostics, Map context) {
@@ -289,7 +282,8 @@ public boolean validateWaterTank(WaterTank waterTank, DiagnosticChain diagnostic
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateProcessor(Processor processor, DiagnosticChain diagnostics, Map context) {
@@ -297,7 +291,8 @@ public boolean validateProcessor(Processor processor, DiagnosticChain diagnostic
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateDimension(Dimension dimension, DiagnosticChain diagnostics, Map context) {
@@ -305,7 +300,8 @@ public boolean validateDimension(Dimension dimension, DiagnosticChain diagnostic
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateRAM(RAM ram, DiagnosticChain diagnostics, Map context) {
@@ -313,7 +309,8 @@ public boolean validateRAM(RAM ram, DiagnosticChain diagnostics, Map
+ *
+ *
* @generated
*/
public boolean validateDisplay(Display display, DiagnosticChain diagnostics, Map context) {
@@ -321,7 +318,8 @@ public boolean validateDisplay(Display display, DiagnosticChain diagnostics, Map
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateWorkflow(Workflow workflow, DiagnosticChain diagnostics, Map context) {
@@ -329,7 +327,8 @@ public boolean validateWorkflow(Workflow workflow, DiagnosticChain diagnostics,
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateNode(Node node, DiagnosticChain diagnostics, Map context) {
@@ -357,7 +356,8 @@ public boolean validateNode_hasCycle(Node node, DiagnosticChain diagnostics, Map
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateTask(Task task, DiagnosticChain diagnostics, Map context) {
@@ -378,9 +378,9 @@ public boolean validateTask(Task task, DiagnosticChain diagnostics, MapTask'.
- *
+ * Validates the hasAtMostOneIncoming constraint of 'Task '.
+ *
+ *
* @generated
*/
public boolean validateTask_hasAtMostOneIncoming(Task task, DiagnosticChain diagnostics, Map context) {
@@ -388,9 +388,9 @@ public boolean validateTask_hasAtMostOneIncoming(Task task, DiagnosticChain diag
}
/**
- * Validates the hasAtMostOneOutgoing constraint of 'Task '.
- *
+ * Validates the hasAtMostOneOutgoing constraint of 'Task '.
+ *
+ *
* @generated
*/
public boolean validateTask_hasAtMostOneOutgoing(Task task, DiagnosticChain diagnostics, Map context) {
@@ -408,7 +408,8 @@ public boolean validateTask_isUsed(Task task, DiagnosticChain diagnostics, Map
+ *
+ *
* @generated
*/
public boolean validateAutomaticTask(AutomaticTask automaticTask, DiagnosticChain diagnostics, Map context) {
@@ -429,7 +430,8 @@ public boolean validateAutomaticTask(AutomaticTask automaticTask, DiagnosticChai
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateManualTask(ManualTask manualTask, DiagnosticChain diagnostics, Map context) {
@@ -450,7 +452,8 @@ public boolean validateManualTask(ManualTask manualTask, DiagnosticChain diagnos
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateFork(Fork fork, DiagnosticChain diagnostics, Map context) {
@@ -468,7 +471,8 @@ public boolean validateFork(Fork fork, DiagnosticChain diagnostics, Map
+ *
+ *
* @generated
*/
public boolean validateJoin(Join join, DiagnosticChain diagnostics, Map context) {
@@ -486,7 +490,8 @@ public boolean validateJoin(Join join, DiagnosticChain diagnostics, Map
+ *
+ *
* @generated
*/
public boolean validateDecision(Decision decision, DiagnosticChain diagnostics, Map context) {
@@ -506,9 +511,9 @@ public boolean validateDecision(Decision decision, DiagnosticChain diagnostics,
}
/**
- * Validates the hasOneIncoming constraint of 'Decision '.
- *
+ * Validates the hasOneIncoming constraint of 'Decision '.
+ *
+ *
* @generated
*/
public boolean validateDecision_hasOneIncoming(Decision decision, DiagnosticChain diagnostics, Map context) {
@@ -516,9 +521,9 @@ public boolean validateDecision_hasOneIncoming(Decision decision, DiagnosticChai
}
/**
- * Validates the hasTwoOutgoing constraint of 'Decision '.
- *
+ * Validates the hasTwoOutgoing constraint of 'Decision '.
+ *
+ *
* @generated
*/
public boolean validateDecision_hasTwoOutgoing(Decision decision, DiagnosticChain diagnostics, Map context) {
@@ -526,7 +531,8 @@ public boolean validateDecision_hasTwoOutgoing(Decision decision, DiagnosticChai
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateMerge(Merge merge, DiagnosticChain diagnostics, Map context) {
@@ -546,9 +552,9 @@ public boolean validateMerge(Merge merge, DiagnosticChain diagnostics, MapMerge'.
- *
+ * Validates the hasTwoIncoming constraint of 'Merge '.
+ *
+ *
* @generated
*/
public boolean validateMerge_hasTwoIncoming(Merge merge, DiagnosticChain diagnostics, Map context) {
@@ -556,9 +562,9 @@ public boolean validateMerge_hasTwoIncoming(Merge merge, DiagnosticChain diagnos
}
/**
- * Validates the hasOneOutgoing constraint of 'Merge '.
- *
+ * Validates the hasOneOutgoing constraint of 'Merge '.
+ *
+ *
* @generated
*/
public boolean validateMerge_hasOneOutgoing(Merge merge, DiagnosticChain diagnostics, Map context) {
@@ -566,7 +572,8 @@ public boolean validateMerge_hasOneOutgoing(Merge merge, DiagnosticChain diagnos
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateFlow(Flow flow, DiagnosticChain diagnostics, Map context) {
@@ -574,7 +581,8 @@ public boolean validateFlow(Flow flow, DiagnosticChain diagnostics, Map
+ *
+ *
* @generated
*/
public boolean validateWeightedFlow(WeightedFlow weightedFlow, DiagnosticChain diagnostics, Map context) {
@@ -582,7 +590,8 @@ public boolean validateWeightedFlow(WeightedFlow weightedFlow, DiagnosticChain d
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateSocketConnectorType(SocketConnectorType socketConnectorType, DiagnosticChain diagnostics, Map context) {
@@ -590,7 +599,8 @@ public boolean validateSocketConnectorType(SocketConnectorType socketConnectorTy
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateManufactoringProcess(ManufactoringProcess manufactoringProcess, DiagnosticChain diagnostics, Map context) {
@@ -598,7 +608,8 @@ public boolean validateManufactoringProcess(ManufactoringProcess manufactoringPr
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateRamType(RamType ramType, DiagnosticChain diagnostics, Map context) {
@@ -606,7 +617,8 @@ public boolean validateRamType(RamType ramType, DiagnosticChain diagnostics, Map
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateProbability(Probability probability, DiagnosticChain diagnostics, Map context) {
@@ -614,7 +626,8 @@ public boolean validateProbability(Probability probability, DiagnosticChain diag
}
/**
- *
+ *
+ *
* @generated
*/
public boolean validateTaskName(String taskName, DiagnosticChain diagnostics, Map context) {
@@ -625,11 +638,13 @@ public boolean validateTaskName(String taskName, DiagnosticChain diagnostics, Ma
}
/**
- *
+ *
+ *
* @generated
* @see #validateTaskName_Pattern
*/
- public static final PatternMatcher [][] TASK_NAME__PATTERN__VALUES = new PatternMatcher [][] {
+ public static final PatternMatcher [][] TASK_NAME__PATTERN__VALUES =
+ new PatternMatcher [][] {
new PatternMatcher [] {
XMLTypeUtil.createPatternMatcher("[a-zA-Z0-9%20\\- ]+")
}
@@ -637,8 +652,8 @@ public boolean validateTaskName(String taskName, DiagnosticChain diagnostics, Ma
/**
* Validates the Pattern constraint of 'Task Name '.
- *
+ *
+ *
* @generated
*/
public boolean validateTaskName_Pattern(String taskName, DiagnosticChain diagnostics, Map context) {
@@ -646,9 +661,9 @@ public boolean validateTaskName_Pattern(String taskName, DiagnosticChain diagnos
}
/**
- * Validates the MinLength constraint of 'Task Name '.
- *
+ * Validates the MinLength constraint of 'Task Name '.
+ *
+ *
* @generated
*/
public boolean validateTaskName_MinLength(String taskName, DiagnosticChain diagnostics, Map context) {
@@ -660,9 +675,9 @@ public boolean validateTaskName_MinLength(String taskName, DiagnosticChain diagn
}
/**
- * Validates the MaxLength constraint of 'Task Name '.
- *
+ * Validates the MaxLength constraint of 'Task Name '.
+ *
+ *
* @generated
*/
public boolean validateTaskName_MaxLength(String taskName, DiagnosticChain diagnostics, Map context) {
@@ -675,7 +690,8 @@ public boolean validateTaskName_MaxLength(String taskName, DiagnosticChain diagn
/**
* Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
- *
+ *
+ *
* @generated
*/
@Override
@@ -686,4 +702,4 @@ public ResourceLocator getResourceLocator() {
return super.getResourceLocator();
}
-} // CoffeeValidator
+} //CoffeeValidator
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.checkstyle b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.checkstyle
deleted file mode 100644
index c654b811..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.checkstyle
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.classpath b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.classpath
deleted file mode 100644
index 1db08c6b..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.project b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.project
deleted file mode 100644
index 675a9ceb..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.project
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
- org.eclipse.emfcloud.coffee.modelserver.app
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
- net.sf.eclipsecs.core.CheckstyleBuilder
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
- net.sf.eclipsecs.core.CheckstyleNature
-
-
-
- 0
-
- 30
-
- org.eclipse.core.resources.regexFilterMatcher
- node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.core.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ded3a412..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,520 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=3
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=3
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.launching.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index d177941e..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=ignore
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.ui.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 54b6f7a9..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,137 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=true
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=true
-cleanup.convert_to_enhanced_for_loop=true
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=false
-cleanup.make_parameters_final=true
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=false
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=true
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=true
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=true
-cleanup_profile=_EMF.cloud Cleanup Profile
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_EMF.cloud Formatter Profile
-formatter_settings_version=16
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n */ /**\n * @param ${param} the ${bare_field_name} to set\n */ /**\n * ${tags}\n */ /**\n * \n */ /**\n * @author ${user}\n *\n * ${tags}\n */ /**\n * \n */ /**\n * ${tags}\n */ /**\n * ${tags}\n * ${see_to_target}\n */ /********************************************************************************\n * Copyright (c) ${year} EclipseSource and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * https\://www.eclipse.org/legal/epl-2.0, or the MIT License which is\n * available at https\://opensource.org/licenses/MIT.\n *\n * SPDX-License-Identifier\: EPL-2.0 OR MIT\n ********************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration} \n \n \n \n // ${todo} Auto-generated catch block\n${exception_var}.printStackTrace(); // ${todo} Auto-generated method stub\n${body_statement} ${body_statement}\n// ${todo} Auto-generated constructor stub return ${field}; ${field} \= ${param}; /**\n * @author ${user}\n *\n * ${tags}\n */ \n
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=true
-sp_cleanup.convert_to_enhanced_for_loop=true
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=true
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_autoboxing=true
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_unboxing=true
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/META-INF/MANIFEST.MF b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/META-INF/MANIFEST.MF
deleted file mode 100644
index db81e238..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emfcloud.coffee.modelserver.app;singleton:=true
-Bundle-Version: 0.1.0.qualifier
-Bundle-Vendor: %providerName
-Automatic-Module-Name: org.eclipse.emfcloud.coffee.modelserver.app;
-Bundle-RequiredExecutionEnvironment: JavaSE-11
-Export-Package: org.eclipse.emfcloud.coffee.modelserver.app
-Require-Bundle: org.eclipse.equinox.app;bundle-version="1.5.0",
- org.eclipse.emfcloud.coffee.modelserver;bundle-version="0.1.0",
- org.eclipse.equinox.event;bundle-version="1.6.0"
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/build.properties b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/build.properties
deleted file mode 100644
index caab4c1f..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = target/classes/
-bin.includes = plugin.xml,\
- META-INF/,\
- .
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/plugin.properties b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/plugin.properties
deleted file mode 100644
index a215a2f5..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Coffee Editor Model Server App plugin
-providerName = EclipseSource
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/plugin.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/plugin.xml
deleted file mode 100644
index 85f9a671..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/pom.xml
deleted file mode 100644
index 64c99386..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- 4.0.0
- org.eclipse.emfcloud.coffee.modelserver.app
- eclipse-plugin
-
-
- org.eclipse.emfcloud.coffee
- org.eclipse.emfcloud.coffee.parent
- 0.1.0-SNAPSHOT
- ../../releng/org.eclipse.emfcloud.coffee.parent/
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/src/org/eclipse/emfcloud/coffee/modelserver/app/Application.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/src/org/eclipse/emfcloud/coffee/modelserver/app/Application.java
deleted file mode 100644
index c68e0b93..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.app/src/org/eclipse/emfcloud/coffee/modelserver/app/Application.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver.app;
-
-import org.eclipse.emfcloud.coffee.modelserver.CoffeeModelServerLauncher;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-/**
- * This class controls all aspects of the application's execution.
- */
-public class Application implements IApplication {
-
- @Override
- public Object start(final IApplicationContext context) throws Exception {
- System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog");
- System.setProperty("org.eclipse.jetty.LEVEL", "WARN");
- String[] args = getArgs(context);
- CoffeeModelServerLauncher.main(args);
- System.in.read();
- return null;
- }
-
- private String[] getArgs(final IApplicationContext context) {
- Object object = context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
- if (object instanceof String[]) {
- return (String[]) object;
- }
- return new String[0];
- }
-
- @Override
- public void stop() {
- // Nothing
- }
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.checkstyle b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.checkstyle
deleted file mode 100644
index c654b811..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.checkstyle
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.project b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.project
deleted file mode 100644
index c06da574..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- org.eclipse.emfcloud.coffee.modelserver.feature
-
-
-
-
-
- org.eclipse.pde.FeatureBuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
- net.sf.eclipsecs.core.CheckstyleBuilder
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
- org.eclipse.pde.FeatureNature
- net.sf.eclipsecs.core.CheckstyleNature
-
-
-
- 1646939925507
-
- 30
-
- org.eclipse.core.resources.regexFilterMatcher
- node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.core.resources.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.core.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ded3a412..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,520 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=3
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=3
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.launching.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index d177941e..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=ignore
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.ui.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 54b6f7a9..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,137 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=true
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=true
-cleanup.convert_to_enhanced_for_loop=true
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=false
-cleanup.make_parameters_final=true
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=false
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=true
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=true
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=true
-cleanup_profile=_EMF.cloud Cleanup Profile
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_EMF.cloud Formatter Profile
-formatter_settings_version=16
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n */ /**\n * @param ${param} the ${bare_field_name} to set\n */ /**\n * ${tags}\n */ /**\n * \n */ /**\n * @author ${user}\n *\n * ${tags}\n */ /**\n * \n */ /**\n * ${tags}\n */ /**\n * ${tags}\n * ${see_to_target}\n */ /********************************************************************************\n * Copyright (c) ${year} EclipseSource and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * https\://www.eclipse.org/legal/epl-2.0, or the MIT License which is\n * available at https\://opensource.org/licenses/MIT.\n *\n * SPDX-License-Identifier\: EPL-2.0 OR MIT\n ********************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration} \n \n \n \n // ${todo} Auto-generated catch block\n${exception_var}.printStackTrace(); // ${todo} Auto-generated method stub\n${body_statement} ${body_statement}\n// ${todo} Auto-generated constructor stub return ${field}; ${field} \= ${param}; /**\n * @author ${user}\n *\n * ${tags}\n */ \n
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=true
-sp_cleanup.convert_to_enhanced_for_loop=true
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=true
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_autoboxing=true
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_unboxing=true
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/build.properties b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/build.properties
deleted file mode 100644
index 64f93a9f..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/feature.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/feature.xml
deleted file mode 100644
index db1b3fc7..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/feature.xml
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
- Coffee Modelserver Application, for creating and editing workflow
-diagrams.
-
-
-
- Copyright (c) 2021 EclipseSource and others.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0 which is available at
- https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- available at https://opensource.org/licenses/MIT.
-
- SPDX-License-Identifier: EPL-2.0 OR MIT
-
-
-
- EPL-2.0 or MIT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/pom.xml
deleted file mode 100644
index f6eed031..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver.feature/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
- 4.0.0
-
-
- org.eclipse.emfcloud.coffee
- org.eclipse.emfcloud.coffee.parent
- 0.1.0-SNAPSHOT
- ../../releng/org.eclipse.emfcloud.coffee.parent/
-
-
- org.eclipse.emfcloud.coffee.modelserver.feature
- eclipse-feature
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/CoffeeModelServer.launch b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/CoffeeModelServer.launch
new file mode 100644
index 00000000..20fbe7f3
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/CoffeeModelServer.launch
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/META-INF/MANIFEST.MF b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/META-INF/MANIFEST.MF
index ff6fee72..b6634065 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/META-INF/MANIFEST.MF
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/META-INF/MANIFEST.MF
@@ -6,34 +6,40 @@ Bundle-Version: 0.1.0.qualifier
Automatic-Module-Name: org.eclipse.emfcloud.coffee.modelserver
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-Vendor: ECLIPSESOURCE
-Require-Bundle: org.eclipse.emf.ecore,
- org.eclipse.emf.edit,
- org.eclipse.glsp.graph,
- org.eclipse.emfcloud.coffee.model,
- org.eclipse.emf.transaction,
- org.eclipse.emfcloud.modelserver.client;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.common;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.edit;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.emf;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.lib;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.glsp.notation.commands;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.glsp.notation.model;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.glsp.integration;bundle-version="0.7.0",
- com.google.inject;bundle-version="5.0.1",
- org.eclipse.jetty.http;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.io;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.util;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.server;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.servlet;bundle-version="[9.4.43,10.0.0)",
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.26.0,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.17.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.16.0,3.0.0)",
+ org.eclipse.glsp.graph;bundle-version="[1.1.0,2.2.0)",
+ org.eclipse.glsp.server;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.glsp.server.emf;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.emfcloud.coffee.model;bundle-version="[0.1.0,0.2.0)",
+ org.eclipse.emf.transaction;bundle-version="[1.9.1,2.0.0)",
+ org.eclipse.emfcloud.modelserver.client;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.common;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.edit;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.emf;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.lib;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.glsp.notation.commands;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.glsp.integration;bundle-version="[0.7.0,1.0.0)",
+ com.google.inject;bundle-version="[5.0.1,6.0.0)",
+ org.eclipse.jetty.http;bundle-version="[9.4.44,10.0.0)",
+ org.eclipse.jetty.io;bundle-version="[9.4.44,10.0.0)",
+ org.eclipse.jetty.util;bundle-version="[9.4.44,10.0.0)",
+ org.eclipse.jetty.security;bundle-version="[9.4.44,10.0.0)",
+ org.eclipse.jetty.server;bundle-version="[9.4.44,10.0.0)",
+ org.eclipse.jetty.servlet;bundle-version="[9.4.44,10.0.0)",
javax.servlet;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.emf.ecore.xmi;bundle-version="2.16.0",
- com.fasterxml.jackson.core.jackson-core;bundle-version="2.12.1",
- com.fasterxml.jackson.core.jackson-databind;bundle-version="2.12.1",
- org.eclipse.emfcloud.emfjson-jackson;bundle-version="1.3.1"
+ com.fasterxml.jackson.core.jackson-core;bundle-version="[2.12.1,3.0.0)",
+ com.fasterxml.jackson.core.jackson-databind;bundle-version="[2.12.1,3.0.0)",
+ com.fasterxml.jackson.core.jackson-annotations;bundle-version="[2.12.1,3.0.0)",
+ org.eclipse.emfcloud.emfjson-jackson;bundle-version="[2.0.0,2.1.0)",
+ org.slf4j.api;bundle-version="[1.7.30,2.0.0)",
+ org.apache.logging.log4j;bundle-version="2.17.1",
+ org.aopalliance;bundle-version="[1.0.0,2.0.0)"
Export-Package: org.eclipse.emfcloud.coffee.modelserver,
org.eclipse.emfcloud.coffee.modelserver.commands.compound,
org.eclipse.emfcloud.coffee.modelserver.commands.contributions,
- org.eclipse.emfcloud.coffee.modelserver.commands.notation,
org.eclipse.emfcloud.coffee.modelserver.commands.semantic,
- org.eclipse.emfcloud.coffee.modelserver.commands.util
-Import-Package: org.apache.log4j;version="1.2.15"
+ org.eclipse.emfcloud.coffee.modelserver.commands.util,
+ org.eclipse.emfcloud.coffee.modelserver.launch
+Import-Package: javax.inject;version="[1.0.0,2.0.0)"
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/log4j2-embedded.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/log4j2-embedded.xml
new file mode 100644
index 00000000..f9ac2997
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/log4j2-embedded.xml
@@ -0,0 +1,31 @@
+
+
+
+ %d{DEFAULT_NANOS} [%t] %-5level %logger{1} - %msg%n
+ logs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/log4j2.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/log4j2.xml
new file mode 100644
index 00000000..7f7b92f2
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/log4j2.xml
@@ -0,0 +1,35 @@
+
+
+
+ %d{DEFAULT_NANOS} [%t] %-5level %logger{1} - %msg%n
+ logs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/pom.xml
index 813ee676..465b0ae9 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/pom.xml
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/pom.xml
@@ -1,5 +1,5 @@
- 4.0.0
- org.eclipse.emfcloud.coffee.modelserver
- eclipse-plugin
+ 4.0.0
+ org.eclipse.emfcloud.coffee.modelserver
+ eclipse-plugin
+
+
+ org.eclipse.emfcloud.coffee
+ org.eclipse.emfcloud.coffee.parent
+ 0.1.0-SNAPSHOT
+ ../../releng/org.eclipse.emfcloud.coffee.parent/
+
+
+
+
+
+ maven-compiler-plugin
+ ${maven.compiler.plugin.version}
+
+ ${maven.compiler.source}
+ ${maven.compiler.target}
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${maven.surefire.plugin.version}
+
+
+ org.codehaus.mojo
+ versions-maven-plugin
+ ${versions.maven.plugin.version}
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+ ${checkstyle.plugin.version}
+
+ emfcloud-checkstyle-8.44.xml
+ true
+
+
+
+
+ validate
+
+ check
+
+
+
+
+
+ org.eclipse.emfcloud
+ org.eclipse.emfcloud.checkstyle
+ ${emfcloud.checkstyle.version}
+
+
+ com.puppycrawl.tools
+ checkstyle
+ ${puppycrawl.checkstyle.version}
+
+
+
+
+
+
+
+
+
+ fatjar
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/libs
+ false
+ false
+ true
+ false
+
+
+
+
+
+ com.googlecode.addjars-maven-plugin
+ addjars-maven-plugin
+ ${googlecode.addjars.version}
+
+
+ package
+
+ add-jars
+
+
+
+
+ ${project.build.directory}/libs
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven.shade.version}
+
+
+
+ org.eclipse.emfcloud.coffee.modelserver.launch.CoffeeModelServerLauncher
+
+
+ true
+
+
+
+ plugin.properties
+
+
+
+
+ *:*
+
+ META-INF/INDEX.LIST
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+ .options
+ .api_description
+ *.profile
+ *.html
+ about.*
+ about_files/*
+ plugin.xml
+ modeling32.png
+ systembundle.properties
+ profile.list
+ **/*._trace
+ **/*.g
+ **/*.tokens
+ **/*.mwe2
+ **/*.xtext
+ **/*.xtextbin
+
+
+
+ true
+ standalone
+ false
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+
-
- org.eclipse.emfcloud.coffee
- org.eclipse.emfcloud.coffee.parent
- 0.1.0-SNAPSHOT
- ../../releng/org.eclipse.emfcloud.coffee.parent/
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeCodec.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeCodec.java
deleted file mode 100644
index bb307d08..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeCodec.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Optional;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EObject;
-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.XMLResource;
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
-import org.eclipse.emfcloud.modelserver.common.codecs.Codec;
-import org.eclipse.emfcloud.modelserver.common.codecs.DecodingException;
-import org.eclipse.emfcloud.modelserver.common.codecs.EncodingException;
-import org.eclipse.emfcloud.modelserver.jsonschema.Json;
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class CoffeeCodec implements Codec {
-
- private static Logger LOGGER = Logger.getLogger(CoffeeCodec.class.getSimpleName());
-
- @Override
- public JsonNode encode(final EObject eObject) throws EncodingException {
- Resource originalResource = eObject.eResource();
- URI originalURI = originalResource.getURI();
- // temporarily set different URI to serialize
- eObject.eResource().setURI(URI.createURI("virtual.coffee"));
-
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- try {
- eObject.eResource().save(outputStream, Map.of(XMLResource.OPTION_KEEP_DEFAULT_CONTENT, Boolean.TRUE,
- XMLResource.OPTION_PROCESS_DANGLING_HREF, XMLResource.OPTION_PROCESS_DANGLING_HREF_DISCARD));
- } catch (IOException e) {
- throw new EncodingException(e);
- }
- // reset original URI
- originalResource.setURI(originalURI);
-
- return Json.text(outputStream.toString());
- }
-
- @Override
- public Optional decode(final String payload) throws DecodingException {
- return decode(payload, null);
- }
-
- @Override
- public Optional decode(final String payload, final URI workspaceURI) throws DecodingException {
- ResourceSet resourceSet = new ResourceSetImpl();
- Optional resource = decode(resourceSet, "virtual.coffee", workspaceURI, payload);
- return resource.map(r -> r.getContents().isEmpty() ? null : r.getContents().get(0));
- }
-
- public Optional decode(final ResourceSet resourceSet, final String modelURI, final URI workspaceURI,
- final String payload) throws DecodingException {
-
- URI uri = URI.createURI(modelURI);
- if (workspaceURI != null) {
- uri = uri.resolve(workspaceURI);
- }
-
- Resource result = resourceSet.getResource(uri, false);
- if (result != null && !(result instanceof CoffeeResource)) {
- // Replace it
- LOGGER.warn(String.format("Replacing resource '%s' with a CoffeeResource", modelURI));
- result.unload();
- resourceSet.getResources().remove(result);
- result = null;
- }
- if (result == null) {
- result = CoffeeResource.Factory.INSTANCE.createResource(URI.createURI(modelURI));
- resourceSet.getResources().add(result);
- }
- try {
- result.load(new ByteArrayInputStream(payload.getBytes()), resourceSet.getLoadOptions());
- } catch (IOException e) {
- throw new DecodingException(e);
- }
-
- return Optional.of(result);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelResourceManager.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelResourceManager.java
index 5a682ab5..e4300492 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelResourceManager.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelResourceManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -18,24 +18,31 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
import org.eclipse.emfcloud.modelserver.emf.common.RecordingModelResourceManager;
import org.eclipse.emfcloud.modelserver.emf.common.watchers.ModelWatchersManager;
import org.eclipse.emfcloud.modelserver.emf.configuration.EPackageConfiguration;
import org.eclipse.emfcloud.modelserver.emf.configuration.ServerConfiguration;
import org.eclipse.emfcloud.modelserver.emf.util.JsonPatchHelper;
-import org.eclipse.emfcloud.modelserver.glsp.notation.epackage.NotationUtil;
+import org.eclipse.emfcloud.modelserver.integration.SemanticFileExtension;
+import org.eclipse.emfcloud.modelserver.notation.integration.NotationFileExtension;
import com.google.inject.Inject;
import com.google.inject.Provider;
public class CoffeeModelResourceManager extends RecordingModelResourceManager {
+ @Inject
+ @SemanticFileExtension
+ protected String semanticFileExtension;
+ @Inject
+ @NotationFileExtension
+ protected String notationFileExtension;
+
@Inject
public CoffeeModelResourceManager(final Set configurations,
- final AdapterFactory adapterFactory,
- final ServerConfiguration serverConfiguration, final ModelWatchersManager watchersManager,
- final Provider jsonPatchHelper) {
+ final AdapterFactory adapterFactory, final ServerConfiguration serverConfiguration,
+ final ModelWatchersManager watchersManager, final Provider jsonPatchHelper) {
+
super(configurations, adapterFactory, serverConfiguration, watchersManager, jsonPatchHelper);
}
@@ -51,31 +58,46 @@ protected void loadSourceResources(final String directoryPath) {
if (isSourceDirectory(file)) {
loadSourceResources(file.getAbsolutePath());
} else if (file.isFile()) {
- URI modelURI = createURI(file.getAbsolutePath());
- if (CoffeeResource.FILE_EXTENSION.equals(modelURI.fileExtension())) {
- resourceSets.put(modelURI, resourceSetFactory.createResourceSet(modelURI));
+ URI absolutePath = URI.createFileURI(file.getAbsolutePath());
+ if (CoffeeResource.FILE_EXTENSION.equals(absolutePath.fileExtension())) {
+ getCoffeeResourceSet(absolutePath);
}
- loadResource(modelURI.toString());
+ loadResource(absolutePath.toString());
}
}
}
+ /**
+ * Get the resource set that manages the given coffee semantic model resource, creating
+ * it if necessary.
+ *
+ * @param modelURI a coffee semantic model resource URI
+ * @return its resource set
+ */
+ protected ResourceSet getCoffeeResourceSet(final URI modelURI) {
+ ResourceSet result = resourceSets.get(modelURI);
+ if (result == null) {
+ result = resourceSetFactory.createResourceSet(modelURI);
+ resourceSets.put(modelURI, result);
+ }
+ return result;
+ }
+
@Override
public ResourceSet getResourceSet(final String modeluri) {
- URI modelURI = createURI(modeluri);
- if (NotationUtil.NOTATION_EXTENSION.equals(modelURI.fileExtension())) {
- URI semanticUri = createURI(modeluri).trimFileExtension()
- .appendFileExtension(CoffeeResource.FILE_EXTENSION);
- return resourceSets.get(semanticUri);
+ URI resourceURI = createURI(modeluri);
+ if (notationFileExtension.equals(resourceURI.fileExtension())) {
+ URI semanticUri = resourceURI.trimFileExtension().appendFileExtension(semanticFileExtension);
+ return getCoffeeResourceSet(semanticUri);
}
- return resourceSets.get(createURI(modeluri));
+ return resourceSets.get(resourceURI);
}
@Override
public boolean save(final String modeluri) {
boolean result = false;
for (Resource resource : getResourceSet(modeluri).getResources()) {
- result = saveResource(resource);
+ result = saveResource(resource) || result;
}
if (result) {
getEditingDomain(getResourceSet(modeluri)).saveIsDone();
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerClient.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerClient.java
deleted file mode 100644
index daffc75d..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerClient.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver;
-
-import java.net.MalformedURLException;
-import java.util.Map;
-
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
-import org.eclipse.emfcloud.modelserver.client.v1.ModelServerClientV1;
-import org.eclipse.emfcloud.modelserver.common.ModelServerPathParametersV1;
-import org.eclipse.emfcloud.modelserver.common.codecs.Codec;
-import org.eclipse.emfcloud.modelserver.common.codecs.DefaultJsonCodec;
-import org.eclipse.emfcloud.modelserver.common.codecs.XmiCodec;
-import org.eclipse.emfcloud.modelserver.emf.configuration.EPackageConfiguration;
-
-public class CoffeeModelServerClient extends ModelServerClientV1 {
-
- private static final Map SUPPORTED_COFFEE_FORMATS = Map.of(
- ModelServerPathParametersV1.FORMAT_JSON, new DefaultJsonCodec(),
- ModelServerPathParametersV1.FORMAT_XMI, new XmiCodec(),
- CoffeeResource.FILE_EXTENSION, new CoffeeCodec());
-
- public CoffeeModelServerClient(final String baseUrl, final EPackageConfiguration... configurations)
- throws MalformedURLException {
- super(baseUrl, SUPPORTED_COFFEE_FORMATS, configurations);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerModule.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerModule.java
index 61cc9dfb..f8c1a753 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerModule.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerModule.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -20,15 +20,14 @@
import org.eclipse.emfcloud.coffee.modelserver.commands.contributions.RemoveNodeCommandContribution;
import org.eclipse.emfcloud.coffee.modelserver.commands.contributions.SetFlowSourceCommandContribution;
import org.eclipse.emfcloud.coffee.modelserver.commands.contributions.SetFlowTargetCommandContribution;
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
-import org.eclipse.emfcloud.modelserver.common.ModelServerPathParametersV1;
-import org.eclipse.emfcloud.modelserver.common.codecs.Codec;
import org.eclipse.emfcloud.modelserver.common.utils.MapBinding;
import org.eclipse.emfcloud.modelserver.common.utils.MultiBinding;
import org.eclipse.emfcloud.modelserver.edit.CommandContribution;
import org.eclipse.emfcloud.modelserver.emf.common.ModelResourceManager;
+import org.eclipse.emfcloud.modelserver.emf.common.ResourceSetFactory;
import org.eclipse.emfcloud.modelserver.emf.configuration.EPackageConfiguration;
-import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelServerModule;
+import org.eclipse.emfcloud.modelserver.notation.integration.EMSNotationModelServerModule;
+import org.eclipse.emfcloud.modelserver.notation.integration.NotationResource;
public class CoffeeModelServerModule extends EMSNotationModelServerModule {
@@ -44,10 +43,8 @@ protected void configureEPackages(final MultiBinding bind
}
@Override
- protected void configureCodecs(final MapBinding binding) {
- super.configureCodecs(binding);
- binding.put(CoffeeResource.FILE_EXTENSION, CoffeeCodec.class);
- binding.put(ModelServerPathParametersV1.FORMAT_JSON, CoffeeTreeJsonCodec.class);
+ protected Class extends ResourceSetFactory> bindResourceSetFactory() {
+ return CoffeeResourceSetFactory.class;
}
@Override
@@ -69,4 +66,10 @@ protected void configureCommandCodecs(final MapBinding getFileExtensions() { return Lists.newArrayList(CoffeeResource.FILE_EXTENSION, "json"); }
+ public Collection getFileExtensions() {
+ return Lists.newArrayList(CoffeeResource.FILE_EXTENSION, ModelServerPathParametersV2.FORMAT_JSON);
+ }
@Override
public void registerEPackage() {
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResource.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeResource.java
similarity index 70%
rename from backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResource.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeResource.java
index c7da61d9..615dfb4c 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.model/src/org/eclipse/emfcloud/coffee/util/CoffeeResource.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeResource.java
@@ -1,5 +1,5 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+/********************************************************************************
+ * Copyright (c) 2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -7,17 +7,16 @@
* available at https://opensource.org/licenses/MIT.
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.util;
+ ********************************************************************************/
+package org.eclipse.emfcloud.coffee.modelserver;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.emfcloud.coffee.util.CoffeeResourceFactoryImpl;
public interface CoffeeResource extends XMIResource {
- public interface Factory extends Resource.Factory {
- Factory INSTANCE = new CoffeeResourceFactoryImpl();
- }
+ Resource.Factory FACTORY = new CoffeeResourceFactoryImpl();
String FILE_EXTENSION = "coffee";
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeResourceSetFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeResourceSetFactory.java
new file mode 100644
index 00000000..8fa75194
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeResourceSetFactory.java
@@ -0,0 +1,42 @@
+/********************************************************************************
+ * Copyright (c) 2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ********************************************************************************/
+package org.eclipse.emfcloud.coffee.modelserver;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emfcloud.modelserver.emf.common.DefaultResourceSetFactory;
+import org.eclipse.emfcloud.modelserver.integration.SemanticFileExtension;
+import org.eclipse.emfcloud.modelserver.notation.integration.NotationFileExtension;
+import org.eclipse.emfcloud.modelserver.notation.integration.NotationResource;
+
+import com.google.inject.Inject;
+
+public class CoffeeResourceSetFactory extends DefaultResourceSetFactory {
+
+ @Inject
+ @SemanticFileExtension
+ protected String semanticFileExtension;
+ @Inject
+ @NotationFileExtension
+ protected String notationFileExtension;
+
+ @Override
+ public ResourceSet createResourceSet(final URI modelURI) {
+ ResourceSet result = super.createResourceSet(modelURI);
+
+ result.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
+ semanticFileExtension, CoffeeResource.FACTORY);
+ result.getResourceFactoryRegistry().getExtensionToFactoryMap().put(
+ notationFileExtension, NotationResource.FACTORY);
+
+ return result;
+ }
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddAutomatedTaskCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddAutomatedTaskCompoundCommand.java
index 818083f4..8544ab11 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddAutomatedTaskCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddAutomatedTaskCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,8 +16,8 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.AddNodeShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.AddAutomatedTaskCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.AddShapeCommand;
import org.eclipse.glsp.graph.GPoint;
public class AddAutomatedTaskCompoundCommand extends CompoundCommand {
@@ -27,6 +27,6 @@ public AddAutomatedTaskCompoundCommand(final EditingDomain domain, final URI mod
AddAutomatedTaskCommand command = new AddAutomatedTaskCommand(domain, modelUri);
this.append(command);
Supplier semanticResultSupplier = () -> command.getNode();
- this.append(new AddNodeShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
+ this.append(new AddShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddDecisionNodeCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddDecisionNodeCompoundCommand.java
index 3ab0da56..59a22069 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddDecisionNodeCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddDecisionNodeCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,8 +16,8 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.AddNodeShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.AddDecisionNodeCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.AddShapeCommand;
import org.eclipse.glsp.graph.GPoint;
public class AddDecisionNodeCompoundCommand extends CompoundCommand {
@@ -27,6 +27,6 @@ public AddDecisionNodeCompoundCommand(final EditingDomain domain, final URI mode
AddDecisionNodeCommand command = new AddDecisionNodeCommand(domain, modelUri);
this.append(command);
Supplier semanticResultSupplier = () -> command.getNode();
- this.append(new AddNodeShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
+ this.append(new AddShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddFlowCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddFlowCompoundCommand.java
index f7bfb56c..9ecba53a 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddFlowCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddFlowCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,17 +16,17 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.AddFlowShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.AddFlowCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.AddEdgeCommand;
public class AddFlowCompoundCommand extends CompoundCommand {
- public AddFlowCompoundCommand(final EditingDomain domain, final URI modelUri, final String sourceUriFragment,
- final String targetUriFragment) {
+ public AddFlowCompoundCommand(final EditingDomain domain, final URI modelUri, final String sourceElementId,
+ final String targetElementId) {
// Chain semantic and notation command
- AddFlowCommand command = new AddFlowCommand(domain, modelUri, sourceUriFragment, targetUriFragment);
+ AddFlowCommand command = new AddFlowCommand(domain, modelUri, sourceElementId, targetElementId);
this.append(command);
Supplier semanticResultSupplier = () -> command.getFlow();
- this.append(new AddFlowShapeCommand(domain, modelUri, semanticResultSupplier));
+ this.append(new AddEdgeCommand(domain, modelUri, semanticResultSupplier));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddManualTaskCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddManualTaskCompoundCommand.java
index e85c1402..48f1e6ee 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddManualTaskCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddManualTaskCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,8 +16,8 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.AddNodeShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.AddManualTaskCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.AddShapeCommand;
import org.eclipse.glsp.graph.GPoint;
public class AddManualTaskCompoundCommand extends CompoundCommand {
@@ -27,6 +27,6 @@ public AddManualTaskCompoundCommand(final EditingDomain domain, final URI modelU
AddManualTaskCommand command = new AddManualTaskCommand(domain, modelUri);
this.append(command);
Supplier semanticResultSupplier = () -> command.getNode();
- this.append(new AddNodeShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
+ this.append(new AddShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddMergeNodeCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddMergeNodeCompoundCommand.java
index ad76fd1c..e2e13165 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddMergeNodeCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddMergeNodeCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,8 +16,8 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.AddNodeShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.AddMergeNodeCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.AddShapeCommand;
import org.eclipse.glsp.graph.GPoint;
public class AddMergeNodeCompoundCommand extends CompoundCommand {
@@ -27,6 +27,6 @@ public AddMergeNodeCompoundCommand(final EditingDomain domain, final URI modelUr
AddMergeNodeCommand command = new AddMergeNodeCommand(domain, modelUri);
this.append(command);
Supplier semanticResultSupplier = () -> command.getNode();
- this.append(new AddNodeShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
+ this.append(new AddShapeCommand(domain, modelUri, classPosition, semanticResultSupplier));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddWeightedFlowCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddWeightedFlowCompoundCommand.java
index c12ef767..084347a6 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddWeightedFlowCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/AddWeightedFlowCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,18 +16,18 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.AddFlowShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.AddWeightedFlowCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.AddEdgeCommand;
public class AddWeightedFlowCompoundCommand extends CompoundCommand {
public AddWeightedFlowCompoundCommand(final EditingDomain domain, final URI modelUri,
- final String sourceUriFragment, final String targetUriFragment) {
+ final String sourceElementId, final String targetElementId) {
// Chain semantic and notation command
- AddWeightedFlowCommand command = new AddWeightedFlowCommand(domain, modelUri, sourceUriFragment,
- targetUriFragment);
+ AddWeightedFlowCommand command = new AddWeightedFlowCommand(domain, modelUri, sourceElementId,
+ targetElementId);
this.append(command);
Supplier semanticResultSupplier = () -> command.getFlow();
- this.append(new AddFlowShapeCommand(domain, modelUri, semanticResultSupplier));
+ this.append(new AddEdgeCommand(domain, modelUri, semanticResultSupplier));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveFlowCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveFlowCompoundCommand.java
index 933b9ee2..55035c04 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveFlowCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveFlowCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -13,13 +13,13 @@
import org.eclipse.emf.common.command.CompoundCommand;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.RemoveFlowEdgeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.RemoveFlowCommand;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.RemoveNotationElementCommand;
public class RemoveFlowCompoundCommand extends CompoundCommand {
- public RemoveFlowCompoundCommand(final EditingDomain domain, final URI modelUri, final String semanticUriFragment) {
- this.append(new RemoveFlowCommand(domain, modelUri, semanticUriFragment));
- this.append(new RemoveFlowEdgeCommand(domain, modelUri, semanticUriFragment));
+ public RemoveFlowCompoundCommand(final EditingDomain domain, final URI modelUri, final String semanticElementId) {
+ this.append(new RemoveFlowCommand(domain, modelUri, semanticElementId));
+ this.append(new RemoveNotationElementCommand(domain, modelUri, semanticElementId));
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveNodeCompoundCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveNodeCompoundCommand.java
index 63f90a69..dff6d5ed 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveNodeCompoundCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/compound/RemoveNodeCompoundCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,25 +21,25 @@
import org.eclipse.emfcloud.coffee.Flow;
import org.eclipse.emfcloud.coffee.Node;
import org.eclipse.emfcloud.coffee.Workflow;
-import org.eclipse.emfcloud.coffee.modelserver.commands.notation.RemoveNodeShapeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.semantic.RemoveNodeCommand;
import org.eclipse.emfcloud.coffee.modelserver.commands.util.SemanticCommandUtil;
+import org.eclipse.emfcloud.modelserver.glsp.notation.commands.RemoveNotationElementCommand;
public class RemoveNodeCompoundCommand extends CompoundCommand {
- public RemoveNodeCompoundCommand(final EditingDomain domain, final URI modelUri, final String semanticUriFragment) {
- this.append(new RemoveNodeCommand(domain, modelUri, semanticUriFragment));
- this.append(new RemoveNodeShapeCommand(domain, modelUri, semanticUriFragment));
+ public RemoveNodeCompoundCommand(final EditingDomain domain, final URI modelUri, final String semanticElementId) {
+ this.append(new RemoveNodeCommand(domain, modelUri, semanticElementId));
+ this.append(new RemoveNotationElementCommand(domain, modelUri, semanticElementId));
Workflow workflow = SemanticCommandUtil.getModel(modelUri, domain);
- Node nodeToRemove = SemanticCommandUtil.getElement(workflow, semanticUriFragment, Node.class);
+ Node nodeToRemove = SemanticCommandUtil.getElement(workflow, semanticElementId, Node.class);
Collection nodeUsages = UsageCrossReferencer.find(nodeToRemove, workflow.eResource());
for (Setting setting : nodeUsages) {
EObject eObject = setting.getEObject();
if (eObject instanceof Flow && eObject.eContainer() == workflow) {
- String flowSemanticUriFragment = SemanticCommandUtil.getSemanticUriFragment(eObject);
- this.append(new RemoveFlowCompoundCommand(domain, modelUri, flowSemanticUriFragment));
+ String flowId = SemanticCommandUtil.getSemanticElementId(eObject);
+ this.append(new RemoveFlowCompoundCommand(domain, modelUri, flowId));
}
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddFlowCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddFlowCommandContribution.java
index f358c7ee..c149aca3 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddFlowCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddFlowCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,20 +23,20 @@ public class AddFlowCommandContribution extends CompoundCommandContribution {
public static final String TYPE = "addFlowContribution";
- public static CCompoundCommand create(final String sourceUriFragment, final String targetUriFragment) {
+ public static CCompoundCommand create(final String sourceElementId, final String targetElementId) {
CCompoundCommand command = CCommandFactory.eINSTANCE.createCompoundCommand();
command.setType(TYPE);
- command.getProperties().put(SOURCE_URI_FRAGMENT, sourceUriFragment);
- command.getProperties().put(TARGET_URI_FRAGMENT, targetUriFragment);
+ command.getProperties().put(SOURCE_ELEMENT_ID, sourceElementId);
+ command.getProperties().put(TARGET_ELEMENT_ID, targetElementId);
return command;
}
@Override
protected Command toServer(final URI modelUri, final EditingDomain domain, final CCommand command)
throws DecodingException {
- String sourceUriFragment = command.getProperties().get(SOURCE_URI_FRAGMENT);
- String targetUriFragment = command.getProperties().get(TARGET_URI_FRAGMENT);
- return new AddFlowCompoundCommand(domain, modelUri, sourceUriFragment, targetUriFragment);
+ String sourceElementId = command.getProperties().get(SOURCE_ELEMENT_ID);
+ String targetElementId = command.getProperties().get(TARGET_ELEMENT_ID);
+ return new AddFlowCompoundCommand(domain, modelUri, sourceElementId, targetElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddWeightedFlowCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddWeightedFlowCommandContribution.java
index 4fb7b956..25c1518c 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddWeightedFlowCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/AddWeightedFlowCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,20 +23,20 @@ public class AddWeightedFlowCommandContribution extends CompoundCommandContribut
public static final String TYPE = "addWeightedFlowContribution";
- public static CCompoundCommand create(final String sourceUriFragment, final String targetUriFragment) {
+ public static CCompoundCommand create(final String sourceElementId, final String targetElementId) {
CCompoundCommand command = CCommandFactory.eINSTANCE.createCompoundCommand();
command.setType(TYPE);
- command.getProperties().put(SOURCE_URI_FRAGMENT, sourceUriFragment);
- command.getProperties().put(TARGET_URI_FRAGMENT, targetUriFragment);
+ command.getProperties().put(SOURCE_ELEMENT_ID, sourceElementId);
+ command.getProperties().put(TARGET_ELEMENT_ID, targetElementId);
return command;
}
@Override
protected Command toServer(final URI modelUri, final EditingDomain domain, final CCommand command)
throws DecodingException {
- String sourceUriFragment = command.getProperties().get(SOURCE_URI_FRAGMENT);
- String targetUriFragment = command.getProperties().get(TARGET_URI_FRAGMENT);
- return new AddWeightedFlowCompoundCommand(domain, modelUri, sourceUriFragment, targetUriFragment);
+ String sourceElementId = command.getProperties().get(SOURCE_ELEMENT_ID);
+ String targetElementId = command.getProperties().get(TARGET_ELEMENT_ID);
+ return new AddWeightedFlowCompoundCommand(domain, modelUri, sourceElementId, targetElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/CompoundCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/CompoundCommandContribution.java
index a8eee2e9..42ba8f77 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/CompoundCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/CompoundCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -15,8 +15,8 @@
public abstract class CompoundCommandContribution extends BasicCommandContribution {
- public static final String SEMANTIC_URI_FRAGMENT = "semanticUriFragment";
+ public static final String SEMANTIC_ELEMENT_ID = "semanticElementId";
- public static final String SOURCE_URI_FRAGMENT = "sourceUriFragment";
- public static final String TARGET_URI_FRAGMENT = "targetUriFragment";
+ public static final String SOURCE_ELEMENT_ID = "sourceElementId";
+ public static final String TARGET_ELEMENT_ID = "targetElementId";
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveFlowCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveFlowCommandContribution.java
index 03ebdbc2..2b6ce013 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveFlowCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveFlowCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,18 +23,18 @@ public class RemoveFlowCommandContribution extends CompoundCommandContribution {
public static final String TYPE = "removeFlow";
- public static CCompoundCommand create(final String semanticUri) {
+ public static CCompoundCommand create(final String semanticElementId) {
CCompoundCommand removeNodeCommand = CCommandFactory.eINSTANCE.createCompoundCommand();
removeNodeCommand.setType(TYPE);
- removeNodeCommand.getProperties().put(SEMANTIC_URI_FRAGMENT, semanticUri);
+ removeNodeCommand.getProperties().put(SEMANTIC_ELEMENT_ID, semanticElementId);
return removeNodeCommand;
}
@Override
protected Command toServer(final URI modelUri, final EditingDomain domain, final CCommand command)
throws DecodingException {
- String semanticUriFragment = command.getProperties().get(SEMANTIC_URI_FRAGMENT);
- return new RemoveFlowCompoundCommand(domain, modelUri, semanticUriFragment);
+ String semanticElementId = command.getProperties().get(SEMANTIC_ELEMENT_ID);
+ return new RemoveFlowCompoundCommand(domain, modelUri, semanticElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveNodeCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveNodeCommandContribution.java
index b1241df0..3fe2e6fc 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveNodeCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/RemoveNodeCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,18 +23,18 @@ public class RemoveNodeCommandContribution extends CompoundCommandContribution {
public static final String TYPE = "removeNode";
- public static CCompoundCommand create(final String semanticUri) {
+ public static CCompoundCommand create(final String semanticElementId) {
CCompoundCommand removeFlowCommand = CCommandFactory.eINSTANCE.createCompoundCommand();
removeFlowCommand.setType(TYPE);
- removeFlowCommand.getProperties().put(SEMANTIC_URI_FRAGMENT, semanticUri);
+ removeFlowCommand.getProperties().put(SEMANTIC_ELEMENT_ID, semanticElementId);
return removeFlowCommand;
}
@Override
protected Command toServer(final URI modelUri, final EditingDomain domain, final CCommand command)
throws DecodingException {
- String semanticUriFragment = command.getProperties().get(SEMANTIC_URI_FRAGMENT);
- return new RemoveNodeCompoundCommand(domain, modelUri, semanticUriFragment);
+ String semanticElementId = command.getProperties().get(SEMANTIC_ELEMENT_ID);
+ return new RemoveNodeCompoundCommand(domain, modelUri, semanticElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SemanticCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SemanticCommandContribution.java
index 6199d185..3e7b6d8a 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SemanticCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SemanticCommandContribution.java
@@ -1,5 +1,5 @@
/********************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -15,7 +15,7 @@
public abstract class SemanticCommandContribution extends BasicCommandContribution {
- public static final String SEMANTIC_URI_FRAGMENT = "semanticUriFragment";
- public static final String PARENT_SEMANTIC_URI_FRAGMENT = "parentSemanticUriFragment";
+ public static final String SEMANTIC_ELEMENT_ID = "semanticElementId";
+ public static final String PARENT_SEMANTIC_ELEMENT_ID = "parentSemanticElementId";
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowSourceCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowSourceCommandContribution.java
index 549799c5..be69abfa 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowSourceCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowSourceCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,13 +21,13 @@
public class SetFlowSourceCommandContribution extends SemanticCommandContribution {
public static final String TYPE = "setFlowSource";
- public static final String NEW_SOURCE_URI = "newSourceUri";
+ public static final String NEW_SOURCE_ELEMENT_ID = "newSourceElementId";
- public static CCommand create(final String semanticUri, final String newTargetUriFragment) {
+ public static CCommand create(final String semanticElementId, final String newSourceElementId) {
CCommand setSourceCommand = CCommandFactory.eINSTANCE.createCommand();
setSourceCommand.setType(TYPE);
- setSourceCommand.getProperties().put(SEMANTIC_URI_FRAGMENT, semanticUri);
- setSourceCommand.getProperties().put(NEW_SOURCE_URI, newTargetUriFragment);
+ setSourceCommand.getProperties().put(SEMANTIC_ELEMENT_ID, semanticElementId);
+ setSourceCommand.getProperties().put(NEW_SOURCE_ELEMENT_ID, newSourceElementId);
return setSourceCommand;
}
@@ -35,10 +35,10 @@ public static CCommand create(final String semanticUri, final String newTargetUr
protected Command toServer(final URI modelUri, final EditingDomain domain, final CCommand command)
throws DecodingException {
- String semanticUriFragment = command.getProperties().get(SEMANTIC_URI_FRAGMENT);
- String newSourceUriFragment = command.getProperties().get(NEW_SOURCE_URI);
+ String semanticElementId = command.getProperties().get(SEMANTIC_ELEMENT_ID);
+ String newSourceElementId = command.getProperties().get(NEW_SOURCE_ELEMENT_ID);
- return new SetFlowSourceCommand(domain, modelUri, semanticUriFragment, newSourceUriFragment);
+ return new SetFlowSourceCommand(domain, modelUri, semanticElementId, newSourceElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowTargetCommandContribution.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowTargetCommandContribution.java
index e530879b..aa5e87ba 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowTargetCommandContribution.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/contributions/SetFlowTargetCommandContribution.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -21,13 +21,13 @@
public class SetFlowTargetCommandContribution extends SemanticCommandContribution {
public static final String TYPE = "setFlowTarget";
- public static final String NEW_TARGET_URI = "newTargetUri";
+ public static final String NEW_TARGET_ELEMENT_ID = "newTargetElementId";
- public static CCommand create(final String semanticUri, final String newTargetUriFragment) {
+ public static CCommand create(final String semanticElementId, final String newTargetElementId) {
CCommand setTargetCommand = CCommandFactory.eINSTANCE.createCommand();
setTargetCommand.setType(TYPE);
- setTargetCommand.getProperties().put(SEMANTIC_URI_FRAGMENT, semanticUri);
- setTargetCommand.getProperties().put(NEW_TARGET_URI, newTargetUriFragment);
+ setTargetCommand.getProperties().put(SEMANTIC_ELEMENT_ID, semanticElementId);
+ setTargetCommand.getProperties().put(NEW_TARGET_ELEMENT_ID, newTargetElementId);
return setTargetCommand;
}
@@ -35,10 +35,10 @@ public static CCommand create(final String semanticUri, final String newTargetUr
protected Command toServer(final URI modelUri, final EditingDomain domain, final CCommand command)
throws DecodingException {
- String semanticUriFragment = command.getProperties().get(SEMANTIC_URI_FRAGMENT);
- String newTargetUriFragment = command.getProperties().get(NEW_TARGET_URI);
+ String semanticElementId = command.getProperties().get(SEMANTIC_ELEMENT_ID);
+ String newTargetElementId = command.getProperties().get(NEW_TARGET_ELEMENT_ID);
- return new SetFlowTargetCommand(domain, modelUri, semanticUriFragment, newTargetUriFragment);
+ return new SetFlowTargetCommand(domain, modelUri, semanticElementId, newTargetElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/AddFlowShapeCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/AddFlowShapeCommand.java
deleted file mode 100644
index af58182a..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/AddFlowShapeCommand.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver.commands.notation;
-
-import java.util.function.Supplier;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Edge;
-import org.eclipse.emfcloud.modelserver.glsp.notation.NotationFactory;
-import org.eclipse.emfcloud.modelserver.glsp.notation.SemanticProxy;
-import org.eclipse.emfcloud.modelserver.glsp.notation.commands.NotationElementCommand;
-
-public class AddFlowShapeCommand extends NotationElementCommand {
-
- protected Supplier flowSupplier;
- protected String semanticProxyUri;
-
- private AddFlowShapeCommand(final EditingDomain domain, final URI modelUri) {
- super(domain, modelUri);
- }
-
- public AddFlowShapeCommand(final EditingDomain domain, final URI modelUri, final String semanticProxyUri) {
- super(domain, modelUri);
- this.semanticProxyUri = semanticProxyUri;
- }
-
- public AddFlowShapeCommand(final EditingDomain domain, final URI modelUri, final Supplier flowSupplier) {
- super(domain, modelUri);
- this.flowSupplier = flowSupplier;
- }
-
- @Override
- protected void doExecute() {
- Edge edge = NotationFactory.eINSTANCE.createEdge();
-
- SemanticProxy proxy = NotationFactory.eINSTANCE.createSemanticProxy();
- if (this.semanticProxyUri != null) {
- proxy.setUri(this.semanticProxyUri);
- } else {
- proxy.setUri(EcoreUtil.getURI(flowSupplier.get()).fragment());
- }
- edge.setSemanticElement(proxy);
-
- notationDiagram.getElements().add(edge);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/AddNodeShapeCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/AddNodeShapeCommand.java
deleted file mode 100644
index 064ea9b8..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/AddNodeShapeCommand.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver.commands.notation;
-
-import java.util.function.Supplier;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.modelserver.glsp.notation.NotationFactory;
-import org.eclipse.emfcloud.modelserver.glsp.notation.SemanticProxy;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Shape;
-import org.eclipse.emfcloud.modelserver.glsp.notation.commands.NotationElementCommand;
-import org.eclipse.glsp.graph.GPoint;
-
-public class AddNodeShapeCommand extends NotationElementCommand {
-
- protected final GPoint shapePosition;
- protected String semanticProxyUri;
- protected Supplier nodeSupplier;
-
- private AddNodeShapeCommand(final EditingDomain domain, final URI modelUri, final GPoint position) {
- super(domain, modelUri);
- this.shapePosition = position;
- this.nodeSupplier = null;
- this.semanticProxyUri = null;
- }
-
- public AddNodeShapeCommand(final EditingDomain domain, final URI modelUri, final GPoint position,
- final String semanticProxyUri) {
- this(domain, modelUri, position);
- this.semanticProxyUri = semanticProxyUri;
- }
-
- public AddNodeShapeCommand(final EditingDomain domain, final URI modelUri, final GPoint position,
- final Supplier nodeSupplier) {
- this(domain, modelUri, position);
- this.nodeSupplier = nodeSupplier;
- }
-
- @Override
- protected void doExecute() {
- Shape shape = NotationFactory.eINSTANCE.createShape();
- shape.setPosition(shapePosition);
-
- SemanticProxy proxy = NotationFactory.eINSTANCE.createSemanticProxy();
- if (this.semanticProxyUri != null) {
- proxy.setUri(this.semanticProxyUri);
- } else {
- proxy.setUri(EcoreUtil.getURI(nodeSupplier.get()).fragment());
- }
- shape.setSemanticElement(proxy);
-
- notationDiagram.getElements().add(shape);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/RemoveFlowEdgeCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/RemoveFlowEdgeCommand.java
deleted file mode 100644
index 22edbfa6..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/RemoveFlowEdgeCommand.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver.commands.notation;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Edge;
-import org.eclipse.emfcloud.modelserver.glsp.notation.commands.NotationElementCommand;
-import org.eclipse.emfcloud.modelserver.glsp.notation.commands.util.NotationCommandUtil;
-
-public class RemoveFlowEdgeCommand extends NotationElementCommand {
-
- protected final Edge edgeToRemove;
-
- public RemoveFlowEdgeCommand(final EditingDomain domain, final URI modelUri, final String semanticProxyUri) {
- super(domain, modelUri);
- edgeToRemove = NotationCommandUtil.getNotationElement(modelUri, domain, semanticProxyUri, Edge.class);
- }
-
- @Override
- protected void doExecute() {
- notationDiagram.getElements().remove(edgeToRemove);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/RemoveNodeShapeCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/RemoveNodeShapeCommand.java
deleted file mode 100644
index 5a78e4b5..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/notation/RemoveNodeShapeCommand.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver.commands.notation;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Shape;
-import org.eclipse.emfcloud.modelserver.glsp.notation.commands.NotationElementCommand;
-import org.eclipse.emfcloud.modelserver.glsp.notation.commands.util.NotationCommandUtil;
-
-public class RemoveNodeShapeCommand extends NotationElementCommand {
-
- protected final Shape shapeToRemove;
-
- public RemoveNodeShapeCommand(final EditingDomain domain, final URI modelUri, final String semanticProxyUri) {
- super(domain, modelUri);
- shapeToRemove = NotationCommandUtil.getNotationElement(modelUri, domain, semanticProxyUri, Shape.class);
- }
-
- @Override
- protected void doExecute() {
- notationDiagram.getElements().remove(shapeToRemove);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddFlowCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddFlowCommand.java
index 2a9c5bf6..71bd4b0c 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddFlowCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddFlowCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -10,6 +10,8 @@
******************************************************************************/
package org.eclipse.emfcloud.coffee.modelserver.commands.semantic;
+import java.util.UUID;
+
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.edit.domain.EditingDomain;
@@ -25,11 +27,12 @@ public abstract class AbstractAddFlowCommand extends SemanticElementCommand {
protected final Node target;
public AbstractAddFlowCommand(final EditingDomain domain, final URI modelUri, final EClass eClass,
- final String sourceUriFragment, final String targetUriFragment) {
+ final String sourceElementId, final String targetElementId) {
super(domain, modelUri);
flow = (Flow) CoffeeFactory.eINSTANCE.create(eClass);
- source = SemanticCommandUtil.getElement(semanticModel, sourceUriFragment, Node.class);
- target = SemanticCommandUtil.getElement(semanticModel, targetUriFragment, Node.class);
+ flow.setId(UUID.randomUUID().toString());
+ source = SemanticCommandUtil.getElement(semanticModel, sourceElementId, Node.class);
+ target = SemanticCommandUtil.getElement(semanticModel, targetElementId, Node.class);
}
@Override
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddNodeCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddNodeCommand.java
index 39df6be1..361545d3 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddNodeCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AbstractAddNodeCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -10,6 +10,8 @@
******************************************************************************/
package org.eclipse.emfcloud.coffee.modelserver.commands.semantic;
+import java.util.UUID;
+
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.edit.domain.EditingDomain;
@@ -23,6 +25,7 @@ public abstract class AbstractAddNodeCommand extends SemanticElementCommand {
public AbstractAddNodeCommand(final EditingDomain domain, final URI modelUri, final EClass eClass) {
super(domain, modelUri);
node = (Node) CoffeeFactory.eINSTANCE.create(eClass);
+ node.setId(UUID.randomUUID().toString());
}
@Override
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddFlowCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddFlowCommand.java
index e72f7b53..6078ec40 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddFlowCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddFlowCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,8 +16,8 @@
public class AddFlowCommand extends AbstractAddFlowCommand {
- public AddFlowCommand(final EditingDomain domain, final URI modelUri, final String sourceUriFragment,
- final String targetUriFragment) {
- super(domain, modelUri, CoffeePackage.Literals.FLOW, sourceUriFragment, targetUriFragment);
+ public AddFlowCommand(final EditingDomain domain, final URI modelUri, final String sourceElementId,
+ final String targetElementId) {
+ super(domain, modelUri, CoffeePackage.Literals.FLOW, sourceElementId, targetElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddWeightedFlowCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddWeightedFlowCommand.java
index 3ec4df92..0a98427c 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddWeightedFlowCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/AddWeightedFlowCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -16,8 +16,8 @@
public class AddWeightedFlowCommand extends AbstractAddFlowCommand {
- public AddWeightedFlowCommand(final EditingDomain domain, final URI modelUri, final String sourceUriFragment,
- final String targetUriFragment) {
- super(domain, modelUri, CoffeePackage.Literals.WEIGHTED_FLOW, sourceUriFragment, targetUriFragment);
+ public AddWeightedFlowCommand(final EditingDomain domain, final URI modelUri, final String sourceElementId,
+ final String targetElementId) {
+ super(domain, modelUri, CoffeePackage.Literals.WEIGHTED_FLOW, sourceElementId, targetElementId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveFlowCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveFlowCommand.java
index 0f7b573c..855624d3 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveFlowCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveFlowCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,16 +17,16 @@
public class RemoveFlowCommand extends SemanticElementCommand {
- protected final String semanticUriFragment;
+ protected final String semanticElementId;
- public RemoveFlowCommand(final EditingDomain domain, final URI modelUri, final String semanticUriFragment) {
+ public RemoveFlowCommand(final EditingDomain domain, final URI modelUri, final String semanticElementId) {
super(domain, modelUri);
- this.semanticUriFragment = semanticUriFragment;
+ this.semanticElementId = semanticElementId;
}
@Override
protected void doExecute() {
- Flow flowToDelete = SemanticCommandUtil.getElement(semanticModel, semanticUriFragment, Flow.class);
+ Flow flowToDelete = SemanticCommandUtil.getElement(semanticModel, semanticElementId, Flow.class);
semanticModel.getFlows().remove(flowToDelete);
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveNodeCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveNodeCommand.java
index 17d3d0d4..d772ea0c 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveNodeCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/RemoveNodeCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,16 +17,16 @@
public class RemoveNodeCommand extends SemanticElementCommand {
- protected final String semanticUriFragment;
+ protected final String semanticElementId;
- public RemoveNodeCommand(final EditingDomain domain, final URI modelUri, final String semanticUriFragment) {
+ public RemoveNodeCommand(final EditingDomain domain, final URI modelUri, final String semanticElementId) {
super(domain, modelUri);
- this.semanticUriFragment = semanticUriFragment;
+ this.semanticElementId = semanticElementId;
}
@Override
protected void doExecute() {
- Node nodeToDelete = SemanticCommandUtil.getElement(semanticModel, semanticUriFragment, Node.class);
+ Node nodeToDelete = SemanticCommandUtil.getElement(semanticModel, semanticElementId, Node.class);
semanticModel.getNodes().remove(nodeToDelete);
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowSourceCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowSourceCommand.java
index 46b4f07f..af49660a 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowSourceCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowSourceCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -18,20 +18,20 @@
public class SetFlowSourceCommand extends SemanticElementCommand {
- protected String semanticUriFragment;
- protected String newSourceUriFragment;
+ protected String semanticElementId;
+ protected String newSourceElementId;
- public SetFlowSourceCommand(final EditingDomain domain, final URI modelUri, final String semanticUriFragment,
- final String newSourceUriFragment) {
+ public SetFlowSourceCommand(final EditingDomain domain, final URI modelUri, final String semanticElementId,
+ final String newSourceElementId) {
super(domain, modelUri);
- this.semanticUriFragment = semanticUriFragment;
- this.newSourceUriFragment = newSourceUriFragment;
+ this.semanticElementId = semanticElementId;
+ this.newSourceElementId = newSourceElementId;
}
@Override
protected void doExecute() {
- Flow flow = SemanticCommandUtil.getElement(semanticModel, semanticUriFragment, Flow.class);
- Node newSource = SemanticCommandUtil.getElement(semanticModel, newSourceUriFragment, Node.class);
+ Flow flow = SemanticCommandUtil.getElement(semanticModel, semanticElementId, Flow.class);
+ Node newSource = SemanticCommandUtil.getElement(semanticModel, newSourceElementId, Node.class);
flow.setSource(newSource);
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowTargetCommand.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowTargetCommand.java
index 09657563..f2d0fe88 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowTargetCommand.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/semantic/SetFlowTargetCommand.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -18,20 +18,20 @@
public class SetFlowTargetCommand extends SemanticElementCommand {
- protected String semanticUriFragment;
- protected String newTargetUriFragment;
+ protected String semanticElementId;
+ protected String newTargetElementId;
- public SetFlowTargetCommand(final EditingDomain domain, final URI modelUri, final String semanticUriFragment,
- final String newTargetUriFragment) {
+ public SetFlowTargetCommand(final EditingDomain domain, final URI modelUri, final String semanticElementId,
+ final String newTargetElementId) {
super(domain, modelUri);
- this.semanticUriFragment = semanticUriFragment;
- this.newTargetUriFragment = newTargetUriFragment;
+ this.semanticElementId = semanticElementId;
+ this.newTargetElementId = newTargetElementId;
}
@Override
protected void doExecute() {
- Flow flow = SemanticCommandUtil.getElement(semanticModel, semanticUriFragment, Flow.class);
- Node newTarget = SemanticCommandUtil.getElement(semanticModel, newTargetUriFragment, Node.class);
+ Flow flow = SemanticCommandUtil.getElement(semanticModel, semanticElementId, Flow.class);
+ Node newTarget = SemanticCommandUtil.getElement(semanticModel, newTargetElementId, Node.class);
flow.setTarget(newTarget);
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/util/SemanticCommandUtil.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/util/SemanticCommandUtil.java
index 70d65689..5aaea3e3 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/util/SemanticCommandUtil.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/commands/util/SemanticCommandUtil.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
+ * Copyright (c) 2021-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -23,7 +23,7 @@
import org.eclipse.emfcloud.coffee.Node;
import org.eclipse.emfcloud.coffee.Task;
import org.eclipse.emfcloud.coffee.Workflow;
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
+import org.eclipse.emfcloud.coffee.modelserver.CoffeeResource;
import org.eclipse.emfcloud.modelserver.command.CCommand;
import org.eclipse.emfcloud.modelserver.edit.command.SetCommandContribution;
import org.eclipse.emfcloud.modelserver.edit.util.CommandUtil;
@@ -33,13 +33,16 @@ public final class SemanticCommandUtil {
// Hide constructor for utility class
private SemanticCommandUtil() {}
- public static String getSemanticUriFragment(final EObject element) {
- return EcoreUtil.getURI(element).fragment();
+ // Expect a given EObject with an ID attribute
+ public static String getSemanticElementId(final EObject element) {
+ return EcoreUtil.getID(element);
}
+ public static String getCoffeeFileExtension() { return CoffeeResource.FILE_EXTENSION; }
+
public static Workflow getModel(final URI modelUri, final EditingDomain domain) {
Resource semanticResource = domain.getResourceSet()
- .getResource(modelUri.trimFileExtension().appendFileExtension(CoffeeResource.FILE_EXTENSION), false);
+ .getResource(modelUri.trimFileExtension().appendFileExtension(getCoffeeFileExtension()), false);
EObject semanticRoot = semanticResource.getContents().get(0);
if (!(semanticRoot instanceof Machine)) {
return null;
@@ -52,13 +55,13 @@ public static Workflow getModel(final URI modelUri, final EditingDomain domain)
return machine.getWorkflows().get(0);
}
- public static EObject getElement(final Workflow semanticModel, final String semanticUriFragment) {
- return semanticModel.eResource().getEObject(semanticUriFragment);
+ public static EObject getElement(final Workflow semanticModel, final String semanticElementId) {
+ return semanticModel.eResource().getEObject(semanticElementId);
}
- public static C getElement(final Workflow semanticModel, final String semanticUriFragment,
+ public static C getElement(final Workflow semanticModel, final String semanticElementId,
final java.lang.Class clazz) {
- EObject element = getElement(semanticModel, semanticUriFragment);
+ EObject element = getElement(semanticModel, semanticElementId);
return clazz.cast(element);
}
@@ -68,6 +71,12 @@ public static CCommand createSetTaskNameCommand(final Node taskToRename, final S
CoffeePackage.Literals.TASK__NAME, newName);
}
+ public static CCommand createSetTaskDurationCommand(final Node task, final String ownerRefUri,
+ final int newDuration) {
+ return SetCommandContribution.clientCommand(CommandUtil.createProxy(getEClass(task), ownerRefUri),
+ CoffeePackage.Literals.TASK__DURATION, newDuration);
+ }
+
protected static EClass getEClass(final EObject element) {
if (element instanceof ManualTask) {
return CoffeePackage.Literals.MANUAL_TASK;
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerLauncher.java b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/launch/CoffeeModelServerLauncher.java
similarity index 50%
rename from backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerLauncher.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/launch/CoffeeModelServerLauncher.java
index fd682c44..3e62a9e9 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/CoffeeModelServerLauncher.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.modelserver/src/org/eclipse/emfcloud/coffee/modelserver/launch/CoffeeModelServerLauncher.java
@@ -8,22 +8,35 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.modelserver;
+package org.eclipse.emfcloud.coffee.modelserver.launch;
+import java.io.IOException;
+
+import org.eclipse.emfcloud.coffee.modelserver.CoffeeModelServerModule;
+import org.eclipse.emfcloud.modelserver.emf.launch.CLIBasedModelServerLauncher;
+import org.eclipse.emfcloud.modelserver.emf.launch.CLIParser;
import org.eclipse.emfcloud.modelserver.emf.launch.ModelServerLauncher;
@SuppressWarnings("UncommentedMain")
public final class CoffeeModelServerLauncher {
private CoffeeModelServerLauncher() {}
+ private static String EXECUTABLE_NAME = "org.eclipse.emfcloud.coffee.modelserver-0.1.0-standalone.jar";
+
/**
* Launch Coffee Model Server.
*
* @param args arguments
*/
- public static void main(final String[] args) {
- final ModelServerLauncher launcher = new ModelServerLauncher(new CoffeeModelServerModule());
+ public static void main(final String[] args) throws IOException {
+ final ModelServerLauncher launcher = new CLIBasedModelServerLauncher(createCLIParser(args),
+ new CoffeeModelServerModule());
launcher.run();
}
+ protected static CLIParser createCLIParser(final String[] args) {
+ CLIParser parser = new CLIParser(args, CLIParser.getDefaultCLIOptions(), EXECUTABLE_NAME, 8081);
+ return parser;
+ }
+
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/AnalyzeWorkflow.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/AnalyzeWorkflow.java
index be51867b..36c9d29f 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/AnalyzeWorkflow.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/AnalyzeWorkflow.java
@@ -23,6 +23,7 @@
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.util.EcoreUtil;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import org.eclipse.emfcloud.coffee.AutomaticTask;
import org.eclipse.emfcloud.coffee.CoffeePackage;
@@ -119,7 +120,8 @@ private Node createForkOrJoin(final org.eclipse.emfcloud.coffee.Node node) {
}
private String getId(final org.eclipse.emfcloud.coffee.Node node) {
- return node.eResource().getURIFragment(node);
+ // Node is an identifiable with with an ID attribute
+ return EcoreUtil.getID(node);
}
private void connectSourceAndTarget(final Flow flow) {
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.coffee b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.coffee
index a3a3b8f2..3bd7590f 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.coffee
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.coffee
@@ -1,31 +1,33 @@
-
-
-
-
-
+ name="SuperBrewer3000">
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.wfconfig b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.wfconfig
index 2b18c5c2..05ff3319 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.wfconfig
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.analyzer.coffee/src/org/eclipse/emfcloud/coffee/workflow/analyzer/coffee/SuperBrewer3000.wfconfig
@@ -1,4 +1,5 @@
-workflowModel: "SuperBrewer3000"
+machine: "SuperBrewer3000"
+workflow: "BrewingFlow"
probabilities
low : 0.1
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl.ide/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl.ide/pom.xml
index 4c3a0239..42163cc9 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl.ide/pom.xml
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl.ide/pom.xml
@@ -81,7 +81,7 @@
com.googlecode.addjars-maven-plugin
addjars-maven-plugin
- 1.0.5
+ ${googlecode.addjars.version}
package
@@ -101,7 +101,7 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.0.0
+ ${maven.shade.version}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl/pom.xml
index f8b650c2..a7bb4a16 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl/pom.xml
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.dsl/pom.xml
@@ -42,7 +42,7 @@
org.codehaus.mojo
exec-maven-plugin
- 1.4.0
+ ${codehaus.mojo.exec.version}
mwe2Launcher
@@ -67,7 +67,7 @@
org.eclipse.emf
org.eclipse.emf.mwe2.launch
- 2.11.3
+ ${emf.mwe2.version}
org.eclipse.xtext
@@ -87,7 +87,7 @@
org.eclipse.xtext
xtext-antlr-generator
- [2.1.1, 3)
+ ${xtext.antlr.version}
@@ -131,7 +131,7 @@
org.eclipse.m2e
lifecycle-mapping
- 1.0.0
+ ${eclipse.m2e.lifecycle.version}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.checkstyle b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.checkstyle
deleted file mode 100644
index c654b811..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.checkstyle
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.classpath b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.classpath
deleted file mode 100644
index 685a6999..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.project b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.project
deleted file mode 100644
index c15e8565..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.project
+++ /dev/null
@@ -1,51 +0,0 @@
-
-
- org.eclipse.emfcloud.coffee.workflow.glsp.server.app
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
- net.sf.eclipsecs.core.CheckstyleBuilder
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
- net.sf.eclipsecs.core.CheckstyleNature
-
-
-
- 0
-
- 30
-
- org.eclipse.core.resources.regexFilterMatcher
- node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.core.resources.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.core.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ded3a412..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,520 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=3
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=3
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.launching.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index d177941e..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=ignore
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.ui.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 54b6f7a9..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,137 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=true
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=true
-cleanup.convert_to_enhanced_for_loop=true
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=false
-cleanup.make_parameters_final=true
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=false
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=true
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=true
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=true
-cleanup_profile=_EMF.cloud Cleanup Profile
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_EMF.cloud Formatter Profile
-formatter_settings_version=16
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n */ /**\n * @param ${param} the ${bare_field_name} to set\n */ /**\n * ${tags}\n */ /**\n * \n */ /**\n * @author ${user}\n *\n * ${tags}\n */ /**\n * \n */ /**\n * ${tags}\n */ /**\n * ${tags}\n * ${see_to_target}\n */ /********************************************************************************\n * Copyright (c) ${year} EclipseSource and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * https\://www.eclipse.org/legal/epl-2.0, or the MIT License which is\n * available at https\://opensource.org/licenses/MIT.\n *\n * SPDX-License-Identifier\: EPL-2.0 OR MIT\n ********************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration} \n \n \n \n // ${todo} Auto-generated catch block\n${exception_var}.printStackTrace(); // ${todo} Auto-generated method stub\n${body_statement} ${body_statement}\n// ${todo} Auto-generated constructor stub return ${field}; ${field} \= ${param}; /**\n * @author ${user}\n *\n * ${tags}\n */ \n
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=true
-sp_cleanup.convert_to_enhanced_for_loop=true
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=true
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_autoboxing=true
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_unboxing=true
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/META-INF/MANIFEST.MF b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/META-INF/MANIFEST.MF
deleted file mode 100644
index 65ff7c7d..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.emfcloud.coffee.workflow.glsp.server.app;singleton:=true
-Automatic-Module-Name: org.eclipse.emfcloud.coffee.workflow.glsp.server.app
-Bundle-Version: 0.1.0.qualifier
-Bundle-Vendor: %providerName
-Bundle-RequiredExecutionEnvironment: JavaSE-11
-Require-Bundle: org.eclipse.equinox.event;bundle-version="1.6.0",
- org.eclipse.equinox.app;bundle-version="1.5.0",
- org.eclipse.emfcloud.coffee.workflow.glsp.server;bundle-version="0.1.0"
-Export-Package: org.eclipse.emfcloud.coffee.workflow.glsp.server.app
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/build.properties b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/build.properties
deleted file mode 100644
index caab4c1f..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = target/classes/
-bin.includes = plugin.xml,\
- META-INF/,\
- .
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/plugin.properties b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/plugin.properties
deleted file mode 100644
index d49a9b31..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-pluginName = Coffee Editor GLSP Server App plugin
-providerName = EclipseSource
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/plugin.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/plugin.xml
deleted file mode 100644
index c5ca348b..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/pom.xml
deleted file mode 100644
index 3a2531c4..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/pom.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- 4.0.0
- org.eclipse.emfcloud.coffee.workflow.glsp.server.app
- eclipse-plugin
-
-
- org.eclipse.emfcloud.coffee
- org.eclipse.emfcloud.coffee.parent
- 0.1.0-SNAPSHOT
- ../../releng/org.eclipse.emfcloud.coffee.parent/
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/app/Application.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/app/Application.java
deleted file mode 100644
index f2e3ff46..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.app/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/app/Application.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2020 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- */
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.app;
-
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowGLSPServerLauncher;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-
-/**
- * This class controls all aspects of the application's execution.
- */
-public class Application implements IApplication {
-
- @Override
- public Object start(final IApplicationContext context) throws Exception {
- String[] args = getArgs(context);
- WorkflowGLSPServerLauncher.main(args);
- return null;
- }
-
- private String[] getArgs(final IApplicationContext context) {
- Object object = context.getArguments().get(IApplicationContext.APPLICATION_ARGS);
- if (object instanceof String[]) {
- return (String[]) object;
- }
- return new String[0];
- }
-
- @Override
- public void stop() {
- // Nothing
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.checkstyle b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.checkstyle
deleted file mode 100644
index c654b811..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.checkstyle
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.project b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.project
deleted file mode 100644
index 0424f403..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- org.eclipse.emfcloud.coffee.workflow.glsp.server.feature
-
-
-
-
-
- org.eclipse.pde.FeatureBuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
- net.sf.eclipsecs.core.CheckstyleBuilder
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
- org.eclipse.pde.FeatureNature
- net.sf.eclipsecs.core.CheckstyleNature
-
-
-
- 1646939925523
-
- 30
-
- org.eclipse.core.resources.regexFilterMatcher
- node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.core.resources.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.core.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ded3a412..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,520 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
-org.eclipse.jdt.core.builder.invalidClasspath=abort
-org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
-org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=
-org.eclipse.jdt.core.circularClasspath=error
-org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
-org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency=error
-org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
-org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
-org.eclipse.jdt.core.codeComplete.argumentPrefixes=
-org.eclipse.jdt.core.codeComplete.argumentSuffixes=
-org.eclipse.jdt.core.codeComplete.fieldPrefixes=
-org.eclipse.jdt.core.codeComplete.fieldSuffixes=
-org.eclipse.jdt.core.codeComplete.localPrefixes=
-org.eclipse.jdt.core.codeComplete.localSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
-org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=11
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.doc.comment.support=enabled
-org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
-org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
-org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=ignore
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=enabled
-org.eclipse.jdt.core.compiler.source=11
-org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
-org.eclipse.jdt.core.compiler.taskPriorities=NORMAL,HIGH,HIGH,LOW,LOW,LOW,LOW,LOW,NORMAL
-org.eclipse.jdt.core.compiler.taskTags=TODO,FIXME,XXX,PERF,MEM,POLISH,@generated NOT,@ADDED,APITODO
-org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
-org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
-org.eclipse.jdt.core.formatter.align_with_spaces=false
-org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=49
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
-org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
-org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
-org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
-org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
-org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_abstract_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch=0
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
-org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=true
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=true
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=120
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=1
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=1
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=3
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
-org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
-org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=false
-org.eclipse.jdt.core.formatter.join_wrapped_lines=false
-org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=true
-org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_if_empty
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
-org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=3
-org.eclipse.jdt.core.formatter.use_on_off_tags=true
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
-org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
-org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
-org.eclipse.jdt.core.incompatibleJDKLevel=ignore
-org.eclipse.jdt.core.incompleteClasspath=error
-org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.launching.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.launching.prefs
deleted file mode 100644
index d177941e..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.launching.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.launching.PREF_COMPILER_COMPLIANCE_DOES_NOT_MATCH_JRE=ignore
-org.eclipse.jdt.launching.PREF_STRICTLY_COMPATIBLE_JRE_NOT_AVAILABLE=ignore
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.ui.prefs b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 54b6f7a9..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,137 +0,0 @@
-cleanup.add_default_serial_version_id=true
-cleanup.add_generated_serial_version_id=false
-cleanup.add_missing_annotations=true
-cleanup.add_missing_deprecated_annotations=true
-cleanup.add_missing_methods=false
-cleanup.add_missing_nls_tags=false
-cleanup.add_missing_override_annotations=true
-cleanup.add_missing_override_annotations_interface_methods=true
-cleanup.add_serial_version_id=false
-cleanup.always_use_blocks=true
-cleanup.always_use_parentheses_in_expressions=true
-cleanup.always_use_this_for_non_static_field_access=false
-cleanup.always_use_this_for_non_static_method_access=false
-cleanup.convert_functional_interfaces=true
-cleanup.convert_to_enhanced_for_loop=true
-cleanup.correct_indentation=true
-cleanup.format_source_code=true
-cleanup.format_source_code_changes_only=false
-cleanup.insert_inferred_type_arguments=false
-cleanup.make_local_variable_final=false
-cleanup.make_parameters_final=true
-cleanup.make_private_fields_final=true
-cleanup.make_type_abstract_if_missing_method=false
-cleanup.make_variable_declarations_final=true
-cleanup.never_use_blocks=false
-cleanup.never_use_parentheses_in_expressions=false
-cleanup.organize_imports=true
-cleanup.qualify_static_field_accesses_with_declaring_class=false
-cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-cleanup.qualify_static_member_accesses_with_declaring_class=true
-cleanup.qualify_static_method_accesses_with_declaring_class=false
-cleanup.remove_private_constructors=true
-cleanup.remove_redundant_modifiers=true
-cleanup.remove_redundant_semicolons=true
-cleanup.remove_redundant_type_arguments=true
-cleanup.remove_trailing_whitespaces=true
-cleanup.remove_trailing_whitespaces_all=true
-cleanup.remove_trailing_whitespaces_ignore_empty=false
-cleanup.remove_unnecessary_casts=true
-cleanup.remove_unnecessary_nls_tags=true
-cleanup.remove_unused_imports=true
-cleanup.remove_unused_local_variables=false
-cleanup.remove_unused_private_fields=true
-cleanup.remove_unused_private_members=false
-cleanup.remove_unused_private_methods=true
-cleanup.remove_unused_private_types=true
-cleanup.sort_members=false
-cleanup.sort_members_all=false
-cleanup.use_anonymous_class_creation=false
-cleanup.use_autoboxing=true
-cleanup.use_blocks=true
-cleanup.use_blocks_only_for_return_and_throw=false
-cleanup.use_lambda=true
-cleanup.use_parentheses_in_expressions=false
-cleanup.use_this_for_non_static_field_access=false
-cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-cleanup.use_this_for_non_static_method_access=false
-cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-cleanup.use_unboxing=true
-cleanup_profile=_EMF.cloud Cleanup Profile
-cleanup_settings_version=2
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_EMF.cloud Formatter Profile
-formatter_settings_version=16
-org.eclipse.jdt.ui.exception.name=e
-org.eclipse.jdt.ui.gettersetter.use.is=true
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=java;javax;org;com;
-org.eclipse.jdt.ui.javadoc=false
-org.eclipse.jdt.ui.keywordthis=false
-org.eclipse.jdt.ui.ondemandthreshold=99
-org.eclipse.jdt.ui.overrideannotation=true
-org.eclipse.jdt.ui.staticondemandthreshold=99
-org.eclipse.jdt.ui.text.custom_code_templates=/**\n * @return the ${bare_field_name}\n */ /**\n * @param ${param} the ${bare_field_name} to set\n */ /**\n * ${tags}\n */ /**\n * \n */ /**\n * @author ${user}\n *\n * ${tags}\n */ /**\n * \n */ /**\n * ${tags}\n */ /**\n * ${tags}\n * ${see_to_target}\n */ /********************************************************************************\n * Copyright (c) ${year} EclipseSource and others.\n *\n * This program and the accompanying materials are made available under the\n * terms of the Eclipse Public License v. 2.0 which is available at\n * https\://www.eclipse.org/legal/epl-2.0, or the MIT License which is\n * available at https\://opensource.org/licenses/MIT.\n *\n * SPDX-License-Identifier\: EPL-2.0 OR MIT\n ********************************************************************************/\n${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration} \n \n \n \n // ${todo} Auto-generated catch block\n${exception_var}.printStackTrace(); // ${todo} Auto-generated method stub\n${body_statement} ${body_statement}\n// ${todo} Auto-generated constructor stub return ${field}; ${field} \= ${param}; /**\n * @author ${user}\n *\n * ${tags}\n */ \n
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_functional_interfaces=true
-sp_cleanup.convert_to_enhanced_for_loop=true
-sp_cleanup.correct_indentation=true
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.insert_inferred_type_arguments=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=true
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=true
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=true
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_redundant_modifiers=true
-sp_cleanup.remove_redundant_semicolons=true
-sp_cleanup.remove_redundant_type_arguments=true
-sp_cleanup.remove_trailing_whitespaces=true
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=true
-sp_cleanup.remove_unused_imports=true
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_anonymous_class_creation=false
-sp_cleanup.use_autoboxing=true
-sp_cleanup.use_blocks=true
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_lambda=true
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
-sp_cleanup.use_unboxing=true
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/build.properties b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/build.properties
deleted file mode 100644
index 64f93a9f..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/feature.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/feature.xml
deleted file mode 100644
index 85d6f60c..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/feature.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
- Workflow GLSP Server Application, for creating and editing workflow
-diagrams.
-
-
-
- Copyright (c) 2021 EclipseSource and others.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0 which is available at
- https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- available at https://opensource.org/licenses/MIT.
-
- SPDX-License-Identifier: EPL-2.0 OR MIT
-
-
-
- EPL-2.0 or MIT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/pom.xml
deleted file mode 100644
index fd5f9805..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server.feature/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-
- 4.0.0
-
-
- org.eclipse.emfcloud.coffee
- org.eclipse.emfcloud.coffee.parent
- 0.1.0-SNAPSHOT
- ../../releng/org.eclipse.emfcloud.coffee.parent/
-
-
- org.eclipse.emfcloud.coffee.workflow.glsp.server.feature
- eclipse-feature
-
-
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/META-INF/MANIFEST.MF b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/META-INF/MANIFEST.MF
index 2db43602..2478c88d 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/META-INF/MANIFEST.MF
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/META-INF/MANIFEST.MF
@@ -7,34 +7,28 @@ Bundle-Version: 0.1.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-11
-Require-Bundle: org.eclipse.core.runtime,
- org.apache.log4j;bundle-version="1.2.15",
- org.eclipse.glsp.server;bundle-version="0.8.0",
- org.eclipse.glsp.layout;bundle-version="0.8.0",
- org.eclipse.elk.alg.layered;bundle-version="0.7.1",
- org.eclipse.emfcloud.modelserver.edit;bundle-version="0.7.0",
- org.eclipse.elk.core;bundle-version="0.7.1",
- org.eclipse.emf.edit;bundle-version="2.16.0",
- org.eclipse.emfcloud.modelserver.client;bundle-version="0.7.0",
- org.eclipse.elk.graph;bundle-version="0.7.1",
- org.eclipse.emfcloud.modelserver.common;bundle-version="0.7.0",
- org.eclipse.emf.ecore.xmi;bundle-version="2.16.0",
- org.eclipse.emfcloud.coffee.model;bundle-version="0.1.0",
- org.eclipse.emfcloud.modelserver.glsp.integration;bundle-version="0.7.0",
- org.eclipse.emfcloud.coffee.modelserver;bundle-version="0.1.0",
- org.eclipse.emfcloud.validation.framework;bundle-version="0.2.0",
- org.eclipse.jetty.http;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.io;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.security;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.server;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.servlet;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.util;bundle-version="[9.4.43,10.0.0)",
- org.eclipse.jetty.util.ajax;bundle-version="[9.4.43,10.0.0)",
- javax.servlet;bundle-version="[3.1.0,4.0.0)",
- org.eclipse.emfcloud.modelserver.glsp.notation.model;bundle-version="0.7.0",
- org.eclipse.emfcloud.modelserver.glsp.notation.commands;bundle-version="0.7.0"
+Require-Bundle: org.apache.logging.log4j;bundle-version="[2.17.1,3.0.0)",
+ org.eclipse.emf.edit;bundle-version="[2.17.0,3.0.0)",
+ org.eclipse.emf.ecore.xmi;bundle-version="[2.16.0,3.0.0)",
+ org.eclipse.glsp.layout;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.glsp.server;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.glsp.server.emf;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.elk.alg.layered;bundle-version="[0.8.1,1.0.0)",
+ org.eclipse.elk.core;bundle-version="[0.8.1,1.0.0)",
+ org.eclipse.elk.graph;bundle-version="[0.8.1,1.0.0)",
+ org.eclipse.emfcloud.modelserver.client;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.common;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.edit;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.glsp.integration;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.modelserver.glsp.notation.commands;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.emfcloud.coffee.model;bundle-version="[0.1.0,0.2.0)",
+ org.eclipse.emfcloud.coffee.modelserver;bundle-version="[0.1.0,0.2.0)",
+ org.eclipse.emfcloud.validation.framework;bundle-version="[0.2.0,0.3.0)",
+ org.eclipse.emfcloud.modelserver.emf;bundle-version="0.8.0",
+ org.eclipse.lsp4j.jsonrpc;bundle-version="0.12.0"
Export-Package: org.eclipse.emfcloud.coffee.workflow.glsp.server
-Import-Package: org.eclipse.emfcloud.modelserver.emf.common,
- org.eclipse.emfcloud.modelserver.emf.configuration,
- com.google.gson;version="2.8.6"
+Import-Package: com.google.gson;version="2.8.9",
+ javax.inject;version="[1.0.0,2.0.0)",
+ javax.servlet;version="3.1.0",
+ okhttp3.internal.http
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/WorkflowGLSPServer.launch b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/WorkflowGLSPServer.launch
new file mode 100644
index 00000000..99851f29
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/WorkflowGLSPServer.launch
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/pom.xml b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/pom.xml
index 736b84fe..87bbcfac 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/pom.xml
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/pom.xml
@@ -15,22 +15,114 @@
../../releng/org.eclipse.emfcloud.coffee.parent/
-
- src, src-gen
-
-
- src
-
- **/*.java
-
-
-
- src-gen
-
- **/*.java
-
-
-
-
-
+
+
+ fatjar
+
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/libs
+ false
+ false
+ true
+ false
+
+
+
+
+
+ com.googlecode.addjars-maven-plugin
+ addjars-maven-plugin
+ ${googlecode.addjars.version}
+
+
+ package
+
+ add-jars
+
+
+
+
+ ${project.build.directory}/libs
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven.shade.version}
+
+
+
+ org.eclipse.emfcloud.coffee.workflow.glsp.server.launch.WorkflowGLSPServerLauncher
+
+
+ true
+
+
+
+
+
+ *:*
+
+ META-INF/INDEX.LIST
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+ META-INF/LICENSE
+ META-INF/NOTICE
+ META-INF/DEPENDENCIES
+ META-INF/MANIFEST.MF
+ .options
+ .api_description
+ *.profile
+ *.html
+ about.*
+ about_files/*
+ plugin.xml
+ modeling32.png
+ systembundle.properties
+ profile.list
+ **/*._trace
+ **/*.g
+ **/*.tokens
+ **/*.mwe2
+ **/*.xtext
+ **/*.xtextbin
+
+
+
+ true
+ glsp
+ false
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramNotationConfiguration.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramConfiguration.java
similarity index 77%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramNotationConfiguration.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramConfiguration.java
index cc1becd0..24e6dc87 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramNotationConfiguration.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramConfiguration.java
@@ -10,16 +10,16 @@
******************************************************************************/
package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.AUTOMATED_TASK;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.COMP_HEADER;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.DECISION_NODE;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.ICON;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.LABEL_HEADING;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.LABEL_ICON;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.LABEL_TEXT;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.MANUAL_TASK;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.MERGE_NODE;
-import static org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes.WEIGHTED_EDGE;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.AUTOMATED_TASK;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.COMP_HEADER;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.DECISION_NODE;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.ICON;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.LABEL_HEADING;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.LABEL_ICON;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.LABEL_TEXT;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.MANUAL_TASK;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.MERGE_NODE;
+import static org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes.WEIGHTED_EDGE;
import static org.eclipse.glsp.graph.DefaultTypes.EDGE;
import java.util.ArrayList;
@@ -36,7 +36,7 @@
import org.eclipse.glsp.server.types.EdgeTypeHint;
import org.eclipse.glsp.server.types.ShapeTypeHint;
-public class WorkflowDiagramNotationConfiguration extends BaseDiagramConfiguration {
+public class WorkflowDiagramConfiguration extends BaseDiagramConfiguration {
@Override
public String getDiagramType() { return "workflow-diagram-notation"; }
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPModule.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramModule.java
similarity index 50%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPModule.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramModule.java
index 7136d866..c3918866 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPModule.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowDiagramModule.java
@@ -10,51 +10,83 @@
******************************************************************************/
package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.CreateAutomatedTaskHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.CreateDecisionNodeHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.CreateFlowHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.CreateManualTaskHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.CreateMergeNodeHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.CreateWeightedFlowHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.WorkflowApplyLabelEditOperationHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.WorkflowChangeRoutingPointsOperationHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.WorkflowCompoundOperationHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.WorkflowDeleteOperationHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.WorkflowReconnectFlowHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation.WorkflowRequestMarkersActionHandler;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelFactory;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelSourceLoader;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.glsp.model.EMSModelState;
-import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationGLSPModule;
+import org.eclipse.emfcloud.coffee.CoffeePackage;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel.WorkflowGModelFactory;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel.WorkflowSourceModelStorage;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.actions.WorkflowRequestMarkersActionHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create.CreateAutomatedTaskHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create.CreateDecisionNodeHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create.CreateFlowHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create.CreateManualTaskHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create.CreateMergeNodeHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create.CreateWeightedFlowHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operations.WorkflowApplyLabelEditOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operations.WorkflowDeleteOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operations.WorkflowReconnectFlowHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.layout.WorkflowLayoutEngine;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.palette.WorkflowToolPaletteItemProvider;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.provider.WorkflowCommandPaletteActionProvider;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.provider.WorkflowContextMenuItemProvider;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.taskedit.ApplyTaskEditOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.taskedit.EditTaskOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.taskedit.TaskEditContextActionProvider;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.taskedit.TaskEditValidator;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.validation.WorkflowLabelEditValidator;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSGLSPNotationDiagramModule;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelServerAccess;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationSourceModelStorage;
import org.eclipse.glsp.graph.GraphExtension;
import org.eclipse.glsp.server.actions.ActionHandler;
import org.eclipse.glsp.server.di.MultiBinding;
import org.eclipse.glsp.server.diagram.DiagramConfiguration;
import org.eclipse.glsp.server.features.commandpalette.CommandPaletteActionProvider;
+import org.eclipse.glsp.server.features.contextactions.ContextActionsProvider;
import org.eclipse.glsp.server.features.contextmenu.ContextMenuItemProvider;
import org.eclipse.glsp.server.features.core.model.GModelFactory;
-import org.eclipse.glsp.server.features.core.model.ModelSourceLoader;
-import org.eclipse.glsp.server.features.directediting.ApplyLabelEditOperationHandler;
+import org.eclipse.glsp.server.features.directediting.ContextEditValidator;
import org.eclipse.glsp.server.features.directediting.LabelEditValidator;
+import org.eclipse.glsp.server.features.toolpalette.ToolPaletteItemProvider;
import org.eclipse.glsp.server.features.validation.RequestMarkersHandler;
import org.eclipse.glsp.server.layout.LayoutEngine;
+import org.eclipse.glsp.server.operations.CutOperationHandler;
import org.eclipse.glsp.server.operations.OperationHandler;
-import org.eclipse.glsp.server.operations.gmodel.ChangeRoutingPointsHandler;
-import org.eclipse.glsp.server.operations.gmodel.CompoundOperationHandler;
-import org.eclipse.glsp.server.operations.gmodel.CutOperationHandler;
-import org.eclipse.glsp.server.operations.gmodel.DeleteOperationHandler;
-import org.eclipse.glsp.server.operations.gmodel.LayoutOperationHandler;
-import org.eclipse.glsp.server.operations.gmodel.PasteOperationHandler;
-import org.eclipse.glsp.server.operations.gmodel.ReconnectEdgeOperationHandler;
-public class WorkflowGLSPModule extends EMSNotationGLSPModule {
+import com.google.inject.Singleton;
+
+public class WorkflowDiagramModule extends EMSGLSPNotationDiagramModule {
+
+ @Override
+ protected void configureBase() {
+ super.configureBase();
+ bind(WorkflowHighlightStore.class).in(Singleton.class);
+ }
+
+ @Override
+ protected void registerEPackages() {
+ // register and initialize all used ePackages
+ super.registerEPackages();
+ CoffeePackage.eINSTANCE.eClass();
+ }
+
+ @Override
+ protected Class extends DiagramConfiguration> bindDiagramConfiguration() {
+ // define what operations are allowed with our elements
+ return WorkflowDiagramConfiguration.class;
+ }
+
+ @Override
+ protected Class extends GModelFactory> bindGModelFactory() {
+ return WorkflowGModelFactory.class;
+ }
+
+ @Override
+ protected Class extends EMSNotationSourceModelStorage> bindSourceModelStorage() {
+ return WorkflowSourceModelStorage.class;
+ }
@Override
- protected Class extends EMSModelState> bindGModelState() {
- return WorkflowModelState.class;
+ protected Class extends EMSNotationModelServerAccess> bindModelServerAccess() {
+ return WorkflowModelServerAccess.class;
}
@Override
@@ -68,16 +100,12 @@ protected void configureOperationHandlers(final MultiBinding b
super.configureOperationHandlers(bindings);
// model server-aware operation handlers
- bindings.rebind(CompoundOperationHandler.class, WorkflowCompoundOperationHandler.class);
- bindings.rebind(ChangeRoutingPointsHandler.class, WorkflowChangeRoutingPointsOperationHandler.class);
- bindings.rebind(ApplyLabelEditOperationHandler.class, WorkflowApplyLabelEditOperationHandler.class);
- bindings.rebind(DeleteOperationHandler.class, WorkflowDeleteOperationHandler.class);
- bindings.rebind(ReconnectEdgeOperationHandler.class, WorkflowReconnectFlowHandler.class);
+ bindings.add(WorkflowApplyLabelEditOperationHandler.class);
+ bindings.add(WorkflowDeleteOperationHandler.class);
+ bindings.add(WorkflowReconnectFlowHandler.class);
// unsupported operation handlers
bindings.remove(CutOperationHandler.class);
- bindings.remove(PasteOperationHandler.class);
- bindings.remove(LayoutOperationHandler.class);
// custom workflow operation handlers
bindings.add(CreateAutomatedTaskHandler.class);
@@ -86,6 +114,10 @@ protected void configureOperationHandlers(final MultiBinding b
bindings.add(CreateMergeNodeHandler.class);
bindings.add(CreateFlowHandler.class);
bindings.add(CreateWeightedFlowHandler.class);
+
+ // task editing
+ bindings.add(EditTaskOperationHandler.class);
+ bindings.add(ApplyTaskEditOperationHandler.class);
}
@Override
@@ -98,11 +130,6 @@ protected Class extends LabelEditValidator> bindLabelEditValidator() {
return WorkflowLabelEditValidator.class;
}
- @Override
- protected Class extends DiagramConfiguration> bindDiagramConfiguration() {
- return WorkflowDiagramNotationConfiguration.class;
- }
-
@Override
protected Class extends CommandPaletteActionProvider> bindCommandPaletteActionProvider() {
return WorkflowCommandPaletteActionProvider.class;
@@ -119,22 +146,29 @@ protected Class extends LayoutEngine> bindLayoutEngine() {
}
@Override
- public void configure() {
- super.configure();
- bind(AdapterFactory.class).toInstance(new ComposedAdapterFactory());
+ protected Class extends ToolPaletteItemProvider> bindToolPaletteItemProvider() {
+ return WorkflowToolPaletteItemProvider.class;
}
@Override
- protected Class extends ModelSourceLoader> bindSourceModelLoader() {
- return WorkflowModelSourceLoader.class;
+ protected void configureContextActionsProviders(final MultiBinding binding) {
+ super.configureContextActionsProviders(binding);
+ binding.add(TaskEditContextActionProvider.class);
}
@Override
- protected Class extends GModelFactory> bindGModelFactory() {
- return WorkflowModelFactory.class;
+ protected void configureContextEditValidators(final MultiBinding binding) {
+ super.configureContextEditValidators(binding);
+ binding.add(TaskEditValidator.class);
}
@Override
public String getDiagramType() { return "workflow-diagram-notation"; }
+ @Override
+ protected String getSemanticFileExtension() { return "coffee"; }
+
+ @Override
+ protected String getNotationFileExtension() { return "notation"; }
+
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPServer.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPServer.java
deleted file mode 100644
index ba3da4ba..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPServer.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-
-import java.net.MalformedURLException;
-import java.util.Optional;
-import java.util.concurrent.CompletableFuture;
-
-import org.eclipse.emfcloud.coffee.modelserver.CoffeeModelServerClient;
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
-import org.eclipse.emfcloud.modelserver.client.v1.ModelServerClientV1;
-import org.eclipse.emfcloud.modelserver.glsp.EMSGLSPServer;
-import org.eclipse.emfcloud.modelserver.glsp.notation.epackage.NotationUtil;
-import org.eclipse.glsp.server.protocol.DisposeClientSessionParameters;
-import org.eclipse.glsp.server.types.GLSPServerException;
-import org.eclipse.glsp.server.utils.ClientOptionsUtil;
-
-public class WorkflowGLSPServer extends EMSGLSPServer {
-
- @Override
- protected ModelServerClientV1 createModelServerClient(final String modelServerURL) throws MalformedURLException {
- return new CoffeeModelServerClient(modelServerURL);
- }
-
- @Override
- public CompletableFuture disposeClientSession(final DisposeClientSessionParameters params) {
- Optional modelServerClient = modelServerClientProvider.get();
- if (modelServerClient.isPresent()) {
- String sourceURI = ClientOptionsUtil.getSourceUri(params.getArgs())
- .orElseThrow(() -> new GLSPServerException("No source URI given to dispose client session!"));
- modelServerClient.get()
- .unsubscribe(sourceURI.replace(NotationUtil.NOTATION_EXTENSION, CoffeeResource.FILE_EXTENSION));
- }
- return super.disposeClientSession(params);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPServerLauncher.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPServerLauncher.java
deleted file mode 100644
index 792908b4..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowGLSPServerLauncher.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.Level;
-import org.apache.log4j.Logger;
-import org.apache.log4j.PatternLayout;
-import org.eclipse.elk.alg.layered.options.LayeredMetaDataProvider;
-import org.eclipse.emfcloud.modelserver.command.CCommandPackage;
-import org.eclipse.glsp.layout.ElkLayoutEngine;
-import org.eclipse.glsp.server.di.ServerModule;
-import org.eclipse.glsp.server.launch.GLSPServerLauncher;
-import org.eclipse.glsp.server.launch.SocketGLSPServerLauncher;
-
-@SuppressWarnings("UncommentedMain")
-public final class WorkflowGLSPServerLauncher {
-
- private WorkflowGLSPServerLauncher() {}
-
- private static final Logger LOGGER = Logger.getLogger(WorkflowGLSPServerLauncher.class.getSimpleName());
-
- private static final int WORKFLOW_DEFAULT_PORT = 5008;
-
- public static void main(final String[] args) {
- int port = getPort(args);
- configureLogger();
- ElkLayoutEngine.initialize(new LayeredMetaDataProvider());
- ServerModule module = new WorkflowServerModule();
- module.configureDiagramModule(new WorkflowGLSPModule());
- GLSPServerLauncher launcher = new SocketGLSPServerLauncher(module);
- CCommandPackage.eINSTANCE.eClass();
- launcher.start("localhost", port);
- }
-
- private static int getPort(final String[] args) {
- for (int i = 0; i < args.length; i++) {
- if ("--port".contentEquals(args[i])) {
- return Integer.parseInt(args[i + 1]);
- }
- }
- LOGGER.info("The server port was not specified; using default port 5008");
- return WORKFLOW_DEFAULT_PORT;
- }
-
- public static void configureLogger() {
- Logger root = Logger.getRootLogger();
- if (!root.getAllAppenders().hasMoreElements()) {
- root.addAppender(new ConsoleAppender(new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN)));
- }
- root.setLevel(Level.INFO);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowHighlightStore.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowHighlightStore.java
new file mode 100644
index 00000000..7ca26f51
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowHighlightStore.java
@@ -0,0 +1,46 @@
+/********************************************************************************
+ * Copyright (c) 2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ********************************************************************************/
+package org.eclipse.emfcloud.coffee.workflow.glsp.server;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+public class WorkflowHighlightStore {
+
+ private final Map highlights = new HashMap<>();
+
+ public Map getHighlights() { return highlights; }
+
+ public void addHighlight(final Entry entry) {
+ String current = this.highlights.get(entry.getKey());
+ if (current == null || isHigher(entry.getKey(), current)) {
+ this.highlights.put(entry.getKey(), entry.getValue());
+ }
+ }
+
+ private boolean isHigher(final String key, final String current) {
+ if (current == "deleted") {
+ return false;
+ }
+ if (current == "changed") {
+ if (key == "deleted") {
+ return true;
+ }
+ }
+ if (current == "added") {
+ if (key == "deleted" || key == "changed") {
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowLayoutEngine.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowLayoutEngine.java
deleted file mode 100644
index 40ee0af8..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowLayoutEngine.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2020 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-
-import org.eclipse.elk.alg.layered.options.LayeredOptions;
-import org.eclipse.elk.core.options.Direction;
-import org.eclipse.elk.core.options.EdgeRouting;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emfcloud.modelserver.glsp.layout.EMSLayoutEngine;
-import org.eclipse.glsp.graph.DefaultTypes;
-import org.eclipse.glsp.graph.GGraph;
-import org.eclipse.glsp.graph.GModelElement;
-import org.eclipse.glsp.layout.GLSPLayoutConfigurator;
-import org.eclipse.glsp.server.model.GModelState;
-
-public class WorkflowLayoutEngine extends EMSLayoutEngine {
-
- @Override
- public GModelElement layoutRoot(final GModelState modelState) {
- GModelElement newRoot = EcoreUtil.copy(modelState.getRoot());
- if (newRoot instanceof GGraph) {
- GLSPLayoutConfigurator configurator = new GLSPLayoutConfigurator();
- // ELK Layered Algorithm Reference:
- // https://www.eclipse.org/elk/reference/algorithms/org-eclipse-elk-layered.html
- configurator.configureByType(DefaultTypes.GRAPH)//
- .setProperty(LayeredOptions.DIRECTION, Direction.DOWN)
- .setProperty(LayeredOptions.SPACING_BASE_VALUE, 35d)
- .setProperty(LayeredOptions.EDGE_ROUTING, EdgeRouting.UNDEFINED);
- this.layout((GGraph) newRoot, configurator);
- }
- return newRoot;
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelServerAccess.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowModelServerAccess.java
similarity index 59%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelServerAccess.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowModelServerAccess.java
index d1ae4514..0dd44004 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelServerAccess.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowModelServerAccess.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,18 +8,19 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.model;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server;
import java.io.IOException;
+import java.net.MalformedURLException;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
-import org.apache.log4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emfcloud.coffee.Flow;
import org.eclipse.emfcloud.coffee.Node;
import org.eclipse.emfcloud.coffee.modelserver.commands.contributions.AddAutomatedTaskCommandContribution;
@@ -33,13 +34,11 @@
import org.eclipse.emfcloud.coffee.modelserver.commands.contributions.SetFlowSourceCommandContribution;
import org.eclipse.emfcloud.coffee.modelserver.commands.contributions.SetFlowTargetCommandContribution;
import org.eclipse.emfcloud.coffee.modelserver.commands.util.SemanticCommandUtil;
-import org.eclipse.emfcloud.coffee.util.CoffeeResource;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.validation.WorkflowValidationResultChangeListener;
import org.eclipse.emfcloud.modelserver.client.Response;
-import org.eclipse.emfcloud.modelserver.client.v1.ModelServerClientV1;
import org.eclipse.emfcloud.modelserver.command.CCommand;
import org.eclipse.emfcloud.modelserver.command.CCompoundCommand;
import org.eclipse.emfcloud.modelserver.emf.common.EMFFacetConstraints;
-import org.eclipse.emfcloud.modelserver.glsp.notation.epackage.NotationUtil;
import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelServerAccess;
import org.eclipse.emfcloud.validation.framework.ValidationFilter;
import org.eclipse.emfcloud.validation.framework.ValidationFramework;
@@ -47,123 +46,99 @@
import org.eclipse.glsp.graph.GPoint;
import org.eclipse.glsp.graph.util.GraphUtil;
import org.eclipse.glsp.server.actions.ActionDispatcher;
-import org.eclipse.glsp.server.model.GModelState;
-import org.eclipse.glsp.server.types.GLSPServerException;
-
-import com.google.common.base.Preconditions;
public class WorkflowModelServerAccess extends EMSNotationModelServerAccess {
- private static Logger LOGGER = Logger.getLogger(WorkflowModelServerAccess.class);
-
- private final ActionDispatcher actionDispatcher;
+ private static Logger LOGGER = LogManager.getLogger(WorkflowModelServerAccess.class);
private ValidationFramework validationFramework;
- public WorkflowModelServerAccess(final String sourceURI, final ModelServerClientV1 modelServerClient,
- final ActionDispatcher actionDispatcher) {
- super(sourceURI, modelServerClient, CoffeeResource.FILE_EXTENSION, NotationUtil.NOTATION_EXTENSION);
- Preconditions.checkNotNull(modelServerClient);
- this.actionDispatcher = actionDispatcher;
- }
-
- public void createValidationFramework(final GModelState modelState) {
+ public void createValidationFramework(final String clientId, final ActionDispatcher actionDispatcher) {
WorkflowValidationResultChangeListener changeListener = new WorkflowValidationResultChangeListener(
- modelState.getClientId(), actionDispatcher);
- this.validationFramework = new ValidationFramework(this.getSemanticURI(), modelServerClient, changeListener);
- }
-
- @Override
- public EObject getSemanticModel() {
+ clientId, actionDispatcher);
try {
- // fetch model in dedicated coffee format
- return modelServerClient.get(getSemanticURI(), CoffeeResource.FILE_EXTENSION).thenApply(res -> res.body())
- .get();
- } catch (InterruptedException | ExecutionException e) {
- LOGGER.error(e);
- throw new GLSPServerException("Error during model loading", e);
+ this.validationFramework = new ValidationFramework(this.getSemanticURI(), changeListener);
+ } catch (MalformedURLException e) {
+ LOGGER.error("Creation of ValidationFramework failed!");
+ e.printStackTrace();
}
}
protected String getOwnerRefUri(final EObject element) {
return "file:" + baseSourceUri.appendFileExtension(this.semanticFileExtension)
- .appendFragment(getSemanticUriFragment(element)).toString();
+ .appendFragment(idGenerator.getOrCreateId(element)).toString();
}
- protected String getSemanticUriFragment(final EObject element) {
- return EcoreUtil.getURI(element).fragment();
- }
-
- public CompletableFuture> addManualTask(final WorkflowModelState modelState,
- final Optional position) {
+ public CompletableFuture> addManualTask(final Optional position) {
CCompoundCommand command = AddManualTaskCommandContribution.create(position.orElse(GraphUtil.point(0, 0)));
return this.edit(command);
}
- public CompletableFuture> addAutomatedTask(final WorkflowModelState modelState,
- final Optional position) {
+ public CompletableFuture> addAutomatedTask(final Optional position) {
CCompoundCommand command = AddAutomatedTaskCommandContribution.create(position.orElse(GraphUtil.point(0, 0)));
return this.edit(command);
}
- public CompletableFuture> addDecisionNode(final WorkflowModelState modelState,
- final Optional position) {
+ public CompletableFuture> addDecisionNode(final Optional position) {
CCompoundCommand command = AddDecisionNodeCommandContribution.create(position.orElse(GraphUtil.point(0, 0)));
return this.edit(command);
}
- public CompletableFuture> addMergeNode(final WorkflowModelState modelState,
- final Optional position) {
+ public CompletableFuture> addMergeNode(final Optional position) {
CCompoundCommand command = AddMergeNodeCommandContribution.create(position.orElse(GraphUtil.point(0, 0)));
return this.edit(command);
}
- public CompletableFuture> addFlow(final WorkflowModelState modelState, final Node source,
- final Node target) {
- String sourceUriFragment = getSemanticUriFragment(source);
- String targetUriFragment = getSemanticUriFragment(target);
- CCompoundCommand command = AddFlowCommandContribution.create(sourceUriFragment, targetUriFragment);
+ public CompletableFuture> addFlow(final String sourceId, final String targetId) {
+ CCompoundCommand command = AddFlowCommandContribution.create(sourceId, targetId);
return this.edit(command);
}
- public CompletableFuture> addWeightedFlow(final WorkflowModelState modelState, final Node source,
- final Node target) {
- String sourceUriFragment = getSemanticUriFragment(source);
- String targetUriFragment = getSemanticUriFragment(target);
- CCompoundCommand command = AddWeightedFlowCommandContribution.create(sourceUriFragment, targetUriFragment);
+ public CompletableFuture> addWeightedFlow(final String sourceId, final String targetId) {
+ CCompoundCommand command = AddWeightedFlowCommandContribution.create(sourceId, targetId);
return this.edit(command);
}
- public CompletableFuture> removeFlow(final WorkflowModelState modelState, final Flow flow) {
- CCompoundCommand command = RemoveFlowCommandContribution.create(getSemanticUriFragment(flow));
+ public CompletableFuture> removeFlow(final Flow flow) {
+ CCompoundCommand command = RemoveFlowCommandContribution.create(idGenerator.getOrCreateId(flow));
return this.edit(command);
}
- public CompletableFuture> removeNode(final WorkflowModelState modelState, final Node node) {
- CCompoundCommand command = RemoveNodeCommandContribution.create(getSemanticUriFragment(node));
+ public CompletableFuture> removeNode(final Node node) {
+ CCompoundCommand command = RemoveNodeCommandContribution.create(idGenerator.getOrCreateId(node));
return this.edit(command);
}
- public CompletableFuture> setTaskName(final WorkflowModelState modelState,
- final Node nodeToRename, final String newName) {
+ public CompletableFuture> setTaskName(final Node nodeToRename, final String newName) {
CCommand setCommand = SemanticCommandUtil.createSetTaskNameCommand(nodeToRename, getOwnerRefUri(nodeToRename),
newName);
return this.edit(setCommand);
}
- public CompletableFuture> reconnectFlowSource(final Flow flow, final Node newSource) {
- CCommand command = SetFlowSourceCommandContribution.create(getSemanticUriFragment(flow),
- getSemanticUriFragment(newSource));
+ public CompletableFuture> setTaskDuration(final Node node, final int newDuration) {
+ CCommand setCommand = SemanticCommandUtil.createSetTaskDurationCommand(node, getOwnerRefUri(node),
+ newDuration);
+ return this.edit(setCommand);
+ }
+
+ public CompletableFuture> reconnectFlowSource(final Flow flow, final Node newSource) {
+ CCommand command = SetFlowSourceCommandContribution.create(idGenerator.getOrCreateId(flow),
+ idGenerator.getOrCreateId(newSource));
return this.edit(command);
}
- public CompletableFuture> reconnectFlowTarget(final Flow flow, final Node newTarget) {
- CCommand command = SetFlowTargetCommandContribution.create(getSemanticUriFragment(flow),
- getSemanticUriFragment(newTarget));
+ public CompletableFuture> reconnectFlowTarget(final Flow flow, final Node newTarget) {
+ CCommand command = SetFlowTargetCommandContribution.create(idGenerator.getOrCreateId(flow),
+ idGenerator.getOrCreateId(newTarget));
return this.edit(command);
}
- public CompletableFuture validate() throws IOException, InterruptedException, ExecutionException {
+ @Override
+ public CompletableFuture> validate() {
+ return modelServerClient.validate(getSemanticURI());
+ }
+
+ public CompletableFuture validateViaFramework() throws IOException, InterruptedException, ExecutionException {
return this.validationFramework.validate();
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/util/ModelTypes.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowModelTypes.java
similarity index 88%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/util/ModelTypes.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowModelTypes.java
index 92342f47..ca250095 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/util/ModelTypes.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowModelTypes.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2020 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,10 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.util;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-public final class ModelTypes {
- private ModelTypes() {}
+public final class WorkflowModelTypes {
+ private WorkflowModelTypes() {}
public static final String LABEL_HEADING = "label:heading";
public static final String LABEL_TEXT = "label:text";
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowServerModule.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowServerModule.java
deleted file mode 100644
index 3d1464e1..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/WorkflowServerModule.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server;
-
-import org.eclipse.glsp.server.di.ServerModule;
-import org.eclipse.glsp.server.protocol.GLSPServer;
-
-public class WorkflowServerModule extends ServerModule {
-
- @Override
- protected Class extends GLSPServer> bindGLSPServer() {
- return WorkflowGLSPServer.class;
- }
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/AbstractGModelFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/AbstractGModelFactory.java
deleted file mode 100644
index 69f03c8d..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/AbstractGModelFactory.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
-
-import java.util.Optional;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.glsp.graph.GModelElement;
-
-public abstract class AbstractGModelFactory {
-
- protected WorkflowModelState modelState;
-
- public AbstractGModelFactory(final WorkflowModelState modelState) {
- this.modelState = modelState;
- }
-
- public abstract E create(T semanticElement);
-
- public Optional create(final T semanticElement, final Class clazz) {
- return Optional.ofNullable(create(semanticElement)).filter(clazz::isInstance).map(clazz::cast);
- }
-
- protected String toId(final EObject semanticElement) {
- String id = modelState.getIndex().getSemanticId(semanticElement).orElse(null);
- if (id == null) {
- id = EcoreUtil.getURI(semanticElement).fragment();
- modelState.getIndex().indexSemantic(id, semanticElement);
- }
- return id;
-
- }
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/DiagramModelFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/DiagramModelFactory.java
deleted file mode 100644
index 1a8cc560..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/DiagramModelFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.eclipse.emfcloud.coffee.Workflow;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Diagram;
-import org.eclipse.glsp.graph.GGraph;
-import org.eclipse.glsp.graph.GModelElement;
-
-public class DiagramModelFactory extends GModelFactory {
-
- public DiagramModelFactory(final WorkflowModelState modelState) {
- super(modelState);
- }
-
- @Override
- public GGraph create(final Diagram notationDiagram) {
- GGraph graph = getOrCreateRoot();
-
- if (notationDiagram.getSemanticElement().getResolvedElement() != null) {
- Workflow workflowModel = (Workflow) notationDiagram.getSemanticElement().getResolvedElement();
-
- graph.setId(toId(workflowModel));
-
- // Add Nodes
- List nodeElements = workflowModel.getNodes().stream().map(node -> nodeFactory.create(node))
- .collect(Collectors.toList());
- graph.getChildren().addAll(nodeElements);
-
- // Add Flows
- List flowElements = workflowModel.getFlows().stream().map(flow -> flowFactory.create(flow))
- .collect(Collectors.toList());
- graph.getChildren().addAll(flowElements);
-
- }
- return graph;
-
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/FlowFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/FlowFactory.java
deleted file mode 100644
index 874255b1..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/FlowFactory.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
-
-import java.util.ArrayList;
-
-import org.eclipse.emfcloud.coffee.Flow;
-import org.eclipse.emfcloud.coffee.WeightedFlow;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder.WeightedEdgeBuilder;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.wfgraph.WeightedEdge;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Edge;
-import org.eclipse.glsp.graph.GEdge;
-import org.eclipse.glsp.graph.GPoint;
-import org.eclipse.glsp.graph.builder.impl.GEdgeBuilder;
-import org.eclipse.glsp.graph.util.GConstants;
-import org.eclipse.glsp.graph.util.GraphUtil;
-
-public class FlowFactory extends AbstractGModelFactory {
-
- public FlowFactory(final WorkflowModelState modelState) {
- super(modelState);
- }
-
- @Override
- public GEdge create(final Flow element) {
- if (element instanceof WeightedFlow) {
- return createWeightedFlowEdge((WeightedFlow) element);
- }
- return createFlowEdge(element);
- }
-
- protected GEdge createFlowEdge(final Flow flow) {
- String sourceId = toId(flow.getSource());
- String targetId = toId(flow.getTarget());
-
- GEdgeBuilder builder = new GEdgeBuilder()//
- .id(toId(flow))//
- .sourceId(sourceId)//
- .targetId(targetId)//
- .routerKind(GConstants.RouterKind.POLYLINE);
-
- modelState.getIndex().getNotation(flow, Edge.class).ifPresent(edge -> {
- if (edge.getBendPoints() != null) {
- ArrayList bendPoints = new ArrayList<>();
- edge.getBendPoints().forEach(p -> bendPoints.add(GraphUtil.copy(p)));
- builder.addRoutingPoints(bendPoints);
- }
- });
-
- String change = WorkflowBuilder.getChangeCssClass(modelState, flow);
- if (change != null) {
- builder.addCssClass(change);
- }
-
- return builder.build();
- }
-
- protected WeightedEdge createWeightedFlowEdge(final WeightedFlow flow) {
- String sourceId = toId(flow.getSource());
- String targetId = toId(flow.getTarget());
-
- WeightedEdgeBuilder builder = new WeightedEdgeBuilder()//
- .id(toId(flow))//
- .probability(flow.getProbability().getName())//
- .sourceId(sourceId)//
- .targetId(targetId).routerKind(GConstants.RouterKind.POLYLINE);
-
- modelState.getIndex().getNotation(flow, Edge.class).ifPresent(edge -> {
- if (edge.getBendPoints() != null) {
- ArrayList bendPoints = new ArrayList<>();
- edge.getBendPoints().forEach(p -> bendPoints.add(GraphUtil.copy(p)));
- builder.addRoutingPoints(bendPoints);
- }
- });
-
- String change = WorkflowBuilder.getChangeCssClass(modelState, flow);
- if (change != null) {
- builder.addCssClass(change);
- }
-
- return builder.build();
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/GModelFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/GModelFactory.java
deleted file mode 100644
index 9c1369b5..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/GModelFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Diagram;
-import org.eclipse.glsp.graph.GGraph;
-import org.eclipse.glsp.graph.GModelElement;
-import org.eclipse.glsp.graph.GModelRoot;
-import org.eclipse.glsp.graph.builder.impl.GGraphBuilder;
-import org.eclipse.glsp.server.types.GLSPServerException;
-
-public abstract class GModelFactory extends AbstractGModelFactory {
-
- protected final NodeFactory nodeFactory;
- protected final FlowFactory flowFactory;
-
- public GModelFactory(final WorkflowModelState modelState) {
- super(modelState);
- flowFactory = new FlowFactory(modelState);
- nodeFactory = new NodeFactory(modelState);
- getOrCreateRoot();
- }
-
- @Override
- public GModelElement create(final EObject semanticElement) {
- // no-op as we focus on create(final Diagram notationDiagram)
- return null;
- }
-
- public abstract GGraph create(Diagram notationDiagram);
-
- public GGraph create() {
- return create(modelState.getNotationModel());
- }
-
- public static GLSPServerException createFailed(final EObject semanticElement) {
- return new GLSPServerException("Error during model initialization!", new Throwable(
- "No matching GModelElement found for the semanticElement of type: " + semanticElement.getClass()));
- }
-
- protected GGraph getOrCreateRoot() {
- GModelRoot existingRoot = modelState.getRoot();
- if (existingRoot != null && existingRoot instanceof GGraph) {
- GGraph graph = (GGraph) existingRoot;
- graph.getChildren().clear();
- return graph;
- }
- return createRoot(modelState);
- }
-
- public GGraph createRoot(final WorkflowModelState modelState) {
- GGraph graph = new GGraphBuilder().build();
- modelState.setRoot(graph);
- return graph;
- }
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/NodeFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/NodeFactory.java
deleted file mode 100644
index 8f3eb267..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/NodeFactory.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
-
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.Task;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.CoffeeTypeUtil;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder.ActivityNodeBuilder;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder.TaskNodeBuilder;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.wfgraph.ActivityNode;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.wfgraph.TaskNode;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Shape;
-import org.eclipse.glsp.graph.GNode;
-import org.eclipse.glsp.graph.builder.impl.GArguments;
-import org.eclipse.glsp.graph.util.GraphUtil;
-
-public class NodeFactory extends AbstractGModelFactory {
-
- public NodeFactory(final WorkflowModelState modelState) {
- super(modelState);
- }
-
- @Override
- public GNode create(final Node node) {
- if (node instanceof Task) {
- return createTaskNode((Task) node);
- }
- return createActivityNode(node);
- }
-
- private TaskNode createTaskNode(final Task task) {
- String type = CoffeeTypeUtil.toType(task);
- String nodeType = CoffeeTypeUtil.toNodeType(task);
- TaskNodeBuilder builder = new TaskNodeBuilder(type, task.getName(), nodeType, task.getDuration());
- builder.id(toId(task));
-
- modelState.getIndex().getNotation(task, Shape.class).ifPresent(shape -> {
- if (shape.getPosition() != null) {
- builder.position(GraphUtil.copy(shape.getPosition()));
- }
- if (shape.getSize() != null) {
- builder.size(GraphUtil.copy(shape.getSize()));
- }
- });
- builder.addArguments(GArguments.cornerRadius(5));
-
- String change = WorkflowBuilder.getChangeCssClass(modelState, task);
- if (change != null) {
- builder.addCssClass(change);
- }
-
- return builder.build();
- }
-
- private ActivityNode createActivityNode(final Node node) {
- String type = CoffeeTypeUtil.toType(node);
- String nodeType = CoffeeTypeUtil.toNodeType(node);
- ActivityNodeBuilder builder = new ActivityNodeBuilder(type, nodeType);
- builder.id(toId(node));
-
- modelState.getIndex().getNotation(node, Shape.class).ifPresent(shape -> {
- if (shape.getPosition() != null) {
- builder.position(GraphUtil.copy(shape.getPosition()));
- }
- if (shape.getSize() != null) {
- builder.size(GraphUtil.copy(shape.getSize()));
- }
- });
-
- String change = WorkflowBuilder.getChangeCssClass(modelState, node);
- if (change != null) {
- builder.addCssClass(change);
- }
-
- return builder.build();
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/WorkflowGModelFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/WorkflowGModelFactory.java
new file mode 100644
index 00000000..b8f18f8f
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/WorkflowGModelFactory.java
@@ -0,0 +1,184 @@
+/*******************************************************************************
+ * Copyright (c) 2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ******************************************************************************/
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
+
+import java.util.Map;
+import java.util.Optional;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emfcloud.coffee.Flow;
+import org.eclipse.emfcloud.coffee.Machine;
+import org.eclipse.emfcloud.coffee.Node;
+import org.eclipse.emfcloud.coffee.Task;
+import org.eclipse.emfcloud.coffee.WeightedFlow;
+import org.eclipse.emfcloud.coffee.Workflow;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowHighlightStore;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.CoffeeTypeUtil;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder.ActivityNodeBuilder;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder.TaskNodeBuilder;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.WorkflowBuilder.WeightedEdgeBuilder;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.wfgraph.ActivityNode;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.wfgraph.TaskNode;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.wfgraph.WeightedEdge;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationGModelFactory;
+import org.eclipse.glsp.graph.GEdge;
+import org.eclipse.glsp.graph.GGraph;
+import org.eclipse.glsp.graph.GModelRoot;
+import org.eclipse.glsp.graph.GNode;
+import org.eclipse.glsp.graph.builder.AbstractGEdgeBuilder;
+import org.eclipse.glsp.graph.builder.AbstractGNodeBuilder;
+import org.eclipse.glsp.graph.builder.impl.GArguments;
+import org.eclipse.glsp.graph.builder.impl.GEdgeBuilder;
+import org.eclipse.glsp.graph.builder.impl.GLayoutOptions;
+import org.eclipse.glsp.graph.util.GConstants;
+import org.eclipse.glsp.graph.util.GraphUtil;
+import org.eclipse.glsp.server.emf.model.notation.Diagram;
+import org.eclipse.glsp.server.emf.model.notation.Edge;
+import org.eclipse.glsp.server.emf.model.notation.Shape;
+
+import com.google.inject.Inject;
+
+public class WorkflowGModelFactory extends EMSNotationGModelFactory {
+
+ @Inject
+ protected WorkflowHighlightStore highlightStore;
+
+ private String getChangeCssClass(final EObject object) {
+ return highlightStore.getHighlights().get(EcoreUtil.getURI(object).toString().substring(1));
+ }
+
+ @Override
+ protected void fillRootElement(final EObject semanticModel, final Diagram notationModel, final GModelRoot newRoot) {
+ Workflow workflowModel = Machine.class.cast(semanticModel).getWorkflows().get(0);
+ GGraph graph = GGraph.class.cast(newRoot);
+
+ if (notationModel.getSemanticElement() != null
+ && notationModel.getSemanticElement().getResolvedSemanticElement() != null) {
+
+ graph.setId(idGenerator.getOrCreateId(workflowModel));
+
+ // Add Nodes
+ workflowModel.getNodes().stream().map(this::createNode)
+ .forEachOrdered(graph.getChildren()::add);
+
+ // Add Flows
+ workflowModel.getFlows().stream().map(this::createEdge)
+ .forEachOrdered(graph.getChildren()::add);
+ }
+ }
+
+ protected GNode createNode(final Node node) {
+ if (node instanceof Task) {
+ return this.createTaskNode(Task.class.cast(node));
+ }
+ return this.createActivityNode(node);
+ }
+
+ protected TaskNode createTaskNode(final Task task) {
+ String type = CoffeeTypeUtil.toType(task);
+ String nodeType = CoffeeTypeUtil.toNodeType(task);
+ TaskNodeBuilder builder = new TaskNodeBuilder(type, task.getName(), nodeType, task.getDuration());
+ builder.id(idGenerator.getOrCreateId(task));
+
+ builder.addArguments(GArguments.cornerRadius(5));
+
+ String change = getChangeCssClass(task);
+ if (change != null) {
+ builder.addCssClass(change);
+ }
+
+ applyShapeData(task, builder);
+ return builder.build();
+ }
+
+ protected ActivityNode createActivityNode(final Node node) {
+ String type = CoffeeTypeUtil.toType(node);
+ String nodeType = CoffeeTypeUtil.toNodeType(node);
+ ActivityNodeBuilder builder = new ActivityNodeBuilder(type, nodeType);
+ builder.id(idGenerator.getOrCreateId(node));
+
+ String change = getChangeCssClass(node);
+ if (change != null) {
+ builder.addCssClass(change);
+ }
+
+ applyShapeData(node, builder);
+ return builder.build();
+ }
+
+ protected GEdge createEdge(final Flow element) {
+ if (element instanceof WeightedFlow) {
+ return createWeightedFlowEdge((WeightedFlow) element);
+ }
+ return createFlowEdge(element);
+ }
+
+ protected GEdge createFlowEdge(final Flow flow) {
+ GEdgeBuilder builder = new GEdgeBuilder()
+ .id(idGenerator.getOrCreateId(flow))
+ .sourceId(idGenerator.getOrCreateId(flow.getSource()))
+ .targetId(idGenerator.getOrCreateId(flow.getTarget()))
+ .routerKind(GConstants.RouterKind.POLYLINE);
+
+ String change = getChangeCssClass(flow);
+ if (change != null) {
+ builder.addCssClass(change);
+ }
+
+ applyEdgeData(flow, builder);
+ return builder.build();
+ }
+
+ protected WeightedEdge createWeightedFlowEdge(final WeightedFlow flow) {
+ WeightedEdgeBuilder builder = new WeightedEdgeBuilder()
+ .id(idGenerator.getOrCreateId(flow))
+ .probability(flow.getProbability().getName())
+ .sourceId(idGenerator.getOrCreateId(flow.getSource()))
+ .targetId(idGenerator.getOrCreateId(flow.getTarget()))
+ .routerKind(GConstants.RouterKind.POLYLINE);
+
+ String change = getChangeCssClass(flow);
+ if (change != null) {
+ builder.addCssClass(change);
+ }
+
+ applyEdgeData(flow, builder);
+ return builder.build();
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ protected AbstractGNodeBuilder applyShapeData(final EObject shapeElement, final AbstractGNodeBuilder builder) {
+ modelState.getIndex().getNotation(shapeElement, Shape.class)
+ .ifPresent(shape -> {
+ Optional.ofNullable(shape.getPosition()).map(GraphUtil::copy).ifPresent(builder::position);
+ Optional.ofNullable(shape.getSize()).map(GraphUtil::copy).ifPresent(newSize -> {
+ builder.size(newSize);
+ builder.addLayoutOptions(Map.of(
+ GLayoutOptions.KEY_PREF_WIDTH, newSize.getWidth(),
+ GLayoutOptions.KEY_PREF_HEIGHT, newSize.getHeight()));
+ });
+ });
+ return builder;
+ }
+
+ @SuppressWarnings("rawtypes")
+ protected AbstractGEdgeBuilder applyEdgeData(final EObject edgeElement, final AbstractGEdgeBuilder builder) {
+ modelState.getIndex().getNotation(edgeElement, Edge.class)
+ .ifPresent(edge -> {
+ if (edge.getBendPoints() != null) {
+ edge.getBendPoints().stream().map(GraphUtil::copy).forEachOrdered(builder::addRoutingPoint);
+ }
+ });
+ return builder;
+ }
+
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/WorkflowSourceModelStorage.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/WorkflowSourceModelStorage.java
new file mode 100644
index 00000000..ec07b134
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/gmodel/WorkflowSourceModelStorage.java
@@ -0,0 +1,54 @@
+/********************************************************************************
+ * Copyright (c) 2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ********************************************************************************/
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel;
+
+import java.util.HashMap;
+import java.util.Map.Entry;
+
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowHighlightStore;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationSourceModelStorage;
+import org.eclipse.glsp.server.features.core.model.RequestModelAction;
+
+import com.google.gson.Gson;
+import com.google.inject.Inject;
+
+public class WorkflowSourceModelStorage extends EMSNotationSourceModelStorage {
+
+ @Inject
+ protected WorkflowModelServerAccess modelServerAccess;
+
+ @Inject
+ protected WorkflowHighlightStore highlightStore;
+
+ @Override
+ public void loadSourceModel(final RequestModelAction action) {
+ if (action.getOptions().get("highlights") != null) {
+ HashMap map = new Gson().fromJson(action.getOptions().get("highlights"), HashMap.class);
+ for (Entry entry : map.entrySet()) {
+ this.highlightStore.addHighlight(entry);
+ }
+ // Do not subscribe as we are in the comparison view
+ doLoadSourceModel();
+ } else {
+ doLoadSourceModel();
+ doSubscribe();
+ }
+ }
+
+ @Override
+ protected void doSubscribe() {
+ super.doSubscribe();
+ modelServerAccess.createValidationFramework(modelState.getClientId(), actionDispatcher);
+ modelServerAccess.subscribeToValidation();
+ modelServerAccess.initConstraintList();
+ }
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowRequestMarkersActionHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/actions/WorkflowRequestMarkersActionHandler.java
similarity index 69%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowRequestMarkersActionHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/actions/WorkflowRequestMarkersActionHandler.java
index 81eb4986..719e46b3 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowRequestMarkersActionHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/actions/WorkflowRequestMarkersActionHandler.java
@@ -8,25 +8,28 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.actions;
import java.io.IOException;
import java.util.List;
import java.util.concurrent.ExecutionException;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.modelserver.glsp.actions.handlers.EMSBasicActionHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.modelserver.glsp.actions.handlers.AbstractEMSActionHandler;
import org.eclipse.glsp.server.actions.Action;
import org.eclipse.glsp.server.features.validation.RequestMarkersAction;
-public class WorkflowRequestMarkersActionHandler
- extends EMSBasicActionHandler {
+import com.google.inject.Inject;
+
+public class WorkflowRequestMarkersActionHandler extends AbstractEMSActionHandler {
+
+ @Inject
+ protected WorkflowModelServerAccess modelServerAccess;
@Override
- public List executeAction(final RequestMarkersAction action,
- final WorkflowModelServerAccess modelServerAccess) {
+ public List executeAction(final RequestMarkersAction action) {
try {
- modelServerAccess.validate().join();
+ modelServerAccess.validateViaFramework().join();
} catch (IOException | InterruptedException | ExecutionException e) {
e.printStackTrace();
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/AbstractCreateEdgeHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/AbstractCreateEdgeHandler.java
new file mode 100644
index 00000000..0dbb10aa
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/AbstractCreateEdgeHandler.java
@@ -0,0 +1,47 @@
+/*******************************************************************************
+ * Copyright (c) 2019-2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ******************************************************************************/
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
+
+import java.util.concurrent.CompletableFuture;
+
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.modelserver.client.Response;
+import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.AbstractEMSCreateEdgeOperationHandler;
+import org.eclipse.glsp.server.operations.CreateEdgeOperation;
+import org.eclipse.glsp.server.types.GLSPServerException;
+
+import com.google.inject.Inject;
+
+public abstract class AbstractCreateEdgeHandler extends AbstractEMSCreateEdgeOperationHandler {
+
+ @Inject
+ protected WorkflowModelServerAccess modelAccess;
+
+ public AbstractCreateEdgeHandler(final String type) {
+ super(type);
+ }
+
+ @Override
+ public void executeOperation(final CreateEdgeOperation operation) {
+ String sourceId = operation.getSourceElementId();
+ String targetId = operation.getTargetElementId();
+
+ addFlow(modelAccess, sourceId, targetId)
+ .thenAccept(response -> {
+ if (response.body() == null || response.body().isEmpty()) {
+ throw new GLSPServerException("Could not execute CreateOperation on new Flow Edge");
+ }
+ });
+ }
+
+ protected abstract CompletableFuture> addFlow(WorkflowModelServerAccess modelAccess,
+ String sourceId, String targetId);
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/AbstractCreateNodeHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/AbstractCreateNodeHandler.java
similarity index 52%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/AbstractCreateNodeHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/AbstractCreateNodeHandler.java
index 302ac9f9..5038f2b8 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/AbstractCreateNodeHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/AbstractCreateNodeHandler.java
@@ -8,39 +8,40 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.function.BiFunction;
+import java.util.function.Function;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
import org.eclipse.emfcloud.modelserver.client.Response;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicCreateOperationHandler;
+import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.AbstractEMSCreateNodeOperationHandler;
import org.eclipse.glsp.graph.GPoint;
import org.eclipse.glsp.server.operations.CreateNodeOperation;
import org.eclipse.glsp.server.types.GLSPServerException;
-public abstract class AbstractCreateNodeHandler
- extends EMSBasicCreateOperationHandler {
+import com.google.inject.Inject;
+
+public abstract class AbstractCreateNodeHandler extends AbstractEMSCreateNodeOperationHandler {
+
+ @Inject
+ protected WorkflowModelServerAccess modelAccess;
public AbstractCreateNodeHandler(final String type) {
super(type);
}
- protected WorkflowModelState getWorkflowModelState() { return (WorkflowModelState) getEMSModelState(); }
-
@Override
- public void executeOperation(final CreateNodeOperation operation, final WorkflowModelServerAccess modelAccess) {
- getNodeCreator(modelAccess).apply(getWorkflowModelState(), operation.getLocation()).thenAccept(response -> {
- if (!response.body()) {
- throw new GLSPServerException(
- String.format("Could not execute create operation for a new %s.", getLabel()));
- }
- });
+ public void executeOperation(final CreateNodeOperation operation) {
+ getNodeCreator().apply(operation.getLocation())
+ .thenAccept(response -> {
+ if (response.body() == null || response.body().isEmpty()) {
+ throw new GLSPServerException("Could not execute CreateOperation on new Task Node");
+ }
+ });
}
- protected abstract BiFunction, CompletableFuture>> getNodeCreator(
- WorkflowModelServerAccess modelAccess);
+ protected abstract Function, CompletableFuture>> getNodeCreator();
+
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateAutomatedTaskHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateAutomatedTaskHandler.java
similarity index 63%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateAutomatedTaskHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateAutomatedTaskHandler.java
index ea83404b..a1b0025f 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateAutomatedTaskHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateAutomatedTaskHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,30 +8,27 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.function.BiFunction;
+import java.util.function.Function;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes;
import org.eclipse.emfcloud.modelserver.client.Response;
import org.eclipse.glsp.graph.GPoint;
public class CreateAutomatedTaskHandler extends AbstractCreateNodeHandler {
public CreateAutomatedTaskHandler() {
- super(ModelTypes.AUTOMATED_TASK);
+ super(WorkflowModelTypes.AUTOMATED_TASK);
}
@Override
public String getLabel() { return "Automated Task"; }
@Override
- protected BiFunction, CompletableFuture>> getNodeCreator(
- final WorkflowModelServerAccess modelAccess) {
+ protected Function, CompletableFuture>> getNodeCreator() {
return modelAccess::addAutomatedTask;
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateDecisionNodeHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateDecisionNodeHandler.java
similarity index 63%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateDecisionNodeHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateDecisionNodeHandler.java
index 16424e1c..1c5de2e6 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateDecisionNodeHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateDecisionNodeHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,30 +8,27 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.function.BiFunction;
+import java.util.function.Function;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes;
import org.eclipse.emfcloud.modelserver.client.Response;
import org.eclipse.glsp.graph.GPoint;
public class CreateDecisionNodeHandler extends AbstractCreateNodeHandler {
public CreateDecisionNodeHandler() {
- super(ModelTypes.DECISION_NODE);
+ super(WorkflowModelTypes.DECISION_NODE);
}
@Override
public String getLabel() { return "Decision Node"; }
@Override
- protected BiFunction, CompletableFuture>> getNodeCreator(
- final WorkflowModelServerAccess modelAccess) {
+ protected Function, CompletableFuture>> getNodeCreator() {
return modelAccess::addDecisionNode;
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateFlowHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateFlowHandler.java
similarity index 63%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateFlowHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateFlowHandler.java
index e8a0722f..25d1d1d1 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateFlowHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateFlowHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,13 +8,11 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.concurrent.CompletableFuture;
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
import org.eclipse.emfcloud.modelserver.client.Response;
import org.eclipse.glsp.graph.DefaultTypes;
@@ -28,9 +26,9 @@ public CreateFlowHandler() {
public String getLabel() { return "Flow"; }
@Override
- protected CompletableFuture> addFlow(final WorkflowModelServerAccess modelAccess,
- final WorkflowModelState modelState, final Node source, final Node target) {
- return modelAccess.addFlow(modelState, source, target);
+ protected CompletableFuture> addFlow(final WorkflowModelServerAccess modelAccess,
+ final String sourceId, final String targetId) {
+ return modelAccess.addFlow(sourceId, targetId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateManualTaskHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateManualTaskHandler.java
similarity index 63%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateManualTaskHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateManualTaskHandler.java
index 25bd38f7..43431710 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateManualTaskHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateManualTaskHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,30 +8,27 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.function.BiFunction;
+import java.util.function.Function;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes;
import org.eclipse.emfcloud.modelserver.client.Response;
import org.eclipse.glsp.graph.GPoint;
public class CreateManualTaskHandler extends AbstractCreateNodeHandler {
public CreateManualTaskHandler() {
- super(ModelTypes.MANUAL_TASK);
+ super(WorkflowModelTypes.MANUAL_TASK);
}
@Override
public String getLabel() { return "Manual Task"; }
@Override
- protected BiFunction, CompletableFuture>> getNodeCreator(
- final WorkflowModelServerAccess modelAccess) {
+ protected Function, CompletableFuture>> getNodeCreator() {
return modelAccess::addManualTask;
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateMergeNodeHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateMergeNodeHandler.java
similarity index 63%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateMergeNodeHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateMergeNodeHandler.java
index 1ed2438a..80ea516d 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateMergeNodeHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateMergeNodeHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,30 +8,27 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.Optional;
import java.util.concurrent.CompletableFuture;
-import java.util.function.BiFunction;
+import java.util.function.Function;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes;
import org.eclipse.emfcloud.modelserver.client.Response;
import org.eclipse.glsp.graph.GPoint;
public class CreateMergeNodeHandler extends AbstractCreateNodeHandler {
public CreateMergeNodeHandler() {
- super(ModelTypes.MERGE_NODE);
+ super(WorkflowModelTypes.MERGE_NODE);
}
@Override
public String getLabel() { return "Merge Node"; }
@Override
- protected BiFunction, CompletableFuture>> getNodeCreator(
- final WorkflowModelServerAccess modelAccess) {
+ protected Function, CompletableFuture>> getNodeCreator() {
return modelAccess::addMergeNode;
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateWeightedFlowHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateWeightedFlowHandler.java
similarity index 57%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateWeightedFlowHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateWeightedFlowHandler.java
index a103384f..376e30b3 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/CreateWeightedFlowHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/create/CreateWeightedFlowHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2019-2021 EclipseSource and others.
+ * Copyright (c) 2019-2022 EclipseSource and others.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
@@ -8,29 +8,27 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.create;
import java.util.concurrent.CompletableFuture;
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes;
import org.eclipse.emfcloud.modelserver.client.Response;
public class CreateWeightedFlowHandler extends AbstractCreateEdgeHandler {
public CreateWeightedFlowHandler() {
- super(ModelTypes.WEIGHTED_EDGE);
+ super(WorkflowModelTypes.WEIGHTED_EDGE);
}
@Override
public String getLabel() { return "Weighted Edge"; }
@Override
- protected CompletableFuture> addFlow(final WorkflowModelServerAccess modelAccess,
- final WorkflowModelState modelState, final Node source, final Node target) {
- return modelAccess.addWeightedFlow(modelState, source, target);
+ protected CompletableFuture> addFlow(final WorkflowModelServerAccess modelAccess,
+ final String sourceId, final String targetId) {
+ return modelAccess.addWeightedFlow(sourceId, targetId);
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/AbstractCreateEdgeHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/AbstractCreateEdgeHandler.java
deleted file mode 100644
index fe5b4f4c..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/AbstractCreateEdgeHandler.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
-
-import java.util.concurrent.CompletableFuture;
-
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelIndex;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.client.Response;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicCreateOperationHandler;
-import org.eclipse.glsp.server.operations.CreateEdgeOperation;
-import org.eclipse.glsp.server.types.GLSPServerException;
-
-public abstract class AbstractCreateEdgeHandler
- extends EMSBasicCreateOperationHandler {
-
- public AbstractCreateEdgeHandler(final String type) {
- super(type);
- }
-
- protected WorkflowModelState getWorkflowModelState() { return (WorkflowModelState) getEMSModelState(); }
-
- @Override
- public void executeOperation(final CreateEdgeOperation operation, final WorkflowModelServerAccess modelAccess) {
- WorkflowModelIndex modelIndex = getWorkflowModelState().getIndex();
-
- Node source = modelIndex.getSemantic(operation.getSourceElementId(), Node.class).orElseThrow(
- () -> new GLSPServerException(String.format("No semantic Node found for source element with id %s.",
- operation.getSourceElementId())));
- Node target = modelIndex.getSemantic(operation.getTargetElementId(), Node.class).orElseThrow(
- () -> new GLSPServerException(String.format("No semantic Node found for target element with id %s.",
- operation.getTargetElementId())));
-
- addFlow(modelAccess, getWorkflowModelState(), source, target).thenAccept(response -> {
- if (!response.body()) {
- throw new GLSPServerException(
- String.format("Could not execute create operation for a new %s.", getLabel()));
- }
- });
- }
-
- protected abstract CompletableFuture> addFlow(WorkflowModelServerAccess modelAccess,
- WorkflowModelState modelState, Node source, Node target);
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowChangeRoutingPointsOperationHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowChangeRoutingPointsOperationHandler.java
deleted file mode 100644
index 47c9715d..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowChangeRoutingPointsOperationHandler.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Edge;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicOperationHandler;
-import org.eclipse.glsp.server.operations.ChangeRoutingPointsOperation;
-import org.eclipse.glsp.server.types.ElementAndRoutingPoints;
-
-public class WorkflowChangeRoutingPointsOperationHandler
- extends EMSBasicOperationHandler {
-
- protected WorkflowModelState getWorkflowModelState() { return (WorkflowModelState) getEMSModelState(); }
-
- @Override
- public void executeOperation(final ChangeRoutingPointsOperation operation,
- final WorkflowModelServerAccess modelServerAccess) {
-
- Map changeRoutingPointsMap = new HashMap<>();
- for (ElementAndRoutingPoints element : operation.getNewRoutingPoints()) {
- getWorkflowModelState().getIndex().getNotation(element.getElementId(), Edge.class)
- .ifPresent(notationElement -> {
- changeRoutingPointsMap.put(notationElement, element);
- });
- }
- modelServerAccess.changeRoutingPoints(changeRoutingPointsMap);
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowCompoundOperationHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowCompoundOperationHandler.java
deleted file mode 100644
index 2bb3f628..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowCompoundOperationHandler.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/********************************************************************************
- * Copyright (c) 2021-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ********************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
-
-import java.util.Optional;
-
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicOperationHandler;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSOperationHandler;
-import org.eclipse.glsp.server.operations.CompoundOperation;
-import org.eclipse.glsp.server.operations.Operation;
-import org.eclipse.glsp.server.operations.OperationActionHandler;
-import org.eclipse.glsp.server.operations.OperationHandler;
-import org.eclipse.glsp.server.operations.OperationHandlerRegistry;
-
-import com.google.inject.Inject;
-
-public class WorkflowCompoundOperationHandler
- extends EMSBasicOperationHandler {
- @Inject
- protected OperationHandlerRegistry operationHandlerRegistry;
-
- @Override
- public void executeOperation(final CompoundOperation operation, final WorkflowModelServerAccess modelServerAccess) {
- operation.getOperationList()
- .forEach(nestedOperation -> executeNestedOperation(nestedOperation, modelServerAccess));
- }
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- protected void executeNestedOperation(final Operation operation,
- final WorkflowModelServerAccess modelServerAccess) {
- Optional extends OperationHandler> operationHandler = OperationActionHandler.getOperationHandler(operation,
- operationHandlerRegistry);
- if (operationHandler.isPresent()) {
- if (operationHandler.get() instanceof EMSOperationHandler) {
- ((EMSOperationHandler) operationHandler.get()).executeOperation(operation, modelServerAccess);
- } else {
- operationHandler.get().execute(operation);
- }
- }
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowApplyLabelEditOperationHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowApplyLabelEditOperationHandler.java
similarity index 55%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowApplyLabelEditOperationHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowApplyLabelEditOperationHandler.java
index b99089b1..ad734744 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowApplyLabelEditOperationHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowApplyLabelEditOperationHandler.java
@@ -8,43 +8,47 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operations;
import static org.eclipse.glsp.server.types.GLSPServerException.getOrThrow;
import org.eclipse.emfcloud.coffee.Task;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.util.ModelTypes;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelTypes;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelState;
+import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.AbstractEMSOperationHandler;
import org.eclipse.glsp.graph.GLabel;
import org.eclipse.glsp.server.features.directediting.ApplyLabelEditOperation;
import org.eclipse.glsp.server.types.GLSPServerException;
-public class WorkflowApplyLabelEditOperationHandler
- extends EMSBasicOperationHandler {
+import com.google.inject.Inject;
- protected WorkflowModelState getWorkflowModelState() { return (WorkflowModelState) getEMSModelState(); }
+public class WorkflowApplyLabelEditOperationHandler extends AbstractEMSOperationHandler {
+
+ @Inject
+ protected EMSNotationModelState modelState;
+ @Inject
+ protected WorkflowModelServerAccess modelServerAccess;
@Override
- public void executeOperation(final ApplyLabelEditOperation operation,
- final WorkflowModelServerAccess modelServerAccess) {
+ public void executeOperation(final ApplyLabelEditOperation operation) {
String inputText = operation.getText().trim();
String graphicalElementId = operation.getLabelId();
GLabel label = getOrThrow(
- getWorkflowModelState().getIndex().findElementByClass(graphicalElementId, GLabel.class), GLabel.class,
+ modelState.getIndex().findElementByClass(graphicalElementId, GLabel.class), GLabel.class,
"Element with provided ID cannot be found or is not a GLabel");
- if (label.getType() == ModelTypes.LABEL_HEADING) {
+ if (label.getType() == WorkflowModelTypes.LABEL_HEADING) {
String elementId = graphicalElementId.replace("_classname", "");
- Task semanticElement = getOrThrow(getWorkflowModelState().getIndex().getSemantic(elementId), Task.class,
+ Task semanticElement = getOrThrow(modelState.getIndex().getEObject(elementId), Task.class,
"Could not find Task for id '" + elementId + "', no delete operation executed.");
- modelServerAccess.setTaskName(getWorkflowModelState(), semanticElement, inputText).thenAccept(response -> {
- if (!response.body()) {
- throw new GLSPServerException("Could not rename Task to: " + inputText);
- }
- });
+ modelServerAccess.setTaskName(semanticElement, inputText)
+ .thenAccept(response -> {
+ if (response.body() == null || response.body().isEmpty()) {
+ throw new GLSPServerException("Could not rename Task to: " + inputText);
+ }
+ });
}
}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowDeleteOperationHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowDeleteOperationHandler.java
similarity index 50%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowDeleteOperationHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowDeleteOperationHandler.java
index 661b0519..60631bb1 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowDeleteOperationHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowDeleteOperationHandler.java
@@ -8,47 +8,51 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operations;
import static org.eclipse.glsp.server.types.GLSPServerException.getOrThrow;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emfcloud.coffee.Flow;
import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelState;
+import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.AbstractEMSOperationHandler;
import org.eclipse.glsp.server.operations.DeleteOperation;
import org.eclipse.glsp.server.types.GLSPServerException;
-public class WorkflowDeleteOperationHandler
- extends EMSBasicOperationHandler {
+import com.google.inject.Inject;
- protected WorkflowModelState getWorkflowModelState() { return (WorkflowModelState) getEMSModelState(); }
+public class WorkflowDeleteOperationHandler extends AbstractEMSOperationHandler {
- @Override
- public void executeOperation(final DeleteOperation operation, final WorkflowModelServerAccess modelServerAccess) {
+ @Inject
+ protected EMSNotationModelState modelState;
+ @Inject
+ protected WorkflowModelServerAccess modelServerAccess;
- WorkflowModelState modelState = getWorkflowModelState();
+ @Override
+ public void executeOperation(final DeleteOperation operation) {
operation.getElementIds().forEach(elementId -> {
- EObject semanticElement = getOrThrow(modelState.getIndex().getSemantic(elementId), EObject.class,
+ EObject semanticElement = getOrThrow(modelState.getIndex().getEObject(elementId), EObject.class,
"Could not find element for id '" + elementId + "', no delete operation executed.");
if (semanticElement instanceof Node) {
- modelServerAccess.removeNode(modelState, (Node) semanticElement).thenAccept(response -> {
- if (!response.body()) {
- throw new GLSPServerException(
- "Could not execute delete operation on Node: " + semanticElement.toString());
- }
- });
+ modelServerAccess.removeNode((Node) semanticElement)
+ .thenAccept(response -> {
+ if (response.body() == null || response.body().isEmpty()) {
+ throw new GLSPServerException(
+ "Could not execute delete operation on Node: " + semanticElement.toString());
+ }
+ });
} else if (semanticElement instanceof Flow) {
- modelServerAccess.removeFlow(modelState, (Flow) semanticElement).thenAccept(response -> {
- if (!response.body()) {
- throw new GLSPServerException(
- "Could not execute delete operation on Flow: " + semanticElement.toString());
- }
- });
+ modelServerAccess.removeFlow((Flow) semanticElement)
+ .thenAccept(response -> {
+ if (response.body() == null || response.body().isEmpty()) {
+ throw new GLSPServerException(
+ "Could not execute delete operation on Flow: " + semanticElement.toString());
+ }
+ });
}
});
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowReconnectFlowHandler.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowReconnectFlowHandler.java
similarity index 60%
rename from backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowReconnectFlowHandler.java
rename to backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowReconnectFlowHandler.java
index e7a70545..ec9b6dd2 100644
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operation/WorkflowReconnectFlowHandler.java
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/handler/operations/WorkflowReconnectFlowHandler.java
@@ -8,54 +8,56 @@
*
* SPDX-License-Identifier: EPL-2.0 OR MIT
******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operation;
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.handler.operations;
import static org.eclipse.glsp.server.types.GLSPServerException.getOrThrow;
-import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emfcloud.coffee.Flow;
import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelIndex;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelServerAccess;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.model.WorkflowModelState;
-import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.EMSBasicOperationHandler;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowModelServerAccess;
+import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelState;
+import org.eclipse.emfcloud.modelserver.glsp.operations.handlers.AbstractEMSOperationHandler;
+import org.eclipse.glsp.server.emf.EMFIdGenerator;
import org.eclipse.glsp.server.operations.ReconnectEdgeOperation;
-public class WorkflowReconnectFlowHandler
- extends EMSBasicOperationHandler {
+import com.google.inject.Inject;
- private WorkflowModelIndex getWorkflowModelIndex() {
- return ((WorkflowModelState) super.getEMSModelState()).getIndex();
- }
+public class WorkflowReconnectFlowHandler extends AbstractEMSOperationHandler {
+
+ @Inject
+ protected EMSNotationModelState modelState;
+ @Inject
+ protected WorkflowModelServerAccess modelServerAccess;
+ @Inject
+ protected EMFIdGenerator idGenerator;
@Override
@SuppressWarnings("checkstyle:CyclomaticComplexity")
- public void executeOperation(final ReconnectEdgeOperation operation,
- final WorkflowModelServerAccess modelServerAccess) {
+ public void executeOperation(final ReconnectEdgeOperation operation) {
if (operation.getEdgeElementId() == null || operation.getSourceElementId() == null
|| operation.getTargetElementId() == null) {
throw new IllegalArgumentException("Incomplete reconnect flow action");
}
- String modelId = EcoreUtil.getURI(getEMSModelState().getSemanticModel()).fragment();
+ String modelId = idGenerator.getOrCreateId(modelState.getSemanticModel());
if (operation.getSourceElementId().equals(modelId) || operation.getTargetElementId().equals(modelId)) {
// client tool failure, do nothing
return;
}
- Flow flow = getOrThrow(getWorkflowModelIndex().getSemantic(operation.getEdgeElementId()), Flow.class,
+ Flow flow = getOrThrow(modelState.getIndex().getEObject(operation.getEdgeElementId()), Flow.class,
"Could not find Flow for id '" + operation.getEdgeElementId()
+ "', no reconnecting operation executed.");
- if (!operation.getSourceElementId().equals(EcoreUtil.getURI(flow.getSource()).fragment())) {
- Node newSource = getOrThrow(getWorkflowModelIndex().getSemantic(operation.getSourceElementId()), Node.class,
+ if (!operation.getSourceElementId().equals(idGenerator.getOrCreateId(flow.getSource()))) {
+ Node newSource = getOrThrow(modelState.getIndex().getEObject(operation.getSourceElementId()), Node.class,
"Could not find Node for id '" + operation.getSourceElementId()
+ "', no reconnecting operation executed.");
modelServerAccess.reconnectFlowSource(flow, newSource);
- } else if (!operation.getTargetElementId().equals(EcoreUtil.getURI(flow.getTarget()).fragment())) {
- Node newTarget = getOrThrow(getWorkflowModelIndex().getSemantic(operation.getTargetElementId()), Node.class,
+ } else if (!operation.getTargetElementId().equals(idGenerator.getOrCreateId(flow.getTarget()))) {
+ Node newTarget = getOrThrow(modelState.getIndex().getEObject(operation.getTargetElementId()), Node.class,
"Could not find Node for id '" + operation.getTargetElementId()
+ "', no reconnecting operation executed.");
modelServerAccess.reconnectFlowTarget(flow, newTarget);
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/launch/WorkflowGLSPServerLauncher.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/launch/WorkflowGLSPServerLauncher.java
new file mode 100644
index 00000000..39f948e9
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/launch/WorkflowGLSPServerLauncher.java
@@ -0,0 +1,55 @@
+/********************************************************************************
+ * Copyright (c) 2021-2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ********************************************************************************/
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.launch;
+
+import java.io.IOException;
+import java.util.function.Predicate;
+
+import org.apache.commons.cli.ParseException;
+import org.eclipse.elk.alg.layered.options.LayeredMetaDataProvider;
+import org.eclipse.emfcloud.coffee.workflow.glsp.server.WorkflowDiagramModule;
+import org.eclipse.emfcloud.modelserver.glsp.EMSGLSPServerModule;
+import org.eclipse.glsp.layout.ElkLayoutEngine;
+import org.eclipse.glsp.server.di.ServerModule;
+import org.eclipse.glsp.server.launch.DefaultCLIParser;
+import org.eclipse.glsp.server.launch.GLSPServerLauncher;
+import org.eclipse.glsp.server.launch.SocketGLSPServerLauncher;
+import org.eclipse.glsp.server.utils.LaunchUtil;
+
+@SuppressWarnings("UncommentedMain")
+public final class WorkflowGLSPServerLauncher {
+
+ private WorkflowGLSPServerLauncher() {}
+
+ private static final int WORKFLOW_DEFAULT_PORT = 5008;
+
+ public static void main(final String[] args) {
+ String processName = "WorkflowGLSPServer";
+ try {
+ ElkLayoutEngine.initialize(new LayeredMetaDataProvider());
+ DefaultCLIParser parser = new DefaultCLIParser(args, processName);
+ LaunchUtil.configure(parser);
+
+ Predicate validator = (port) -> LaunchUtil.isValidPort(port);
+ int serverPort = parser.parseIntOption(DefaultCLIParser.OPTION_PORT, WORKFLOW_DEFAULT_PORT, validator);
+
+ ServerModule coffeeServerModule = new EMSGLSPServerModule()
+ .configureDiagramModule(new WorkflowDiagramModule());
+
+ GLSPServerLauncher launcher = new SocketGLSPServerLauncher(coffeeServerModule);
+ launcher.start("localhost", serverPort);
+ } catch (ParseException | IOException ex) {
+ ex.printStackTrace();
+ LaunchUtil.printHelp(processName, DefaultCLIParser.getDefaultOptions());
+ }
+ }
+
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/layout/WorkflowLayoutEngine.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/layout/WorkflowLayoutEngine.java
new file mode 100644
index 00000000..1373c17d
--- /dev/null
+++ b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/layout/WorkflowLayoutEngine.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2019-2022 EclipseSource and others.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0 which is available at
+ * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
+ * available at https://opensource.org/licenses/MIT.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR MIT
+ ******************************************************************************/
+package org.eclipse.emfcloud.coffee.workflow.glsp.server.layout;
+
+import org.eclipse.elk.alg.layered.options.LayeredOptions;
+import org.eclipse.elk.core.options.Direction;
+import org.eclipse.elk.core.options.EdgeRouting;
+import org.eclipse.emfcloud.modelserver.glsp.layout.EMSLayoutEngine;
+import org.eclipse.glsp.graph.DefaultTypes;
+import org.eclipse.glsp.layout.GLSPLayoutConfigurator;
+
+public class WorkflowLayoutEngine extends EMSLayoutEngine {
+
+ @Override
+ protected void configureLayoutOptions(final GLSPLayoutConfigurator configurator) {
+ // ELK Layered Algorithm Reference:
+ // https://www.eclipse.org/elk/reference/algorithms/org-eclipse-elk-layered.html
+ configurator.configureByType(DefaultTypes.GRAPH)//
+ .setProperty(LayeredOptions.DIRECTION, Direction.DOWN)
+ .setProperty(LayeredOptions.SPACING_BASE_VALUE, 35d)
+ .setProperty(LayeredOptions.EDGE_ROUTING, EdgeRouting.UNDEFINED);
+ }
+
+}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/MappedGModelRoot.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/MappedGModelRoot.java
deleted file mode 100644
index f9552ce2..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/MappedGModelRoot.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2020 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.model;
-
-import java.util.Map;
-
-import org.eclipse.emfcloud.coffee.Node;
-import org.eclipse.glsp.graph.GModelRoot;
-import org.eclipse.glsp.graph.GNode;
-
-public class MappedGModelRoot {
-
- private final GModelRoot root;
- private final Map mapping;
-
- public MappedGModelRoot(final GModelRoot root, final Map mapping) {
- super();
- this.root = root;
- this.mapping = mapping;
- }
-
- public Map getMapping() { return mapping; }
-
- public GModelRoot getRoot() { return root; }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelFactory.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelFactory.java
deleted file mode 100644
index 93a7520b..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelFactory.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.model;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emfcloud.coffee.Workflow;
-import org.eclipse.emfcloud.coffee.workflow.glsp.server.gmodel.DiagramModelFactory;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Diagram;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Edge;
-import org.eclipse.emfcloud.modelserver.glsp.notation.NotationElement;
-import org.eclipse.emfcloud.modelserver.glsp.notation.NotationFactory;
-import org.eclipse.emfcloud.modelserver.glsp.notation.SemanticProxy;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Shape;
-import org.eclipse.glsp.graph.GEdge;
-import org.eclipse.glsp.graph.GModelElement;
-import org.eclipse.glsp.graph.GModelRoot;
-import org.eclipse.glsp.graph.GNode;
-import org.eclipse.glsp.graph.GPoint;
-import org.eclipse.glsp.graph.GShapeElement;
-import org.eclipse.glsp.graph.util.GraphUtil;
-import org.eclipse.glsp.server.features.core.model.GModelFactory;
-import org.eclipse.glsp.server.model.GModelState;
-
-import com.google.common.base.Preconditions;
-import com.google.inject.Inject;
-
-public class WorkflowModelFactory implements GModelFactory {
-
- @Inject
- protected GModelState gModelState;
-
- @Override
- public void createGModel() {
- WorkflowModelState modelState = WorkflowModelState.getModelState(gModelState);
- DiagramModelFactory gModelFactory = new DiagramModelFactory(modelState);
-
- GModelRoot gmodelRoot = gModelFactory.createRoot(modelState);
-
- WorkflowModelIndex modelIndex = modelState.getIndex();
- modelIndex.clear();
-
- Workflow semanticModel = modelState.getSemanticModel();
- EcoreUtil.resolveAll(semanticModel);
- Diagram diagram = modelState.getNotationModel();
- getOrCreateDiagram(diagram, semanticModel, modelIndex);
-
- gmodelRoot = gModelFactory.create();
- initialize(gmodelRoot, modelIndex, semanticModel, diagram);
-
- modelState.setRoot(gmodelRoot);
-
- }
-
- private Diagram getOrCreateDiagram(Diagram diagram, final Workflow workflow, final WorkflowModelIndex modelIndex) {
- if (diagram == null) {
- diagram = createDiagram(workflow);
- }
- findUnresolvedElements(diagram, workflow)
- .forEach(e -> e.setSemanticElement(resolved(e.getSemanticElement(), workflow)));
- modelIndex.indexNotation(diagram);
- return diagram;
- }
-
- private Diagram createDiagram(final Workflow workflow) {
- Diagram diagram = NotationFactory.eINSTANCE.createDiagram();
- diagram.setSemanticElement(createProxy(workflow));
- return diagram;
- }
-
- public Diagram initialize(final GModelRoot gRoot, final WorkflowModelIndex modelIndex, final Workflow workflowModel,
- final Diagram diagram) {
- Preconditions.checkArgument(diagram.getSemanticElement().getResolvedElement() == workflowModel);
- gRoot.getChildren().forEach(child -> {
- modelIndex.getNotation(child).ifPresentOrElse(n -> updateNotationElement(n, child),
- () -> initializeNotationElement(child, modelIndex).ifPresent(diagram.getElements()::add));
- });
- return diagram;
- }
-
- private Optional extends NotationElement> initializeNotationElement(final GModelElement gModelElement,
- final WorkflowModelIndex modelIndex) {
- Optional extends NotationElement> result = Optional.empty();
- if (gModelElement instanceof GNode) {
- result = initializeShape((GNode) gModelElement, modelIndex);
- } else if (gModelElement instanceof GEdge) {
- result = initializeEdge((GEdge) gModelElement, modelIndex);
- }
- return result;
- }
-
- private List findUnresolvedElements(final Diagram diagram, final Workflow workflowModel) {
- List unresolved = new ArrayList<>();
-
- if (diagram.getSemanticElement() == null
- || resolved(diagram.getSemanticElement(), workflowModel).getResolvedElement() == null) {
- unresolved.add(diagram);
- }
-
- unresolved.addAll(diagram.getElements().stream()
- .filter(element -> element.getSemanticElement() == null ? false
- : resolved(element.getSemanticElement(), workflowModel).getResolvedElement() == null)
- .collect(Collectors.toList()));
-
- return unresolved;
- }
-
- private Optional initializeShape(final GShapeElement shapeElement, final WorkflowModelIndex modelIndex) {
- return modelIndex.getSemantic(shapeElement)
- .map(semanticElement -> initializeShape(semanticElement, shapeElement, modelIndex));
- }
-
- private Shape initializeShape(final EObject semanticElement, final GShapeElement shapeElement,
- final WorkflowModelIndex modelIndex) {
- Shape shape = NotationFactory.eINSTANCE.createShape();
- shape.setSemanticElement(createProxy(semanticElement));
- if (shapeElement != null) {
- updateShape(shape, shapeElement);
- }
- modelIndex.indexNotation(shape);
- return shape;
- }
-
- private Optional initializeEdge(final GEdge gEdge, final WorkflowModelIndex modelIndex) {
- return modelIndex.getSemantic(gEdge).map(semanticElement -> initializeEdge(semanticElement, gEdge, modelIndex));
- }
-
- private Edge initializeEdge(final EObject semanticElement, final GEdge gEdge, final WorkflowModelIndex modelIndex) {
- Edge edge = NotationFactory.eINSTANCE.createEdge();
- edge.setSemanticElement(createProxy(semanticElement));
- if (gEdge != null) {
- updateEdge(edge, gEdge);
- }
- modelIndex.indexNotation(edge);
- return edge;
- }
-
- private SemanticProxy createProxy(final EObject eObject) {
- SemanticProxy proxy = NotationFactory.eINSTANCE.createSemanticProxy();
- proxy.setResolvedElement(eObject);
- proxy.setUri(EcoreUtil.getURI(eObject).fragment().toString());
- return proxy;
- }
-
- private SemanticProxy resolved(final SemanticProxy proxy, final Workflow workflow) {
- if (proxy.getResolvedElement() != null) {
- return proxy;
- }
- return reResolved(proxy, workflow);
- }
-
- private SemanticProxy reResolved(final SemanticProxy proxy, final Workflow workflow) {
- // The xmi:id is used as URI to identify elements, we use the underlying
- // resource to fetch elements by id
- Resource semanticResource = workflow.eResource();
- proxy.setResolvedElement(semanticResource.getEObject(proxy.getUri()));
- return proxy;
- }
-
- private void updateNotationElement(final NotationElement notation, final GModelElement modelElement) {
- if (notation instanceof Shape && modelElement instanceof GShapeElement) {
- updateShape((Shape) notation, (GShapeElement) modelElement);
- } else if (notation instanceof Edge && modelElement instanceof GEdge) {
- updateEdge((Edge) notation, (GEdge) modelElement);
- }
- }
-
- private void updateShape(final Shape shape, final GShapeElement shapeElement) {
- if (shapeElement.getSize() != null) {
- shape.setSize(GraphUtil.copy(shapeElement.getSize()));
- }
- if (shapeElement.getPosition() != null) {
- shape.setPosition(GraphUtil.copy(shapeElement.getPosition()));
- } else if (shape.getPosition() != null) {
- shapeElement.setPosition(GraphUtil.copy(shape.getPosition()));
- }
- }
-
- private void updateEdge(final Edge edge, final GEdge gEdge) {
- edge.getBendPoints().clear();
- if (gEdge.getRoutingPoints() != null) {
- ArrayList gPoints = new ArrayList<>();
- gEdge.getRoutingPoints().forEach(p -> gPoints.add(GraphUtil.copy(p)));
- edge.getBendPoints().addAll(gPoints);
- }
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelIndex.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelIndex.java
deleted file mode 100644
index d9a6fd60..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelIndex.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.model;
-
-import java.util.Optional;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Diagram;
-import org.eclipse.emfcloud.modelserver.glsp.notation.NotationElement;
-import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelIndex;
-import org.eclipse.glsp.graph.GModelElement;
-import org.eclipse.glsp.graph.impl.GModelIndexImpl;
-
-import com.google.common.collect.BiMap;
-import com.google.common.collect.HashBiMap;
-
-public class WorkflowModelIndex extends EMSNotationModelIndex {
- private final BiMap semanticIndex;
- private final BiMap notationIndex;
-
- protected WorkflowModelIndex(final EObject target) {
- super(target);
- semanticIndex = HashBiMap.create();
- notationIndex = HashBiMap.create();
- }
-
- public static WorkflowModelIndex get(final GModelElement element) {
- EObject root = EcoreUtil.getRootContainer(element);
- WorkflowModelIndex existingIndex = (WorkflowModelIndex) EcoreUtil.getExistingAdapter(root,
- WorkflowModelIndex.class);
- return Optional.ofNullable(existingIndex).orElseGet(() -> (create(element)));
- }
-
- public static WorkflowModelIndex create(final GModelElement element) {
- return new WorkflowModelIndex(EcoreUtil.getRootContainer(element));
- }
-
- @Override
- public boolean isAdapterForType(final Object type) {
- return WorkflowModelIndex.class.equals(type) || GModelIndexImpl.class.equals(type);
- }
-
- @Override
- public void clear() {
- this.semanticIndex.clear();
- this.notationIndex.clear();
- }
-
- @Override
- public void indexSemantic(final String id, final EObject semanticElement) {
- semanticIndex.putIfAbsent(id, semanticElement);
- }
-
- @Override
- public void indexNotation(final NotationElement notationElement) {
- if (notationElement.getSemanticElement() != null) {
- EObject semanticElement = notationElement.getSemanticElement().getResolvedElement();
- notationIndex.put(semanticElement, notationElement);
- semanticIndex.inverse().putIfAbsent(semanticElement, EcoreUtil.getURI(semanticElement).fragment());
- }
-
- if (notationElement instanceof Diagram) {
- ((Diagram) notationElement).getElements().forEach(this::indexNotation);
- }
- }
-
- public Optional getSemantic(final String id) {
- return Optional.ofNullable(semanticIndex.get(id));
- }
-
- public Optional getSemanticId(final EObject semanticElement) {
- return Optional.ofNullable(semanticIndex.inverse().get(semanticElement));
- }
-
- @Override
- public Optional getSemantic(final String id, final Class clazz) {
- return safeCast(Optional.ofNullable(semanticIndex.get(id)), clazz);
- }
-
- public Optional getSemantic(final GModelElement gModelElement) {
- return getSemantic(gModelElement.getId());
- }
-
- public Optional getSemantic(final GModelElement gModelElement, final Class clazz) {
- return getSemantic(gModelElement.getId(), clazz);
- }
-
- public Optional getNotation(final EObject semanticElement) {
- return Optional.ofNullable(notationIndex.get(semanticElement));
- }
-
- public Optional getNotation(final EObject semanticElement, final Class clazz) {
- return safeCast(getNotation(semanticElement), clazz);
- }
-
- public Optional getNotation(final String id) {
- return getSemantic(id).flatMap(this::getNotation);
- }
-
- @Override
- public Optional getNotation(final String id, final Class clazz) {
- return safeCast(getNotation(id), clazz);
- }
-
- public Optional getNotation(final GModelElement gModelElement) {
- return getNotation(gModelElement.getId());
- }
-
- public Optional getNotation(final GModelElement element, final Class clazz) {
- return safeCast(getNotation(element), clazz);
- }
-
- private Optional safeCast(final Optional> toCast, final Class clazz) {
- return toCast.filter(clazz::isInstance).map(clazz::cast);
- }
-
- public String add(final EObject eObject) {
- if (eObject instanceof GModelElement) {
- return ((GModelElement) eObject).getId();
- }
- String id = null;
- if (eObject instanceof NotationElement) {
- EObject semanticElement = ((NotationElement) eObject).getSemanticElement().getResolvedElement();
- id = add(semanticElement);
- notationIndex.putIfAbsent(semanticElement, (NotationElement) eObject);
- } else {
- id = getSemanticId(eObject).orElse(null);
- if (id == null) {
- id = EcoreUtil.getURI(eObject).fragment();
- indexSemantic(id, eObject);
- }
- }
- return id;
-
- }
-
- public void remove(final EObject eObject) {
- if (eObject instanceof NotationElement) {
- EObject semanticElement = ((NotationElement) eObject).getSemanticElement().getResolvedElement();
- notationIndex.remove(semanticElement);
- remove(semanticElement);
- return;
- } else if (eObject instanceof GModelElement) {
- // do nothing;
- return;
- }
- semanticIndex.inverse().remove(eObject);
- }
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelSourceLoader.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelSourceLoader.java
deleted file mode 100644
index 900214d7..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelSourceLoader.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2021-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emfcloud.modelserver.client.v1.ModelServerClientV1;
-import org.eclipse.emfcloud.modelserver.glsp.model.EMSModelSourceLoader;
-import org.eclipse.glsp.server.features.core.model.RequestModelAction;
-import org.eclipse.glsp.server.model.GModelState;
-import org.eclipse.glsp.server.types.GLSPServerException;
-import org.eclipse.glsp.server.utils.ClientOptionsUtil;
-
-import com.google.gson.Gson;
-
-public class WorkflowModelSourceLoader extends EMSModelSourceLoader {
-
- private static Logger LOGGER = Logger.getLogger(EMSModelSourceLoader.class.getSimpleName());
-
- @Override
- public void loadSourceModel(final RequestModelAction action) {
- String sourceURI = getSourceURI(action.getOptions());
- if (sourceURI.isEmpty()) {
- LOGGER.error("No source URI given to load source models");
- return;
- }
- Optional modelServerClient = modelServerClientProvider.get();
- if (modelServerClient.isEmpty()) {
- LOGGER.error("Connection to modelserver could not be initialized");
- return;
- }
-
- WorkflowModelServerAccess modelServerAccess = createModelServerAccess(sourceURI, modelServerClient.get());
-
- WorkflowModelState modelState = createModelState(gModelState);
- modelState.initialize(action.getOptions(), modelServerAccess);
-
- try {
- modelState.loadSourceModels();
- } catch (GLSPServerException e) {
- LOGGER.error("Error during source model loading");
- e.printStackTrace();
- return;
- }
-
- if (action.getOptions().get("highlights") != null) {
- HashMap map = new Gson().fromJson(action.getOptions().get("highlights"), HashMap.class);
- for (Entry entry : map.entrySet()) {
- modelState.addHighlight(entry);
- }
- } else {
- modelServerAccess.subscribe(createSubscriptionListener(modelState, actionDispatcher, submissionHandler));
- modelServerAccess.createValidationFramework(modelState);
- modelServerAccess.subscribeToValidation();
- modelServerAccess.initConstraintList();
- }
- }
-
- @Override
- public WorkflowModelServerAccess createModelServerAccess(final String sourceURI,
- final ModelServerClientV1 modelServerClient) {
- return new WorkflowModelServerAccess(sourceURI, modelServerClient, actionDispatcher);
- }
-
- @Override
- public WorkflowModelState createModelState(final GModelState modelState) {
- return WorkflowModelState.getModelState(modelState);
- }
-
- @Override
- protected String getSourceURI(final Map clientOptions) {
- // We want to use the absolute sourceUri instead of the relative one from the
- // super class
- String sourceURI = ClientOptionsUtil.getSourceUri(clientOptions)
- .orElseThrow(() -> new GLSPServerException("No source URI given to load model!"));
- return sourceURI;
- }
-
-}
diff --git a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelState.java b/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelState.java
deleted file mode 100644
index 1517e100..00000000
--- a/backend/plugins/org.eclipse.emfcloud.coffee.workflow.glsp.server/src/org/eclipse/emfcloud/coffee/workflow/glsp/server/model/WorkflowModelState.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2019-2022 EclipseSource and others.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0 which is available at
- * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is
- * available at https://opensource.org/licenses/MIT.
- *
- * SPDX-License-Identifier: EPL-2.0 OR MIT
- ******************************************************************************/
-package org.eclipse.emfcloud.coffee.workflow.glsp.server.model;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.log4j.Logger;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emfcloud.coffee.Machine;
-import org.eclipse.emfcloud.coffee.Workflow;
-import org.eclipse.emfcloud.modelserver.glsp.EMSModelServerAccess;
-import org.eclipse.emfcloud.modelserver.glsp.notation.Diagram;
-import org.eclipse.emfcloud.modelserver.glsp.notation.integration.EMSNotationModelState;
-import org.eclipse.glsp.server.model.GModelState;
-import org.eclipse.glsp.server.types.GLSPServerException;
-
-public class WorkflowModelState extends EMSNotationModelState {
- public static final String OPTION_WORKFLOW_INDEX = "workflowIndex";
- public static final int WORKFLOW_INDEX_DEFAULT = 0;
- private static Logger LOGGER = Logger.getLogger(WorkflowModelState.class);
-
- protected WorkflowModelServerAccess modelAccess;
-
- private final Map highlights = new HashMap<>();
-
- // Our semantic model is not the whole machine but only the selected workflow
- protected Workflow semanticModel;
- protected Diagram notationModel;
-
- private int workflowIndex;
-
- public static WorkflowModelServerAccess getModelAccess(final GModelState state) {
- return getModelState(state).getModelServerAccess();
- }
-
- public static WorkflowModelState getModelState(final GModelState state) {
- if (!(state instanceof WorkflowModelState)) {
- throw new IllegalArgumentException("Argument must be a WorkflowModelState");
- }
- return ((WorkflowModelState) state);
- }
-
- @Override
- public WorkflowModelServerAccess getModelServerAccess() { return modelAccess; }
-
- @Override
- protected void setModelServerAccess(final EMSModelServerAccess modelServerAccess) {
- this.modelAccess = (WorkflowModelServerAccess) modelServerAccess;
- }
-
- @Override
- public Diagram getNotationModel() { return notationModel; }
-
- @Override
- public Workflow getSemanticModel() { return semanticModel; }
-
- @Override
- public WorkflowModelIndex getIndex() { return WorkflowModelIndex.get(getRoot()); }
-
- @Override
- public void loadSourceModels() throws GLSPServerException {
- EObject semanticRoot = modelAccess.getSemanticModel();
- if (!(semanticRoot instanceof Machine)) {
- throw new GLSPServerException("Error during semantic model loading");
- }
- Machine machine = (Machine) semanticRoot;
- if (workflowIndex < 0 || workflowIndex >= machine.getWorkflows().size()) {
- LOGGER.error("No workflow with index " + workflowIndex + " in " + machine + ".");
- throw new GLSPServerException("Error during semantic model loading");
- }
- this.semanticModel = machine.getWorkflows().get(workflowIndex);
-
- // initialize semantic model
- EcoreUtil.resolveAll(semanticModel);
-
- EObject notationRoot = modelAccess.getNotationModel();
- if (notationRoot != null && !(notationRoot instanceof Diagram)) {
- throw new GLSPServerException("Error during notation diagram loading");
- }
- this.notationModel = (Diagram) notationRoot;
- }
-
- public Map getHighlights() { return highlights; }
-
- public void addHighlight(final Entry