aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-scanner-engine/src/main
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2017-01-31 13:28:12 +0100
committerdbmeneses <duarte.meneses@sonarsource.com>2017-01-31 17:14:13 +0100
commit9df81b022ca8c249356289a7382d561e9a33b588 (patch)
treefb3142bfdd692bb0fce31d6e14abad68759b9d96 /sonar-scanner-engine/src/main
parent0caa8ba6650b2ecc7538c3bbc6443e69069bc3e1 (diff)
downloadsonarqube-9df81b022ca8c249356289a7382d561e9a33b588.tar.gz
sonarqube-9df81b022ca8c249356289a7382d561e9a33b588.zip
Improve type safety
Diffstat (limited to 'sonar-scanner-engine/src/main')
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/DefaultFileLinesContext.java8
-rw-r--r--sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/ScannerExtensionDictionnary.java28
2 files changed, 18 insertions, 18 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/DefaultFileLinesContext.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/DefaultFileLinesContext.java
index 03cfe4ba8da..f3378602b1f 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/DefaultFileLinesContext.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/DefaultFileLinesContext.java
@@ -74,7 +74,7 @@ public class DefaultFileLinesContext implements FileLinesContext {
Preconditions.checkNotNull(metricKey);
checkLineRange(line);
- Map lines = map.get(metricKey);
+ Map<Integer, Object> lines = map.get(metricKey);
if (lines == null) {
// not in memory, so load
lines = loadData(metricKey, KeyValueFormat.newIntegerConverter());
@@ -97,7 +97,7 @@ public class DefaultFileLinesContext implements FileLinesContext {
Preconditions.checkNotNull(metricKey);
checkLineRange(line);
- Map lines = map.get(metricKey);
+ Map<Integer, Object> lines = map.get(metricKey);
if (lines == null) {
// not in memory, so load
lines = loadData(metricKey, KeyValueFormat.newStringConverter());
@@ -136,7 +136,7 @@ public class DefaultFileLinesContext implements FileLinesContext {
}
}
- private static Map optimizeStorage(String metricKey, Map<Integer, Object> lines) {
+ private static Map<Integer, Object> optimizeStorage(String metricKey, Map<Integer, Object> lines) {
// SONAR-7464 Don't store 0 because this is default value anyway
if (CoreMetrics.NCLOC_DATA_KEY.equals(metricKey) || CoreMetrics.COMMENT_LINES_DATA_KEY.equals(metricKey) || CoreMetrics.EXECUTABLE_LINES_DATA_KEY.equals(metricKey)) {
return lines.entrySet().stream()
@@ -146,7 +146,7 @@ public class DefaultFileLinesContext implements FileLinesContext {
return lines;
}
- private Map loadData(String metricKey, Converter converter) {
+ private Map<Integer, Object> loadData(String metricKey, Converter<? extends Object> converter) {
DefaultMeasure<?> measure = measureCache.byMetric(inputFile.key(), metricKey);
String data = measure != null ? (String) measure.value() : null;
if (data != null) {
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/ScannerExtensionDictionnary.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/ScannerExtensionDictionnary.java
index fa9189c0d61..a1f3451eaa8 100644
--- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/ScannerExtensionDictionnary.java
+++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/bootstrap/ScannerExtensionDictionnary.java
@@ -105,8 +105,8 @@ public class ScannerExtensionDictionnary {
}
if (org.sonar.api.batch.Sensor.class.equals(type)) {
// Retrieve new Sensors and wrap then in SensorWrapper
- for (Object extension : getExtensions(Sensor.class)) {
- extension = new SensorWrapper((Sensor) extension, sensorContext, sensorOptimizer);
+ for (Sensor sensor : getExtensions(Sensor.class)) {
+ org.sonar.api.batch.Sensor extension = new SensorWrapper(sensor, sensorContext, sensorOptimizer);
if (shouldKeep(type, extension, module, matcher)) {
result.add((T) extension);
}
@@ -114,8 +114,8 @@ public class ScannerExtensionDictionnary {
}
if (org.sonar.api.batch.PostJob.class.equals(type)) {
// Retrieve new PostJob and wrap then in PostJobWrapper
- for (Object extension : getExtensions(PostJob.class)) {
- extension = new PostJobWrapper((PostJob) extension, postJobContext, postJobOptimizer);
+ for (PostJob postJob : getExtensions(PostJob.class)) {
+ org.sonar.api.batch.PostJob extension = new PostJobWrapper(postJob, postJobContext, postJobOptimizer);
if (shouldKeep(type, extension, module, matcher)) {
result.add((T) extension);
}
@@ -124,13 +124,13 @@ public class ScannerExtensionDictionnary {
return result;
}
- protected List<Object> getExtensions(Class type) {
- List<Object> extensions = Lists.newArrayList();
+ protected <T> List<T> getExtensions(Class<T> type) {
+ List<T> extensions = Lists.newArrayList();
completeBatchExtensions(componentContainer, extensions, type);
return extensions;
}
- private static void completeBatchExtensions(ComponentContainer container, List<Object> extensions, Class type) {
+ private static <T> void completeBatchExtensions(ComponentContainer container, List<T> extensions, Class<T> type) {
extensions.addAll(container.getComponentsByType(type));
ComponentContainer parentContainer = container.getParent();
if (parentContainer != null) {
@@ -151,9 +151,9 @@ public class ScannerExtensionDictionnary {
}
completePhaseDependencies(dag, extension);
}
- List sortedList = dag.sort();
+ List<?> sortedList = dag.sort();
- return Collections2.filter(sortedList, Predicates.in(extensions));
+ return (Collection<T>) Collections2.filter(sortedList, Predicates.in(extensions));
}
/**
@@ -188,7 +188,7 @@ public class ScannerExtensionDictionnary {
protected List<Object> evaluateAnnotatedClasses(Object extension, Class<? extends Annotation> annotation) {
List<Object> results = Lists.newArrayList();
- Class aClass = extension.getClass();
+ Class<? extends Object> aClass = extension.getClass();
while (aClass != null) {
evaluateClass(aClass, annotation, results);
@@ -204,7 +204,7 @@ public class ScannerExtensionDictionnary {
return results;
}
- private static void evaluateClass(Class extensionClass, Class annotationClass, List<Object> results) {
+ private static void evaluateClass(Class<?> extensionClass, Class<? extends Annotation> annotationClass, List<Object> results) {
Annotation annotation = extensionClass.getAnnotation(annotationClass);
if (annotation != null) {
if (annotation.annotationType().isAssignableFrom(DependsUpon.class)) {
@@ -215,8 +215,8 @@ public class ScannerExtensionDictionnary {
}
}
- Class[] interfaces = extensionClass.getInterfaces();
- for (Class anInterface : interfaces) {
+ Class<?>[] interfaces = extensionClass.getInterfaces();
+ for (Class<?> anInterface : interfaces) {
evaluateClass(anInterface, annotationClass, results);
}
}
@@ -254,7 +254,7 @@ public class ScannerExtensionDictionnary {
}
}
- private static boolean shouldKeep(Class type, Object extension, @Nullable DefaultInputModule module, @Nullable ExtensionMatcher matcher) {
+ private static boolean shouldKeep(Class<?> type, Object extension, @Nullable DefaultInputModule module, @Nullable ExtensionMatcher matcher) {
boolean keep = (ClassUtils.isAssignable(extension.getClass(), type)
|| (org.sonar.api.batch.Sensor.class.equals(type) && ClassUtils.isAssignable(extension.getClass(), Sensor.class)))
&& (matcher == null || matcher.accept(extension));