package dfatool.handlers;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;

import dfatool.strategy.verification.Decomposition;
import dfatool.strategy.verification.Strategy;

public class DecomposeHandler extends AbstractHandler{

	@Override
	public Object execute(ExecutionEvent event){
		try{
			Decomposition d = new Decomposition();
			d.decompose();
			new Strategy().verifyDeadlockFreedomOfNetwork(HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell());
			return null;
		}catch (Exception e){
			MessageDialog.openError(HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell(), "Error", e.getMessage());
			return null;
		}
	}
	

}
