... | ... | @@ -22,6 +22,7 @@ public class RecordReaderConfiguration extends Configuration { |
|
|
private void buildProducerPipeline() {
|
|
|
ClassNameRegistryRepository classNameRegistryRepository = new ClassNameRegistryRepository();
|
|
|
File logDir = new File("src/test/data/bookstore-logs");
|
|
|
|
|
|
// create stages
|
|
|
InitialElementProducer<File> initialElementProducer = new InitialElementProducer<File>(logDir);
|
|
|
Dir2RecordsFilter dir2RecordsFilter = new Dir2RecordsFilter(classNameRegistryRepository);
|
... | ... | @@ -42,18 +43,14 @@ public class RecordReaderConfiguration extends Configuration { |
|
|
|
|
|
|
|
|
|
|
|
## Executing an Analysis
|
|
|
The following snippet shows the default code for creating and executing an own analysis:
|
|
|
## Executing the Architecture
|
|
|
The following snippet shows the default code for creating and running an own execution:
|
|
|
|
|
|
```java
|
|
|
Configuration configuration = ... // e.g., new RecordReaderConfiguration();
|
|
|
|
|
|
final Analysis analysis = new Analysis(configuration);
|
|
|
try {
|
|
|
analysis.executeBlocking();
|
|
|
} catch(AnalysisException e) {
|
|
|
// Collection<Pair<Thread, Throwable>> exceptions = e.getThrownExceptions()
|
|
|
}
|
|
|
final Execution execution = new Execution(configuration);
|
|
|
execution.executeBlocking();
|
|
|
```
|
|
|
|
|
|
The `executeBlocking` method of an `Analysis` starts the analysis and waits for it to finish successfully. Otherwise the method throws an exception containing a non-empty list. This list in turn contains the thrown exception of each thread that leads to the prematured termination. |
|
|
\ No newline at end of file |
|
|
The `executeBlocking` method of an `Execution` starts the analysis and waits for it to finish successfully. |
|
|
\ No newline at end of file |