Add version path to report
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2e0642e8 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2e0642e8 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2e0642e8 Branch: refs/heads/reporter Commit: 2e0642e83204be82554172c752d84d5a28728ba8 Parents: c13a247 Author: Wido den Hollander <[email protected]> Authored: Mon Dec 1 20:48:43 2014 +0100 Committer: Wido den Hollander <[email protected]> Committed: Mon Dec 1 20:48:43 2014 +0100 ---------------------------------------------------------------------- .../src/com/cloud/upgrade/dao/VersionDao.java | 4 ++++ .../src/com/cloud/upgrade/dao/VersionDaoImpl.java | 9 +++++++++ .../apache/cloudstack/report/UsageReporter.java | 17 +++++++++++++++++ 3 files changed, 30 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2e0642e8/engine/schema/src/com/cloud/upgrade/dao/VersionDao.java ---------------------------------------------------------------------- diff --git a/engine/schema/src/com/cloud/upgrade/dao/VersionDao.java b/engine/schema/src/com/cloud/upgrade/dao/VersionDao.java index e280e0b..1a60f36 100644 --- a/engine/schema/src/com/cloud/upgrade/dao/VersionDao.java +++ b/engine/schema/src/com/cloud/upgrade/dao/VersionDao.java @@ -16,6 +16,8 @@ // under the License. package com.cloud.upgrade.dao; +import java.util.List; + import com.cloud.upgrade.dao.VersionVO.Step; import com.cloud.utils.db.GenericDao; @@ -23,4 +25,6 @@ public interface VersionDao extends GenericDao<VersionVO, Long> { VersionVO findByVersion(String version, Step step); String getCurrentVersion(); + + List<VersionVO> getAllVersions(); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2e0642e8/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java ---------------------------------------------------------------------- diff --git a/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java b/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java index 3be101b..344d8c0 100644 --- a/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java +++ b/engine/schema/src/com/cloud/upgrade/dao/VersionDaoImpl.java @@ -170,4 +170,13 @@ public class VersionDaoImpl extends GenericDaoBase<VersionVO, Long> implements V } } + + @Override + @DB + public List<VersionVO> getAllVersions() { + SearchCriteria<VersionVO> sc = AllFieldsSearch.create(); + sc.setParameters("step", "Complete"); + + return listBy(sc); + } } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2e0642e8/server/src/org/apache/cloudstack/report/UsageReporter.java ---------------------------------------------------------------------- diff --git a/server/src/org/apache/cloudstack/report/UsageReporter.java b/server/src/org/apache/cloudstack/report/UsageReporter.java index ff79a91..ceb1c82 100644 --- a/server/src/org/apache/cloudstack/report/UsageReporter.java +++ b/server/src/org/apache/cloudstack/report/UsageReporter.java @@ -22,6 +22,8 @@ import java.util.concurrent.TimeUnit; import java.util.List; import java.util.Map; import java.util.HashMap; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -65,6 +67,7 @@ import com.cloud.utils.concurrency.NamedThreadFactory; import com.cloud.utils.db.DB; import com.cloud.utils.db.TransactionLegacy; import com.cloud.upgrade.dao.VersionDao; +import com.cloud.upgrade.dao.VersionVO; import com.google.gson.Gson; import com.google.common.util.concurrent.AtomicLongMap; @@ -381,6 +384,19 @@ public class UsageReporter extends ManagerBase implements ComponentMethodInterce return instanceMap; } + private Map<String, String> getVersionReport() { + Map<String, String> versionMap = new HashMap<String, String>(); + + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + + List<VersionVO> versions = _versionDao.getAllVersions(); + for (VersionVO version : versions) { + versionMap.put(version.getVersion(), dateFormat.format(version.getUpdated())); + } + + return versionMap; + } + private String getCurrentVersion() { return _versionDao.getCurrentVersion(); } @@ -398,6 +414,7 @@ public class UsageReporter extends ManagerBase implements ComponentMethodInterce reportMap.put("primaryStorage", getStoragePoolReport()); reportMap.put("zones", getDataCenterReport()); reportMap.put("instances", getInstanceReport()); + reportMap.put("versions", getVersionReport()); reportMap.put("current_version", getCurrentVersion()); sendReport(reportHost, uniqueID, reportMap);
