package com.sequenceiq.periscope.model; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.ApplicationReport; import org.apache.hadoop.yarn.api.records.YarnApplicationState; public class SchedulerApplication { private final ApplicationId applicationId; private final long startTime; private Priority priority; private boolean moved; private double progress; private YarnApplicationState state; public SchedulerApplication(ApplicationReport appReport, Priority priority) { this.applicationId = appReport.getApplicationId(); this.startTime = appReport.getStartTime(); this.priority = priority; } public ApplicationId getApplicationId() { return applicationId; } public Priority getPriority() { return priority; } public void setPriority(Priority priority) { this.priority = priority; } public boolean isMoved() { return moved; } public void setMoved(boolean moved) { this.moved = moved; } public long getStartTime() { return startTime; } public double getProgress() { return progress; } public YarnApplicationState getState() { return state; } public void setState(YarnApplicationState state) { this.state = state; } public void update(ApplicationReport report) { this.progress = report.getProgress(); this.state = report.getYarnApplicationState(); } }