diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2011-06-07 11:07:25 +0200 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2011-06-07 11:07:43 +0200 |
commit | ef65872944bde77d948cf6bd0185acdbd36d28c4 (patch) | |
tree | 2e50b95ebe04189f53492adfff39be67b57dd58e | |
parent | 7026f003b50c1b9cc78ec03c4d92662b6ea885f5 (diff) | |
download | sonarqube-ef65872944bde77d948cf6bd0185acdbd36d28c4.tar.gz sonarqube-ef65872944bde77d948cf6bd0185acdbd36d28c4.zip |
Do not allow to change ProjectDefinition#properties
4 files changed, 15 insertions, 19 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java b/sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java index ec3104f755c..5c35f335a1d 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java +++ b/sonar-batch/src/main/java/org/sonar/batch/MavenProjectConverter.java @@ -66,9 +66,8 @@ public final class MavenProjectConverter { */ static ProjectDefinition convert(MavenProject pom) { String key = new StringBuilder().append(pom.getGroupId()).append(":").append(pom.getArtifactId()).toString(); - ProjectDefinition definition = ProjectDefinition.create(); - definition.setProperties(pom.getModel().getProperties()) - .setKey(key) + ProjectDefinition definition = ProjectDefinition.create(pom.getModel().getProperties()); + definition.setKey(key) .setVersion(pom.getVersion()) .setName(pom.getName()) .setDescription(pom.getDescription()) diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/ProjectDefinition.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/ProjectDefinition.java index 0c59c799935..71f3861f941 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/ProjectDefinition.java +++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrapper/ProjectDefinition.java @@ -42,10 +42,9 @@ public class ProjectDefinition { * @param properties project properties */ public ProjectDefinition(File baseDir, File workDir, Properties properties) { - target = org.sonar.api.batch.bootstrap.ProjectDefinition.create() + target = org.sonar.api.batch.bootstrap.ProjectDefinition.create(properties) .setBaseDir(baseDir) - .setWorkDir(workDir) - .setProperties(properties); + .setWorkDir(workDir); } public File getBaseDir() { diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java index cec0930c949..df7acb38b3a 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/bootstrap/ProjectDefinition.java @@ -54,20 +54,16 @@ public final class ProjectDefinition implements BatchComponent { private List<ProjectDefinition> subProjects = Lists.newArrayList(); private List<Object> containerExtensions = Lists.newArrayList(); - private ProjectDefinition() { - } - - public static ProjectDefinition create() { - return new ProjectDefinition(); + private ProjectDefinition(Properties p) { + this.properties = p; } - public ProjectDefinition setProperties(Properties p) { - this.properties = p; - return this; + public static ProjectDefinition create(Properties properties) { + return new ProjectDefinition(properties); } - public File getBaseDir() { - return baseDir; + public static ProjectDefinition create() { + return new ProjectDefinition(new Properties()); } public ProjectDefinition setBaseDir(File baseDir) { @@ -75,6 +71,9 @@ public final class ProjectDefinition implements BatchComponent { return this; } + public File getBaseDir() { + return baseDir; + } public ProjectDefinition setWorkDir(File workDir) { this.workDir = workDir; return this; diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java index 93b9bcdfefa..581e9ff3361 100644 --- a/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java +++ b/sonar-plugin-api/src/test/java/org/sonar/api/batch/bootstrap/ProjectDefinitionTest.java @@ -30,7 +30,6 @@ import java.util.Properties; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.Matchers.is; import static org.junit.Assert.assertThat; -import static org.junit.matchers.JUnitMatchers.hasItem; public class ProjectDefinitionTest { @@ -56,12 +55,12 @@ public class ProjectDefinitionTest { def.setKey("myKey"); assertThat(def.getName(), is("Unnamed - myKey")); } + @Test public void shouldGetKeyFromProperties() { Properties props = new Properties(); props.setProperty(CoreProperties.PROJECT_KEY_PROPERTY, "foo"); - ProjectDefinition def = ProjectDefinition.create(); - def.setProperties(props); + ProjectDefinition def = ProjectDefinition.create(props); assertThat(def.getKey(), is("foo")); } |