diff --git a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStream.java b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java similarity index 97% rename from engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStream.java rename to engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java index 429f5c0b8f1..1732ec1b24c 100644 --- a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStream.java +++ b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.engine.subsystem.api.storage; import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat; -public interface DataStream { +public interface DataObject { public long getId(); public String getUri(); public DataStore getDataStore(); diff --git a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java index 0440a37fa13..4aba9bfdbff 100644 --- a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java +++ b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java @@ -23,11 +23,11 @@ import java.util.Set; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; public interface DataStoreDriver { - public String grantAccess(DataStream data, EndPoint ep); - public boolean revokeAccess(DataStream data, EndPoint ep); - public Set listObjects(DataStore store); - public void createAsync(DataStream data, AsyncCompletionCallback callback); - public void deleteAsync(DataStream data, AsyncCompletionCallback callback); - public void copyAsync(DataStream srcdata, DataStream destData, AsyncCompletionCallback callback); - public boolean canCopy(DataStream srcData, DataStream destData); + public String grantAccess(DataObject data, EndPoint ep); + public boolean revokeAccess(DataObject data, EndPoint ep); + public Set listObjects(DataStore store); + public void createAsync(DataObject data, AsyncCompletionCallback callback); + public void deleteAsync(DataObject data, AsyncCompletionCallback callback); + public void copyAsync(DataObject srcdata, DataObject destData, AsyncCompletionCallback callback); + public boolean canCopy(DataObject srcData, DataObject destData); } diff --git a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/VolumeInfo.java b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/VolumeInfo.java index d9d4826bd24..bedb9e72e07 100644 --- a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/VolumeInfo.java +++ b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/VolumeInfo.java @@ -18,6 +18,6 @@ */ package org.apache.cloudstack.engine.subsystem.api.storage; -public interface VolumeInfo extends DataStream { +public interface VolumeInfo extends DataObject { public boolean isAttachedVM(); } diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/driver/DefaultImageDataStoreDriverImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/driver/DefaultImageDataStoreDriverImpl.java index 2ba4a11338b..8c83ff23e70 100644 --- a/engine/storage/image/src/org/apache/cloudstack/storage/image/driver/DefaultImageDataStoreDriverImpl.java +++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/driver/DefaultImageDataStoreDriverImpl.java @@ -23,57 +23,64 @@ import java.util.Set; import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult; import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.storage.image.ImageDataStoreDriver; +//http-read-only based image store public class DefaultImageDataStoreDriverImpl implements ImageDataStoreDriver { public DefaultImageDataStoreDriverImpl() { } @Override - public String grantAccess(DataStream data, EndPoint ep) { + public String grantAccess(DataObject data, EndPoint ep) { + return data.getUri(); + } + + @Override + public boolean revokeAccess(DataObject data, EndPoint ep) { + // TODO Auto-generated method stub + return true; + } + + @Override + public Set listObjects(DataStore store) { // TODO Auto-generated method stub return null; } @Override - public boolean revokeAccess(DataStream data, EndPoint ep) { - // TODO Auto-generated method stub - return false; - } - - @Override - public Set listObjects(DataStore store) { - // TODO Auto-generated method stub - return null; - } - - @Override - public void createAsync(DataStream data, + public void createAsync(DataObject data, AsyncCompletionCallback callback) { - // TODO Auto-generated method stub + //for default http data store, can create http based template/iso + CreateCmdResult result = new CreateCmdResult(""); + if (!data.getUri().startsWith("http")) { + result.setResult("can't register an image which is not a http link"); + callback.complete(result); + } + callback.complete(result); } @Override - public void deleteAsync(DataStream data, + public void deleteAsync(DataObject data, AsyncCompletionCallback callback) { - // TODO Auto-generated method stub - + CommandResult result = new CommandResult(); + callback.complete(result); } @Override - public boolean canCopy(DataStream srcData, DataStream destData) { + public boolean canCopy(DataObject srcData, DataObject destData) { // TODO Auto-generated method stub return false; } @Override - public void copyAsync(DataStream srcdata, DataStream destData, + public void copyAsync(DataObject srcdata, DataObject destData, AsyncCompletionCallback callback) { // TODO Auto-generated method stub diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java index b6de4ef612d..014d61feabd 100644 --- a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java +++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java @@ -22,7 +22,7 @@ import java.util.Set; import javax.inject.Inject; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; @@ -125,7 +125,7 @@ public class ImageDataStoreImpl implements ImageDataStore { @Override - public boolean exists(DataStream object) { + public boolean exists(DataObject object) { // TODO Auto-generated method stub return false; } diff --git a/engine/storage/imagemotion/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionStrategy.java b/engine/storage/imagemotion/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionStrategy.java index 32e592d5d3a..6572b85d9ab 100644 --- a/engine/storage/imagemotion/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionStrategy.java +++ b/engine/storage/imagemotion/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionStrategy.java @@ -21,7 +21,7 @@ package org.apache.cloudstack.storage.image.motion; import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; @@ -85,7 +85,7 @@ public class DefaultImageMotionStrategy implements ImageMotionStrategy { }*/ @Override - public boolean canHandle(DataStream srcData, DataStream destData) { + public boolean canHandle(DataObject srcData, DataObject destData) { DataStore destStore = destData.getDataStore(); DataStore srcStore = srcData.getDataStore(); if (destStore.getRole() == DataStoreRole.Image || destStore.getRole() == DataStoreRole.ImageCache @@ -97,7 +97,7 @@ public class DefaultImageMotionStrategy implements ImageMotionStrategy { } @Override - public Void copyAsync(DataStream srcData, DataStream destData, + public Void copyAsync(DataObject srcData, DataObject destData, AsyncCompletionCallback callback) { DataStore destStore = destData.getDataStore(); DataStore srcStore = srcData.getDataStore(); diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManager.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManager.java index b385088bcda..5f0004607f3 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManager.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManager.java @@ -16,7 +16,7 @@ // under the License. package org.apache.cloudstack.storage.datastore; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole; @@ -35,5 +35,5 @@ public interface ObjectInDataStoreManager { public SnapshotInfo create(SnapshotInfo snapshot, DataStore dataStore); public ObjectInDataStoreVO findObject(long objectId, DataObjectType type, long dataStoreId, DataStoreRole role); - public boolean update(DataStream vo, Event event) throws NoTransitionException; + public boolean update(DataObject vo, Event event) throws NoTransitionException; } diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java index a1f8c2b596e..23d69a4f9de 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java @@ -18,7 +18,7 @@ package org.apache.cloudstack.storage.datastore; import javax.inject.Inject; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole; @@ -132,7 +132,7 @@ public class ObjectInDataStoreManagerImpl implements ObjectInDataStoreManager { } @Override - public boolean update(DataStream data, Event event) + public boolean update(DataObject data, Event event) throws NoTransitionException { ObjectInDataStoreVO obj = this.findObject(data.getId(), data.getType(), data.getDataStore().getId(), data.getDataStore().getRole()); diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/PrimaryDataStore.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/PrimaryDataStore.java index 3977752a5c5..a6ba9bc1f60 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/datastore/PrimaryDataStore.java +++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/PrimaryDataStore.java @@ -21,7 +21,7 @@ package org.apache.cloudstack.storage.datastore; import java.util.List; import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo; @@ -45,7 +45,7 @@ public interface PrimaryDataStore extends DataStore, PrimaryDataStoreInfo { void createVoluemFromBaseImageAsync(VolumeInfo volume, TemplateInfo templateStore, AsyncCompletionCallback callback); */ - boolean exists(DataStream data); + boolean exists(DataObject data); TemplateInfo getTemplate(long templateId); diff --git a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java index db850d5b006..5d1e1ff27f4 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java +++ b/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java @@ -24,7 +24,7 @@ import java.sql.SQLException; import javax.inject.Inject; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; @@ -133,7 +133,7 @@ public class DefaultEndPointSelector implements EndPointSelector { } @Override - public EndPoint select(DataStream srcData, DataStream destData) { + public EndPoint select(DataObject srcData, DataObject destData) { DataStore srcStore = srcData.getDataStore(); DataStore destStore = destData.getDataStore(); if (srcData.getFormat() == DiskFormat.VMDK diff --git a/engine/storage/src/org/apache/cloudstack/storage/endpoint/EndPointSelector.java b/engine/storage/src/org/apache/cloudstack/storage/endpoint/EndPointSelector.java index 6c6fc8c1913..274c5dcf53b 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/endpoint/EndPointSelector.java +++ b/engine/storage/src/org/apache/cloudstack/storage/endpoint/EndPointSelector.java @@ -18,9 +18,9 @@ */ package org.apache.cloudstack.storage.endpoint; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; public interface EndPointSelector { - public EndPoint select(DataStream srcData, DataStream destData); + public EndPoint select(DataObject srcData, DataObject destData); } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java b/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java index 7ec44b3ba3a..d91be6c62e8 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java @@ -18,10 +18,10 @@ */ package org.apache.cloudstack.storage.image; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import com.cloud.utils.fsm.NoTransitionException; -public interface TemplateInfo extends DataStream { +public interface TemplateInfo extends DataObject { } diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStore.java b/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStore.java index 6bb8e4ee42e..a443f39ef33 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStore.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStore.java @@ -20,7 +20,7 @@ package org.apache.cloudstack.storage.image.datastore; import java.util.Set; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; import org.apache.cloudstack.storage.image.TemplateInfo; @@ -30,6 +30,6 @@ public interface ImageDataStore extends DataStore { TemplateInfo getTemplate(long templateId); VolumeInfo getVolume(long volumeId); SnapshotInfo getSnapshot(long snapshotId); - boolean exists(DataStream object); + boolean exists(DataObject object); Set listTemplates(); } diff --git a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionDriver.java b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionDriver.java index 6c53e5d7c37..3a59b21238b 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionDriver.java +++ b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionDriver.java @@ -18,8 +18,8 @@ */ package org.apache.cloudstack.storage.motion; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; public interface DataMotionDriver { - public void copy(DataStream srcObj, DataStream destObj); + public void copy(DataObject srcObj, DataObject destObj); } diff --git a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionService.java b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionService.java index b70149c32b1..db36f6492e8 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionService.java +++ b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionService.java @@ -19,10 +19,10 @@ package org.apache.cloudstack.storage.motion; import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; public interface DataMotionService { - public void copyAsync(DataStream srcData, DataStream destData, + public void copyAsync(DataObject srcData, DataObject destData, AsyncCompletionCallback callback); } diff --git a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java index 08f1da59094..343140fb98e 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java @@ -23,7 +23,7 @@ import java.util.List; import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.springframework.stereotype.Component; @@ -35,7 +35,7 @@ public class DataMotionServiceImpl implements DataMotionService { List strategies; @Override - public void copyAsync(DataStream srcData, DataStream destData, + public void copyAsync(DataObject srcData, DataObject destData, AsyncCompletionCallback callback) { if (srcData.getDataStore().getDriver().canCopy(srcData, destData)) { diff --git a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionStrategy.java b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionStrategy.java index b38d84f91c4..ba40c6dcbce 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionStrategy.java +++ b/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionStrategy.java @@ -19,12 +19,12 @@ package org.apache.cloudstack.storage.motion; import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; public interface DataMotionStrategy { - public boolean canHandle(DataStream srcData, DataStream destData); + public boolean canHandle(DataObject srcData, DataObject destData); - public Void copyAsync(DataStream srcData, DataStream destData, + public Void copyAsync(DataObject srcData, DataObject destData, AsyncCompletionCallback callback); } diff --git a/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java b/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java index af94e38cd5e..755531d99b2 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java +++ b/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java @@ -16,10 +16,10 @@ // under the License. package org.apache.cloudstack.storage.snapshot; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; -public interface SnapshotInfo extends DataStream { +public interface SnapshotInfo extends DataObject { public SnapshotInfo getParent(); public SnapshotInfo getChild(); public VolumeInfo getBaseVolume(); diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java index d1d9d115d94..c1ce4b3e64c 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java @@ -24,7 +24,7 @@ import javax.inject.Inject; import org.apache.cloudstack.engine.datacenter.entity.api.DataCenterResourceEntity.State; import org.apache.cloudstack.engine.subsystem.api.storage.ClusterScope; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver; import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreLifeCycle; @@ -193,7 +193,7 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore { } @Override - public boolean exists(DataStream data) { + public boolean exists(DataObject data) { return (objectInStoreMgr.findObject(data.getId(), data.getType(), this.getId(), this.getRole()) != null) ? true : false; } diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/driver/DefaultPrimaryDataStoreDriverImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/driver/DefaultPrimaryDataStoreDriverImpl.java index 584dbe9ede0..10b37138a3a 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/driver/DefaultPrimaryDataStoreDriverImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/driver/DefaultPrimaryDataStoreDriverImpl.java @@ -22,7 +22,7 @@ import java.util.Set; import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult; import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult; import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult; -import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; +import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher; @@ -51,16 +51,16 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } private class CreateVolumeContext extends AsyncRpcConext { - private final DataStream volume; + private final DataObject volume; /** * @param callback */ - public CreateVolumeContext(AsyncCompletionCallback callback, DataStream volume) { + public CreateVolumeContext(AsyncCompletionCallback callback, DataObject volume) { super(callback); this.volume = volume; } - public DataStream getVolume() { + public DataObject getVolume() { return this.volume; } @@ -70,7 +70,7 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver CommandResult result = new CommandResult(); CreateVolumeAnswer volAnswer = (CreateVolumeAnswer) callback.getResult(); if (volAnswer.getResult()) { - DataStream volume = context.getVolume(); + DataObject volume = context.getVolume(); //volume.setPath(volAnswer.getVolumeUuid()); } else { result.setResult(volAnswer.getDetails()); @@ -81,7 +81,7 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } @Override - public void deleteAsync(DataStream vo, AsyncCompletionCallback callback) { + public void deleteAsync(DataObject vo, AsyncCompletionCallback callback) { DeleteCommand cmd = new DeleteCommand(vo.getUri()); List endPoints = null; EndPoint ep = endPoints.get(0); @@ -151,7 +151,7 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver }*/ @Override - public void createAsync(DataStream vol, + public void createAsync(DataObject vol, AsyncCompletionCallback callback) { List endPoints = null; EndPoint ep = endPoints.get(0); @@ -167,19 +167,19 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } @Override - public String grantAccess(DataStream vol, EndPoint ep) { + public String grantAccess(DataObject vol, EndPoint ep) { // TODO Auto-generated method stub return null; } @Override - public boolean revokeAccess(DataStream vol, EndPoint ep) { + public boolean revokeAccess(DataObject vol, EndPoint ep) { // TODO Auto-generated method stub return false; } @Override - public Set listObjects(DataStore store) { + public Set listObjects(DataStore store) { // TODO Auto-generated method stub return null; } @@ -201,13 +201,13 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver @Override - public boolean canCopy(DataStream srcData, DataStream destData) { + public boolean canCopy(DataObject srcData, DataObject destData) { // TODO Auto-generated method stub return false; } @Override - public void copyAsync(DataStream srcdata, DataStream destData, + public void copyAsync(DataObject srcdata, DataObject destData, AsyncCompletionCallback callback) { // TODO Auto-generated method stub 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 b51de94e5ea..9acd4864895 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 @@ -105,8 +105,7 @@ public class VolumeObject implements VolumeInfo { @Override public long getId() { - // TODO Auto-generated method stub - return 0; + return this.volumeVO.getId(); } @Override