package sushi.monitoring.bpmn; import java.io.Serializable; import java.util.Date; import java.util.Set; import sushi.query.SushiPatternQuery; public class DetailedQueryStatus implements Serializable { private SushiPatternQuery query; private QueryStatus queryStatus; private Set<ViolationStatus> violationStatus; private Date endTime; public DetailedQueryStatus(SushiPatternQuery query, QueryStatus queryStatus, Set<ViolationStatus> violationStatus) { this.query = query; this.setQueryStatus(queryStatus); this.violationStatus = violationStatus; } public SushiPatternQuery getQuery() { return query; } public void setQuery(SushiPatternQuery query) { this.query = query; } public QueryStatus getQueryStatus() { return queryStatus; } public void setQueryStatus(QueryStatus queryStatus) { this.queryStatus = queryStatus; if(queryStatus.equals(QueryStatus.Finished) || queryStatus.equals(QueryStatus.Skipped)){ this.endTime = new Date(); } } public Set<ViolationStatus> getViolationStatus() { return violationStatus; } public void setViolationStatus(Set<ViolationStatus> violationStatus) { this.violationStatus = violationStatus; } public Date getEndTime() { return endTime; } @Override public String toString() { return query.getTitle() + " is " + queryStatus + ". Violations: " + violationStatus; } }