package com.ximple.eofms.jobs.context; import java.util.Map; import com.ximple.eofms.filter.ElementDispatcher; import org.apache.commons.digester3.Digester; import org.apache.commons.digester3.binder.DigesterLoader; import org.apache.commons.digester3.xmlrules.FromXmlRulesModule; import org.apache.commons.logging.Log; import org.quartz.JobExecutionContext; import com.ximple.io.dgn7.Dgn7fileReader; public abstract class AbstractDgnFileJobContext { // ------------------------------ FIELDS ------------------------------ /** * Encoding of URL path. */ protected static final String ENCODING = "UTF-8"; protected String _dataPath = null; protected Map properties = null; private JobExecutionContext executionContext = null; private Dgn7fileReader reader = null; private String filename = null; private boolean _elementLogging; private boolean _profileMode = false; private boolean _useTransform = true; private long _processTime; private long _updateTime; private long _processTimeStart; private long _updateTimeStart; private short distId; // --------------------------- CONSTRUCTORS --------------------------- public AbstractDgnFileJobContext(String dataPath, boolean profileMode, boolean useTransform) { _dataPath = dataPath; _profileMode = profileMode; _useTransform = useTransform; } // --------------------- GETTER / SETTER METHODS --------------------- public JobExecutionContext getExecutionContext() { return executionContext; } public void setExecutionContext(JobExecutionContext context) { executionContext = context; } public String getFilename() { return filename; } public void setFilename(String filename) { this.filename = filename; } public Dgn7fileReader getReader() { return this.reader; } public void setReader(Dgn7fileReader reader) { this.reader = reader; } public boolean isProfileMode() { return _profileMode; } public boolean isTransformed() { return _useTransform; } public short getDistId() { return distId; } public void setDistId(short distId) { this.distId = distId; } // -------------------------- OTHER METHODS -------------------------- public final void accumulateProcessTime() { _processTime += System.currentTimeMillis() - _processTimeStart; } public final void accumulateUpdateTime() { _updateTime += System.currentTimeMillis() - _updateTimeStart; } public abstract void commitTransaction(); public String getDataPath() { return _dataPath; } public boolean getElementLogging() { return _elementLogging; } public abstract Log getLogger(); public long getProcessTime() { return _processTime; } public long getUpdateTime() { return _updateTime; } public final void markProcessTime() { _processTimeStart = System.currentTimeMillis(); } public final void markUpdateTime() { _updateTimeStart = System.currentTimeMillis(); } public abstract void rollbackTransaction(); public void setElementLogging(boolean elementLogging) { this._elementLogging = elementLogging; } public abstract void startTransaction(); }