package com.taobao.zeus.jobs; import com.taobao.zeus.store.HierarchyProperties; public abstract class AbstractJob implements Job { protected JobContext jobContext; protected boolean canceled=false; public AbstractJob(JobContext jobContext){ this.jobContext=jobContext; } @Override public boolean isCanceled() { return canceled; } protected String getProperty(String key,String defaultValue){ String value=jobContext.getProperties().getProperty(key); if(value==null){ value=defaultValue; } return value; } public HierarchyProperties getProperties(){ return jobContext.getProperties(); } public JobContext getJobContext() { return jobContext; } protected void logConsole(String log){ if(jobContext.getJobHistory()!=null){ jobContext.getJobHistory().getLog().appendConsole(log); } if(jobContext.getDebugHistory()!=null){ jobContext.getDebugHistory().getLog().appendConsole(log); } } protected void log(String log){ if(jobContext.getJobHistory()!=null){ jobContext.getJobHistory().getLog().appendZeus(log); } if(jobContext.getDebugHistory()!=null){ jobContext.getDebugHistory().getLog().appendZeus(log); } } protected void log(Exception e){ if(jobContext.getJobHistory()!=null){ jobContext.getJobHistory().getLog().appendZeusException(e); } if(jobContext.getDebugHistory()!=null){ jobContext.getDebugHistory().getLog().appendZeusException(e); } } }