/** * WPHTemplate.java * * @author Created by Omnicore CodeGuide */ package edu.sc.seis.sod.status.waveformArm; import java.sql.SQLException; import edu.iris.Fissures.model.MicroSecondDate; import edu.iris.Fissures.model.TimeInterval; import edu.iris.Fissures.model.UnitImpl; import edu.sc.seis.fissuresUtil.chooser.ClockUtil; import edu.sc.seis.fissuresUtil.chooser.ThreadSafeDecimalFormat; import edu.sc.seis.sod.Stage; import edu.sc.seis.sod.Standing; import edu.sc.seis.sod.Start; import edu.sc.seis.sod.Status; import edu.sc.seis.sod.hibernate.SodDB; import edu.sc.seis.sod.status.AllTypeTemplate; public class WPHTemplate extends AllTypeTemplate { public WPHTemplate() throws SQLException { ecs = SodDB.getSingleton(); } public String getResult() { int numSuccessful = ecs.getNumSuccessful(); double elapsedTime = getElapsedTime(); return df.format(numSuccessful / elapsedTime); } private double getElapsedTime() { MicroSecondDate now = ClockUtil.now(); MicroSecondDate startTime = Start.getStartTime(); TimeInterval elapsedTime = now.subtract(startTime); return elapsedTime.convertTo(UnitImpl.HOUR).getValue(); } private ThreadSafeDecimalFormat df = new ThreadSafeDecimalFormat("0.00"); private SodDB ecs; private static final Status SUCCESS = Status.get(Stage.PROCESSOR, Standing.SUCCESS); }