package org.eclipse.incquery.examples.bpmn.ttc2013.simulator;
import java.awt.Dialog;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.Set;
import org.eclipse.incquery.runtime.evm.api.Activation;
import org.eclipse.incquery.runtime.evm.api.ConflictResolver;
import org.eclipse.incquery.runtime.evm.api.ConflictSet;
import org.eclipse.swt.widgets.Display;
public class InteractiveConflictSet extends BasicConflictSet {
@Override
public ConflictResolver<? extends ConflictSet> getConflictResolver() {
// TODO Auto-generated method stub
return null;
}
@Override
public Activation<?> getNextActivation() {
if (activations.isEmpty()) return null;
if (activations.size() == 1) return activations.iterator().next();
final List<Activation<?>> options = new ArrayList<Activation<?>>(activations);
for (int i = 0; i < activations.size(); ++i)
System.out.println("[" + i + "] " + options.get(i).getAtom());
System.out.println("Choose!");
int choice = new Scanner(System.in).nextInt();
return options.get(choice);
// Display.getCurrent().asyncExec(new Runnable() {
//
// @Override
// public void run() {
// Dialog.
// }
// });
}
@Override
public Set<Activation<?>> getNextActivations() {
return activations;
}
}