@@ -62,6 +62,8 @@ void StatisticVisualizerBase::initialize(int stage)
6262 displayStatistics = par (" displayStatistics" );
6363 sourceFilter.setPattern (par (" sourceFilter" ));
6464 signalName = par (" signalName" );
65+ if (opp_isempty (signalName))
66+ throw cRuntimeError (" The signalName parameter must be not empty" );
6567 statisticName = par (" statisticName" );
6668 statisticUnit = par (" statisticUnit" );
6769 statisticExpression = par (" statisticExpression" );
@@ -92,18 +94,15 @@ void StatisticVisualizerBase::handleParameterChange(const char *name)
9294
9395void StatisticVisualizerBase::subscribe ()
9496{
95- if (*signalName != ' \0 ' )
96- visualizationSubjectModule->subscribe (registerSignal (signalName), this );
97+ visualizationSubjectModule->subscribe (registerSignal (signalName), this );
9798}
9899
99100void StatisticVisualizerBase::unsubscribe ()
100101{
101102 // NOTE: lookup the module again because it may have been deleted first
102103 auto visualizationSubjectModule = findModuleFromPar<cModule>(par (" visualizationSubjectModule" ), this );
103- if (visualizationSubjectModule != nullptr ) {
104- if (*signalName != ' \0 ' )
105- visualizationSubjectModule->unsubscribe (registerSignal (signalName), this );
106- }
104+ if (visualizationSubjectModule != nullptr )
105+ visualizationSubjectModule->unsubscribe (registerSignal (signalName), this );
107106}
108107
109108void StatisticVisualizerBase::addResultRecorder (cComponent *source, simsignal_t signal)
0 commit comments