Repository: ambari Updated Branches: refs/heads/trunk b8388e12b -> f68b0f025
AMBARI-13086. 500 error for API calls to /api/v1/clusters/<clusterName>.(vbrodetskyi) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f68b0f02 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f68b0f02 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f68b0f02 Branch: refs/heads/trunk Commit: f68b0f0251e52d1a5dbd58e0fdc88aae1c940f75 Parents: b8388e1 Author: Vitaly Brodetskyi <[email protected]> Authored: Mon Sep 14 15:57:56 2015 +0300 Committer: Vitaly Brodetskyi <[email protected]> Committed: Mon Sep 14 15:57:56 2015 +0300 ---------------------------------------------------------------------- .../org/apache/ambari/server/orm/dao/AlertsDAO.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f68b0f02/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java index 73ca637..4a5c5b0 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertsDAO.java @@ -499,8 +499,8 @@ public class AlertsDAO { public AlertHostSummaryDTO findCurrentHostCounts(long clusterId) { // use Number here since some databases like MySQL return Long and some // return Integer and we don't want a class cast exception - TypedQuery<Number> query = m_entityManagerProvider.get().createQuery( - HOST_COUNT_SQL_TEMPLATE, Number.class); + TypedQuery<Object> query = m_entityManagerProvider.get().createQuery( + HOST_COUNT_SQL_TEMPLATE, Object.class); query.setParameter("clusterId", Long.valueOf(clusterId)); query.setParameter("criticalState", AlertState.CRITICAL); @@ -513,13 +513,18 @@ public class AlertsDAO { int criticalCount = 0; int unknownCount = 0; - List<Number> hostStateValues = m_daoUtils.selectList(query); - for (Number hostStateValue : hostStateValues) { + List<Object> hostStateValues = m_daoUtils.selectList(query); + for (Object hostStateValue : hostStateValues) { if (null == hostStateValue) { continue; } - int integerValue = hostStateValue.intValue(); + int integerValue; + if (hostStateValue instanceof Boolean) { + integerValue = (boolean)hostStateValue ? 1 : 0; + } else { + integerValue = ((Number)hostStateValue).intValue(); + } switch (integerValue) { case 0:
