Fixed NPE in EglTemplateFactoryModuleAdapter.
diff --git a/plugins/org.eclipse.epsilon.egl.engine/src/org/eclipse/epsilon/egl/EglTemplateFactoryModuleAdapter.java b/plugins/org.eclipse.epsilon.egl.engine/src/org/eclipse/epsilon/egl/EglTemplateFactoryModuleAdapter.java
index 4db7d72..1e9dd04 100644
--- a/plugins/org.eclipse.epsilon.egl.engine/src/org/eclipse/epsilon/egl/EglTemplateFactoryModuleAdapter.java
+++ b/plugins/org.eclipse.epsilon.egl.engine/src/org/eclipse/epsilon/egl/EglTemplateFactoryModuleAdapter.java
@@ -140,7 +140,7 @@
@Override
public IEglContext getContext() {
- return current.getModule().getContext();
+ return factory.getContext();//current.getModule().getContext();
}
@Override
diff --git a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/concurrent/experimental/EvlModuleParallelRandom.java b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/concurrent/experimental/EvlModuleParallelRandom.java
index 8693375..ea5f07d 100644
--- a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/concurrent/experimental/EvlModuleParallelRandom.java
+++ b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/concurrent/experimental/EvlModuleParallelRandom.java
@@ -38,7 +38,7 @@
IEvlContextParallel context = getContext();
List<ConstraintAtom> originalJobs = profileExecutionStage("get initial jobs",
- () -> ConstraintAtom.getConstraintJobs(context)
+ () -> ConstraintAtom.getConstraintJobs(this)
);
profileExecutionStage("shuffle jobs", () -> Collections.shuffle(originalJobs));
diff --git a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintAtom.java b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintAtom.java
index f3eb8a3..8ff0e2f 100644
--- a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintAtom.java
+++ b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintAtom.java
@@ -13,6 +13,7 @@
import java.util.Collection;
import java.util.Optional;
import org.eclipse.epsilon.eol.exceptions.EolRuntimeException;
+import org.eclipse.epsilon.evl.IEvlModule;
import org.eclipse.epsilon.evl.dom.Constraint;
import org.eclipse.epsilon.evl.dom.ConstraintContext;
import org.eclipse.epsilon.evl.execute.UnsatisfiedConstraint;
@@ -38,10 +39,10 @@
return unit.execute(element, context);
}
- public static ArrayList<ConstraintAtom> getConstraintJobs(IEvlContext context) throws EolRuntimeException {
+ public static ArrayList<ConstraintAtom> getConstraintJobs(IEvlModule module) throws EolRuntimeException {
ArrayList<ConstraintAtom> atoms = new ArrayList<>();
-
- for (ConstraintContext constraintContext : context.getModule().getConstraintContexts()) {
+ IEvlContext context = module.getContext();
+ for (ConstraintContext constraintContext : module.getConstraintContexts()) {
Collection<?> allOfKind = constraintContext.getAllOfSourceKind(context);
for (Object element : allOfKind) {
if (constraintContext.shouldBeChecked(element, context)) {
diff --git a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintContextAtom.java b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintContextAtom.java
index 2196cb7..6424a67 100644
--- a/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintContextAtom.java
+++ b/plugins/org.eclipse.epsilon.evl.engine/src/org/eclipse/epsilon/evl/execute/concurrent/ConstraintContextAtom.java
@@ -13,6 +13,7 @@
import java.util.Collection;
import java.util.Collections;
import org.eclipse.epsilon.eol.exceptions.EolRuntimeException;
+import org.eclipse.epsilon.evl.IEvlModule;
import org.eclipse.epsilon.evl.dom.Constraint;
import org.eclipse.epsilon.evl.dom.ConstraintContext;
import org.eclipse.epsilon.evl.execute.UnsatisfiedConstraint;
@@ -55,11 +56,11 @@
else return Collections.emptyList();
}
- public static ArrayList<ConstraintContextAtom> getContextJobs(IEvlContext context) throws EolRuntimeException {
+ public static ArrayList<ConstraintContextAtom> getContextJobs(IEvlModule module) throws EolRuntimeException {
ArrayList<ConstraintContextAtom> atoms = new ArrayList<>();
- for (ConstraintContext constraintContext : context.getModule().getConstraintContexts()) {
- Collection<?> allOfKind = constraintContext.getAllOfSourceKind(context);
+ for (ConstraintContext constraintContext : module.getConstraintContexts()) {
+ Collection<?> allOfKind = constraintContext.getAllOfSourceKind(module.getContext());
atoms.ensureCapacity(atoms.size()+allOfKind.size());
for (Object element : allOfKind) {
atoms.add(new ConstraintContextAtom(constraintContext, element));