aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@sonarsource.com>2015-01-06 10:25:47 +0100
committerSimon Brandhof <simon.brandhof@sonarsource.com>2015-01-06 10:25:47 +0100
commite6740c707c8cc05051f8c0ac716d809809df43ce (patch)
tree5bbd6e6926e679d950f870263aca445b59d3ad7e /sonar-plugin-api
parent68284714b92b16a230be3f901f8e615d773129ac (diff)
downloadsonarqube-e6740c707c8cc05051f8c0ac716d809809df43ce.tar.gz
sonarqube-e6740c707c8cc05051f8c0ac716d809809df43ce.zip
Fix some quality flaws
Diffstat (limited to 'sonar-plugin-api')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java7
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/Base64Cipher.java5
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/License.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java3
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/utils/XpathParser.java5
6 files changed, 15 insertions, 10 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java
index 2249204a43f..27c747ced27 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/AesCipher.java
@@ -22,6 +22,7 @@ package org.sonar.api.config;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Throwables;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.Charsets;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.CoreProperties;
@@ -56,7 +57,7 @@ final class AesCipher extends Cipher {
try {
javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance(CRYPTO_KEY);
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE, loadSecretFile());
- return new String(Base64.encodeBase64(cipher.doFinal(clearText.getBytes("UTF-8"))));
+ return Base64.encodeBase64String(cipher.doFinal(clearText.getBytes("UTF-8")));
} catch (Exception e) {
throw Throwables.propagate(e);
}
@@ -68,7 +69,7 @@ final class AesCipher extends Cipher {
javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance(CRYPTO_KEY);
cipher.init(javax.crypto.Cipher.DECRYPT_MODE, loadSecretFile());
byte[] cipherData = cipher.doFinal(Base64.decodeBase64(StringUtils.trim(encryptedText)));
- return new String(cipherData);
+ return new String(cipherData, Charsets.UTF_8);
} catch (Exception e) {
throw Throwables.propagate(e);
}
@@ -112,7 +113,7 @@ final class AesCipher extends Cipher {
KeyGenerator keyGen = KeyGenerator.getInstance(CRYPTO_KEY);
keyGen.init(KEY_SIZE_IN_BITS, new SecureRandom());
SecretKey secretKey = keyGen.generateKey();
- return new String(Base64.encodeBase64(secretKey.getEncoded()));
+ return Base64.encodeBase64String(secretKey.getEncoded());
} catch (Exception e) {
throw new IllegalStateException("Fail to generate secret key", e);
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/Base64Cipher.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/Base64Cipher.java
index 073d8f6ec94..f30467217b7 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/Base64Cipher.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/Base64Cipher.java
@@ -19,16 +19,17 @@
*/
package org.sonar.api.config;
+import com.google.common.base.Charsets;
import org.apache.commons.codec.binary.Base64;
final class Base64Cipher extends Cipher {
@Override
String encrypt(String clearText) {
- return new String(Base64.encodeBase64(clearText.getBytes()));
+ return Base64.encodeBase64String(clearText.getBytes());
}
@Override
String decrypt(String encryptedText) {
- return new String(Base64.decodeBase64(encryptedText));
+ return new String(Base64.decodeBase64(encryptedText), Charsets.UTF_8);
}
}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/License.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/License.java
index 3212a79db0d..0e0f316d532 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/License.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/License.java
@@ -22,6 +22,7 @@ package org.sonar.api.config;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.Maps;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.Charsets;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.sonar.api.utils.DateUtils;
@@ -115,7 +116,7 @@ public final class License {
}
public static License readBase64(String base64) {
- return readPlainText(new String(Base64.decodeBase64(base64.getBytes())));
+ return readPlainText(new String(Base64.decodeBase64(base64.getBytes(Charsets.UTF_8)), Charsets.UTF_8));
}
@VisibleForTesting
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
index 75a5a2bf077..4ddf32cd622 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
@@ -301,7 +301,7 @@ public interface RulesDefinition extends ServerExtension {
/**
* Instantiated by core but not by plugins
*/
- class Context {
+ public class Context {
private final Map<String, Repository> repositoriesByKey = Maps.newHashMap();
private final ListMultimap<String, ExtendedRepository> extendedRepositoriesByKey = ArrayListMultimap.create();
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java
index cb8ab174a2b..2df7765ff2b 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/HttpDownloader.java
@@ -29,6 +29,7 @@ import com.google.common.io.CharStreams;
import com.google.common.io.Files;
import com.google.common.io.InputSupplier;
import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.io.Charsets;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
import org.slf4j.LoggerFactory;
@@ -279,7 +280,7 @@ public class HttpDownloader extends UriReader.SchemeProcessor implements BatchCo
// allow both GZip and Deflate (ZLib) encodings
connection.setRequestProperty("Accept-Encoding", "gzip");
if (!Strings.isNullOrEmpty(login)) {
- String encoded = new String(Base64.encodeBase64((login + ":" + password).getBytes()));
+ String encoded = Base64.encodeBase64String((login + ":" + password).getBytes(Charsets.UTF_8));
connection.setRequestProperty("Authorization", "Basic " + encoded);
}
connection.setConnectTimeout(TIMEOUT_MILLISECONDS);
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/utils/XpathParser.java b/sonar-plugin-api/src/main/java/org/sonar/api/utils/XpathParser.java
index 14e49896d39..c69d076d549 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/utils/XpathParser.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/utils/XpathParser.java
@@ -28,6 +28,7 @@ import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
+import javax.annotation.Nullable;
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -64,7 +65,7 @@ public class XpathParser {
private Document doc = null;
private DocumentBuilder builder;
private XPath xpath;
- private Map<String, XPathExpression> compiledExprs = new HashMap<String, XPathExpression>();
+ private Map<String, XPathExpression> compiledExprs = new HashMap<>();
public XpathParser() {
DocumentBuilderFactory bf = DocumentBuilderFactory.newInstance();
@@ -88,7 +89,7 @@ public class XpathParser {
}
}
- public void parse(File file) {
+ public void parse(@Nullable File file) {
if (file == null || !file.exists()) {
throw new XmlParserException("File not found : " + file);
}