diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2014-02-24 17:53:37 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2014-02-24 17:57:59 +0100 |
commit | b93e0b5019eb8975f5af8a2662eebc727638ab97 (patch) | |
tree | 911499a1dc93747e849ff1defa0dc9aa647bf95d | |
parent | ee3bfbc166569edc39274e647beb1cd4d43d2e4a (diff) | |
download | sonarqube-b93e0b5019eb8975f5af8a2662eebc727638ab97.tar.gz sonarqube-b93e0b5019eb8975f5af8a2662eebc727638ab97.zip |
Fix some quality flaws
5 files changed, 11 insertions, 7 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/phases/ProfileLogger.java b/sonar-batch/src/main/java/org/sonar/batch/phases/ProfileLogger.java index 65c69dd5e9b..dea11280d8a 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/phases/ProfileLogger.java +++ b/sonar-batch/src/main/java/org/sonar/batch/phases/ProfileLogger.java @@ -63,9 +63,13 @@ public class ProfileLogger implements BatchComponent { boolean defaultNameUsed = StringUtils.isBlank(defaultName); for (String lang : languages.keys()) { QProfile profile = profiles.findByLanguage(lang); - logger.info("Quality profile for {}: {}", lang, profile.name()); - if (StringUtils.isNotBlank(defaultName) && defaultName.equals(profile.name())) { - defaultNameUsed = true; + if (profile == null) { + logger.warn("No Quality profile found for language " + lang); + } else { + logger.info("Quality profile for {}: {}", lang, profile.name()); + if (StringUtils.isNotBlank(defaultName) && defaultName.equals(profile.name())) { + defaultNameUsed = true; + } } } if (!defaultNameUsed && !languages.keys().isEmpty()) { diff --git a/sonar-deprecated/src/main/java/org/sonar/api/resources/JavaFile.java b/sonar-deprecated/src/main/java/org/sonar/api/resources/JavaFile.java index 4bb59509364..431fef44c10 100644 --- a/sonar-deprecated/src/main/java/org/sonar/api/resources/JavaFile.java +++ b/sonar-deprecated/src/main/java/org/sonar/api/resources/JavaFile.java @@ -213,7 +213,7 @@ public class JavaFile extends Resource { javaFile.setPath(normalizedPath); javaFile.parent = new JavaPackage(); String directoryPath; - if (normalizedPath.contains(Directory.SEPARATOR)) { + if (normalizedPath != null && normalizedPath.contains(Directory.SEPARATOR)) { directoryPath = StringUtils.substringBeforeLast(normalizedPath, Directory.SEPARATOR); } else { directoryPath = Directory.SEPARATOR; diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultFileSystem.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultFileSystem.java index c78be2ea246..c95c2d43da1 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultFileSystem.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultFileSystem.java @@ -109,6 +109,7 @@ public class DefaultFileSystem implements FileSystem { Iterable<InputFile> files = inputFiles(predicate); return Iterables.getOnlyElement(files); } catch (NoSuchElementException e) { + // contrary to guava, return null if iterable is empty return null; } } diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/File.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/File.java index f7445188f6c..3dd00210cac 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/File.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/File.java @@ -251,7 +251,7 @@ public class File extends Resource { file.setKey(normalizedPath); file.setPath(normalizedPath); String directoryPath; - if (normalizedPath.contains(Directory.SEPARATOR)) { + if (normalizedPath != null && normalizedPath.contains(Directory.SEPARATOR)) { directoryPath = StringUtils.substringBeforeLast(normalizedPath, Directory.SEPARATOR); } else { directoryPath = Directory.SEPARATOR; diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java index 962079f2e71..368f7f2441d 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java @@ -23,7 +23,6 @@ import org.apache.commons.lang.StringUtils; import javax.annotation.CheckForNull; import javax.annotation.Nullable; - import java.io.Serializable; /** @@ -191,7 +190,6 @@ public abstract class Resource implements Serializable { * The qualifier tells the type of the resource. For example, it can be a File, a Class, a Project, a Unit Test... * * @return the qualifier - * * @see org.sonar.api.resources.Qualifiers for the list of qualifiers * @see org.sonar.api.resources.ResourceUtils to find out if a resource if a class, a unit test,... from its qualifier */ @@ -272,6 +270,7 @@ public abstract class Resource implements Serializable { /** * Internal use only + * * @deprecated since 2.6 should use SensorContext#isExcluded(resource). It will make inheritance of Resource easier. */ @Deprecated |