import java.io.ByteArrayInputStream;
import java.io.InputStream;
+import java.util.function.Consumer;
import org.simantics.db.Resource;
import org.simantics.db.exception.DatabaseException;
import org.simantics.db.procedure.AsyncMultiProcedure;
import org.simantics.db.service.ClusterUID;
import org.simantics.db.service.ResourceUID;
-import org.simantics.utils.datastructures.Callback;
import fi.vtt.simantics.procore.DebugPolicy;
import fi.vtt.simantics.procore.internal.ClusterChange;
import fi.vtt.simantics.procore.internal.ClusterTable;
import fi.vtt.simantics.procore.internal.SessionImplSocket;
import gnu.trove.map.hash.TIntShortHashMap;
-import gnu.trove.procedure.TIntProcedure;
import gnu.trove.set.hash.TIntHashSet;
final public class ClusterSmall extends ClusterImpl {
}
@Override
- public void load(Callback<DatabaseException> r) {
+ public void load(Consumer<DatabaseException> r) {
if (deleted) return;
throw new Error("Not supported.");
}
}
if (deleted) return null; // Can't convert deleted cluster to big.
ClusterBig big = new ClusterBig(getClusterUID(), clusterKey, support);
+ big.setImportance(importance);
big.cc = this.cc;
big.cc.clusterImpl = this;
resourceTable.toBig(big, support, this);
public String toString() {
if (deleted) return "ClusterSmall[" + getClusterId() + " - has been deleted or hasn't been created.]";
try {
- final TIntHashSet set = new TIntHashSet();
- TIntShortHashMap map = foreignTable.getResourceHashMap();
- map.forEachKey(new TIntProcedure() {
- @Override
- public boolean execute(int value) {
- set.add(value & 0xfffff000);
- return true;
- }
+ ForeignTableSmall ft = foreignTable;
+ if (ft == null)
+ return "ClusterSmall[" + getClusterId() + " - " + getNumberOfResources() + "]";
+ TIntShortHashMap map = ft.getResourceHashMap();
+ TIntHashSet set = new TIntHashSet();
+ map.forEachKey(value -> {
+ set.add(value & 0xfffff000);
+ return true;
});
return "ClusterSmall[" + getClusterId() + " - " + getNumberOfResources() + " - " + foreignTable.getResourceHashMap().size() + " - " + set.size() + "]";
} catch (Throwable e) {