Skip to content
Snippets Groups Projects
Commit dd70a110 authored by Reiner Jung's avatar Reiner Jung
Browse files

Added the ability to ignore statistics outputs.

parent 03cdaf7a
No related branches found
No related tags found
No related merge requests found
...@@ -52,6 +52,9 @@ public class Settings { // NOPMD ...@@ -52,6 +52,9 @@ public class Settings { // NOPMD
"--graphs" }, required = false, variableArity = true, converter = GraphTypeConverter.class, description = "Specify which output graphs must be generated") "--graphs" }, required = false, variableArity = true, converter = GraphTypeConverter.class, description = "Specify which output graphs must be generated")
private List<EOutputGraph> outputGraphs; private List<EOutputGraph> outputGraphs;
@Parameter(names = "--ignore-statistics", required = false, description = "When specified statistics are ignored.")
private boolean ignoreStatistics;
@Parameter(names = { "-m", @Parameter(names = { "-m",
"--mode" }, required = true, variableArity = true, converter = GraphGenerationConverter.class, description = "Mode deciding whether an edge is added when its nodes are not selected") "--mode" }, required = true, variableArity = true, converter = GraphGenerationConverter.class, description = "Mode deciding whether an edge is added when its nodes are not selected")
private EGraphGenerationMode graphGenerationMode; private EGraphGenerationMode graphGenerationMode;
...@@ -76,6 +79,10 @@ public class Settings { // NOPMD ...@@ -76,6 +79,10 @@ public class Settings { // NOPMD
return this.selector; return this.selector;
} }
public boolean isIgnoreStatistics() {
return this.ignoreStatistics;
}
public EGraphGenerationMode getGraphGenerationMode() { public EGraphGenerationMode getGraphGenerationMode() {
return this.graphGenerationMode; return this.graphGenerationMode;
} }
......
...@@ -144,7 +144,14 @@ public class TeetimeConfiguration extends Configuration { ...@@ -144,7 +144,14 @@ public class TeetimeConfiguration extends Configuration {
private void createStatisticsStages(final Settings settings, private void createStatisticsStages(final Settings settings,
final Distributor<ModelRepository> statisticsDistributor) { final Distributor<ModelRepository> statisticsDistributor) {
/** compute statistics. */ /** compute statistics. */
if (!settings.isIgnoreStatistics()) {
final NumberOfCallsStage numberOfCallsStage = new NumberOfCallsStage(); final NumberOfCallsStage numberOfCallsStage = new NumberOfCallsStage();
final TableCSVSink operationCallSink = new TableCSVSink(settings.getOutputDirectory(), String
.format("%s-%s", settings.getSelector().getFilePrefix(), TeetimeConfiguration.OPERATION_CALLS_CSV));
this.connectPorts(statisticsDistributor.getNewOutputPort(), numberOfCallsStage.getInputPort());
this.connectPorts(numberOfCallsStage.getOutputPort(), operationCallSink.getInputPort());
}
final OperationCallGraphStage functionCallGraphStage = new OperationCallGraphStage(settings.getSelector(), final OperationCallGraphStage functionCallGraphStage = new OperationCallGraphStage(settings.getSelector(),
settings.getGraphGenerationMode()); settings.getGraphGenerationMode());
final OperationNodeCountCouplingStage functionNodeCouplingStage = new OperationNodeCountCouplingStage(); final OperationNodeCountCouplingStage functionNodeCouplingStage = new OperationNodeCountCouplingStage();
...@@ -153,17 +160,11 @@ public class TeetimeConfiguration extends Configuration { ...@@ -153,17 +160,11 @@ public class TeetimeConfiguration extends Configuration {
final ModuleNodeCountCouplingStage moduleNodeCouplingStage = new ModuleNodeCountCouplingStage(); final ModuleNodeCountCouplingStage moduleNodeCouplingStage = new ModuleNodeCountCouplingStage();
/** Sinks for metrics writing to CSV files. */ /** Sinks for metrics writing to CSV files. */
final TableCSVSink operationCallSink = new TableCSVSink(settings.getOutputDirectory(), String.format("%s-%s",
settings.getSelector().getFilePrefix(), TeetimeConfiguration.OPERATION_CALLS_CSV));
final TableCSVSink distinctOperationDegreeSink = new TableCSVSink(settings.getOutputDirectory(), String.format( final TableCSVSink distinctOperationDegreeSink = new TableCSVSink(settings.getOutputDirectory(), String.format(
"%s-%s", settings.getSelector().getFilePrefix(), TeetimeConfiguration.DISTINCT_OPERATION_DEGREE_CSV)); "%s-%s", settings.getSelector().getFilePrefix(), TeetimeConfiguration.DISTINCT_OPERATION_DEGREE_CSV));
final TableCSVSink distinctModuleDegreeSink = new TableCSVSink(settings.getOutputDirectory(), String.format( final TableCSVSink distinctModuleDegreeSink = new TableCSVSink(settings.getOutputDirectory(), String.format(
"%s-%s", settings.getSelector().getFilePrefix(), TeetimeConfiguration.DISTINCT_MODULE_DEGREE_CSV)); "%s-%s", settings.getSelector().getFilePrefix(), TeetimeConfiguration.DISTINCT_MODULE_DEGREE_CSV));
this.connectPorts(statisticsDistributor.getNewOutputPort(), numberOfCallsStage.getInputPort());
this.connectPorts(numberOfCallsStage.getOutputPort(), operationCallSink.getInputPort());
// Fehlerhaft in functionNodeCouplingStage
this.connectPorts(statisticsDistributor.getNewOutputPort(), functionCallGraphStage.getInputPort()); this.connectPorts(statisticsDistributor.getNewOutputPort(), functionCallGraphStage.getInputPort());
this.connectPorts(functionCallGraphStage.getOutputPort(), functionNodeCouplingStage.getInputPort()); this.connectPorts(functionCallGraphStage.getOutputPort(), functionNodeCouplingStage.getInputPort());
this.connectPorts(functionNodeCouplingStage.getOutputPort(), distinctOperationDegreeSink.getInputPort()); this.connectPorts(functionNodeCouplingStage.getOutputPort(), distinctOperationDegreeSink.getInputPort());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment