package ee.elinyo.teamcity.plugins.ansible.logparser.domain;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Play {
private static final Pattern PLAY_FIRST_LINE_PATTERN = Pattern.compile("PLAY\\s+\\Q[\\E(.+)\\Q]\\E");
private String name;
private long startedAt;
private long finishedAt;
private boolean skipped;
private List<Task> tasks = new ArrayList<Task>();
private List<HostResult> facts = new ArrayList<HostResult>();
public static Play fromOutputLine(String line, long startedAt) {
Play p = null;
Matcher matcher = PLAY_FIRST_LINE_PATTERN.matcher(line);
if (matcher.find()) {
p = new Play();
p.setName(matcher.group(1));
p.startedAt = startedAt;
}
return p;
}
public long getStartedAt() {
return startedAt;
}
public void setStartedAt(long startedAt) {
this.startedAt = startedAt;
}
public long getFinishedAt() {
return finishedAt;
}
public void setFinishedAt(long finishedAt) {
this.finishedAt = finishedAt;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Task> getTasks() {
return tasks;
}
public void setTasks(List<Task> tasks) {
this.tasks = tasks;
}
public List<HostResult> getFacts() {
return facts;
}
public void setFacts(List<HostResult> facts) {
this.facts = facts;
}
public boolean isSkipped() {
return skipped;
}
public void setSkipped(boolean skipped) {
this.skipped = skipped;
}
}