package com.breakersoft.plow.dispatcher.domain; import java.util.Set; import java.util.UUID; import com.breakersoft.plow.JobId; import com.breakersoft.plow.ProcE; public class DispatchProc extends ProcE implements DispatchResource, JobId { private UUID clusterId; private UUID quotaId; private int cores; private int ram; private boolean allocated; private boolean unbooked; private Set<String> tags; public String toString() { return String.format("Proc: %d/%d [%s] on host: %s", cores, ram, getProcId(), getHostname()); } // From DispatchResource @Override public int getIdleCores() { return cores; } // From DispatchResource @Override public int getIdleRam() { return ram; } public void setCores(int cores) { this.cores = cores; } public void setRam(int ram) { this.ram = ram; } public int getCores() { return cores; } public int getRam() { return this.ram; } public boolean isAllocated() { return allocated; } public void setAllocated(boolean allocated) { this.allocated = allocated; } @Override public Set<String> getTags() { return tags; } public void setTags(Set<String> tags) { this.tags = tags; } public void allocate(int cores, int ram) { this.cores = this.cores - cores; this.ram = this.ram - ram; } public boolean isUnbooked() { return unbooked; } public void setUnbooked(boolean unbooked) { this.unbooked = unbooked; } public UUID getClusterId() { return clusterId; } public void setClusterId(UUID clusterId) { this.clusterId = clusterId; } public UUID getQuotaId() { return quotaId; } public void setQuotaId(UUID quotaId) { this.quotaId = quotaId; } }