Added a method to test if there are pending removals.
[PRIVATE-12928]
Change-Id: I5bf94202209714af0163ef95b61b874a14db0aa8
- public void addSubprocess(String name) {
+ public void addSubprocess(String name, String subprocessType) {
ensureSubprocess(name);
}
ensureSubprocess(name);
}
configurationByUid.clear();
pendingRemoval.clear();
}
configurationByUid.clear();
pendingRemoval.clear();
}
+
+ public boolean hasPendingRemovals() {
+ return !pendingRemoval.isEmpty();
+ }
new THashMap<String, ConnectionUpdateRule<T>>();
public boolean isUserComponent;
public boolean isComposite;
new THashMap<String, ConnectionUpdateRule<T>>();
public boolean isUserComponent;
public boolean isComposite;
+ public String subprocessType;
public ModuleUpdaterBase(String moduleType) {
this.moduleType = moduleType;
public ModuleUpdaterBase(String moduleType) {
this.moduleType = moduleType;
public void remove(int id);
public void remove(int id);
- public void addSubprocess(String name);
+ public void addSubprocess(String name, String subprocessType);
public void includeSubprocess(String parentName, String subprocessName);
public <T> T getConcreteSolver();
public void includeSubprocess(String parentName, String subprocessName);
public <T> T getConcreteSolver();
package org.simantics.structural.synchronization.base;
package org.simantics.structural.synchronization.base;
-import gnu.trove.map.hash.THashMap;
-import gnu.trove.set.hash.THashSet;
-
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Collections;
import java.util.ArrayDeque;
import java.util.Collection;
import java.util.Collections;
import org.simantics.structural.synchronization.protocol.SynchronizationEventHandler;
import org.simantics.structural.synchronization.protocol.SynchronizationException;
import org.simantics.structural.synchronization.protocol.SynchronizationEventHandler;
import org.simantics.structural.synchronization.protocol.SynchronizationException;
+import gnu.trove.map.hash.THashMap;
+import gnu.trove.set.hash.THashSet;
+
/**
* Handles synchronization events by updating the simulator designated by the
* provided {@link Solver} instance.
/**
* Handles synchronization events by updating the simulator designated by the
* provided {@link Solver} instance.
parentSolverComponentName,
getSubprocessName(name, properties));
try {
parentSolverComponentName,
getSubprocessName(name, properties));
try {
- solver.addSubprocess(subprocessName);
+ solver.addSubprocess(subprocessName, updater.subprocessType);
} catch(Exception e) {
reportProblem("Exception while adding subprocess.", e);
}
} catch(Exception e) {
reportProblem("Exception while adding subprocess.", e);
}