CompareConfiguration.java
package edu.udel.cis.vsl.tass.config;
import java.io.File;
import java.io.PrintWriter;
public class CompareConfiguration extends RunConfiguration {
private int specNumProcs = 1;
private int implNumProcs = 1;
private File specSourceFile = null;
private File implSourceFile = null;
private String specModelName = "spec";
private String implModelName = "impl";
public CompareConfiguration() {
super();
setRunningMode(RunningMode.COMPARE);
}
public CompareConfiguration(File repository) {
super(repository);
setRunningMode(RunningMode.COMPARE);
}
public CompareConfiguration(RunConfiguration that) {
super(that);
setRunningMode(RunningMode.COMPARE);
}
public CompareConfiguration(CompareConfiguration that) {
super(that);
this.specNumProcs = that.specNumProcs;
this.implNumProcs = that.implNumProcs;
this.specSourceFile = that.specSourceFile;
this.implSourceFile = that.implSourceFile;
this.specModelName = that.specModelName;
this.implModelName = that.implModelName;
setRunningMode(RunningMode.COMPARE);
}
public VerifyConfiguration specConfiguration() {
VerifyConfiguration specConfiguration = new VerifyConfiguration(this);
specConfiguration.setNumProcs(specNumProcs);
specConfiguration.setSourceFile(specSourceFile);
specConfiguration.setModelName(specModelName);
return specConfiguration;
}
public VerifyConfiguration implConfiguration() {
VerifyConfiguration implConfiguration = new VerifyConfiguration(this);
implConfiguration.setNumProcs(implNumProcs);
implConfiguration.setSourceFile(implSourceFile);
implConfiguration.setModelName(implModelName);
return implConfiguration;
}
public int specNumProcs() {
return specNumProcs;
}
public int implNumProcs() {
return implNumProcs;
}
public void setSpecNumProcs(int specNumProcs) {
this.specNumProcs = specNumProcs;
}
public void setImplNumProcs(int implNumProcs) {
this.implNumProcs = implNumProcs;
}
public File specSourceFile() {
return specSourceFile;
}
public void setSpecSourceFile(File file) {
this.specSourceFile = file;
}
public File implSourceFile() {
return implSourceFile;
}
public void setImplSourceFile(File file) {
this.implSourceFile = file;
}
public String specModelName() {
return specModelName;
}
public void setSpecModelName(String name) {
this.specModelName = name;
}
public String implModelName() {
return implModelName;
}
public void setImplModelName(String name) {
this.implModelName = name;
}
public void print(PrintWriter out) {
out.println(" specification : " + specModelName + " (numProcs = "
+ specNumProcs + ")");
out.println(" specSourceFile : " + specSourceFile);
out.println(" implementation : " + implModelName + " (numProcs = "
+ implNumProcs + ")");
out.println(" implSourceFile : " + implSourceFile);
super.print(out);
}
@Override
public void write(PrintWriter out) {
out.println("compare");
super.write(out);
out.println(specSourceFile.getName());
out.println(implSourceFile.getName());
out.flush();
}
@Override
public CompareConfiguration clone() {
return new CompareConfiguration(this);
}
}