From 4334a8e44ab052f7126f5e083de134d102d04638 Mon Sep 17 00:00:00 2001 From: Roland Hochmuth Date: Wed, 2 Sep 2015 11:58:32 -0600 Subject: [PATCH] Add support for drizzle jdbc connector Mysql jdbc connector returns an Integer when querying period and period. Drizzle jdbc connector returns a Long. Adding appropriate conversions. Change-Id: Ie96b10347dbd52b4e0e267f5fbb7cf3d6d6eafff --- .../infrastructure/persistence/AlarmDefinitionDAOImpl.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/thresh/src/main/java/monasca/thresh/infrastructure/persistence/AlarmDefinitionDAOImpl.java b/thresh/src/main/java/monasca/thresh/infrastructure/persistence/AlarmDefinitionDAOImpl.java index f8c0fb0..2280454 100644 --- a/thresh/src/main/java/monasca/thresh/infrastructure/persistence/AlarmDefinitionDAOImpl.java +++ b/thresh/src/main/java/monasca/thresh/infrastructure/persistence/AlarmDefinitionDAOImpl.java @@ -22,6 +22,7 @@ import monasca.common.model.alarm.AlarmExpression; import monasca.common.model.alarm.AlarmOperator; import monasca.common.model.alarm.AlarmSubExpression; import monasca.common.model.metric.MetricDefinition; +import monasca.common.util.Conversions; import monasca.thresh.domain.model.AlarmDefinition; import monasca.thresh.domain.model.SubExpression; import monasca.thresh.domain.service.AlarmDefinitionDAO; @@ -84,8 +85,10 @@ public class AlarmDefinitionDAOImpl implements AlarmDefinitionDAO { String metricName = (String) row.get("metric_name"); AlarmOperator operator = AlarmOperator.fromJson((String) row.get("operator")); Double threshold = (Double) row.get("threshold"); - Integer period = (Integer) row.get("period"); - Integer periods = (Integer) row.get("periods"); + // MySQL connector returns an Integer, Drizzle returns a Long for period and periods. + // Need to convert the results appropriately based on type. + Integer period = Conversions.variantToInteger(row.get("period")); + Integer periods = Conversions.variantToInteger(row.get("periods")); Map dimensions = new HashMap<>(); while (addedDimension(dimensions, id, rows, index)) { index++;