diff --git a/com.incquerylabs.v4md/src/main/com/incquerylabs/v4md/ViatraQueryAdapter.java b/com.incquerylabs.v4md/src/main/com/incquerylabs/v4md/ViatraQueryAdapter.java index c88a466..8379b1c 100644 --- a/com.incquerylabs.v4md/src/main/com/incquerylabs/v4md/ViatraQueryAdapter.java +++ b/com.incquerylabs.v4md/src/main/com/incquerylabs/v4md/ViatraQueryAdapter.java @@ -18,6 +18,8 @@ import org.eclipse.viatra.query.runtime.api.IQuerySpecification; import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions; import org.eclipse.viatra.query.runtime.exception.ViatraQueryException; +import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchEMFBackendFactory; +import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory; import com.incquerylabs.v4md.internal.MagicDrawProjectScope; import com.incquerylabs.v4md.internal.NopQueryBackend; @@ -37,6 +39,16 @@ public class ViatraQueryAdapter extends AdapterImpl { "Cannot initialize VIATRA Query Engine until the project is loaded."; private static final Logger LOGGER = Logger.getLogger(ViatraQueryAdapter.class); + + static { + ViatraQueryEngineOptions.setSystemDefaultBackends( + ReteBackendFactory.INSTANCE, + ReteBackendFactory.INSTANCE, + LocalSearchEMFBackendFactory.INSTANCE + ); + } + + private Optional engine = Optional.empty(); private Project project; private boolean engineDisposable = true;