summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2014-02-24 17:53:37 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2014-02-24 17:57:59 +0100
commitb93e0b5019eb8975f5af8a2662eebc727638ab97 (patch)
tree911499a1dc93747e849ff1defa0dc9aa647bf95d
parentee3bfbc166569edc39274e647beb1cd4d43d2e4a (diff)
downloadsonarqube-b93e0b5019eb8975f5af8a2662eebc727638ab97.tar.gz
sonarqube-b93e0b5019eb8975f5af8a2662eebc727638ab97.zip
Fix some quality flaws
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/phases/ProfileLogger.java10
-rw-r--r--sonar-deprecated/src/main/java/org/sonar/api/resources/JavaFile.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultFileSystem.java1
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/File.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/resources/Resource.java3
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