Verify.java

package edu.udel.cis.vsl.tass.verify;

import java.io.FileNotFoundException;
import java.io.PrintWriter;

import edu.udel.cis.vsl.tass.config.CompareConfiguration;
import edu.udel.cis.vsl.tass.config.VerifyConfiguration;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.verify.impl.CollectiveVerifier;

public class Verify {

	public static boolean verify(ModelIF model,
			VerifyConfiguration configuration) throws FileNotFoundException {
		return verify(model, configuration, false);
	}

	public static boolean verify(ModelIF model,
			VerifyConfiguration configuration, boolean printConfiguration)
			throws FileNotFoundException {
		PrintWriter out = configuration.out();
		CollectiveVerifier verifier;

		if (printConfiguration) {
			configuration.print(out);
		}
		out.print("Starting search to verify " + model.name() + "...");
		out.flush();
		verifier = new CollectiveVerifier(model, configuration);
		return verifier.search();
	}

	public static boolean compare(ModelIF model1, ModelIF model2,
			CompareConfiguration configuration) throws FileNotFoundException {
		return compare(model1, model2, configuration, false);
	}

	public static boolean compare(ModelIF model1, ModelIF model2,
			CompareConfiguration configuration, boolean printConfiguration)
			throws FileNotFoundException {
		PrintWriter out = configuration.out();
		CollectiveVerifier verifier;

		if (printConfiguration) {
			configuration.print(out);
		}
		out.print("Starting search to compare " + model1.name() + " and "
				+ model2.name() + "...");
		out.flush();
		verifier = new CollectiveVerifier(model1, model2, configuration);
		return verifier.search();
	}

}