Fix CLOUDSTACK-2485: ClassCastException in extracting ISO.

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

Branch: refs/heads/object_store
Commit: 252f384e89c85f373d69a9586d451f64217aaac7
Parents: 95e7e27
Author: Min Chen <[email protected]>
Authored: Tue May 14 14:56:26 2013 -0700
Committer: Min Chen <[email protected]>
Committed: Tue May 14 14:57:02 2013 -0700

----------------------------------------------------------------------
 .../storage/image/datastore/ImageStoreEntity.java  |    1 +
 .../storage/image/store/ImageStoreImpl.java        |    5 +++--
 .../cloud/storage/upload/UploadMonitorImpl.java    |    3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/252f384e/engine/api/src/org/apache/cloudstack/storage/image/datastore/ImageStoreEntity.java
----------------------------------------------------------------------
diff --git 
a/engine/api/src/org/apache/cloudstack/storage/image/datastore/ImageStoreEntity.java
 
b/engine/api/src/org/apache/cloudstack/storage/image/datastore/ImageStoreEntity.java
index fb1b1d7..9adcfb1 100644
--- 
a/engine/api/src/org/apache/cloudstack/storage/image/datastore/ImageStoreEntity.java
+++ 
b/engine/api/src/org/apache/cloudstack/storage/image/datastore/ImageStoreEntity.java
@@ -34,4 +34,5 @@ public interface ImageStoreEntity extends DataStore, 
ImageStore {
     SnapshotInfo getSnapshot(long snapshotId);
     boolean exists(DataObject object);
     Set<TemplateInfo> listTemplates();
+    String getMountPoint(); // get the mount point on ssvm.
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/252f384e/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageStoreImpl.java
----------------------------------------------------------------------
diff --git 
a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageStoreImpl.java
 
b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageStoreImpl.java
index 5afe059..1b4dddc 100644
--- 
a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageStoreImpl.java
+++ 
b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageStoreImpl.java
@@ -177,8 +177,9 @@ public class ImageStoreImpl implements ImageStoreEntity {
         return getDriver().getStoreTO(this);
     }
 
-    public ImageStoreVO getImageStoreVO(){
-        return this.imageDataStoreVO;
+    @Override
+    public String getMountPoint(){
+        return this.imageDataStoreVO.getParent();
     }
 
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/252f384e/server/src/com/cloud/storage/upload/UploadMonitorImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java 
b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java
index b944b76..b9cee66 100755
--- a/server/src/com/cloud/storage/upload/UploadMonitorImpl.java
+++ b/server/src/com/cloud/storage/upload/UploadMonitorImpl.java
@@ -38,6 +38,7 @@ import 
org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
 import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
 import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
 import org.apache.cloudstack.storage.datastore.db.TemplateDataStoreVO;
+import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
 import org.apache.log4j.Logger;
 import org.springframework.stereotype.Component;
 
@@ -229,7 +230,7 @@ public class UploadMonitorImpl extends ManagerBase 
implements UploadMonitor {
            // Create Symlink at ssvm
                String path = vmTemplateHost.getInstallPath();
                String uuid = UUID.randomUUID().toString() + "." + 
template.getFormat().getFileExtension(); // adding "." + vhd/ova... etc.
-               CreateEntityDownloadURLCommand cmd = new 
CreateEntityDownloadURLCommand(((ImageStoreVO)store).getParent(), path, uuid);
+               CreateEntityDownloadURLCommand cmd = new 
CreateEntityDownloadURLCommand(((ImageStoreEntity)store).getMountPoint(), path, 
uuid);
                Answer ans = ep.sendMessage(cmd);
                if (ans == null || !ans.getResult()) {
                errorString = "Unable to create a link for " +type+ " 
id:"+template.getId() + "," + ans.getDetails();

Reply via email to