/** * Writes all contained {@link SessionInfo} objects into the given visitor. * The info objects are emitted in chronological order by dump timestamp. * * @param visitor * visitor to emit {@link SessionInfo} objects to */ public void accept(final ISessionInfoVisitor visitor) { for (final SessionInfo i : getInfos()) { visitor.visitSessionInfo(i); } }
/** * Saves the current content into the given output stream. * * @param stream * stream to save content to * @throws IOException * in case of problems while writing to the stream */ public void save(final OutputStream stream) throws IOException { final ExecutionDataWriter dataWriter = new ExecutionDataWriter(stream); sessionInfos.accept(dataWriter); executionData.accept(dataWriter); }
/** * Writes the content of the store to the given visitor interface. * * @param visitor * interface to write content to */ public void accept(final IExecutionDataVisitor visitor) { for (final ExecutionData data : getContents()) { visitor.visitClassExecution(data); } }
@Override public void visitSessionInfo(SessionInfo info) { String sessionId = info.getId(); executionDataStore = sessions.computeIfAbsent(sessionId, id -> new ExecutionDataStore()); }
/** * Collects execution data from the given reader. * * @param reader * reader to read execution data from */ public void readFrom(ExecutionDataReader reader) throws IOException { reader.setSessionInfoVisitor(sessionInfoStore); reader.setExecutionDataVisitor(executionDataStore); reader.read(); }
/** * New instance to combine session infos and execution data from multiple * files. */ public ExecFileLoader() { sessionInfos = new SessionInfoStore(); executionData = new ExecutionDataStore(); }
/** * Subtracts all probes in the given execution data store from this store. * * @param store * execution data store to subtract * @see #subtract(ExecutionData) */ public void subtract(final ExecutionDataStore store) { for (final ExecutionData data : store.getContents()) { subtract(data); } }
public Collection<ExecutionData> getExecutionData() { return executiondatastore.getContents(); }
public void visitClassExecution(final ExecutionData data) { put(data); } }
public List<SessionInfo> getSessionInfos() { return sessioninfostore.getInfos(); }
public boolean isEmpty() { return sessionInfoStore.isEmpty(); }
public void visitSessionInfo(SessionInfo info) { sessionInfoStore.visitSessionInfo(info); }
public void visitClassExecution(ExecutionData data) { executionDataStore.visitClassExecution(data); }
@Override public void visitSessionInfo(SessionInfo info) { String sessionId = info.getId(); executionDataStore = sessions.get(sessionId); if (executionDataStore == null) { executionDataStore = new ExecutionDataStore(); sessions.put(sessionId, executionDataStore); } }
public void generateResponse(StaplerRequest req, StaplerResponse rsp, Object node) throws IOException, ServletException { ExecFileLoader loader = new ExecFileLoader(); for (File exec : files) { loader.load(exec); } rsp.setContentType("application/octet-stream"); final ExecutionDataWriter dataWriter = new ExecutionDataWriter(rsp.getOutputStream()); loader.getSessionInfoStore().accept(dataWriter); loader.getExecutionDataStore().accept(dataWriter); } };
public MemoryExecutionDataSource() { sessionInfoStore = new SessionInfoStore(); executionDataStore = new ExecutionDataStore(); }
@Override public void visitSessionInfo(SessionInfo info) { String sessionId = info.getId(); executionDataStore = sessions.get(sessionId); if (executionDataStore == null) { executionDataStore = new ExecutionDataStore(); sessions.put(sessionId, executionDataStore); } }
@Override public void visitSessionInfo(SessionInfo info) { String sessionId = info.getId(); executionDataStore = sessions.get(sessionId); if (executionDataStore == null) { executionDataStore = new ExecutionDataStore(); sessions.put(sessionId, executionDataStore); } }
public void visitSessionInfo(SessionInfo info) { String sessionId = info.getId(); executionDataStore = sessions.get(sessionId); if (executionDataStore == null) { executionDataStore = new ExecutionDataStore(); sessions.put(sessionId, executionDataStore); } }