/******************************************************************************* * Copyright (c) 2011 The Board of Trustees of the Leland Stanford Junior University * as Operator of the SLAC National Accelerator Laboratory. * Copyright (c) 2011 Brookhaven National Laboratory. * EPICS archiver appliance is distributed subject to a Software License Agreement found * in file LICENSE that is included with this distribution. *******************************************************************************/ package org.epics.archiverappliance.retrieval.mimeresponses; import java.io.OutputStream; import java.io.PrintWriter; import java.sql.Timestamp; import java.util.HashMap; import org.epics.archiverappliance.Event; import org.epics.archiverappliance.EventStream; import org.epics.archiverappliance.EventStreamDesc; import org.epics.archiverappliance.common.TimeUtils; import org.epics.archiverappliance.data.DBRTimeEvent; /** * A human readable text response; mostly to be used for debugging etc. * @author mshankar * */ public class TextResponse implements MimeResponse, ExceptionCommunicator { private PrintWriter out; boolean firstPV = true; @Override public void consumeEvent(Event e) throws Exception { out.println(TimeUtils.convertToHumanReadableString(TimeUtils.convertFromEpochSeconds(e.getEpochSeconds(), 0)) + "\t" + e.getSampleValue().toString() + "\t" + (((DBRTimeEvent)e).getSeverity()) + "\t" + (((DBRTimeEvent)e).getStatus()) + "\t" + (((DBRTimeEvent)e).getEventTimeStamp().getNanos()) ); } @Override public void setOutputStream(OutputStream os) { out = new PrintWriter(os); } public void close() { try { out.flush(); out.close(); } catch(Exception ex) {} } @Override public void processingPV(String pv, Timestamp start, Timestamp end, EventStreamDesc streamDesc) { out.println("Beginning data for " + pv); } public void swicthingToStream(EventStream strm) { out.println("Data from stream " + strm.getDescription().getSource()); } @Override public HashMap<String, String> getExtraHeaders() { return null; } @Override public void comminucateException(Throwable t) { out.println(t.getMessage()); t.printStackTrace(out); } }