/******************************************************************************* * gMix open source project - https://svs.informatik.uni-hamburg.de/gmix/ * Copyright (C) 2014 SVS * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ package staticContent.evaluation.traceParser.engine.filter; import java.io.FileNotFoundException; import java.io.IOException; import staticContent.evaluation.traceParser.engine.dataStructure.Flow; import staticContent.evaluation.traceParser.engine.fileReader.FlowReader; import staticContent.evaluation.traceParser.interfaces.FlowFilter; public class TerminatingFlowFilterTester { public static String TEST_FILE_1 = "./inputOutput/global/traces/erfTests/auckland8sample/extractedFlows.gmf"; private TerminatingFlowFilter filter; private FlowFilter preFilter; private String pathToTraceFile; public TerminatingFlowFilterTester(TerminatingFlowFilter filter, String pathToTraceFile, FlowFilter preFilter) { this.filter = filter; this.preFilter = preFilter; this.pathToTraceFile = pathToTraceFile; try { parseFile(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void parseFile() throws FileNotFoundException, IOException { FlowReader fr = new FlowReader(pathToTraceFile, preFilter, false); System.out.println("FilterTester: start reading trace file in " +pathToTraceFile); for (int i=0; i<Integer.MAX_VALUE; i++) { try { Flow ap = fr.readFlow(); if (ap == null) { filter.finished(); break; } else { filter.newRecord(ap); } } catch (IOException e) { e.printStackTrace(); return; } } } }