Skip to content

Commit b796ad0

Browse files
authored
Merge pull request #1287 from guwirth/context-settings
use local context.settings()
2 parents 423222a + 64737c7 commit b796ad0

File tree

29 files changed

+128
-185
lines changed

29 files changed

+128
-185
lines changed

cxx-sensors/src/main/java/org/sonar/cxx/sensors/clangsa/CxxClangSASensor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import java.io.File;
2323
import org.sonar.api.batch.sensor.SensorContext;
2424
import org.sonar.api.batch.sensor.SensorDescriptor;
25-
import org.sonar.api.config.Settings;
2625
import org.sonar.api.utils.log.Logger;
2726
import org.sonar.api.utils.log.Loggers;
2827
import org.sonar.cxx.CxxLanguage;
@@ -48,8 +47,8 @@ public class CxxClangSASensor extends CxxReportSensor {
4847
/**
4948
* {@inheritDoc}
5049
*/
51-
public CxxClangSASensor(CxxLanguage language, Settings settings) {
52-
super(language, settings);
50+
public CxxClangSASensor(CxxLanguage language) {
51+
super(language);
5352
}
5453

5554
@Override

cxx-sensors/src/main/java/org/sonar/cxx/sensors/clangtidy/CxxClangTidySensor.java

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import org.sonar.api.batch.sensor.SensorContext;
2929
import org.sonar.api.batch.sensor.SensorDescriptor;
30-
import org.sonar.api.config.Settings;
3130
import org.sonar.api.utils.log.Logger;
3231
import org.sonar.api.utils.log.Loggers;
3332
import org.sonar.cxx.CxxLanguage;
@@ -47,8 +46,8 @@ public class CxxClangTidySensor extends CxxReportSensor {
4746
/**
4847
* {@inheritDoc}
4948
*/
50-
public CxxClangTidySensor(CxxLanguage language, Settings settings) {
51-
super(language, settings);
49+
public CxxClangTidySensor(CxxLanguage language) {
50+
super(language);
5251
}
5352

5453
@Override
@@ -61,25 +60,9 @@ public void describe(SensorDescriptor descriptor) {
6160
descriptor.onlyOnLanguage(this.language.getKey()).name(language.getName() + " ClangTidySensor");
6261
}
6362

64-
/**
65-
* Get string property from configuration. If the string is not set or empty,
66-
* return the default value.
67-
*
68-
* @param name Name of the property
69-
* @param def Default value
70-
* @return Value of the property if set and not empty, else default value.
71-
*/
72-
public String getParserStringProperty(String name, String def) {
73-
String s = this.settings.getString(name);
74-
if (s == null || s.isEmpty()) {
75-
return def;
76-
}
77-
return s;
78-
}
79-
8063
@Override
8164
protected void processReport(final SensorContext context, File report) {
82-
final String reportCharset = getParserStringProperty(this.language.getPluginProperty(REPORT_CHARSET_DEF), "UTF-8");
65+
final String reportCharset = getContextStringProperty(context, this.language.getPluginProperty(REPORT_CHARSET_DEF), "UTF-8");
8366
LOG.debug("Parsing 'clang-tidy' report, CharSet= '{}'", reportCharset);
8467

8568
try (Scanner scanner = new Scanner(report, reportCharset)) {

cxx-sensors/src/main/java/org/sonar/cxx/sensors/compiler/CxxCompilerSensor.java

Lines changed: 7 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import org.sonar.api.batch.sensor.SensorContext;
2929
import org.sonar.api.batch.sensor.SensorDescriptor;
30-
import org.sonar.api.config.Settings;
3130
import org.sonar.api.utils.log.Logger;
3231
import org.sonar.api.utils.log.Loggers;
3332
import org.sonar.cxx.CxxLanguage;
@@ -53,10 +52,9 @@ public class CxxCompilerSensor extends CxxReportSensor {
5352

5453
/**
5554
* {@inheritDoc}
56-
* @param settings for report sensor
5755
*/
58-
public CxxCompilerSensor(CxxLanguage language, Settings settings) {
59-
super(language, settings);
56+
public CxxCompilerSensor(CxxLanguage language) {
57+
super(language);
6058

6159
addCompilerParser(new CxxCompilerVcParser());
6260
addCompilerParser(new CxxCompilerGccParser());
@@ -73,8 +71,8 @@ private void addCompilerParser(CompilerParser parser) {
7371
* Get the compiler parser to use.
7472
* @return CompilerParser
7573
*/
76-
protected CompilerParser getCompilerParser() {
77-
String parserValue = this.settings.getString(this.language.getPluginProperty(PARSER_KEY_DEF));
74+
protected CompilerParser getCompilerParser(SensorContext context) {
75+
String parserValue = context.settings().getString(this.language.getPluginProperty(PARSER_KEY_DEF));
7876
CompilerParser parser = parsers.get(parserValue);
7977
if (parser == null) {
8078
parserValue = language.getPluginProperty(language.getPluginProperty(DEFAULT_PARSER_DEF));
@@ -94,28 +92,12 @@ public String getReportPathKey() {
9492
return language.getPluginProperty(REPORT_PATH_KEY);
9593
}
9694

97-
/**
98-
* Get string property from configuration. If the string is not set or empty,
99-
* return the default value.
100-
*
101-
* @param name Name of the property
102-
* @param def Default value
103-
* @return Value of the property if set and not empty, else default value.
104-
*/
105-
public String getParserStringProperty(String name, String def) {
106-
String s = this.settings.getString(name);
107-
if (s == null || s.isEmpty()) {
108-
return def;
109-
}
110-
return s;
111-
}
112-
11395
@Override
11496
protected void processReport(final SensorContext context, File report)
11597
throws javax.xml.stream.XMLStreamException {
116-
final CompilerParser parser = getCompilerParser();
117-
final String reportCharset = getParserStringProperty(this.language.getPluginProperty(REPORT_CHARSET_DEF), parser.defaultCharset());
118-
final String reportRegEx = getParserStringProperty(this.language.getPluginProperty(REPORT_REGEX_DEF), parser.defaultRegexp());
98+
final CompilerParser parser = getCompilerParser(context);
99+
final String reportCharset = getContextStringProperty(context, this.language.getPluginProperty(REPORT_CHARSET_DEF), parser.defaultCharset());
100+
final String reportRegEx = getContextStringProperty(context, this.language.getPluginProperty(REPORT_REGEX_DEF), parser.defaultRegexp());
119101
final List<CompilerParser.Warning> warnings = new LinkedList<>();
120102

121103
// Iterate through the lines of the input file

cxx-sensors/src/main/java/org/sonar/cxx/sensors/coverage/CxxCoverageSensor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public class CxxCoverageSensor extends CxxReportSensor {
8686
* @param context for current file
8787
*/
8888
public CxxCoverageSensor(CxxCoverageCache cache, CxxLanguage language, SensorContext context) {
89-
super(language, context.settings());
89+
super(language);
9090
this.cache = cache;
9191
if (context.getSonarQubeVersion().isGreaterThanOrEqual(SQ_6_2)) {
9292
isSQ_6_2_or_newer = true;

cxx-sensors/src/main/java/org/sonar/cxx/sensors/cppcheck/CxxCppCheckSensor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import org.sonar.api.batch.sensor.SensorContext;
2929
import org.sonar.api.batch.sensor.SensorDescriptor;
30-
import org.sonar.api.config.Settings;
3130
import org.sonar.api.utils.log.Logger;
3231
import org.sonar.api.utils.log.Loggers;
3332
import org.sonar.cxx.CxxLanguage;
@@ -49,8 +48,8 @@ public class CxxCppCheckSensor extends CxxReportSensor {
4948
/**
5049
* {@inheritDoc}
5150
*/
52-
public CxxCppCheckSensor(CxxLanguage language, Settings settings) {
53-
super(language, settings);
51+
public CxxCppCheckSensor(CxxLanguage language) {
52+
super(language);
5453
parsers.add(new CppcheckParserV2(this));
5554
parsers.add(new CppcheckParserV1(this));
5655
}

cxx-sensors/src/main/java/org/sonar/cxx/sensors/drmemory/CxxDrMemorySensor.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.sonar.api.batch.sensor.SensorContext;
2525
import org.sonar.api.batch.fs.InputFile;
2626
import org.sonar.api.batch.sensor.SensorDescriptor;
27-
import org.sonar.api.config.Settings;
2827
import org.sonar.api.utils.log.Logger;
2928
import org.sonar.api.utils.log.Loggers;
3029
import org.sonar.cxx.CxxLanguage;
@@ -50,12 +49,10 @@ public class CxxDrMemorySensor extends CxxReportSensor {
5049
public static final String DEFAULT_CHARSET_DEF = StandardCharsets.UTF_8.name();
5150

5251
/**
53-
* Create Sensor for DrMemory
54-
* @param language C++ language object
55-
* @param settings CXX properties
52+
* {@inheritDoc}
5653
*/
57-
public CxxDrMemorySensor(CxxLanguage language, Settings settings) {
58-
super(language, settings);
54+
public CxxDrMemorySensor(CxxLanguage language) {
55+
super(language);
5956
}
6057

6158
/**

cxx-sensors/src/main/java/org/sonar/cxx/sensors/other/CxxOtherSensor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.codehaus.staxmate.in.SMInputCursor;
3535
import org.sonar.api.batch.sensor.SensorContext;
3636
import org.sonar.api.batch.sensor.SensorDescriptor;
37-
import org.sonar.api.config.Settings;
3837
import org.sonar.api.utils.log.Logger;
3938
import org.sonar.api.utils.log.Loggers;
4039
import org.sonar.cxx.CxxLanguage;
@@ -60,8 +59,8 @@ public class CxxOtherSensor extends CxxReportSensor {
6059
/**
6160
* {@inheritDoc}
6261
*/
63-
public CxxOtherSensor(CxxLanguage language, Settings settings) {
64-
super(language, settings);
62+
public CxxOtherSensor(CxxLanguage language) {
63+
super(language);
6564
}
6665

6766
@Override

cxx-sensors/src/main/java/org/sonar/cxx/sensors/pclint/CxxPCLintSensor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import org.codehaus.staxmate.in.SMInputCursor;
3131
import org.sonar.api.batch.sensor.SensorContext;
3232
import org.sonar.api.batch.sensor.SensorDescriptor;
33-
import org.sonar.api.config.Settings;
3433
import org.sonar.api.utils.log.Logger;
3534
import org.sonar.api.utils.log.Loggers;
3635
import org.sonar.cxx.CxxLanguage;
@@ -55,8 +54,8 @@ public class CxxPCLintSensor extends CxxReportSensor {
5554
/**
5655
* {@inheritDoc}
5756
*/
58-
public CxxPCLintSensor(CxxLanguage language, Settings settings) {
59-
super(language, settings);
57+
public CxxPCLintSensor(CxxLanguage language) {
58+
super(language);
6059
}
6160

6261
@Override

cxx-sensors/src/main/java/org/sonar/cxx/sensors/rats/CxxRatsSensor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.jdom.input.SAXBuilder;
2929
import org.sonar.api.batch.sensor.SensorContext;
3030
import org.sonar.api.batch.sensor.SensorDescriptor;
31-
import org.sonar.api.config.Settings;
3231
import org.sonar.api.utils.log.Logger;
3332
import org.sonar.api.utils.log.Loggers;
3433
import org.sonar.cxx.CxxLanguage;
@@ -47,8 +46,8 @@ public class CxxRatsSensor extends CxxReportSensor {
4746
/**
4847
* {@inheritDoc}
4948
*/
50-
public CxxRatsSensor(CxxLanguage language, Settings settings) {
51-
super(language, settings);
49+
public CxxRatsSensor(CxxLanguage language) {
50+
super(language);
5251
}
5352

5453
@Override

cxx-sensors/src/main/java/org/sonar/cxx/sensors/tests/xunit/CxxXunitSensor.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
import org.sonar.cxx.sensors.utils.CxxReportSensor;
3737
import org.sonar.cxx.sensors.utils.EmptyReportException;
3838
import org.sonar.api.batch.sensor.SensorDescriptor;
39-
import org.sonar.api.config.Settings;
4039
import org.sonar.api.utils.log.Logger;
4140
import org.sonar.api.utils.log.Loggers;
4241
import org.sonar.cxx.CxxLanguage;
@@ -58,8 +57,8 @@ public class CxxXunitSensor extends CxxReportSensor {
5857
/**
5958
* {@inheritDoc}
6059
*/
61-
public CxxXunitSensor(CxxLanguage language, Settings settings) {
62-
super(language, settings);
60+
public CxxXunitSensor(CxxLanguage language) {
61+
super(language);
6362
xsltURL = language.getStringOption(XSLT_URL_KEY);
6463
}
6564

0 commit comments

Comments
 (0)