You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ed...@apache.org on 2013/06/20 09:19:35 UTC

[02/50] [abbrv] git commit: updated refs/heads/master to 97f8c52

Add convenient delete methods in DataObject to delete dangling data
object.

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

Branch: refs/heads/master
Commit: eb93efdaa4f076a349b72542a295dc6808a2ffbe
Parents: 614e08e
Author: Min Chen <mi...@citrix.com>
Authored: Thu May 30 14:51:03 2013 -0700
Committer: Min Chen <mi...@citrix.com>
Committed: Thu May 30 14:51:03 2013 -0700

----------------------------------------------------------------------
 .../engine/subsystem/api/storage/DataObject.java       |  2 ++
 .../cloudstack/storage/image/store/TemplateObject.java | 13 +++++++++++--
 .../cloudstack/storage/snapshot/SnapshotObject.java    |  7 +++++++
 .../storage/datastore/PrimaryDataStoreImpl.java        |  5 +++--
 .../apache/cloudstack/storage/volume/VolumeObject.java |  8 ++++++++
 5 files changed, 31 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb93efda/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java
----------------------------------------------------------------------
diff --git a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java
index ef87989..0cd2111 100644
--- a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java
+++ b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java
@@ -38,6 +38,8 @@ public interface DataObject {
     // public DiskFormat getFormat();
     public String getUuid();
 
+    boolean delete();
+
     public void processEvent(ObjectInDataStoreStateMachine.Event event);
 
     public void processEvent(ObjectInDataStoreStateMachine.Event event, Answer answer);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb93efda/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java
----------------------------------------------------------------------
diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java
index e4be627..9957791 100644
--- a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java
+++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/TemplateObject.java
@@ -125,12 +125,12 @@ public class TemplateObject implements TemplateInfo {
         }
 
         /*
-         * 
+         *
          * // If the template that was passed into this allocator is not
          * installed in the storage pool, // add 3 * (template size on secondary
          * storage) to the running total VMTemplateHostVO templateHostVO =
          * _storageMgr.findVmTemplateHost(templateForVmCreation.getId(), null);
-         * 
+         *
          * if (templateHostVO == null) { VMTemplateSwiftVO templateSwiftVO =
          * _swiftMgr.findByTmpltId(templateForVmCreation.getId()); if
          * (templateSwiftVO != null) { long templateSize =
@@ -395,4 +395,13 @@ public class TemplateObject implements TemplateInfo {
         return this.imageVO.getDomainId();
     }
 
+    @Override
+    public boolean delete() {
+        if (dataStore != null) {
+            return dataStore.delete(this);
+        }
+        return true;
+    }
+
+
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb93efda/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java
----------------------------------------------------------------------
diff --git a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java
index 6aee3ea..bd14573 100644
--- a/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java
+++ b/engine/storage/snapshot/src/org/apache/cloudstack/storage/snapshot/SnapshotObject.java
@@ -284,4 +284,11 @@ public class SnapshotObject implements SnapshotInfo {
 
     }
 
+    @Override
+    public boolean delete() {
+        if (store != null) {
+            return store.delete(this);
+        }
+        return true;
+    }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb93efda/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
index 6d380af..1fc8251 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
@@ -252,8 +252,9 @@ public class PrimaryDataStoreImpl implements PrimaryDataStore {
 
     @Override
     public boolean delete(DataObject obj) {
-        // TODO Auto-generated method stub
-        return false;
+        //TODO: clean up through driver
+        objectInStoreMgr.delete(obj);
+        return true;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb93efda/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
----------------------------------------------------------------------
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
index 1e2f000..963015c 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeObject.java
@@ -505,4 +505,12 @@ public class VolumeObject implements VolumeInfo {
     public ImageFormat getFormat() {
         return this.volumeVO.getFormat();
     }
+
+    @Override
+    public boolean delete() {
+        if (dataStore != null) {
+            return dataStore.delete(this);
+        }
+        return true;
+    }
 }