/** metoda obslugi watku. */ public final void run() { /** Zmienna do obslugi zczytywania danych z pliku. */ Scanner scanner = null; try { scanner = new Scanner(new File(config.getLocInput())); System.out.println("Odczytano sciezke do pliku!"); } catch (FileNotFoundException e) { System.out.println("Blad odczytu pliku!"); } // dopoki jest nastepna linia while (scanner.hasNextLine()) { timestamp = new Timestamp[(int) config.getBatchSize()]; loglevel = new String[(int) config.getBatchSize()]; details = new String[(int) config.getBatchSize()]; for (int i = 0; i < config.getBatchSize(); ++i) { // jezeli nie ma nastepnej linii to konczy if (!scanner.hasNextLine()) { break; } data = scanner.nextLine(); // jesli nie jest to pusta linia if (!(data.equals(""))) { parts = data.split(" "); // wyszukiwanie spacji setValues(i); } } // tworzenie Zdarzen createEvents(); } System.out.println("Odczytano plik!"); scanner.close(); }
/** metoda sluzaca do tworzenia zdarzen. */ public final void createEvents() { /** Zmienna do przechowywania czasu uspienia (w ms). */ final int timeToSleep = 1000; for (int i = 0; i < config.getBatchSize(); ++i) { if (timestamp[i] != null) { Event a; try { a = new Event(timestamp[i], loglevel[i], details[i]); while (!queue.acceptEvent(a)) { System.out.println( "Nie udalo sie dodac Eventu(" + timestamp[i] + ", " + loglevel[i] + ", " + details[i]); System.out.println("Ponawiam..."); try { Thread.sleep(timeToSleep); } catch (InterruptedException e) { e.printStackTrace(); } } } catch (InvalidEventException e1) { e1.printStackTrace(); } System.out.println("Dodano Event(" + timestamp[i] + ", " + loglevel[i] + ", " + details[i]); } } }