diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in
index 0b4ba82f630..7b752f0b08a 100644
--- a/client/tomcatconf/applicationContext.xml.in
+++ b/client/tomcatconf/applicationContext.xml.in
@@ -731,7 +731,7 @@
-
+
diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataStoreManagerImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataStoreProviderManagerImpl.java
similarity index 92%
rename from engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataStoreManagerImpl.java
rename to engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataStoreProviderManagerImpl.java
index bc546f8d0c1..4430267c700 100644
--- a/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataStoreManagerImpl.java
+++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/manager/ImageDataStoreProviderManagerImpl.java
@@ -31,16 +31,16 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManag
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataStoreProvider;
import org.apache.cloudstack.storage.image.ImageDataStoreDriver;
import org.apache.cloudstack.storage.image.datastore.ImageDataStore;
-import org.apache.cloudstack.storage.image.datastore.ImageDataStoreManager;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.apache.cloudstack.storage.image.db.ImageDataStoreDao;
import org.apache.cloudstack.storage.image.db.ImageDataStoreVO;
-import org.apache.cloudstack.storage.image.store.DefaultImageDataStoreImpl;
+import org.apache.cloudstack.storage.image.store.ImageDataStoreImpl;
import org.springframework.stereotype.Component;
import com.cloud.storage.dao.VMTemplateDao;
@Component
-public class ImageDataStoreManagerImpl implements ImageDataStoreManager {
+public class ImageDataStoreProviderManagerImpl implements ImageDataStoreProviderManager {
@Inject
ImageDataStoreDao dataStoreDao;
@Inject
@@ -59,7 +59,7 @@ public class ImageDataStoreManagerImpl implements ImageDataStoreManager {
ImageDataStoreVO dataStore = dataStoreDao.findById(dataStoreId);
String providerName = dataStore.getProviderName();
ImageDataStoreProvider provider = (ImageDataStoreProvider)providerManager.getDataStoreProvider(providerName);
- ImageDataStore imgStore = DefaultImageDataStoreImpl.getDataStore(dataStore,
+ ImageDataStore imgStore = ImageDataStoreImpl.getDataStore(dataStore,
driverMaps.get(provider.getName()), provider
);
// TODO Auto-generated method stub
diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/DefaultImageDataStoreImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java
similarity index 95%
rename from engine/storage/image/src/org/apache/cloudstack/storage/image/store/DefaultImageDataStoreImpl.java
rename to engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java
index 6eefc6f43f8..5761033c351 100644
--- a/engine/storage/image/src/org/apache/cloudstack/storage/image/store/DefaultImageDataStoreImpl.java
+++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/store/ImageDataStoreImpl.java
@@ -41,7 +41,7 @@ import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.storage.encoding.EncodingType;
-public class DefaultImageDataStoreImpl implements ImageDataStore {
+public class ImageDataStoreImpl implements ImageDataStore {
@Inject
VMTemplateDao imageDao;
@Inject
@@ -51,7 +51,7 @@ public class DefaultImageDataStoreImpl implements ImageDataStore {
protected ImageDataStoreProvider provider;
boolean needDownloadToCacheStorage = false;
- public DefaultImageDataStoreImpl() {
+ public ImageDataStoreImpl() {
}
@@ -64,7 +64,7 @@ public class DefaultImageDataStoreImpl implements ImageDataStore {
public static ImageDataStore getDataStore(ImageDataStoreVO dataStoreVO, ImageDataStoreDriver imageDataStoreDriver,
ImageDataStoreProvider provider) {
- DefaultImageDataStoreImpl instance = (DefaultImageDataStoreImpl)ComponentContext.inject(DefaultImageDataStoreImpl.class);
+ ImageDataStoreImpl instance = (ImageDataStoreImpl)ComponentContext.inject(ImageDataStoreImpl.class);
instance.configure(dataStoreVO, imageDataStoreDriver, provider);
return instance;
}
diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java
index a2fd08d1e8f..80e48a2d8f1 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/DataStoreManagerImpl.java
@@ -27,7 +27,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
-import org.apache.cloudstack.storage.image.datastore.ImageDataStoreManager;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.springframework.stereotype.Component;
import com.cloud.utils.exception.CloudRuntimeException;
@@ -37,7 +37,7 @@ public class DataStoreManagerImpl implements DataStoreManager {
@Inject
PrimaryDataStoreProviderManager primaryStorMgr;
@Inject
- ImageDataStoreManager imageDataStoreMgr;
+ ImageDataStoreProviderManager imageDataStoreMgr;
@Override
public DataStore getDataStore(long storeId, DataStoreRole role) {
diff --git a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
index f7d7167eb67..c6911df31d3 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/provider/DataStoreProviderManagerImpl.java
@@ -34,8 +34,10 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManag
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataStoreProvider;
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreDriver;
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreProvider;
+import org.apache.cloudstack.storage.image.ImageDataStoreDriver;
import org.apache.cloudstack.storage.datastore.PrimaryDataStoreProviderManager;
import org.apache.cloudstack.storage.datastore.db.DataStoreProviderDao;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Component;
@@ -53,6 +55,8 @@ public class DataStoreProviderManagerImpl extends ManagerBase implements DataSto
protected Map providerMap = new HashMap();
@Inject
PrimaryDataStoreProviderManager primaryDataStoreProviderMgr;
+ @Inject
+ ImageDataStoreProviderManager imageDataStoreProviderMgr;
@Override
public DataStoreProvider getDataStoreProvider(String name) {
return providerMap.get(name);
@@ -63,7 +67,7 @@ public class DataStoreProviderManagerImpl extends ManagerBase implements DataSto
// TODO Auto-generated method stub
return null;
}
-
+
public List getPrimayrDataStoreProviders() {
List providers = new ArrayList();
for (DataStoreProvider provider : providerMap.values()) {
@@ -76,7 +80,7 @@ public class DataStoreProviderManagerImpl extends ManagerBase implements DataSto
}
return providers;
}
-
+
public List getImageDataStoreProviders() {
List providers = new ArrayList();
for (DataStoreProvider provider : providerMap.values()) {
@@ -101,9 +105,9 @@ public class DataStoreProviderManagerImpl extends ManagerBase implements DataSto
s_logger.debug("Failed to register data store provider, provider name: " + providerName + " is not unique");
return false;
}
-
+
s_logger.debug("registering data store provider:" + provider.getName());
-
+
providerMap.put(providerName, provider);
try {
boolean registrationResult = provider.configure(copyParams);
@@ -112,18 +116,21 @@ public class DataStoreProviderManagerImpl extends ManagerBase implements DataSto
s_logger.debug("Failed to register data store provider: " + providerName);
return false;
}
-
+
Set types = provider.getTypes();
if (types.contains(DataStoreProviderType.PRIMARY)) {
primaryDataStoreProviderMgr.registerDriver(provider.getName(), (PrimaryDataStoreDriver)provider.getDataStoreDriver());
primaryDataStoreProviderMgr.registerHostListener(provider.getName(), provider.getHostListener());
}
+ else if (types.contains(DataStoreProviderType.IMAGE)) {
+ imageDataStoreProviderMgr.registerDriver(provider.getName(), (ImageDataStoreDriver)provider.getDataStoreDriver());
+ }
} catch(Exception e) {
s_logger.debug("configure provider failed", e);
providerMap.remove(providerName);
}
}
-
+
return true;
}
diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStoreManager.java b/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStoreProviderManager.java
similarity index 96%
rename from engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStoreManager.java
rename to engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStoreProviderManager.java
index b6d84cdcef2..4ab3f3c19d8 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStoreManager.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/image/datastore/ImageDataStoreProviderManager.java
@@ -23,7 +23,7 @@ import java.util.List;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.storage.image.ImageDataStoreDriver;
-public interface ImageDataStoreManager {
+public interface ImageDataStoreProviderManager {
ImageDataStore getImageDataStore(long dataStoreId);
ImageDataStore getImageDataStore(String uuid);
List getList();
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
similarity index 96%
rename from engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java
rename to engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
index 31e6908e28f..b695ff09c2e 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/DefaultPrimaryDataStore.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/PrimaryDataStoreImpl.java
@@ -60,9 +60,9 @@ import com.cloud.utils.component.ComponentContext;
import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.storage.encoding.EncodingType;
-public class DefaultPrimaryDataStore implements PrimaryDataStore {
+public class PrimaryDataStoreImpl implements PrimaryDataStore {
private static final Logger s_logger = Logger
- .getLogger(DefaultPrimaryDataStore.class);
+ .getLogger(PrimaryDataStoreImpl.class);
protected PrimaryDataStoreDriver driver;
protected StoragePoolVO pdsv;
@Inject
@@ -82,7 +82,7 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
private VolumeDao volumeDao;
- public DefaultPrimaryDataStore() {
+ public PrimaryDataStoreImpl() {
}
@@ -93,10 +93,10 @@ public class DefaultPrimaryDataStore implements PrimaryDataStore {
this.provider = provider;
}
- public static DefaultPrimaryDataStore createDataStore(
+ public static PrimaryDataStoreImpl createDataStore(
StoragePoolVO pdsv, PrimaryDataStoreDriver driver,
DataStoreProvider provider) {
- DefaultPrimaryDataStore dataStore = (DefaultPrimaryDataStore)ComponentContext.inject(DefaultPrimaryDataStore.class);
+ PrimaryDataStoreImpl dataStore = (PrimaryDataStoreImpl)ComponentContext.inject(PrimaryDataStoreImpl.class);
dataStore.configure(pdsv, driver, provider);
return dataStore;
}
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/PrimaryDataStoreProviderManagerImpl.java
similarity index 90%
rename from engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java
rename to engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/PrimaryDataStoreProviderManagerImpl.java
index e38c3b306fa..7a5d3224444 100644
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/DefaultPrimaryDataStoreProviderManagerImpl.java
+++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/manager/PrimaryDataStoreProviderManagerImpl.java
@@ -28,7 +28,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
import org.apache.cloudstack.engine.subsystem.api.storage.HypervisorHostListener;
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreDriver;
-import org.apache.cloudstack.storage.datastore.DefaultPrimaryDataStore;
+import org.apache.cloudstack.storage.datastore.PrimaryDataStoreImpl;
import org.apache.cloudstack.storage.datastore.PrimaryDataStore;
import org.apache.cloudstack.storage.datastore.PrimaryDataStoreProviderManager;
import org.apache.cloudstack.storage.datastore.db.DataStoreProviderDao;
@@ -39,7 +39,7 @@ import org.springframework.stereotype.Component;
import com.cloud.storage.StorageManager;
@Component
-public class DefaultPrimaryDataStoreProviderManagerImpl implements PrimaryDataStoreProviderManager {
+public class PrimaryDataStoreProviderManagerImpl implements PrimaryDataStoreProviderManager {
@Inject
DataStoreProviderDao dataStoreProviderDao;
@Inject
@@ -59,7 +59,7 @@ public class DefaultPrimaryDataStoreProviderManagerImpl implements PrimaryDataSt
StoragePoolVO dataStoreVO = dataStoreDao.findById(dataStoreId);
String providerName = dataStoreVO.getStorageProviderName();
DataStoreProvider provider = providerManager.getDataStoreProvider(providerName);
- DefaultPrimaryDataStore dataStore = DefaultPrimaryDataStore.createDataStore(dataStoreVO, driverMaps.get(provider.getName()), provider);
+ PrimaryDataStoreImpl dataStore = PrimaryDataStoreImpl.createDataStore(dataStoreVO, driverMaps.get(provider.getName()), provider);
return dataStore;
}
diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java
deleted file mode 100644
index b248758bc12..00000000000
--- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/PrimaryDataStoreProviderManager.java
+++ /dev/null
@@ -1,16 +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.
diff --git a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageDataStoreLifeCycle.java b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageDataStoreLifeCycle.java
index d8965178b77..dce40d97dbc 100644
--- a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageDataStoreLifeCycle.java
+++ b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/lifecycle/CloudStackImageDataStoreLifeCycle.java
@@ -25,7 +25,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
import org.apache.cloudstack.storage.image.datastore.ImageDataStoreHelper;
-import org.apache.cloudstack.storage.image.datastore.ImageDataStoreManager;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.apache.cloudstack.storage.image.db.ImageDataStoreDao;
import org.apache.cloudstack.storage.image.db.ImageDataStoreVO;
import org.apache.cloudstack.storage.image.store.lifecycle.ImageDataStoreLifeCycle;
@@ -38,7 +38,7 @@ public class CloudStackImageDataStoreLifeCycle implements ImageDataStoreLifeCycl
@Inject
ImageDataStoreHelper imageStoreHelper;
@Inject
- ImageDataStoreManager imageStoreMgr;
+ ImageDataStoreProviderManager imageStoreMgr;
public CloudStackImageDataStoreLifeCycle() {
}
diff --git a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/provider/CloudStackImageDataStoreProvider.java b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/provider/CloudStackImageDataStoreProvider.java
index 1358c9f4ca6..c91aa1e3af2 100644
--- a/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/provider/CloudStackImageDataStoreProvider.java
+++ b/plugins/storage/image/default/src/org/apache/cloudstack/storage/datastore/provider/CloudStackImageDataStoreProvider.java
@@ -35,7 +35,7 @@ import org.apache.cloudstack.storage.datastore.driver.CloudStackImageDataStoreDr
import org.apache.cloudstack.storage.datastore.lifecycle.CloudStackImageDataStoreLifeCycle;
import org.apache.cloudstack.storage.image.ImageDataStoreDriver;
import org.apache.cloudstack.storage.image.datastore.ImageDataStoreHelper;
-import org.apache.cloudstack.storage.image.datastore.ImageDataStoreManager;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.apache.cloudstack.storage.image.store.lifecycle.ImageDataStoreLifeCycle;
import org.springframework.stereotype.Component;
@@ -48,7 +48,7 @@ public class CloudStackImageDataStoreProvider implements ImageDataStoreProvider
protected ImageDataStoreLifeCycle lifeCycle;
protected ImageDataStoreDriver driver;
@Inject
- ImageDataStoreManager storeMgr;
+ ImageDataStoreProviderManager storeMgr;
@Inject
ImageDataStoreHelper helper;
diff --git a/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/lifecycle/SampleImageDataStoreLifeCycle.java b/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/lifecycle/SampleImageDataStoreLifeCycle.java
index 0af5afbb4fb..c1e08912718 100644
--- a/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/lifecycle/SampleImageDataStoreLifeCycle.java
+++ b/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/lifecycle/SampleImageDataStoreLifeCycle.java
@@ -25,7 +25,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
import org.apache.cloudstack.storage.image.datastore.ImageDataStoreHelper;
-import org.apache.cloudstack.storage.image.datastore.ImageDataStoreManager;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.apache.cloudstack.storage.image.db.ImageDataStoreDao;
import org.apache.cloudstack.storage.image.db.ImageDataStoreVO;
import org.apache.cloudstack.storage.image.store.lifecycle.ImageDataStoreLifeCycle;
@@ -38,7 +38,7 @@ public class SampleImageDataStoreLifeCycle implements ImageDataStoreLifeCycle {
@Inject
ImageDataStoreHelper imageStoreHelper;
@Inject
- ImageDataStoreManager imageStoreMgr;
+ ImageDataStoreProviderManager imageStoreMgr;
public SampleImageDataStoreLifeCycle() {
}
diff --git a/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/provider/SampleImageDataStoreProvider.java b/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/provider/SampleImageDataStoreProvider.java
index c6a8e0aa0ae..2ad9602a7bb 100644
--- a/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/provider/SampleImageDataStoreProvider.java
+++ b/plugins/storage/image/sample/src/org/apache/cloudstack/storage/datastore/provider/SampleImageDataStoreProvider.java
@@ -31,7 +31,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataStoreProvider
import org.apache.cloudstack.storage.datastore.driver.SampleImageDataStoreDriverImpl;
import org.apache.cloudstack.storage.datastore.lifecycle.SampleImageDataStoreLifeCycle;
import org.apache.cloudstack.storage.image.ImageDataStoreDriver;
-import org.apache.cloudstack.storage.image.datastore.ImageDataStoreManager;
+import org.apache.cloudstack.storage.image.datastore.ImageDataStoreProviderManager;
import org.apache.cloudstack.storage.image.store.lifecycle.ImageDataStoreLifeCycle;
import com.cloud.utils.component.ComponentContext;
@@ -41,7 +41,7 @@ public class SampleImageDataStoreProvider implements ImageDataStoreProvider {
protected ImageDataStoreLifeCycle lifeCycle;
protected ImageDataStoreDriver driver;
@Inject
- ImageDataStoreManager storeMgr;
+ ImageDataStoreProviderManager storeMgr;
long id;
String uuid;
@Override