package ee.elinyo.teamcity.plugins.ansible.logparser.domain; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Playbook { private static final Pattern BUILD_META_LINE_PATTERN = Pattern.compile("AR_BUILD_META:(.+):(.+)"); private long startedAt; private long finishedAt; private List<Play> plays = new ArrayList<Play>(); private List<HostRecap> recaps = new ArrayList<HostRecap>(); private String errorMessage; private Map<String, String> buildMeta = new HashMap<String, String>(); public void addBuildMeta(String line) { Matcher matcher = BUILD_META_LINE_PATTERN.matcher(line); if (matcher.find()) { buildMeta.put(matcher.group(1), matcher.group(2)); } } 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 List<Play> getPlays() { return plays; } public void setPlays(List<Play> plays) { this.plays = plays; } public List<HostRecap> getRecaps() { return recaps; } public void setRecaps(List<HostRecap> recaps) { this.recaps = recaps; } public String getErrorMessage() { return errorMessage; } public void setErrorMessage(String errorMessage) { this.errorMessage = errorMessage; } public Map<String, String> getBuildMeta() { return buildMeta; } public void setBuildMeta(Map<String, String> buildMeta) { this.buildMeta = buildMeta; } }