Updated Branches: refs/heads/javelin af67d8766 -> c93918a89
rename dataobject to datastream Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/c93918a8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/c93918a8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/c93918a8 Branch: refs/heads/javelin Commit: c93918a8963a51e8a6d72c73ba2903f5b92d5a80 Parents: af67d87 Author: Edison Su <[email protected]> Authored: Tue Jan 15 15:46:15 2013 -0800 Committer: Edison Su <[email protected]> Committed: Tue Jan 15 15:46:21 2013 -0800 ---------------------------------------------------------------------- .../engine/subsystem/api/storage/DataObject.java | 30 -------------- .../subsystem/api/storage/DataStoreDriver.java | 14 +++--- .../engine/subsystem/api/storage/DataStream.java | 31 +++++++++++++++ .../engine/subsystem/api/storage/VolumeInfo.java | 9 +---- .../driver/DefaultImageDataStoreDriverImpl.java | 16 ++++---- .../storage/image/store/ImageDataStoreImpl.java | 4 +- .../storage/image/store/TemplateObject.java | 9 +---- .../image/motion/DefaultImageMotionStrategy.java | 6 +- .../storage/snapshot/SnapshotObject.java | 14 ++++--- .../datastore/ObjectInDataStoreManager.java | 4 +- .../datastore/ObjectInDataStoreManagerImpl.java | 4 +- .../storage/datastore/PrimaryDataStore.java | 4 +- .../storage/endpoint/DefaultEndPointSelector.java | 4 +- .../storage/endpoint/EndPointSelector.java | 4 +- .../cloudstack/storage/image/TemplateInfo.java | 13 +----- .../storage/image/datastore/ImageDataStore.java | 4 +- .../storage/motion/DataMotionDriver.java | 4 +- .../storage/motion/DataMotionService.java | 4 +- .../storage/motion/DataMotionServiceImpl.java | 4 +- .../storage/motion/DataMotionStrategy.java | 6 +- .../cloudstack/storage/snapshot/SnapshotInfo.java | 5 +- .../apache/cloudstack/storage/to/TemplateTO.java | 2 +- .../storage/datastore/DefaultPrimaryDataStore.java | 4 +- .../driver/DefaultPrimaryDataStoreDriverImpl.java | 24 ++++++------ .../cloudstack/storage/volume/VolumeObject.java | 28 +++++-------- .../driver/SolidfirePrimaryDataStoreDriver.java | 16 ++++---- 26 files changed, 119 insertions(+), 148 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/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 deleted file mode 100644 index 4487330..0000000 --- a/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataObject.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.cloudstack.engine.subsystem.api.storage; - -import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat; - -public interface DataObject { - public long getId(); - public String getUri(); - public DataStore getDataStore(); - public long getSize(); - public DataObjectType getType(); - public DiskFormat getFormat(); -} http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStoreDriver.java ---------------------------------------------------------------------- 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 4aba9bf..0440a37 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(DataObject data, EndPoint ep); - public boolean revokeAccess(DataObject data, EndPoint ep); - public Set<DataObject> listObjects(DataStore store); - public void createAsync(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback); - public void deleteAsync(DataObject data, AsyncCompletionCallback<CommandResult> callback); - public void copyAsync(DataObject srcdata, DataObject destData, AsyncCompletionCallback<CopyCommandResult> callback); - public boolean canCopy(DataObject srcData, DataObject destData); + public String grantAccess(DataStream data, EndPoint ep); + public boolean revokeAccess(DataStream data, EndPoint ep); + public Set<DataStream> listObjects(DataStore store); + public void createAsync(DataStream data, AsyncCompletionCallback<CreateCmdResult> callback); + public void deleteAsync(DataStream data, AsyncCompletionCallback<CommandResult> callback); + public void copyAsync(DataStream srcdata, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback); + public boolean canCopy(DataStream srcData, DataStream destData); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStream.java ---------------------------------------------------------------------- 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/DataStream.java new file mode 100644 index 0000000..429f5c0 --- /dev/null +++ b/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/DataStream.java @@ -0,0 +1,31 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cloudstack.engine.subsystem.api.storage; + +import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat; + +public interface DataStream { + public long getId(); + public String getUri(); + public DataStore getDataStore(); + public long getSize(); + public DataObjectType getType(); + public DiskFormat getFormat(); + public String getUuid(); +} http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/api/src/org/apache/cloudstack/engine/subsystem/api/storage/VolumeInfo.java ---------------------------------------------------------------------- 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 7c714ef..d9d4826 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,13 +18,6 @@ */ package org.apache.cloudstack.engine.subsystem.api.storage; - -import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat; - -public interface VolumeInfo extends DataObject { - public String getUuid(); - public long getId(); - +public interface VolumeInfo extends DataStream { public boolean isAttachedVM(); - public String getPath(); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/image/src/org/apache/cloudstack/storage/image/driver/DefaultImageDataStoreDriverImpl.java ---------------------------------------------------------------------- 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 ae349ff..2ba4a11 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,7 +23,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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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; @@ -35,45 +35,45 @@ public class DefaultImageDataStoreDriverImpl implements ImageDataStoreDriver { } @Override - public String grantAccess(DataObject data, EndPoint ep) { + public String grantAccess(DataStream data, EndPoint ep) { // TODO Auto-generated method stub return null; } @Override - public boolean revokeAccess(DataObject data, EndPoint ep) { + public boolean revokeAccess(DataStream data, EndPoint ep) { // TODO Auto-generated method stub return false; } @Override - public Set<DataObject> listObjects(DataStore store) { + public Set<DataStream> listObjects(DataStore store) { // TODO Auto-generated method stub return null; } @Override - public void createAsync(DataObject data, + public void createAsync(DataStream data, AsyncCompletionCallback<CreateCmdResult> callback) { // TODO Auto-generated method stub } @Override - public void deleteAsync(DataObject data, + public void deleteAsync(DataStream data, AsyncCompletionCallback<CommandResult> callback) { // TODO Auto-generated method stub } @Override - public boolean canCopy(DataObject srcData, DataObject destData) { + public boolean canCopy(DataStream srcData, DataStream destData) { // TODO Auto-generated method stub return false; } @Override - public void copyAsync(DataObject srcdata, DataObject destData, + public void copyAsync(DataStream srcdata, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback) { // TODO Auto-generated method stub http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java ---------------------------------------------------------------------- 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 014d61f..b6de4ef 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject object) { + public boolean exists(DataStream object) { // TODO Auto-generated method stub return false; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/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 766ac45..18cde7b 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 @@ -71,12 +71,6 @@ public class TemplateObject implements TemplateInfo { } @Override - public String getPath() { - //TODO: add installation path if it's downloaded to cache storage already - return this.imageVO.getUrl(); - } - - @Override public String getUuid() { // TODO Auto-generated method stub return null; @@ -84,7 +78,7 @@ public class TemplateObject implements TemplateInfo { @Override public String getUri() { - return this.dataStore.getUri() + "template/" + this.getPath(); + return this.dataStore.getUri() + "template/" + this.imageVO.getUrl(); } @Override @@ -103,7 +97,6 @@ public class TemplateObject implements TemplateInfo { return DiskFormat.getFormat(this.imageVO.getFormat()); } - @Override public boolean stateTransit(TemplateEvent e) throws NoTransitionException { return imageMgr.getStateMachine().transitTo(this.imageVO, e, null, imageDao); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/imagemotion/src/org/apache/cloudstack/storage/image/motion/DefaultImageMotionStrategy.java ---------------------------------------------------------------------- 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 6572b85..32e592d 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject srcData, DataObject destData) { + public boolean canHandle(DataStream srcData, DataStream 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(DataObject srcData, DataObject destData, + public Void copyAsync(DataStream srcData, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback) { DataStore destStore = destData.getDataStore(); DataStore srcStore = srcData.getDataStore(); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/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 49a9410..8c04843 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 @@ -27,19 +27,15 @@ import org.apache.cloudstack.storage.snapshot.db.SnapshotVO; public class SnapshotObject implements SnapshotInfo { private SnapshotVO snapshot; private DataStore store; - + public SnapshotObject(SnapshotVO snapshot, DataStore store) { this.snapshot = snapshot; this.store = store; } - + public DataStore getStore() { return this.store; } - @Override - public String getName() { - return this.snapshot.getName(); - } @Override public SnapshotInfo getParent() { @@ -95,4 +91,10 @@ public class SnapshotObject implements SnapshotInfo { return null; } + @Override + public String getUuid() { + // TODO Auto-generated method stub + return null; + } + } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManager.java ---------------------------------------------------------------------- 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 5f00046..b385088 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject vo, Event event) throws NoTransitionException; + public boolean update(DataStream vo, Event event) throws NoTransitionException; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java ---------------------------------------------------------------------- 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 23d69a4..a1f8c2b 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject data, Event event) + public boolean update(DataStream data, Event event) throws NoTransitionException { ObjectInDataStoreVO obj = this.findObject(data.getId(), data.getType(), data.getDataStore().getId(), data.getDataStore().getRole()); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/datastore/PrimaryDataStore.java ---------------------------------------------------------------------- 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 a6ba9bc..3977752 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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<CommandResult> callback); */ - boolean exists(DataObject data); + boolean exists(DataStream data); TemplateInfo getTemplate(long templateId); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/endpoint/DefaultEndPointSelector.java ---------------------------------------------------------------------- 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 5d1e1ff..db850d5 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject srcData, DataObject destData) { + public EndPoint select(DataStream srcData, DataStream destData) { DataStore srcStore = srcData.getDataStore(); DataStore destStore = destData.getDataStore(); if (srcData.getFormat() == DiskFormat.VMDK http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/endpoint/EndPointSelector.java ---------------------------------------------------------------------- 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 274c5dc..6c6fc8c 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint; public interface EndPointSelector { - public EndPoint select(DataObject srcData, DataObject destData); + public EndPoint select(DataStream srcData, DataStream destData); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java ---------------------------------------------------------------------- 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 45ec268..7ec44b3 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/TemplateInfo.java @@ -18,19 +18,10 @@ */ package org.apache.cloudstack.storage.image; -import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import com.cloud.utils.fsm.NoTransitionException; -public interface TemplateInfo extends DataObject { - DataStore getDataStore(); - - long getId(); - - String getPath(); - - String getUuid(); - - boolean stateTransit(TemplateEvent e) throws NoTransitionException; +public interface TemplateInfo extends DataStream { } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStore.java ---------------------------------------------------------------------- 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 a443f39..6bb8e4e 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject object); + boolean exists(DataStream object); Set<TemplateInfo> listTemplates(); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionDriver.java ---------------------------------------------------------------------- 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 3a59b21..6c53e5d 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; public interface DataMotionDriver { - public void copy(DataObject srcObj, DataObject destObj); + public void copy(DataStream srcObj, DataStream destObj); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionService.java ---------------------------------------------------------------------- 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 db36f64..b70149c 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; public interface DataMotionService { - public void copyAsync(DataObject srcData, DataObject destData, + public void copyAsync(DataStream srcData, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionServiceImpl.java ---------------------------------------------------------------------- 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 343140f..08f1da5 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.springframework.stereotype.Component; @@ -35,7 +35,7 @@ public class DataMotionServiceImpl implements DataMotionService { List<DataMotionStrategy> strategies; @Override - public void copyAsync(DataObject srcData, DataObject destData, + public void copyAsync(DataStream srcData, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback) { if (srcData.getDataStore().getDriver().canCopy(srcData, destData)) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/motion/DataMotionStrategy.java ---------------------------------------------------------------------- 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 ba40c6d..b38d84f 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; public interface DataMotionStrategy { - public boolean canHandle(DataObject srcData, DataObject destData); + public boolean canHandle(DataStream srcData, DataStream destData); - public Void copyAsync(DataObject srcData, DataObject destData, + public Void copyAsync(DataStream srcData, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback); } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java ---------------------------------------------------------------------- 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 3b9b58e..af94e38 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java +++ b/engine/storage/src/org/apache/cloudstack/storage/snapshot/SnapshotInfo.java @@ -16,11 +16,10 @@ // under the License. package org.apache.cloudstack.storage.snapshot; -import org.apache.cloudstack.engine.subsystem.api.storage.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo; -public interface SnapshotInfo extends DataObject { - public String getName(); +public interface SnapshotInfo extends DataStream { public SnapshotInfo getParent(); public SnapshotInfo getChild(); public VolumeInfo getBaseVolume(); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/src/org/apache/cloudstack/storage/to/TemplateTO.java ---------------------------------------------------------------------- diff --git a/engine/storage/src/org/apache/cloudstack/storage/to/TemplateTO.java b/engine/storage/src/org/apache/cloudstack/storage/to/TemplateTO.java index 9933741..ed59909 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/to/TemplateTO.java +++ b/engine/storage/src/org/apache/cloudstack/storage/to/TemplateTO.java @@ -27,7 +27,7 @@ public class TemplateTO { private final ImageDataStoreTO imageDataStore; public TemplateTO(TemplateInfo template) { - this.path = template.getPath(); + this.path = null; this.uuid = template.getUuid(); //this.diskType = template.getDiskType(); this.imageDataStore = new ImageDataStoreTO((ImageDataStoreInfo)template.getDataStore()); http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java ---------------------------------------------------------------------- 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 c1ce4b3..d1d9d11 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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(DataObject data) { + public boolean exists(DataStream data) { return (objectInStoreMgr.findObject(data.getId(), data.getType(), this.getId(), this.getRole()) != null) ? true : false; } http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/driver/DefaultPrimaryDataStoreDriverImpl.java ---------------------------------------------------------------------- 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 10b3713..584dbe9 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; 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<T> extends AsyncRpcConext<T> { - private final DataObject volume; + private final DataStream volume; /** * @param callback */ - public CreateVolumeContext(AsyncCompletionCallback<T> callback, DataObject volume) { + public CreateVolumeContext(AsyncCompletionCallback<T> callback, DataStream volume) { super(callback); this.volume = volume; } - public DataObject getVolume() { + public DataStream 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()) { - DataObject volume = context.getVolume(); + DataStream 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(DataObject vo, AsyncCompletionCallback<CommandResult> callback) { + public void deleteAsync(DataStream vo, AsyncCompletionCallback<CommandResult> callback) { DeleteCommand cmd = new DeleteCommand(vo.getUri()); List<EndPoint> endPoints = null; EndPoint ep = endPoints.get(0); @@ -151,7 +151,7 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver }*/ @Override - public void createAsync(DataObject vol, + public void createAsync(DataStream vol, AsyncCompletionCallback<CreateCmdResult> callback) { List<EndPoint> endPoints = null; EndPoint ep = endPoints.get(0); @@ -167,19 +167,19 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver } @Override - public String grantAccess(DataObject vol, EndPoint ep) { + public String grantAccess(DataStream vol, EndPoint ep) { // TODO Auto-generated method stub return null; } @Override - public boolean revokeAccess(DataObject vol, EndPoint ep) { + public boolean revokeAccess(DataStream vol, EndPoint ep) { // TODO Auto-generated method stub return false; } @Override - public Set<DataObject> listObjects(DataStore store) { + public Set<DataStream> listObjects(DataStore store) { // TODO Auto-generated method stub return null; } @@ -201,13 +201,13 @@ public class DefaultPrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver @Override - public boolean canCopy(DataObject srcData, DataObject destData) { + public boolean canCopy(DataStream srcData, DataStream destData) { // TODO Auto-generated method stub return false; } @Override - public void copyAsync(DataObject srcdata, DataObject destData, + public void copyAsync(DataStream srcdata, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback) { // TODO Auto-generated method stub http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/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 96a1b29..b51de94 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 @@ -43,12 +43,14 @@ public class VolumeObject implements VolumeInfo { VolumeDao2 volumeDao; @Inject VolumeManager volumeMgr; + private VolumeObject(DataStore dataStore, VolumeVO volumeVO) { this.volumeVO = volumeVO; this.dataStore = dataStore; } - public static VolumeObject getVolumeObject(DataStore dataStore, VolumeVO volumeVO) { + public static VolumeObject getVolumeObject(DataStore dataStore, + VolumeVO volumeVO) { VolumeObject vo = new VolumeObject(dataStore, volumeVO); vo = ComponentContext.inject(vo); return vo; @@ -63,14 +65,6 @@ public class VolumeObject implements VolumeInfo { volumeVO.setPath(uuid); } - @Override - public String getPath() { - return volumeVO.getPath(); - } - - - - public Volume.State getState() { return volumeVO.getState(); } @@ -85,21 +79,19 @@ public class VolumeObject implements VolumeInfo { return volumeVO.getSize(); } - - - public long getVolumeId() { return volumeVO.getId(); } - public boolean stateTransit(Volume.Event event) { boolean result = false; _volStateMachine = volumeMgr.getStateMachine(); try { - result = _volStateMachine.transitTo(volumeVO, event, null, volumeDao); + result = _volStateMachine.transitTo(volumeVO, event, null, + volumeDao); } catch (NoTransitionException e) { - String errorMessage = "Failed to transit volume: " + this.getVolumeId() + ", due to: " + e.toString(); + String errorMessage = "Failed to transit volume: " + + this.getVolumeId() + ", due to: " + e.toString(); s_logger.debug(errorMessage); throw new CloudRuntimeException(errorMessage); } @@ -117,7 +109,6 @@ public class VolumeObject implements VolumeInfo { return 0; } - @Override public boolean isAttachedVM() { return (this.volumeVO.getInstanceId() == null) ? false : true; @@ -125,12 +116,13 @@ public class VolumeObject implements VolumeInfo { @Override public String getUri() { - return this.dataStore.getUri() + File.separator + "?type=volume&path=" + this.volumeVO.getPath(); + return this.dataStore.getUri() + File.separator + "?type=volume&path=" + + this.volumeVO.getPath(); } @Override public DataObjectType getType() { - return DataObjectType.VOLUME; + return DataObjectType.VOLUME; } @Override http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/c93918a8/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java ---------------------------------------------------------------------- diff --git a/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java b/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java index 70c741a..b1b3168 100644 --- a/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java +++ b/plugins/storage/volume/solidfire/src/org/apache/cloudstack/storage/datastore/driver/SolidfirePrimaryDataStoreDriver.java @@ -20,7 +20,7 @@ import java.util.Set; 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.DataObject; +import org.apache.cloudstack.engine.subsystem.api.storage.DataStream; import org.apache.cloudstack.engine.subsystem.api.storage.DataStore; import org.apache.cloudstack.framework.async.AsyncCompletionCallback; import org.apache.cloudstack.storage.snapshot.SnapshotInfo; @@ -29,27 +29,27 @@ import org.apache.cloudstack.storage.volume.PrimaryDataStoreDriver; public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver { @Override - public String grantAccess(DataObject data, + public String grantAccess(DataStream data, org.apache.cloudstack.engine.subsystem.api.storage.EndPoint ep) { // TODO Auto-generated method stub return null; } @Override - public boolean revokeAccess(DataObject data, + public boolean revokeAccess(DataStream data, org.apache.cloudstack.engine.subsystem.api.storage.EndPoint ep) { // TODO Auto-generated method stub return false; } @Override - public Set<DataObject> listObjects(DataStore store) { + public Set<DataStream> listObjects(DataStore store) { // TODO Auto-generated method stub return null; } @Override - public void createAsync(DataObject data, + public void createAsync(DataStream data, AsyncCompletionCallback<CreateCmdResult> callback) { // TODO Auto-generated method stub @@ -57,21 +57,21 @@ public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver { @Override public void deleteAsync( - DataObject data, + DataStream data, AsyncCompletionCallback<org.apache.cloudstack.engine.subsystem.api.storage.CommandResult> callback) { // TODO Auto-generated method stub } @Override - public void copyAsync(DataObject srcdata, DataObject destData, + public void copyAsync(DataStream srcdata, DataStream destData, AsyncCompletionCallback<CopyCommandResult> callback) { // TODO Auto-generated method stub } @Override - public boolean canCopy(DataObject srcData, DataObject destData) { + public boolean canCopy(DataStream srcData, DataStream destData) { // TODO Auto-generated method stub return false; }
