]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-1352 Update export profile xml to include period alert properties
authorJulien Lancelot <julien.lancelot@gmail.com>
Thu, 29 Nov 2012 10:18:53 +0000 (11:18 +0100)
committerJulien Lancelot <julien.lancelot@gmail.com>
Thu, 29 Nov 2012 10:18:53 +0000 (11:18 +0100)
sonar-plugin-api/src/main/java/org/sonar/api/profiles/XMLProfileSerializer.java
sonar-plugin-api/src/test/java/org/sonar/api/profiles/XMLProfileSerializerTest.java
sonar-plugin-api/src/test/resources/org/sonar/api/profiles/XMLProfileSerializerTest/exportAlerts.xml
sonar-server/src/main/java/org/sonar/server/configuration/ProfilesBackup.java

index f8cc1a95522f2dde9829dc0d022b03f1bd0611ea..5e93ca45c0dc583c452e18a60cc7a485b1ece748 100644 (file)
@@ -19,6 +19,7 @@
  */
 package org.sonar.api.profiles;
 
+import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang.StringEscapeUtils;
 import org.apache.commons.lang.StringUtils;
 import org.sonar.api.ServerComponent;
@@ -115,7 +116,9 @@ public final class XMLProfileSerializer implements ServerComponent {
   private void appendAlert(Alert alert, Writer writer) throws IOException {
     writer.append("<alert><metric>");
     StringEscapeUtils.escapeXml(writer, alert.getMetric().getKey());
-    writer.append("</metric><operator>");
+    writer.append("</metric><period>");
+    StringEscapeUtils.escapeXml(writer, ObjectUtils.toString(alert.getPeriod()));
+    writer.append("</period><operator>");
     StringEscapeUtils.escapeXml(writer, alert.getOperator());
     writer.append("</operator><warning>");
     StringEscapeUtils.escapeXml(writer, alert.getValueWarning());
index ba2d0a36e564149dfb31a21b6dfd9c88d2ee362d..f54bde9a043ce967b8bbac1710e039086d3b83cc 100644 (file)
@@ -80,7 +80,7 @@ public class XMLProfileSerializerTest {
   public void exportAlerts() throws Exception {
     Writer writer = new StringWriter();
     RulesProfile profile = RulesProfile.create("sonar way", "java");
-    Alert alert = new Alert(profile, new Metric("coverage"), Alert.OPERATOR_SMALLER, "60", "80");
+    Alert alert = new Alert(profile, new Metric("coverage"), Alert.OPERATOR_SMALLER, "60", "80", 1);
     profile.getAlerts().add(alert);
     new XMLProfileSerializer().write(profile, writer);
 
index 1a1859836c8d29d74bd1a9c548d736866b26eced..1ae4e6eda4aa71dc9d24d785bf5783f6c52cda3a 100644 (file)
@@ -6,6 +6,7 @@
   <alerts>
     <alert>
       <metric>coverage</metric>
+      <period>1</period>
       <operator>&lt;</operator>
       <error>60</error>
       <warning>80</warning>
index c15ec5b0f30d1e7c9d842f383286b83f8983b9d5..38ac74933585155a7a77d32db590724740134900 100644 (file)
@@ -26,6 +26,7 @@ import com.thoughtworks.xstream.converters.UnmarshallingContext;
 import com.thoughtworks.xstream.io.HierarchicalStreamReader;
 import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
 import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang.ObjectUtils;
 import org.codehaus.plexus.util.StringUtils;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.database.DatabaseSession;
@@ -171,7 +172,7 @@ public class ProfilesBackup implements Backupable {
         writeNode(writer, "operator", alert.getOperator());
         writeNode(writer, "value-error", alert.getValueError());
         writeNode(writer, "value-warning", alert.getValueWarning());
-        writeNode(writer, "period", alert.getPeriod() != null ? Integer.toString(alert.getPeriod()) : "");
+        writeNode(writer, "period", ObjectUtils.toString(alert.getPeriod()));
         writeNode(writer, "metric-key", alert.getMetric().getKey());
       }