Bug 567234: Upgrade target platform to 2020-09
Change-Id: Iac3d25c8cd1be89d926856d1913dcc9993513f08
diff --git a/developers/org.eclipse.ease.helpgenerator/pom.xml b/developers/org.eclipse.ease.helpgenerator/pom.xml
index c11db3f..db2f07d 100644
--- a/developers/org.eclipse.ease.helpgenerator/pom.xml
+++ b/developers/org.eclipse.ease.helpgenerator/pom.xml
@@ -2,14 +2,38 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.ease</groupId>
<artifactId>org.eclipse.ease.helpgenerator</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
<packaging>jar</packaging>
- <parent>
- <groupId>org.eclipse.ease</groupId>
- <artifactId>org.eclipse.ease.releng</artifactId>
- <version>0.8.0-SNAPSHOT</version>
- <relativePath>../../releng/org.eclipse.ease.releng</relativePath>
- </parent>
+
+ <prerequisites>
+ <!-- Maven 3.1.0 is the earliest version using Eclipse Aether, Maven 3.0.x
+ uses the incompatible predecessor Sonatype Aether -->
+ <maven>3.1</maven>
+ </prerequisites>
+
+ <properties>
+ <!-- used plugin versions -->
+ <tycho.version>1.3.0</tycho.version>
+ <tycho.extras.version>${tycho.version}</tycho.extras.version>
+ <maven.compiler.version>3.6.1</maven.compiler.version>
+ <maven.javadoc.version>2.9.1</maven.javadoc.version>
+ <jacoco.version>0.7.9</jacoco.version>
+ <eclipse.jarsigner.version>1.1.3</eclipse.jarsigner.version>
+ <maven.buildhelper.version>1.9.1</maven.buildhelper.version>
+
+ <!-- build parameters -->
+ <compiler.compliance>1.8</compiler.compliance>
+ <jacoco.report.path>../../coverage-report/jacoco.exec</jacoco.report.path>
+
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+ <!-- help links to integrated help APIs -->
+ <platform.api>org.eclipse.platform.doc.isv/reference/api</platform.api>
+ <ease.api>org.eclipse.ease.help/help/api-docs/javadoc</ease.api>
+ <doclet.path>${user.dir}/ease.module.doclet.jar</doclet.path>
+ </properties>
<build>
<sourceDirectory>src</sourceDirectory>
@@ -17,6 +41,17 @@
<finalName>ease.module.doclet</finalName>
<plugins>
+ <!-- set compiler options -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>${maven.compiler.version}</version>
+ <configuration>
+ <source>${compiler.compliance}</source>
+ <target>${compiler.compliance}</target>
+ </configuration>
+ </plugin>
+
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AbstractCompositeExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AbstractCompositeExpressionDefinition.java
index c42c3e7..5e9ac29 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AbstractCompositeExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AbstractCompositeExpressionDefinition.java
@@ -13,7 +13,9 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.stream.Collectors;
+import org.eclipse.core.expressions.Expression;
import org.eclipse.ease.ui.scripts.expressions.ICompositeExpressionDefinition;
import org.eclipse.ease.ui.scripts.expressions.IExpressionDefinition;
@@ -53,6 +55,10 @@
return (fChildren != null) ? fChildren : Collections.emptyList();
}
+ protected List<Expression> getChildrenAsExpressions() {
+ return getChildren().stream().map(e -> e.toCoreExpression()).collect(Collectors.toList());
+ }
+
@Override
public void removeChild(IExpressionDefinition element) {
getChildren().remove(element);
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AndExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AndExpressionDefinition.java
index 08389ad..183ffd0 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AndExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/AndExpressionDefinition.java
@@ -11,19 +11,11 @@
package org.eclipse.ease.ui.scripts.expressions.definitions;
import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.internal.expressions.AndExpression;
-import org.eclipse.ease.ui.scripts.expressions.IExpressionDefinition;
-@SuppressWarnings("restriction")
public class AndExpressionDefinition extends AbstractCompositeExpressionDefinition {
@Override
public Expression toCoreExpression() {
- final AndExpression coreExpression = new AndExpression();
-
- for (final IExpressionDefinition expression : getChildren())
- coreExpression.add(expression.toCoreExpression());
-
- return coreExpression;
+ return ExpressionFactory.getInstance().createAndExpression(getChildrenAsExpressions());
}
}
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/CountExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/CountExpressionDefinition.java
index 6ca2c77..a7fc6d8 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/CountExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/CountExpressionDefinition.java
@@ -13,16 +13,14 @@
import java.util.Collection;
import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.internal.expressions.CountExpression;
-@SuppressWarnings("restriction")
public class CountExpressionDefinition extends AbstractExpressionDefinition {
@Override
public Expression toCoreExpression() {
final Collection<Parameter> parameters = getParameters();
if (parameters.size() == 1)
- return new CountExpression(getParameters().iterator().next().getValue());
+ return ExpressionFactory.getInstance().createCountExpression(getParameters().iterator().next().getValue());
return Expression.FALSE;
}
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/EqualsExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/EqualsExpressionDefinition.java
index 15ee025..13fb472 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/EqualsExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/EqualsExpressionDefinition.java
@@ -13,16 +13,14 @@
import java.util.Collection;
import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.internal.expressions.EqualsExpression;
-@SuppressWarnings("restriction")
public class EqualsExpressionDefinition extends AbstractExpressionDefinition {
@Override
public Expression toCoreExpression() {
final Collection<Parameter> parameters = getParameters();
if (parameters.size() == 1)
- return new EqualsExpression(getParameters().iterator().next().getValue());
+ return ExpressionFactory.getInstance().createEqualsExpression(getParameters().iterator().next().getValue());
return Expression.FALSE;
}
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ExpressionFactory.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ExpressionFactory.java
new file mode 100644
index 0000000..a003365
--- /dev/null
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ExpressionFactory.java
@@ -0,0 +1,157 @@
+/*******************************************************************************
+ * Copyright (c) 2020 Christian Pontesegger and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ * Christian Pontesegger - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.ease.ui.scripts.expressions.definitions;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import org.eclipse.core.expressions.Expression;
+
+public class ExpressionFactory {
+
+ private static ExpressionFactory fInstance = new ExpressionFactory();
+
+ public static ExpressionFactory getInstance() {
+ return fInstance;
+ }
+
+ public static Class<?> loadClazz(String name) {
+ try {
+ return ExpressionFactory.class.getClassLoader().loadClass("org.eclipse.core.internal.expressions." + name);
+ } catch (final ClassNotFoundException e) {
+ try {
+ return ExpressionFactory.class.getClassLoader().loadClass("org.eclipse.core.expressions." + name);
+ } catch (final ClassNotFoundException e1) {
+ throw new RuntimeException("Could not find class " + name, e1);
+ }
+ }
+ }
+
+ public Expression createAndExpression(List<Expression> children) {
+ return createCompositeExpression("AndExpression", children);
+ }
+
+ public Expression createOrExpression(List<Expression> children) {
+ return createCompositeExpression("OrExpression", children);
+ }
+
+ private Expression createCompositeExpression(String type, List<Expression> children) {
+ final Class<?> clazz = loadClazz(type);
+ try {
+ final Object instance = clazz.newInstance();
+
+ if (instance instanceof Expression) {
+ addChildren(instance, children);
+ return (Expression) instance;
+ }
+ } catch (InstantiationException | IllegalAccessException e) {
+ throw new RuntimeException("Could not create instance of " + type, e);
+
+ }
+
+ throw new RuntimeException("Created instance is not an Expression");
+ }
+
+ public void addChildren(Object instance, List<Expression> children) {
+ try {
+ final Method addMethod = instance.getClass().getMethod("add", Expression.class);
+
+ for (final Expression child : children)
+ addMethod.invoke(instance, child);
+
+ } catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
+ throw new RuntimeException("Could not add child expressions", e);
+ }
+ }
+
+ public Expression createWithExpression(String parameter) {
+ final Class<?> clazz = loadClazz("WithExpression");
+
+ try {
+ final Object instance = clazz.getConstructor(String.class).newInstance(parameter);
+ if (instance instanceof Expression)
+ return (Expression) instance;
+
+ throw new RuntimeException("Created instance is not an Expression");
+
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
+ | SecurityException e) {
+ throw new RuntimeException("Could not create instance of WithExpression");
+ }
+ }
+
+ public Expression createReferenceExpression(String parameter) {
+ final Class<?> clazz = loadClazz("ReferenceExpression");
+
+ try {
+ final Object instance = clazz.getConstructor(String.class).newInstance(parameter);
+ if (instance instanceof Expression)
+ return (Expression) instance;
+
+ throw new RuntimeException("Created instance is not an Expression");
+
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
+ | SecurityException e) {
+ throw new RuntimeException("Could not create instance of ReferenceExpression");
+ }
+ }
+
+ public Expression createEqualsExpression(String parameter) {
+ final Class<?> clazz = loadClazz("EqualsExpression");
+
+ try {
+ final Object instance = clazz.getConstructor(Object.class).newInstance(parameter);
+ if (instance instanceof Expression)
+ return (Expression) instance;
+
+ throw new RuntimeException("Created instance is not an Expression");
+
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
+ | SecurityException e) {
+ throw new RuntimeException("Could not create instance of EqualsExpression");
+ }
+ }
+
+ public Expression createCountExpression(String parameter) {
+ final Class<?> clazz = loadClazz("CountExpression");
+
+ try {
+ final Object instance = clazz.getConstructor(String.class).newInstance(parameter);
+ if (instance instanceof Expression)
+ return (Expression) instance;
+
+ throw new RuntimeException("Created instance is not an Expression");
+
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
+ | SecurityException e) {
+ throw new RuntimeException("Could not create instance of CountExpression");
+ }
+ }
+
+ public Expression createTestExpression(String namespace, String property, Object[] args, Object expectedValue, boolean forcePluginActivation) {
+ final Class<?> clazz = loadClazz("TestExpression");
+
+ try {
+ final Object instance = clazz.getConstructor(String.class, String.class, Object[].class, Object.class, boolean.class).newInstance(namespace,
+ property, args, expectedValue, forcePluginActivation);
+ if (instance instanceof Expression)
+ return (Expression) instance;
+
+ throw new RuntimeException("Created instance is not an Expression");
+
+ } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException
+ | SecurityException e) {
+ throw new RuntimeException("Could not create instance of TestExpression");
+ }
+ }
+}
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/OrExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/OrExpressionDefinition.java
index e752d64..6bdcace 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/OrExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/OrExpressionDefinition.java
@@ -11,19 +11,11 @@
package org.eclipse.ease.ui.scripts.expressions.definitions;
import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.internal.expressions.OrExpression;
-import org.eclipse.ease.ui.scripts.expressions.IExpressionDefinition;
-@SuppressWarnings("restriction")
public class OrExpressionDefinition extends AbstractCompositeExpressionDefinition {
@Override
public Expression toCoreExpression() {
- final OrExpression coreExpression = new OrExpression();
-
- for (final IExpressionDefinition expression : getChildren())
- coreExpression.add(expression.toCoreExpression());
-
- return coreExpression;
+ return ExpressionFactory.getInstance().createOrExpression(getChildrenAsExpressions());
}
}
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ReferenceExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ReferenceExpressionDefinition.java
index 0643d95..85aef92 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ReferenceExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/ReferenceExpressionDefinition.java
@@ -13,16 +13,14 @@
import java.util.Collection;
import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.internal.expressions.ReferenceExpression;
-@SuppressWarnings("restriction")
public class ReferenceExpressionDefinition extends AbstractExpressionDefinition {
@Override
public Expression toCoreExpression() {
final Collection<Parameter> parameters = getParameters();
if (parameters.size() == 1)
- return new ReferenceExpression(getParameters().iterator().next().getValue());
+ return ExpressionFactory.getInstance().createWithExpression(getParameters().iterator().next().getValue());
// an empty reference should resolve to true
return Expression.TRUE;
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/TestExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/TestExpressionDefinition.java
index f73152b..6090d74 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/TestExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/TestExpressionDefinition.java
@@ -11,8 +11,8 @@
package org.eclipse.ease.ui.scripts.expressions.definitions;
import org.eclipse.core.expressions.Expression;
+import org.eclipse.core.expressions.TestExpression;
import org.eclipse.core.internal.expressions.Expressions;
-import org.eclipse.core.internal.expressions.TestExpression;
import org.eclipse.core.runtime.CoreException;
@SuppressWarnings("restriction")
@@ -41,6 +41,7 @@
return Expression.FALSE;
}
- return new TestExpression(namespace, property, arguments, getParameter(VALUE), Boolean.parseBoolean(getParameter(FORCE_PLUGIN_ACTIVATION)));
+ return ExpressionFactory.getInstance().createTestExpression(namespace, property, arguments, getParameter(VALUE),
+ Boolean.parseBoolean(getParameter(FORCE_PLUGIN_ACTIVATION)));
}
}
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/WithExpressionDefinition.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/WithExpressionDefinition.java
index 3a536ff..2574569 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/WithExpressionDefinition.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/expressions/definitions/WithExpressionDefinition.java
@@ -13,7 +13,6 @@
import java.util.Collection;
import org.eclipse.core.expressions.Expression;
-import org.eclipse.core.internal.expressions.WithExpression;
@SuppressWarnings("restriction")
public class WithExpressionDefinition extends AbstractCompositeExpressionDefinition {
@@ -22,7 +21,7 @@
public Expression toCoreExpression() {
final Collection<Parameter> parameters = getParameters();
if (parameters.size() == 1)
- return new WithExpression(getParameters().iterator().next().getValue());
+ return ExpressionFactory.getInstance().createWithExpression(getParameters().iterator().next().getValue());
// an empty 'with' statement is true
return Expression.TRUE;
diff --git a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/keywordhandler/ScriptContributionItem.java b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/keywordhandler/ScriptContributionItem.java
index fc7e99e..65c3a6b 100644
--- a/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/keywordhandler/ScriptContributionItem.java
+++ b/plugins/org.eclipse.ease.ui.scripts/src/org/eclipse/ease/ui/scripts/keywordhandler/ScriptContributionItem.java
@@ -10,7 +10,9 @@
*******************************************************************************/
package org.eclipse.ease.ui.scripts.keywordhandler;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -20,9 +22,9 @@
import org.eclipse.core.expressions.Expression;
import org.eclipse.core.internal.expressions.AdaptExpression;
import org.eclipse.core.internal.expressions.IterateExpression;
-import org.eclipse.core.internal.expressions.WithExpression;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.ease.tools.ResourceTools;
+import org.eclipse.ease.ui.scripts.expressions.definitions.ExpressionFactory;
import org.eclipse.ease.ui.scripts.handler.RunScript;
import org.eclipse.ease.ui.scripts.repository.IScript;
import org.eclipse.ease.ui.tools.LocationImageDescriptor;
@@ -36,7 +38,7 @@
protected static final Pattern ENABLE_PATTERN = Pattern.compile("enableFor\\((.*)\\)");
private static ImageDescriptor getImageDescriptor(final IScript script) {
- String location = script.getKeywords().get("image");
+ final String location = script.getKeywords().get("image");
if (location != null) {
String imageLocation = ResourceTools.toAbsoluteLocation(location, script.getLocation());
if (imageLocation == null)
@@ -49,7 +51,7 @@
}
private static Map<String, String> getParameters(final IScript script) {
- HashMap<String, String> parameters = new HashMap<String, String>();
+ final HashMap<String, String> parameters = new HashMap<>();
parameters.put(RunScript.PARAMETER_NAME, script.getPath().toString());
return parameters;
@@ -68,18 +70,21 @@
public ScriptContributionItem(final IScript script, final String enablement) {
this(script);
- Matcher matcher = ENABLE_PATTERN.matcher(enablement);
+ final Matcher matcher = ENABLE_PATTERN.matcher(enablement);
if (matcher.matches()) {
try {
- WithExpression withExpression = new WithExpression("selection");
- IterateExpression iteratorExpression = new IterateExpression(null, Boolean.FALSE.toString());
- AdaptExpression adaptExpression = new AdaptExpression(matcher.group(1));
+ final Expression withExpression = ExpressionFactory.getInstance().createWithExpression("selection");
+ final IterateExpression iteratorExpression = new IterateExpression(null, Boolean.FALSE.toString());
+ final AdaptExpression adaptExpression = new AdaptExpression(matcher.group(1));
- withExpression.add(iteratorExpression);
+ final List<Expression> children = new ArrayList<>();
+ children.add(iteratorExpression);
+ ExpressionFactory.getInstance().addChildren(withExpression, children);
+
iteratorExpression.add(adaptExpression);
fVisibleExpression = withExpression;
- } catch (CoreException e) {
+ } catch (final CoreException e) {
// TODO provide log message to user
fVisibleExpression = Expression.FALSE;
@@ -90,7 +95,7 @@
@Override
public void update() {
setLabel(fScript.getKeywords().get("name"));
- ParameterizedCommand command = getCommand();
+ final ParameterizedCommand command = getCommand();
command.getParameterMap().putAll(getParameters(fScript));
super.update();
@@ -111,12 +116,12 @@
if (fVisibleExpression != null) {
try {
- final IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
- EvaluationResult evaluate = fVisibleExpression.evaluate(handlerService.getCurrentState());
+ final IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);
+ final EvaluationResult evaluate = fVisibleExpression.evaluate(handlerService.getCurrentState());
return Boolean.parseBoolean(evaluate.toString());
- } catch (CoreException e) {
+ } catch (final CoreException e) {
// TODO provide log message to user
return false;
}
diff --git a/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target b/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target
index d2890c7..4b289a9 100644
--- a/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target
+++ b/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.target
@@ -1,24 +1,24 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde?>
<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
-<target name="2020-06" sequenceNumber="1594193791">
+<target name="2020-09" sequenceNumber="1600702762">
<locations>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
- <unit id="org.eclipse.platform.feature.group" version="4.16.0.v20200604-0951"/>
- <unit id="org.eclipse.rcp.feature.group" version="4.16.0.v20200604-0951"/>
- <unit id="org.eclipse.jdt.feature.group" version="3.18.400.v20200604-0540"/>
- <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.600.v20200521-1852"/>
- <unit id="org.eclipse.wst.jsdt.feature.feature.group" version="2.2.0.v202005251709"/>
- <unit id="org.eclipse.emf.feature.group" version="2.22.0.v20200519-1135"/>
- <unit id="org.eclipse.pde.feature.group" version="3.14.400.v20200604-0540"/>
- <unit id="org.eclipse.jdt" version="3.18.400.v20200604-0540"/>
- <repository id="eclipse-2020-06" location="http://download.eclipse.org/releases/2020-06/"/>
+ <unit id="org.eclipse.platform.feature.group" version="4.17.0.v20200902-1800"/>
+ <unit id="org.eclipse.rcp.feature.group" version="4.17.0.v20200902-1800"/>
+ <unit id="org.eclipse.jdt.feature.group" version="3.18.500.v20200902-1800"/>
+ <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.700.v20200705-1016"/>
+ <unit id="org.eclipse.wst.jsdt.feature.feature.group" version="2.3.100.v202008161908"/>
+ <unit id="org.eclipse.emf.feature.group" version="2.23.0.v20200822-0801"/>
+ <unit id="org.eclipse.pde.feature.group" version="3.14.500.v20200902-1800"/>
+ <unit id="org.eclipse.jdt" version="3.18.500.v20200902-1800"/>
+ <repository id="eclipse-2020-09" location="http://download.eclipse.org/releases/2020-09/"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.mockito" version="1.9.5.v201605172210"/>
<unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
<unit id="org.mozilla.javascript" version="1.7.10.v20190430-1943"/>
- <repository id="eclipse-orbit-2020-06" location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository/"/>
+ <repository id="eclipse-orbit-2020-09" location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200831200620/repository/"/>
</location>
<location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
<unit id="org.eclipse.ease.engine.jython.feature.feature.group" version="0.0.0"/>
diff --git a/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.tpd b/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.tpd
index 4a40af2..c60b1e6 100644
--- a/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.tpd
+++ b/releng/org.eclipse.ease.releng.target/org.eclipse.ease.releng.target.tpd
@@ -1,6 +1,6 @@
-target "2020-06" with source requirements
+target "2020-09" with source requirements
-location "http://download.eclipse.org/releases/2020-06/" eclipse-2020-06 {
+location "http://download.eclipse.org/releases/2020-09/" eclipse-2020-09 {
org.eclipse.platform.feature.group
org.eclipse.rcp.feature.group
org.eclipse.jdt.feature.group
@@ -17,7 +17,7 @@
org.eclipse.jdt
}
-location "https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository/" eclipse-orbit-2020-06 {
+location "https://download.eclipse.org/tools/orbit/downloads/drops/R20200831200620/repository/" eclipse-orbit-2020-09 {
// needed for unit tests
org.mockito [1.9.5,2.0.0)
org.hamcrest [1.1.0,2.0.0)
diff --git a/releng/org.eclipse.ease.releng.target/previous targets/2020-06.target b/releng/org.eclipse.ease.releng.target/previous targets/2020-06.target
new file mode 100644
index 0000000..d2890c7
--- /dev/null
+++ b/releng/org.eclipse.ease.releng.target/previous targets/2020-06.target
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde?>
+<!-- generated with https://github.com/eclipse-cbi/targetplatform-dsl -->
+<target name="2020-06" sequenceNumber="1594193791">
+ <locations>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.platform.feature.group" version="4.16.0.v20200604-0951"/>
+ <unit id="org.eclipse.rcp.feature.group" version="4.16.0.v20200604-0951"/>
+ <unit id="org.eclipse.jdt.feature.group" version="3.18.400.v20200604-0540"/>
+ <unit id="org.eclipse.equinox.p2.discovery.feature.feature.group" version="1.2.600.v20200521-1852"/>
+ <unit id="org.eclipse.wst.jsdt.feature.feature.group" version="2.2.0.v202005251709"/>
+ <unit id="org.eclipse.emf.feature.group" version="2.22.0.v20200519-1135"/>
+ <unit id="org.eclipse.pde.feature.group" version="3.14.400.v20200604-0540"/>
+ <unit id="org.eclipse.jdt" version="3.18.400.v20200604-0540"/>
+ <repository id="eclipse-2020-06" location="http://download.eclipse.org/releases/2020-06/"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.mockito" version="1.9.5.v201605172210"/>
+ <unit id="org.hamcrest" version="1.1.0.v20090501071000"/>
+ <unit id="org.mozilla.javascript" version="1.7.10.v20190430-1943"/>
+ <repository id="eclipse-orbit-2020-06" location="https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository/"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.eclipse.ease.engine.jython.feature.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.ease.engine.groovy.feature.feature.group" version="0.0.0"/>
+ <unit id="org.eclipse.ease.engine.jruby.feature.feature.group" version="0.0.0"/>
+ <repository id="ease-engines" location="https://bintray.com/artifact/download/pontesegger/ease-engines/"/>
+ </location>
+ <location includeMode="planner" includeAllPlatforms="false" includeSource="true" includeConfigurePhase="false" type="InstallableUnit">
+ <unit id="org.py4j.feature.feature.group" version="0.10.8.1-bnd-BaEoUg"/>
+ <repository id="py4j-eclipse" location="https://dl.bintray.com/py4j/py4j-eclipse/0.10.8.1/"/>
+ </location>
+ </locations>
+</target>
diff --git a/releng/org.eclipse.ease.releng.target/previous targets/2020-06.tpd b/releng/org.eclipse.ease.releng.target/previous targets/2020-06.tpd
new file mode 100644
index 0000000..4a40af2
--- /dev/null
+++ b/releng/org.eclipse.ease.releng.target/previous targets/2020-06.tpd
@@ -0,0 +1,38 @@
+target "2020-06" with source requirements
+
+location "http://download.eclipse.org/releases/2020-06/" eclipse-2020-06 {
+ org.eclipse.platform.feature.group
+ org.eclipse.rcp.feature.group
+ org.eclipse.jdt.feature.group
+ org.eclipse.equinox.p2.discovery.feature.feature.group
+
+ // javascript support (rhino & editors)
+ org.eclipse.wst.jsdt.feature.feature.group
+
+ // for modeling stuff
+ org.eclipse.emf.feature.group
+
+ // java module
+ org.eclipse.pde.feature.group
+ org.eclipse.jdt
+}
+
+location "https://download.eclipse.org/tools/orbit/downloads/drops/R20200529191137/repository/" eclipse-orbit-2020-06 {
+ // needed for unit tests
+ org.mockito [1.9.5,2.0.0)
+ org.hamcrest [1.1.0,2.0.0)
+ org.mozilla.javascript [1.7.10,1.8.0)
+}
+
+location "https://bintray.com/artifact/download/pontesegger/ease-engines/" ease-engines {
+ // jython interpreter
+ org.eclipse.ease.engine.jython.feature.feature.group lazy
+ // groovy interpreter
+ org.eclipse.ease.engine.groovy.feature.feature.group lazy
+ // ruby interpreter
+ org.eclipse.ease.engine.jruby.feature.feature.group lazy
+}
+
+location "https://dl.bintray.com/py4j/py4j-eclipse/0.10.8.1/" py4j-eclipse {
+ org.py4j.feature.feature.group [0.10.8,0.10.9)
+}
diff --git a/releng/org.eclipse.ease.releng/oomph/ease.setup b/releng/org.eclipse.ease.releng/oomph/ease.setup
index eee187c..56b6b6f 100644
--- a/releng/org.eclipse.ease.releng/oomph/ease.setup
+++ b/releng/org.eclipse.ease.releng/oomph/ease.setup
@@ -261,6 +261,17 @@
<repository
url="https://dl.bintray.com/py4j/py4j-eclipse/0.10.8.1"/>
</repositoryList>
+ <repositoryList
+ name="2020-09">
+ <repository
+ url="https://download.eclipse.org/tools/orbit/downloads/drops/R20200831200620/repository"/>
+ <repository
+ url="https://dl.bintray.com/pontesegger/ease-engines/"/>
+ <repository
+ url="http://download.eclipse.org/releases/2020-09"/>
+ <repository
+ url="https://dl.bintray.com/py4j/py4j-eclipse/0.10.8.1"/>
+ </repositoryList>
</targlet>
</setupTask>
<setupTask
@@ -579,6 +590,19 @@
<repository
url="http://download.eclipse.org/ease/integration/nightly"/>
</repositoryList>
+ <repositoryList
+ name="2020-09">
+ <repository
+ url="https://download.eclipse.org/tools/orbit/downloads/drops/R20200831200620/repository"/>
+ <repository
+ url="http://download.eclipse.org/releases/2020-09"/>
+ <repository
+ url="http://download.eclipse.org/nebula/releases/1.0.0"/>
+ <repository
+ url="http://download.eclipse.org/technology/subversive/4.0/update-site/"/>
+ <repository
+ url="http://download.eclipse.org/ease/integration/nightly"/>
+ </repositoryList>
</targlet>
</setupTask>
<setupTask
@@ -651,7 +675,7 @@
<setupTask
xsi:type="setup:VariableTask"
name="eclipse.target.platform"
- defaultValue="2020-06"
+ defaultValue="2020-09"
storageURI="scope://Workspace">
<description>Default target platform for EASE development.</description>
</setupTask>
diff --git a/releng/org.eclipse.ease.releng/pom.xml b/releng/org.eclipse.ease.releng/pom.xml
index c41c77f..c1a28bb 100644
--- a/releng/org.eclipse.ease.releng/pom.xml
+++ b/releng/org.eclipse.ease.releng/pom.xml
@@ -236,6 +236,7 @@
-->
<module>../../tests/org.eclipse.ease.lang.scriptarchive.test</module>
<module>../../tests/org.eclipse.ease.lang.unittest.test</module>
+ <module>../../tests/org.eclipse.ease.ui.scripts.test</module>
<module>../../tests/org.eclipse.ease.ui.test</module>
</modules>
diff --git a/tests/org.eclipse.ease.lang.unittest.test/META-INF/MANIFEST.MF b/tests/org.eclipse.ease.lang.unittest.test/META-INF/MANIFEST.MF
index b1b8437..528ee8d 100644
--- a/tests/org.eclipse.ease.lang.unittest.test/META-INF/MANIFEST.MF
+++ b/tests/org.eclipse.ease.lang.unittest.test/META-INF/MANIFEST.MF
@@ -6,5 +6,4 @@
Automatic-Module-Name: org.eclipse.ease.lang.unittest.test
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.junit,
- org.eclipse.ui.ide,
org.eclipse.ease.lang.javascript.rhino
diff --git a/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/TestBase.java b/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/TestBase.java
index 794c749..0c85741 100644
--- a/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/TestBase.java
+++ b/tests/org.eclipse.ease.lang.unittest.test/src/org/eclipse/ease/lang/unittest/TestBase.java
@@ -33,9 +33,6 @@
import org.eclipse.ease.lang.unittest.runtime.ITestSuite;
import org.eclipse.ease.service.IScriptService;
import org.eclipse.ease.service.ScriptService;
-import org.eclipse.ui.dialogs.IOverwriteQuery;
-import org.eclipse.ui.wizards.datatransfer.FileSystemStructureProvider;
-import org.eclipse.ui.wizards.datatransfer.ImportOperation;
import org.junit.BeforeClass;
import org.osgi.framework.Bundle;
@@ -49,19 +46,15 @@
final URL fileURL = bundle.getEntry("resources/UnitTest");
final File sourceFolder = new File(FileLocator.resolve(fileURL).toURI());
- // copy files
+ // create project that links to /this/resources/UnitTest
final Path projectPath = new Path(sourceFolder.getAbsoluteFile() + File.separator + ".project");
final IProjectDescription projectDescription = ResourcesPlugin.getWorkspace().loadProjectDescription(projectPath);
+ projectDescription.setLocation(new Path(sourceFolder.getAbsolutePath()));
TEST_PROJECT = ResourcesPlugin.getWorkspace().getRoot().getProject(projectDescription.getName());
if (!TEST_PROJECT.exists()) {
- TEST_PROJECT.create(new NullProgressMonitor());
+ TEST_PROJECT.create(projectDescription, new NullProgressMonitor());
TEST_PROJECT.open(new NullProgressMonitor());
-
- final ImportOperation importOperation = new ImportOperation(TEST_PROJECT.getFullPath(), sourceFolder, FileSystemStructureProvider.INSTANCE,
- file -> IOverwriteQuery.ALL);
- importOperation.setCreateContainerStructure(false);
- importOperation.run(new NullProgressMonitor());
}
}
diff --git a/tests/org.eclipse.ease.ui.scripts.test/.classpath b/tests/org.eclipse.ease.ui.scripts.test/.classpath
new file mode 100644
index 0000000..3e5654f
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/.classpath
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src">
+ <attributes>
+ <attribute name="test" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.ease.ui.scripts.test/.project b/tests/org.eclipse.ease.ui.scripts.test/.project
new file mode 100644
index 0000000..77d253d
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.ease.ui.scripts.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.core.resources.prefs b/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.jdt.core.prefs b/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..64e8545
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,325 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.codeComplete.argumentPrefixes=
+org.eclipse.jdt.core.codeComplete.argumentSuffixes=
+org.eclipse.jdt.core.codeComplete.fieldPrefixes=f
+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.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+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.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+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.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_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+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_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=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_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=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_package=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_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.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+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.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=160
+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=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+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=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+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=do not 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_and_in_type_parameter=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_binary_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_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_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_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_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=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_binary_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_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_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_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_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=true
+org.eclipse.jdt.core.formatter.join_wrapped_lines=true
+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_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=160
+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_at_beginning_of_method_body=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=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+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_assignment_operator=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
+org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.jdt.ui.prefs b/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..4aea3c1
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,130 @@
+cleanup.add_default_serial_version_id=false
+cleanup.add_generated_serial_version_id=true
+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=true
+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=false
+cleanup.convert_to_enhanced_for_loop=false
+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_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=false
+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_blocks=false
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=true
+cleanup.use_this_for_non_static_field_access=true
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=true
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_EASE Development
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Eclipse EASE Development
+formatter_settings_version=12
+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=true
+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=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="true" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*******************************************************************************\n * Copyright (c) ${year} ${user} and others.\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n * ${user} - initial API and implementation\n *******************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="true" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/* (non-Javadoc)\n * ${see_to_overridden}\n */</template><template autoinsert\="true" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${tags}\n * ${see_to_target}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="false" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} handle this exception (but for now, at least know it happened)\nthrow new RuntimeException(${exception_var});\n</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+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=true
+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=true
+sp_cleanup.make_parameters_final=false
+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=false
+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_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_blocks=false
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=true
+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
diff --git a/tests/org.eclipse.ease.ui.scripts.test/META-INF/MANIFEST.MF b/tests/org.eclipse.ease.ui.scripts.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..77ee1f7
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: EASE Scripts Unit Tests
+Bundle-SymbolicName: org.eclipse.ease.ui.scripts.test
+Bundle-Version: 0.8.0.qualifier
+Bundle-Vendor: Eclipse.org
+Fragment-Host: org.eclipse.ease.ui.scripts
+Automatic-Module-Name: org.eclipse.ease.ui.scripts.test
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit,
+ org.junit.jupiter.api
diff --git a/tests/org.eclipse.ease.ui.scripts.test/build.properties b/tests/org.eclipse.ease.ui.scripts.test/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
diff --git a/tests/org.eclipse.ease.ui.scripts.test/pom.xml b/tests/org.eclipse.ease.ui.scripts.test/pom.xml
new file mode 100644
index 0000000..8abed4c
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/pom.xml
@@ -0,0 +1,13 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.eclipse.ease.ui.scripts.test</artifactId>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <parent>
+ <groupId>org.eclipse.ease</groupId>
+ <artifactId>org.eclipse.ease.releng</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <relativePath>../../releng/org.eclipse.ease.releng</relativePath>
+ </parent>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.ease.ui.scripts.test/src/org/eclipse/ease/ui/scripts/expressions/definitions/ExpressionFactoryTest.java b/tests/org.eclipse.ease.ui.scripts.test/src/org/eclipse/ease/ui/scripts/expressions/definitions/ExpressionFactoryTest.java
new file mode 100644
index 0000000..e7755db
--- /dev/null
+++ b/tests/org.eclipse.ease.ui.scripts.test/src/org/eclipse/ease/ui/scripts/expressions/definitions/ExpressionFactoryTest.java
@@ -0,0 +1,122 @@
+package org.eclipse.ease.ui.scripts.expressions.definitions;
+
+import static org.junit.Assert.assertNotNull;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.expressions.Expression;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Test;
+
+public class ExpressionFactoryTest {
+
+ private List<Expression> fChildExpressions;
+
+ @BeforeEach
+ public void setup() {
+ final Expression expression = ExpressionFactory.getInstance().createWithExpression("dummy");
+
+ fChildExpressions = new ArrayList<>();
+ fChildExpressions.add(expression);
+ }
+
+ @Test
+ @DisplayName("Load class AndExpression")
+ public void loadClassAndExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("AndExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Load class OrExpression")
+ public void loadClassOrExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("OrExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Load class WithExpression")
+ public void loadClassWithExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("WithExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Load class ReferenceExpression")
+ public void loadClassReferenceExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("ReferenceExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Load class EqualsExpression")
+ public void loadClassEqualsExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("EqualsExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Load class CountExpression")
+ public void loadClassCountExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("CountExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Load class TestExpression")
+ public void loadClassTestExpression() {
+ final Class<?> clazz = ExpressionFactory.loadClazz("TestExpression");
+ assertNotNull(clazz);
+ }
+
+ @Test
+ @DisplayName("Create AndExpression")
+ public void createAndExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createAndExpression(fChildExpressions);
+ assertNotNull(expression);
+ }
+
+ @Test
+ @DisplayName("Create OrExpression")
+ public void createOrExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createOrExpression(fChildExpressions);
+ assertNotNull(expression);
+ }
+
+ @Test
+ @DisplayName("Create WithExpression")
+ public void createWithExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createWithExpression("something");
+ assertNotNull(expression);
+ }
+
+ @Test
+ @DisplayName("Create ReferenceExpression")
+ public void createReferenceExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createReferenceExpression("something");
+ assertNotNull(expression);
+ }
+
+ @Test
+ @DisplayName("Create EqualsExpression")
+ public void createEqualsExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createEqualsExpression("something");
+ assertNotNull(expression);
+ }
+
+ @Test
+ @DisplayName("Create CountExpression")
+ public void createCountExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createCountExpression("something");
+ assertNotNull(expression);
+ }
+
+ @Test
+ @DisplayName("Create TestExpression")
+ public void createTestExpression() {
+ final Expression expression = ExpressionFactory.getInstance().createTestExpression("namespace", "property", new Object[0], new Object(), false);
+ assertNotNull(expression);
+ }
+}