You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by wi...@apache.org on 2013/02/15 17:33:35 UTC

git commit: refs/heads/qemu-img - Implement the info method

Updated Branches:
  refs/heads/qemu-img 2dd8181c9 -> be90c90f6


Implement the info method


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/be90c90f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/be90c90f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/be90c90f

Branch: refs/heads/qemu-img
Commit: be90c90f61b55deb8eba899d2dc77796cd6730dd
Parents: 2dd8181
Author: Wido den Hollander <wi...@widodh.nl>
Authored: Fri Feb 15 17:32:21 2013 +0100
Committer: Wido den Hollander <wi...@widodh.nl>
Committed: Fri Feb 15 17:32:21 2013 +0100

----------------------------------------------------------------------
 .../org/apache/cloudstack/utils/qemu/QemuImg.java  |   22 ++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/be90c90f/utils/src/org/apache/cloudstack/utils/qemu/QemuImg.java
----------------------------------------------------------------------
diff --git a/utils/src/org/apache/cloudstack/utils/qemu/QemuImg.java b/utils/src/org/apache/cloudstack/utils/qemu/QemuImg.java
index d32507e..33d9f8d 100644
--- a/utils/src/org/apache/cloudstack/utils/qemu/QemuImg.java
+++ b/utils/src/org/apache/cloudstack/utils/qemu/QemuImg.java
@@ -19,9 +19,12 @@ package org.apache.cloudstack.utils.qemu;
 import org.apache.cloudstack.utils.qemu.QemuImgFile;
 
 import com.cloud.utils.script.Script;
+import com.cloud.utils.script.OutputInterpreter;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.HashMap;
 
 public class QemuImg {
 
@@ -112,7 +115,24 @@ public class QemuImg {
     }
 
     /* Give information about the disk image */
-    public void info(QemuImgFile file) {
+    public List<Map<String, String>> info(QemuImgFile file) {
+        Script s = new Script(_qemuImgPath);
+        s.add("info");
+        s.add(file.getFileName());
+        OutputInterpreter.AllLinesParser parser = new OutputInterpreter.AllLinesParser();
+        s.execute(parser);
+
+        List<Map<String, String>> list = new ArrayList<Map<String, String>>();
+        String[] outputBuffer = parser.getLines().trim().split("\n");
+        for (int i = 0; i < outputBuffer.length - 1; i++) {
+            String[] lineBuffer = outputBuffer[i].split(":");
+            if (lineBuffer.length == 2) {
+                HashMap<String,String> info = new HashMap<String,String>();
+                info.put(lineBuffer[0].trim(), lineBuffer[1].trim());
+                list.add(info);
+            }
+        }
+        return list;
 
     }