MATSIM
EventsUtils.java
Go to the documentation of this file.
1 
2 /* *********************************************************************** *
3  * project: org.matsim.*
4  * EventsUtils.java
5  * *
6  * *********************************************************************** *
7  * *
8  * copyright : (C) 2019 by the members listed in the COPYING, *
9  * LICENSE and WARRANTY file. *
10  * email : info at matsim dot org *
11  * *
12  * *********************************************************************** *
13  * *
14  * This program is free software; you can redistribute it and/or modify *
15  * it under the terms of the GNU General Public License as published by *
16  * the Free Software Foundation; either version 2 of the License, or *
17  * (at your option) any later version. *
18  * See also COPYING, LICENSE and WARRANTY file *
19  * *
20  * *********************************************************************** */
21 
22 package org.matsim.core.events;
23 
24 import org.apache.logging.log4j.LogManager;
25 import org.apache.logging.log4j.Logger;
27 import org.matsim.core.config.Config;
30 
31 import java.io.File;
32 
33 public final class EventsUtils {
34 
35  private static final Logger log = LogManager.getLogger(EventsUtils.class);
36 
37 
42  return new EventsManagerImpl();
43  }
44 
49  return new ParallelEventsManager(false);
50  }
51 
52  public static EventsManager createEventsManager(Config config) {
53  final EventsManager events = Injector.createInjector(config, new EventsManagerModule()).getInstance(EventsManager.class);
54 // events.initProcessing();
55  return events;
56  }
57 
58  public static void readEvents(EventsManager events, String filename) {
59  new MatsimEventsReader(events).readFile(filename);
60  }
61 
62 
69  if (events instanceof SimStepParallelEventsManagerImpl) {
70  return events;
71  } else if (events instanceof ParallelEventsManager) {
72  return events;
73  } else if (events instanceof SynchronizedEventsManagerImpl) {
74  return events;
75  } else {
76  return new SynchronizedEventsManagerImpl(events);
77  }
78  }
79 
83  public static FingerprintEventHandler createEventsFingerprint(String eventFile, String outputFingerprintFile) {
84 
86 
87  EventFingerprint.write(outputFingerprintFile, handler.getEventFingerprint());
88 
89  return handler;
90  }
91 
92 
101  public static ComparisonResult createAndCompareEventsFingerprint(File eventFile, String compareFingerprintFile) {
102 
103  String path = eventFile.getPath().replaceFirst("\\.xml[.a-zA-z0-9]*$", "");
104 
105  FingerprintEventHandler handler = EventsFileFingerprintComparator.createFingerprintHandler(eventFile.toString(), compareFingerprintFile);
106  EventFingerprint.write(path + ".fp.zst", handler.getEventFingerprint());
107 
108  if (handler.getComparisonMessage() != null)
109  log.warn(handler.getComparisonMessage());
110 
111  return handler.getComparisonResult();
112  }
113 
120  public static void assertEqualEventsFingerprint(File eventFile, String compareFingerprintFile) {
121 
122  String path = eventFile.getPath().replaceFirst("\\.xml[.a-zA-z0-9]*$", "");
123 
124  FingerprintEventHandler handler = EventsFileFingerprintComparator.createFingerprintHandler(eventFile.toString(), compareFingerprintFile);
125  EventFingerprint.write(path + ".fp.zst", handler.getEventFingerprint());
126 
127 
129  throw new AssertionError(handler.getComparisonMessage());
130 
131  }
132 
133  public static ComparisonResult compareEventsFiles(String filename1, String filename2) {
134  return EventsFileComparator.compare(filename1, filename2);
135  }
136 
137 }
static void readEvents(EventsManager events, String filename)
static FingerprintEventHandler createEventsFingerprint(String eventFile, String outputFingerprintFile)
static EventsManager createEventsManager()
static ComparisonResult createAndCompareEventsFingerprint(File eventFile, String compareFingerprintFile)
static ComparisonResult compare(final String filename1, final String filename2)
static EventsManager createEventsManager(Config config)
static FingerprintEventHandler createFingerprintHandler(final String eventsfile, @Nullable String compareFingerprint)
static com.google.inject.Injector createInjector(final Config config, Module... modules)
Definition: Injector.java:58
static void assertEqualEventsFingerprint(File eventFile, String compareFingerprintFile)
static ComparisonResult compareEventsFiles(String filename1, String filename2)
static void write(String filePath, EventFingerprint eventFingerprint)
static EventsManager getParallelFeedableInstance(EventsManager events)
static EventsManager createParallelEventsManager()