package org.jactr.eclipse.runtime.probe2; /* * default logging */ import java.util.Collection; import java.util.Collections; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jactr.eclipse.runtime.session.data.ISessionData; import org.jactr.eclipse.runtime.session.stream.AbstractRollingSessionDataStream; public class ModelProbeSessionDataStream extends AbstractRollingSessionDataStream<ModelProbeData, ModelProbeData> implements IModelProbeSessionDataStream { /** * Logger definition */ static private final transient Log LOGGER = LogFactory .getLog(ModelProbeSessionDataStream.class); ModelProbeData _root; public ModelProbeSessionDataStream(ISessionData sessionData, int windowSize) { super("probe", sessionData, windowSize); } @Override public void clear() { super.clear(); if (_root != null) _root.clear(); _root = null; } @Override public void append(ModelProbeData data) { super.append(data); _root = data; } public ModelProbeData getRoot() { return _root; } @Override protected double getTime(ModelProbeData data) { return data.getEndTime(); } public void fireChange(Set<ModelProbeData> changed) { _eventManager.notify(new Object[] { Collections.EMPTY_LIST, changed, Collections.EMPTY_LIST }); } @Override protected Collection<ModelProbeData> toOutputData(ModelProbeData input) { return Collections.singleton(input); } }