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);

Reply via email to