diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2017-01-31 13:28:12 +0100 |
---|---|---|
committer | dbmeneses <duarte.meneses@sonarsource.com> | 2017-01-31 17:14:13 +0100 |
commit | 9df81b022ca8c249356289a7382d561e9a33b588 (patch) | |
tree | fb3142bfdd692bb0fce31d6e14abad68759b9d96 /sonar-scanner-engine/src/main | |
parent | 0caa8ba6650b2ecc7538c3bbc6443e69069bc3e1 (diff) | |
download | sonarqube-9df81b022ca8c249356289a7382d561e9a33b588.tar.gz sonarqube-9df81b022ca8c249356289a7382d561e9a33b588.zip |
Improve type safety
Diffstat (limited to 'sonar-scanner-engine/src/main')
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)); |