aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-02-20 11:23:06 +0100
committerJulien Lancelot <julien.lancelot@gmail.com>2013-02-20 11:23:28 +0100
commitb7d789ca78b5e3a359da424379ba9c7abf20851c (patch)
tree12ebb3551925cb1803f9ad51a62a0599aee737d2
parent136e9739fbc318af18283b6e8cbcf671f6fa6b7e (diff)
downloadsonarqube-b7d789ca78b5e3a359da424379ba9c7abf20851c.tar.gz
sonarqube-b7d789ca78b5e3a359da424379ba9c7abf20851c.zip
Replace array of string by list in DefaultPluginMetadata and use immutable listin getter and setter
-rw-r--r--sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java30
-rw-r--r--sonar-core/src/main/java/org/sonar/core/plugins/PluginInstaller.java7
-rw-r--r--sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java3
-rw-r--r--sonar-core/src/test/java/org/sonar/core/plugins/PluginInstallerTest.java2
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/platform/PluginMetadata.java2
-rw-r--r--sonar-server/src/main/java/org/sonar/server/plugins/PluginReferentialMetadataConverter.java2
-rw-r--r--sonar-server/src/test/java/org/sonar/server/plugins/InstalledPluginReferentialFactoryTest.java1
-rw-r--r--sonar-server/src/test/java/org/sonar/server/plugins/PluginReferentialMetadataConverterTest.java2
8 files changed, 27 insertions, 22 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java b/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java
index fa6a8a0f901..84fab448492 100644
--- a/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java
+++ b/sonar-core/src/main/java/org/sonar/core/plugins/DefaultPluginMetadata.java
@@ -19,6 +19,7 @@
*/
package org.sonar.core.plugins;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
@@ -33,9 +34,9 @@ import static com.google.common.collect.Lists.newArrayList;
public class DefaultPluginMetadata implements PluginMetadata, Comparable<PluginMetadata> {
private File file;
- private List<File> deployedFiles = newArrayList();
- private List<File> deprecatedExtensions = newArrayList();
- private String[] pathsToInternalDeps = new String[0];
+ private List<File> deployedFiles;
+ private List<File> deprecatedExtensions;
+ private List<String> pathsToInternalDeps;
private String key;
private String version;
private String sonarVersion;
@@ -51,9 +52,13 @@ public class DefaultPluginMetadata implements PluginMetadata, Comparable<PluginM
private boolean core;
private String implementationBuild;
private String parent;
- private String[] requiredPlugins = new String[0];
+ private List<String> requiredPlugins;
private DefaultPluginMetadata() {
+ deployedFiles = newArrayList();
+ deprecatedExtensions = newArrayList();
+ pathsToInternalDeps = newArrayList();
+ requiredPlugins = newArrayList();
}
public static DefaultPluginMetadata create(File file) {
@@ -92,12 +97,12 @@ public class DefaultPluginMetadata implements PluginMetadata, Comparable<PluginM
return this;
}
- public String[] getPathsToInternalDeps() {
- return pathsToInternalDeps;
+ public List<String> getPathsToInternalDeps() {
+ return ImmutableList.copyOf(pathsToInternalDeps);
}
- public DefaultPluginMetadata setPathsToInternalDeps(String[] pathsToInternalDeps) {
- this.pathsToInternalDeps = pathsToInternalDeps;
+ public DefaultPluginMetadata setPathsToInternalDeps(List<String> pathsToInternalDeps) {
+ this.pathsToInternalDeps = ImmutableList.copyOf(pathsToInternalDeps);
return this;
}
@@ -191,12 +196,13 @@ public class DefaultPluginMetadata implements PluginMetadata, Comparable<PluginM
return this;
}
- public String[] getRequiredPlugins() {
- return requiredPlugins;
+ public List<String> getRequiredPlugins() {
+ return ImmutableList.copyOf(requiredPlugins);
}
- public void setRequiredPlugins(String[] requiredPlugins) {
- this.requiredPlugins = requiredPlugins;
+ public DefaultPluginMetadata setRequiredPlugins(List<String> requiredPlugins) {
+ this.requiredPlugins = ImmutableList.copyOf(requiredPlugins);
+ return this;
}
/**
diff --git a/sonar-core/src/main/java/org/sonar/core/plugins/PluginInstaller.java b/sonar-core/src/main/java/org/sonar/core/plugins/PluginInstaller.java
index af469176a28..55e82a58de9 100644
--- a/sonar-core/src/main/java/org/sonar/core/plugins/PluginInstaller.java
+++ b/sonar-core/src/main/java/org/sonar/core/plugins/PluginInstaller.java
@@ -26,6 +26,7 @@ import org.sonar.updatecenter.common.PluginManifest;
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
import java.util.List;
import java.util.zip.ZipEntry;
@@ -72,7 +73,7 @@ public class PluginInstaller {
}
private void copyDependencies(DefaultPluginMetadata metadata, File pluginFile, File pluginBasedir) throws IOException {
- if (metadata.getPathsToInternalDeps().length > 0) {
+ if (!metadata.getPathsToInternalDeps().isEmpty()) {
// needs to unzip the jar
ZipUtils.unzip(pluginFile, pluginBasedir, new LibFilter());
for (String depPath : metadata.getPathsToInternalDeps()) {
@@ -115,12 +116,12 @@ public class PluginInstaller {
metadata.setVersion(manifest.getVersion());
metadata.setSonarVersion(manifest.getSonarVersion());
metadata.setHomepage(manifest.getHomepage());
- metadata.setPathsToInternalDeps(manifest.getDependencies());
+ metadata.setPathsToInternalDeps(Arrays.asList(manifest.getDependencies()));
metadata.setUseChildFirstClassLoader(manifest.isUseChildFirstClassLoader());
metadata.setBasePlugin(manifest.getBasePlugin());
metadata.setImplementationBuild(manifest.getImplementationBuild());
metadata.setParent(manifest.getParent());
- metadata.setRequiredPlugins(manifest.getRequiresPlugins());
+ metadata.setRequiredPlugins(Arrays.asList(manifest.getRequiresPlugins()));
metadata.setCore(isCore);
return metadata;
diff --git a/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java b/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java
index 83eeab7a47a..5de1e93a2e3 100644
--- a/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/plugins/DefaultPluginMetadataTest.java
@@ -26,6 +26,7 @@ import java.io.File;
import java.util.Arrays;
import java.util.List;
+import static com.google.common.collect.Lists.newArrayList;
import static com.google.common.collect.Ordering.natural;
import static org.fest.assertions.Assertions.assertThat;
@@ -78,7 +79,7 @@ public class DefaultPluginMetadataTest {
@Test
public void testInternalPathToDependencies() {
DefaultPluginMetadata metadata = DefaultPluginMetadata.create(new File("sonar-checkstyle-plugin.jar"))
- .setPathsToInternalDeps(new String[] {"META-INF/lib/commons-lang.jar", "META-INF/lib/commons-io.jar"});
+ .setPathsToInternalDeps(newArrayList("META-INF/lib/commons-lang.jar", "META-INF/lib/commons-io.jar"));
assertThat(metadata.getPathsToInternalDeps()).containsOnly("META-INF/lib/commons-lang.jar", "META-INF/lib/commons-io.jar");
}
diff --git a/sonar-core/src/test/java/org/sonar/core/plugins/PluginInstallerTest.java b/sonar-core/src/test/java/org/sonar/core/plugins/PluginInstallerTest.java
index 91eafaf5fab..004465f2344 100644
--- a/sonar-core/src/test/java/org/sonar/core/plugins/PluginInstallerTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/plugins/PluginInstallerTest.java
@@ -113,7 +113,7 @@ public class PluginInstallerTest {
DefaultPluginMetadata metadata = extractor.extractMetadata(getFile("fake2-plugin-1.1.jar"), true);
assertThat(metadata.getKey()).isEqualTo("fake2");
- assertThat(metadata.getRequiredPlugins()).isEqualTo(new String[]{"fake1:1.1"});
+ assertThat(metadata.getRequiredPlugins().get(0)).isEqualTo("fake1:1.1");
}
static File getFile(String filename) {
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/platform/PluginMetadata.java b/sonar-plugin-api/src/main/java/org/sonar/api/platform/PluginMetadata.java
index a8958e9f557..c43d50897fd 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/platform/PluginMetadata.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/platform/PluginMetadata.java
@@ -54,7 +54,7 @@ public interface PluginMetadata {
String getParent();
- String[] getRequiredPlugins();
+ List<String> getRequiredPlugins();
boolean isCore();
}
diff --git a/sonar-server/src/main/java/org/sonar/server/plugins/PluginReferentialMetadataConverter.java b/sonar-server/src/main/java/org/sonar/server/plugins/PluginReferentialMetadataConverter.java
index 4e2373de6eb..07c8f2de880 100644
--- a/sonar-server/src/main/java/org/sonar/server/plugins/PluginReferentialMetadataConverter.java
+++ b/sonar-server/src/main/java/org/sonar/server/plugins/PluginReferentialMetadataConverter.java
@@ -63,7 +63,7 @@ public class PluginReferentialMetadataConverter {
pluginManifest.setHomepage(metadata.getHomepage());
pluginManifest.setBasePlugin(metadata.getBasePlugin());
pluginManifest.setParent(metadata.getParent());
- pluginManifest.setRequiresPlugins(metadata.getRequiredPlugins());
+ pluginManifest.setRequiresPlugins(metadata.getRequiredPlugins().toArray(new String []{}));
return pluginManifest;
}
}
diff --git a/sonar-server/src/test/java/org/sonar/server/plugins/InstalledPluginReferentialFactoryTest.java b/sonar-server/src/test/java/org/sonar/server/plugins/InstalledPluginReferentialFactoryTest.java
index b4f2ade9e88..c6ce0e6e319 100644
--- a/sonar-server/src/test/java/org/sonar/server/plugins/InstalledPluginReferentialFactoryTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/plugins/InstalledPluginReferentialFactoryTest.java
@@ -35,7 +35,6 @@ public class InstalledPluginReferentialFactoryTest {
public void should_create_plugin_referential() {
PluginMetadata metadata = mock(DefaultPluginMetadata.class);
when(metadata.getKey()).thenReturn("foo");
- when(metadata.getRequiredPlugins()).thenReturn(new String[]{});
PluginRepository pluginRepository = mock(PluginRepository.class);
when(pluginRepository.getMetadata()).thenReturn(newArrayList(metadata));
InstalledPluginReferentialFactory installedPluginReferentialFactory = new InstalledPluginReferentialFactory(pluginRepository);
diff --git a/sonar-server/src/test/java/org/sonar/server/plugins/PluginReferentialMetadataConverterTest.java b/sonar-server/src/test/java/org/sonar/server/plugins/PluginReferentialMetadataConverterTest.java
index 5e645593d40..ff8134dd893 100644
--- a/sonar-server/src/test/java/org/sonar/server/plugins/PluginReferentialMetadataConverterTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/plugins/PluginReferentialMetadataConverterTest.java
@@ -35,7 +35,6 @@ public class PluginReferentialMetadataConverterTest {
public void should_convert_metadata_to_plugin_referential() {
PluginMetadata metadata = mock(DefaultPluginMetadata.class);
when(metadata.getKey()).thenReturn("foo");
- when(metadata.getRequiredPlugins()).thenReturn(new String []{});
PluginReferential pluginReferential = PluginReferentialMetadataConverter.getInstalledPluginReferential(newArrayList(metadata));
assertThat(pluginReferential).isNotNull();
@@ -47,7 +46,6 @@ public class PluginReferentialMetadataConverterTest {
public void should_not_add_core_plugin() {
PluginMetadata metadata = mock(DefaultPluginMetadata.class);
when(metadata.getKey()).thenReturn("foo");
- when(metadata.getRequiredPlugins()).thenReturn(new String []{});
when(metadata.isCore()).thenReturn(true);
PluginReferential pluginReferential = PluginReferentialMetadataConverter.getInstalledPluginReferential(newArrayList(metadata));