]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5389 Flag API as @Beta
authorJulien HENRY <julien.henry@sonarsource.com>
Thu, 19 Jun 2014 08:00:37 +0000 (10:00 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Thu, 19 Jun 2014 08:19:37 +0000 (10:19 +0200)
25 files changed:
sonar-batch/src/main/java/org/sonar/api/batch/languages/Language.java [new file with mode: 0644]
sonar-batch/src/main/java/org/sonar/api/batch/languages/package-info.java [new file with mode: 0644]
sonar-batch/src/main/java/org/sonar/batch/index/DefaultIndex.java
sonar-batch/src/main/java/org/sonar/batch/scan/AnalyzerContextAdaptor.java
sonar-batch/src/main/java/org/sonar/batch/scan/SensorWrapper.java
sonar-batch/src/main/java/org/sonar/batch/scan2/DefaultAnalyzerContext.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/SonarIndex.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/Analyzer.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/AnalyzerContext.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/AnalyzerDescriptor.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/internal/DefaultAnalyzerDescriptor.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/issue/AnalyzerIssue.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/issue/AnalyzerIssueBuilder.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/measure/AnalyzerMeasure.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/measure/AnalyzerMeasureBuilder.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/measure/internal/DefaultAnalyzerMeasure.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/analyzer/measure/internal/DefaultAnalyzerMeasureBuilder.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/languages/Language.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/batch/languages/package-info.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/Metric.java [new file with mode: 0644]
sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/package-info.java [new file with mode: 0644]
sonar-plugin-api/src/main/java/org/sonar/api/batch/measures/Metric.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/batch/measures/package-info.java [deleted file]
sonar-plugin-api/src/main/java/org/sonar/api/measures/MeasuresFilters.java
sonar-plugin-api/src/main/java/org/sonar/api/measures/Metric.java

diff --git a/sonar-batch/src/main/java/org/sonar/api/batch/languages/Language.java b/sonar-batch/src/main/java/org/sonar/api/batch/languages/Language.java
new file mode 100644 (file)
index 0000000..726c951
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.api.batch.languages;
+
+import java.util.Arrays;
+import java.util.Collection;
+
+public final class Language {
+
+  private final String key, name;
+  private final String[] fileSuffixes;
+
+  public Language(String key, String name, String... fileSuffixes) {
+    this.key = key;
+    this.name = name;
+    this.fileSuffixes = fileSuffixes;
+  }
+
+  /**
+   * For example "java".
+   */
+  public String key() {
+    return key;
+  }
+
+  /**
+   * For example "Java"
+   */
+  public String name() {
+    return name;
+  }
+
+  /**
+   * For example ["jav", "java"].
+   */
+  public Collection<String> fileSuffixes() {
+    return Arrays.asList(fileSuffixes);
+  }
+
+}
diff --git a/sonar-batch/src/main/java/org/sonar/api/batch/languages/package-info.java b/sonar-batch/src/main/java/org/sonar/api/batch/languages/package-info.java
new file mode 100644 (file)
index 0000000..40c79e6
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+@javax.annotation.ParametersAreNonnullByDefault
+package org.sonar.api.batch.languages;
\ No newline at end of file
index 2f35ec81bc0f9fbb69e7cc4cb2739bdef0a0d28e..f8e1dc601e34d5a17497bc70ee8ca4ec581fc294 100644 (file)
@@ -178,7 +178,7 @@ public class DefaultIndex extends SonarIndex {
   }
 
   @Override
-  public Measure getMeasure(Resource resource, org.sonar.api.batch.measures.Metric<?> metric) {
+  public Measure getMeasure(Resource resource, org.sonar.api.batch.measure.Metric<?> metric) {
     return getMeasures(resource, MeasuresFilters.metric(metric));
   }
 
index c83c090f2529321db88ddff643187037f07df32c..b4231b5c252458ea6e40433dcb897eeb772e7a9d 100644 (file)
@@ -19,6 +19,8 @@
  */
 package org.sonar.batch.scan;
 
+import org.sonar.api.batch.measure.Metric;
+
 import org.sonar.api.batch.SensorContext;
 import org.sonar.api.batch.analyzer.AnalyzerContext;
 import org.sonar.api.batch.analyzer.issue.AnalyzerIssue;
@@ -29,7 +31,6 @@ import org.sonar.api.batch.analyzer.measure.AnalyzerMeasureBuilder;
 import org.sonar.api.batch.analyzer.measure.internal.DefaultAnalyzerMeasureBuilder;
 import org.sonar.api.batch.fs.FileSystem;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 import org.sonar.api.batch.rule.ActiveRules;
 import org.sonar.api.component.ResourcePerspectives;
 import org.sonar.api.config.Settings;
index 6f2e09acc3fdf3eede3c582bf4d10d3884875075..1f5408c20023f211610f70aa778a8da5c4bb7ddd 100644 (file)
@@ -19,6 +19,8 @@
  */
 package org.sonar.batch.scan;
 
+import org.sonar.api.batch.measure.Metric;
+
 import org.sonar.api.batch.DependedUpon;
 import org.sonar.api.batch.DependsUpon;
 import org.sonar.api.batch.Sensor;
@@ -27,7 +29,6 @@ import org.sonar.api.batch.analyzer.Analyzer;
 import org.sonar.api.batch.analyzer.AnalyzerContext;
 import org.sonar.api.batch.analyzer.internal.DefaultAnalyzerDescriptor;
 import org.sonar.api.batch.fs.FileSystem;
-import org.sonar.api.batch.measures.Metric;
 import org.sonar.api.resources.Project;
 import org.sonar.batch.scan2.AnalyzerOptimizer;
 
index e411fbbfe742e96284bdddc41296cbd7146fd03a..1ec141ada84e4a41f636fcbab4f7b9f60f12f809 100644 (file)
@@ -19,6 +19,8 @@
  */
 package org.sonar.batch.scan2;
 
+import org.sonar.api.batch.measure.Metric;
+
 import org.sonar.api.batch.analyzer.AnalyzerContext;
 import org.sonar.api.batch.analyzer.issue.AnalyzerIssue;
 import org.sonar.api.batch.analyzer.issue.AnalyzerIssueBuilder;
@@ -30,7 +32,6 @@ import org.sonar.api.batch.analyzer.measure.internal.DefaultAnalyzerMeasureBuild
 import org.sonar.api.batch.bootstrap.ProjectDefinition;
 import org.sonar.api.batch.fs.FileSystem;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 import org.sonar.api.batch.rule.ActiveRules;
 import org.sonar.api.config.Settings;
 import org.sonar.api.issue.internal.DefaultIssue;
index b4cba728060101925a8447b374d4f74338bf3ddf..f52fcb98f0a859a39564f78739f40ed62cd5d34a 100644 (file)
@@ -120,7 +120,7 @@ public abstract class SonarIndex implements DirectedGraphAccessor<Resource, Depe
   public abstract Resource addResource(Resource resource);
 
   @CheckForNull
-  public abstract Measure getMeasure(Resource resource, org.sonar.api.batch.measures.Metric<?> metric);
+  public abstract Measure getMeasure(Resource resource, org.sonar.api.batch.measure.Metric<?> metric);
 
   @CheckForNull
   public abstract <M> M getMeasures(Resource resource, MeasuresFilter<M> filter);
index 6a67d29040f6a8e43df995dce101c8817a02834e..c551226895c0648ecb26b83cfcad5d5cc1d355b5 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.api.batch.analyzer;
 
+import com.google.common.annotations.Beta;
 import org.sonar.api.BatchExtension;
 
 /**
@@ -33,6 +34,7 @@ import org.sonar.api.BatchExtension;
  *
  * @since 4.4
  */
+@Beta
 public interface Analyzer extends BatchExtension {
 
   /**
index b28ab8af61bea25f6098e7b04933f382b2c89867..4f01355576644b8a3e238c5da34e3e52bbb75561 100644 (file)
  */
 package org.sonar.api.batch.analyzer;
 
+import org.sonar.api.batch.measure.Metric;
+
+import com.google.common.annotations.Beta;
 import org.sonar.api.batch.analyzer.issue.AnalyzerIssue;
 import org.sonar.api.batch.analyzer.issue.AnalyzerIssueBuilder;
 import org.sonar.api.batch.analyzer.measure.AnalyzerMeasure;
 import org.sonar.api.batch.analyzer.measure.AnalyzerMeasureBuilder;
 import org.sonar.api.batch.fs.FileSystem;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 import org.sonar.api.batch.rule.ActiveRules;
 import org.sonar.api.config.Settings;
 
@@ -36,6 +38,7 @@ import java.io.Serializable;
 /**
  * @since 4.4
  */
+@Beta
 public interface AnalyzerContext {
 
   /**
index ab52f9a8b8077d30671acf9e06b28e36b16f128f..8038bac43cef5f238fb5d4ad5cbfa2b61999955f 100644 (file)
  */
 package org.sonar.api.batch.analyzer;
 
+import org.sonar.api.batch.measure.Metric;
+
+import com.google.common.annotations.Beta;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.languages.Language;
-import org.sonar.api.batch.measures.Metric;
 
 /**
  * Describe what an {@link Analyzer} is doing. Information may be used by the platform
  * to log interesting information or perform some optimization.
  * @since 4.4
  */
+@Beta
 public interface AnalyzerDescriptor {
 
   /**
@@ -46,7 +48,7 @@ public interface AnalyzerDescriptor {
   AnalyzerDescriptor provides(Metric<?>... metrics);
 
   /**
-   * List {@link Language} this {@link Analyzer} work on. May be used by the platform to skip execution of the {@link Analyzer} when
+   * List languages this {@link Analyzer} work on. May be used by the platform to skip execution of the {@link Analyzer} when
    * no file for given languages are present in the project.
    * If no language is provided then it will be executed for all languages.
    */
index 9fc41b65dd083e85c703f5cf26eda033d6289f67..dea8593013f20dfd0f60c816855f50455b9026a4 100644 (file)
  */
 package org.sonar.api.batch.analyzer.internal;
 
+import org.sonar.api.batch.measure.Metric;
+
 import org.sonar.api.batch.analyzer.AnalyzerDescriptor;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 
 import java.util.Arrays;
 import java.util.Collection;
index ed1de433607688371abf2b440830f47f513a6410..9a9ce1bcaeebb7ad429a3c5edf84ad80404895b5 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.api.batch.analyzer.issue;
 
+import com.google.common.annotations.Beta;
 import org.sonar.api.batch.analyzer.Analyzer;
 import org.sonar.api.batch.fs.InputFile;
 import org.sonar.api.rule.RuleKey;
@@ -30,6 +31,7 @@ import javax.annotation.Nullable;
  *
  * @since 4.4
  */
+@Beta
 public interface AnalyzerIssue {
 
   /**
index 5c272632984cfb09cc04fcf5b03609487fa8652b..0955c953725c1d20cb51399f4e8979cf5ba5a02d 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.api.batch.analyzer.issue;
 
+import com.google.common.annotations.Beta;
 import org.sonar.api.batch.fs.InputFile;
 import org.sonar.api.rule.RuleKey;
 
@@ -29,6 +30,7 @@ import javax.annotation.Nullable;
  *
  * @since 4.4
  */
+@Beta
 public interface AnalyzerIssueBuilder {
 
   /**
index 554efed34de4ba427242f9147139c4121ba80f02..ccfc5a83c5d5efe355f97e2292a5d4308c059153 100644 (file)
  */
 package org.sonar.api.batch.analyzer.measure;
 
+import org.sonar.api.batch.measure.Metric;
+
+import com.google.common.annotations.Beta;
 import org.sonar.api.batch.analyzer.Analyzer;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 
 import javax.annotation.Nullable;
 
@@ -31,6 +33,7 @@ import java.io.Serializable;
  * A measure computed by an {@link Analyzer}.
  * @since 4.4
  */
+@Beta
 public interface AnalyzerMeasure<G extends Serializable> {
 
   /**
index 7e94051bd7cbb5c025f73c3a44fb1f659ad631a0..b837f85ab8554f5b05c407d39cb0bf276494c970 100644 (file)
  */
 package org.sonar.api.batch.analyzer.measure;
 
+import org.sonar.api.batch.measure.Metric;
+
+import com.google.common.annotations.Beta;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 
 import java.io.Serializable;
 
@@ -28,6 +30,7 @@ import java.io.Serializable;
  * Builder to create new {@link AnalyzerMeasure}
  * @since 4.4
  */
+@Beta
 public interface AnalyzerMeasureBuilder<G extends Serializable> {
 
   /**
index fa87d0953c9ae5ee6eae69df5dcedbfbd1429a60..e9e9be05f61a18141b0943525b9edde1200c0417 100644 (file)
  */
 package org.sonar.api.batch.analyzer.measure.internal;
 
+import org.sonar.api.batch.measure.Metric;
+
 import com.google.common.base.Preconditions;
 import org.sonar.api.batch.analyzer.measure.AnalyzerMeasure;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 
 import javax.annotation.Nullable;
 
@@ -36,7 +37,8 @@ public class DefaultAnalyzerMeasure<G extends Serializable> implements AnalyzerM
 
   DefaultAnalyzerMeasure(DefaultAnalyzerMeasureBuilder<G> builder) {
     Preconditions.checkNotNull(builder.value, "Measure value can't be null");
-    Preconditions.checkNotNull(builder.metric, "Measure metricKey can't be null");
+    Preconditions.checkNotNull(builder.metric, "Measure metric can't be null");
+    Preconditions.checkState(builder.metric.valueType().equals(builder.value.getClass()), "Measure value should be of type " + builder.metric.valueType());
     this.inputFile = builder.file;
     this.metric = builder.metric;
     this.value = builder.value;
index 4eea5eb624d1dc8411213efb4a777e62d4915308..c482d1f51665dab9a29bbdd2601a2cf6d13afd77 100644 (file)
  */
 package org.sonar.api.batch.analyzer.measure.internal;
 
+import org.sonar.api.batch.measure.Metric;
+
 import com.google.common.base.Preconditions;
 import org.sonar.api.batch.analyzer.measure.AnalyzerMeasure;
 import org.sonar.api.batch.analyzer.measure.AnalyzerMeasureBuilder;
 import org.sonar.api.batch.fs.InputFile;
-import org.sonar.api.batch.measures.Metric;
 
 import java.io.Serializable;
 
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/languages/Language.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/languages/Language.java
deleted file mode 100644 (file)
index 726c951..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.api.batch.languages;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-public final class Language {
-
-  private final String key, name;
-  private final String[] fileSuffixes;
-
-  public Language(String key, String name, String... fileSuffixes) {
-    this.key = key;
-    this.name = name;
-    this.fileSuffixes = fileSuffixes;
-  }
-
-  /**
-   * For example "java".
-   */
-  public String key() {
-    return key;
-  }
-
-  /**
-   * For example "Java"
-   */
-  public String name() {
-    return name;
-  }
-
-  /**
-   * For example ["jav", "java"].
-   */
-  public Collection<String> fileSuffixes() {
-    return Arrays.asList(fileSuffixes);
-  }
-
-}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/languages/package-info.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/languages/package-info.java
deleted file mode 100644 (file)
index 40c79e6..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-@javax.annotation.ParametersAreNonnullByDefault
-package org.sonar.api.batch.languages;
\ No newline at end of file
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/Metric.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/Metric.java
new file mode 100644 (file)
index 0000000..e5e4f98
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.api.batch.measure;
+
+import com.google.common.annotations.Beta;
+
+import java.io.Serializable;
+
+/**
+ * Metric definition.
+ * @since 4.4
+ */
+@Beta
+public interface Metric<G extends Serializable> {
+
+  String key();
+
+  Class<G> valueType();
+
+}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/package-info.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/measure/package-info.java
new file mode 100644 (file)
index 0000000..ab3c359
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2014 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * SonarQube is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+@javax.annotation.ParametersAreNonnullByDefault
+package org.sonar.api.batch.measure;
\ No newline at end of file
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/measures/Metric.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/measures/Metric.java
deleted file mode 100644 (file)
index 6b8d044..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-package org.sonar.api.batch.measures;
-
-import java.io.Serializable;
-
-public interface Metric<G extends Serializable> {
-
-  Class<G> type();
-
-  String key();
-}
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/measures/package-info.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/measures/package-info.java
deleted file mode 100644 (file)
index ae11775..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * SonarQube, open source software quality management tool.
- * Copyright (C) 2008-2014 SonarSource
- * mailto:contact AT sonarsource DOT com
- *
- * SonarQube is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or (at your option) any later version.
- *
- * SonarQube is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-@javax.annotation.ParametersAreNonnullByDefault
-package org.sonar.api.batch.measures;
\ No newline at end of file
index 53407b9136dedbf49b7e3c087efe7bbfc90ac545..15812bbafe9abd4a1bad9d22eb4b5805cccb1a82 100644 (file)
@@ -51,7 +51,7 @@ public final class MeasuresFilters {
     };
   }
 
-  public static MeasuresFilter<Measure> metric(final org.sonar.api.batch.measures.Metric<?> metric) {
+  public static MeasuresFilter<Measure> metric(final org.sonar.api.batch.measure.Metric<?> metric) {
     return metric(metric.key());
   }
 
index ccd4d8c8d50de7d0812265a8e0430ba48db3fa25..4f5493f88a918e4aebcce8b14204f766745e7bd1 100644 (file)
@@ -46,7 +46,7 @@ import java.io.Serializable;
 @Table(name = "metrics")
 @Entity(name = "Metric")
 @InstantiationStrategy(InstantiationStrategy.PER_BATCH)
-public class Metric<G extends Serializable> implements ServerExtension, BatchExtension, Serializable, org.sonar.api.batch.measures.Metric<G> {
+public class Metric<G extends Serializable> implements ServerExtension, BatchExtension, Serializable, org.sonar.api.batch.measure.Metric<G> {
 
   /**
    * A metric bigger value means a degradation
@@ -74,14 +74,14 @@ public class Metric<G extends Serializable> implements ServerExtension, BatchExt
     RATING(String.class),
     WORK_DUR(Long.class);
 
-    private final Class measureJavaType;
+    private final Class valueType;
 
     private ValueType(Class measureJavaType) {
-      this.measureJavaType = measureJavaType;
+      this.valueType = measureJavaType;
     }
 
-    private Class measureJavaType() {
-      return measureJavaType;
+    private Class valueType() {
+      return valueType;
     }
 
   }
@@ -802,7 +802,7 @@ public class Metric<G extends Serializable> implements ServerExtension, BatchExt
   }
 
   @Override
-  public Class<G> type() {
-    return getType().measureJavaType();
+  public Class<G> valueType() {
+    return getType().valueType();
   }
 }