]> source.dussan.org Git - sonarqube.git/commitdiff
Fix compatibility with Oracle
authorsimonbrandhof <simon.brandhof@gmail.com>
Mon, 9 May 2011 13:08:37 +0000 (15:08 +0200)
committersimonbrandhof <simon.brandhof@gmail.com>
Mon, 9 May 2011 13:08:37 +0000 (15:08 +0200)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/CloseReviewsDecorator.java
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/timemachine/VariationDecorator.java
sonar-batch/src/main/java/org/sonar/batch/components/PastMeasuresLoader.java

index 87528e5c554d132920a9f507eac3378497cd4add..b46108b884030b578e133e7179f0676bf218ec63 100644 (file)
@@ -66,7 +66,7 @@ public class CloseReviewsDecorator implements Decorator {
   }
 
   String generateSqlRequest(int resourceId, int snapshotId) {
-    return "UPDATE reviews SET status='CLOSED' " + "WHERE resource_id = " + resourceId + " AND rule_failure_permanent_id NOT IN "
+    return "UPDATE reviews SET status='CLOSED' WHERE resource_id = " + resourceId + " AND rule_failure_permanent_id NOT IN "
         + "(SELECT permanent_id FROM rule_failures WHERE snapshot_id = " + snapshotId + " AND permanent_id IS NOT NULL)";
   }
 
index 920436892a9a5c8cf108ab5a95633ef9945fc842..9a5eac592ad7265fb9da11466c434f9eda9922c0 100644 (file)
@@ -125,7 +125,7 @@ public class VariationDecorator implements Decorator {
   }
 
   static final class MeasureKey {
-    Integer metricId;
+    int metricId;
     Integer characteristicId;
 
     MeasureKey(Object[] pastFields) {
@@ -133,7 +133,7 @@ public class VariationDecorator implements Decorator {
       characteristicId = PastMeasuresLoader.getCharacteristicId(pastFields);
     }
 
-    MeasureKey(Integer metricId, Integer characteristicId) {
+    MeasureKey(int metricId, Integer characteristicId) {
       this.metricId = metricId;
       this.characteristicId = characteristicId;
     }
@@ -147,10 +147,10 @@ public class VariationDecorator implements Decorator {
         return false;
       }
       MeasureKey that = (MeasureKey) o;
-      if (characteristicId != null ? !characteristicId.equals(that.characteristicId) : that.characteristicId != null) {
+      if (metricId != that.metricId) {
         return false;
       }
-      if (!metricId.equals(that.metricId)) {
+      if (characteristicId != null ? !characteristicId.equals(that.characteristicId) : that.characteristicId != null) {
         return false;
       }
       return true;
@@ -158,7 +158,7 @@ public class VariationDecorator implements Decorator {
 
     @Override
     public int hashCode() {
-      int result = metricId.hashCode();
+      int result = metricId;
       result = 31 * result + (characteristicId != null ? characteristicId.hashCode() : 0);
       return result;
     }
index 95e5dff7beed06db708b85d855e2b4d7c8d76fd3..11683350a8b53c9a01f256378d42701e0a4c4138 100644 (file)
@@ -79,12 +79,15 @@ public class PastMeasuresLoader implements BatchExtension {
     return resource.getId() != null;
   }
 
-  public static Integer getMetricId(Object[] row) {
-    return (Integer) row[0];
+  public static int getMetricId(Object[] row) {
+    // can be BigDecimal on Oracle
+    return ((Number)row[0]).intValue();
   }
 
   public static Integer getCharacteristicId(Object[] row) {
-    return (Integer) row[1];
+    // can be BigDecimal on Oracle
+    Number number = (Number) row[1];
+    return number!=null ? number.intValue() : null;
   }
 
   public static boolean hasValue(Object[] row) {