From 877e16029c4175b5c8729ab3e8ae8ed0314152c1 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Fri, 21 Dec 2012 16:49:27 -0800 Subject: [PATCH] Fix a few Spring issues to Bootstrap javaline server --- client/cloudstack-ui.launch | 2 +- client/pom.xml | 72 +++++++++++++++++++ client/tomcatconf/applicationContext.xml.in | 46 +++++++++++- .../storage/image/ImageServiceImpl.java | 3 + .../HypervsiorHostEndPointRpcServer.java | 13 +++- .../db/ImageDataStoreProviderDaoImpl.java | 6 +- .../DefaultPrimaryDatastoreProviderImpl.java | 16 +++++ .../storage/volume/VolumeServiceImpl.java | 3 + framework/ipc/pom.xml | 1 + .../cloud/server/ConfigurationServerImpl.java | 2 + 10 files changed, 158 insertions(+), 6 deletions(-) diff --git a/client/cloudstack-ui.launch b/client/cloudstack-ui.launch index 0f09a5e67ad..fbf0cabdb37 100644 --- a/client/cloudstack-ui.launch +++ b/client/cloudstack-ui.launch @@ -7,7 +7,7 @@ - + diff --git a/client/pom.xml b/client/pom.xml index 0a138764419..a50725a0e3f 100644 --- a/client/pom.xml +++ b/client/pom.xml @@ -103,6 +103,78 @@ 5.1.21 runtime + + org.apache.cloudstack + cloud-framework-ipc + ${project.version} + + + org.apache.cloudstack + cloud-framework-rest + ${project.version} + + + org.apache.cloudstack + cloud-engine-api + ${project.version} + + + org.apache.cloudstack + cloud-engine-components-api + ${project.version} + + + + org.apache.cloudstack + cloud-engine-compute + ${project.version} + + + + org.apache.cloudstack + cloud-engine-network + ${project.version} + + + org.apache.cloudstack + cloud-engine-orchestration + ${project.version} + + + org.apache.cloudstack + cloud-engine-schema + ${project.version} + + + org.apache.cloudstack + cloud-engine-storage + ${project.version} + + + org.apache.cloudstack + cloud-engine-storage-backup + ${project.version} + + + org.apache.cloudstack + cloud-engine-storage-image + ${project.version} + + + org.apache.cloudstack + cloud-engine-storage-imagemotion + ${project.version} + + + org.apache.cloudstack + cloud-engine-storage-snapshot + ${project.version} + + + org.apache.cloudstack + cloud-engine-storage-volume + ${project.version} + install diff --git a/client/tomcatconf/applicationContext.xml.in b/client/tomcatconf/applicationContext.xml.in index 0febee3aee5..34bb853c52e 100644 --- a/client/tomcatconf/applicationContext.xml.in +++ b/client/tomcatconf/applicationContext.xml.in @@ -13,9 +13,49 @@ http://www.springframework.org/schema/context/spring-context-3.0.xsd"> - - + + + + + + + + + + + + + + + + org.apache.cloudstack.framework + + + + + + + + + + + + + + + + + + + + diff --git a/engine/storage/image/src/org/apache/cloudstack/storage/image/ImageServiceImpl.java b/engine/storage/image/src/org/apache/cloudstack/storage/image/ImageServiceImpl.java index 6499db1c366..4b6583165ed 100644 --- a/engine/storage/image/src/org/apache/cloudstack/storage/image/ImageServiceImpl.java +++ b/engine/storage/image/src/org/apache/cloudstack/storage/image/ImageServiceImpl.java @@ -33,6 +33,9 @@ public class ImageServiceImpl implements ImageService { @Inject ImageDataStoreProviderManager imageStoreProviderMgr; + public ImageServiceImpl() { + } + @Override public TemplateEntity registerTemplate(long templateId, long imageStoreId) { ImageDataStore ids = imageStoreProviderMgr.getDataStore(imageStoreId); diff --git a/engine/storage/src/org/apache/cloudstack/storage/HypervsiorHostEndPointRpcServer.java b/engine/storage/src/org/apache/cloudstack/storage/HypervsiorHostEndPointRpcServer.java index 09758694ce5..45d3fcf2aae 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/HypervsiorHostEndPointRpcServer.java +++ b/engine/storage/src/org/apache/cloudstack/storage/HypervsiorHostEndPointRpcServer.java @@ -18,6 +18,7 @@ */ package org.apache.cloudstack.storage; +import javax.annotation.PostConstruct; import javax.inject.Inject; import org.apache.cloudstack.framework.async.AsyncCallbackDispatcher; @@ -37,13 +38,23 @@ import com.cloud.utils.exception.CloudRuntimeException; @Component public class HypervsiorHostEndPointRpcServer implements HostEndpointRpcServer { private static final Logger s_logger = Logger.getLogger(HypervsiorHostEndPointRpcServer.class); - private RpcProvider _rpcProvider; + @Inject + private RpcProvider _rpcProvider; + + public HypervsiorHostEndPointRpcServer() { + } + public HypervsiorHostEndPointRpcServer(RpcProvider rpcProvider) { _rpcProvider = rpcProvider; _rpcProvider.registerRpcServiceEndpoint(RpcServiceDispatcher.getDispatcher(this)); } + @PostConstruct + public void Initialize() { + _rpcProvider.registerRpcServiceEndpoint(RpcServiceDispatcher.getDispatcher(this)); + } + @Override public void sendCommandAsync(HypervisorHostEndPoint host, final Command command, final AsyncCompletionCallback callback) { _rpcProvider.newCall(host.getHostAddr()).addCallbackListener(new RpcCallbackListener() { diff --git a/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataStoreProviderDaoImpl.java b/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataStoreProviderDaoImpl.java index f86bf1513b7..0e19dbec1b7 100644 --- a/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataStoreProviderDaoImpl.java +++ b/engine/storage/src/org/apache/cloudstack/storage/image/db/ImageDataStoreProviderDaoImpl.java @@ -27,7 +27,11 @@ import com.cloud.utils.db.SearchCriteria.Op; @Component public class ImageDataStoreProviderDaoImpl extends GenericDaoBase implements ImageDataStoreProviderDao { - @Override + + public ImageDataStoreProviderDaoImpl() { + } + + @Override public ImageDataStoreProviderVO findByName(String name) { SearchCriteriaService service = SearchCriteria2.create(ImageDataStoreProviderVO.class); service.addAnd(service.getEntity().getName(), Op.EQ, name); diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java index 698762a49c2..9953708e715 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/DefaultPrimaryDatastoreProviderImpl.java @@ -6,6 +6,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.annotation.PostConstruct; import javax.inject.Inject; import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreLifeCycle; @@ -43,6 +44,21 @@ public class DefaultPrimaryDatastoreProviderImpl implements PrimaryDataStoreProv protected ClusterDao clusterDao; protected Map configuratorMaps = new HashMap(); + @Qualifier("defaultProvider") + @Inject + List defaultConfigurators; + + public DefaultPrimaryDatastoreProviderImpl() { + } + + @PostConstruct + public void intialize() { + for (PrimaryDataStoreConfigurator configurator : defaultConfigurators) { + String key = generateKey(configurator.getSupportedHypervisor(), configurator.getSupportedDataStoreType().toString()); + configuratorMaps.put(key, configurator); + } + } + @Inject public DefaultPrimaryDatastoreProviderImpl(@Qualifier("defaultProvider") List configurators) { for (PrimaryDataStoreConfigurator configurator : configurators) { diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index 5ae6ed9024d..10a298a314d 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -56,6 +56,9 @@ public class VolumeServiceImpl implements VolumeService { @Inject ImageMotionService imageMotion; + public VolumeServiceImpl() { + } + @Override public VolumeInfo createVolume(VolumeInfo volume, long dataStoreId, VolumeDiskType diskType) { PrimaryDataStore dataStore = dataStoreMgr.getPrimaryDataStore(dataStoreId); diff --git a/framework/ipc/pom.xml b/framework/ipc/pom.xml index 435cfeed756..b630f4777ae 100644 --- a/framework/ipc/pom.xml +++ b/framework/ipc/pom.xml @@ -14,6 +14,7 @@ org.apache.cloudstack cloud-framework-ipc 4.1.0-SNAPSHOT + diff --git a/server/src/com/cloud/server/ConfigurationServerImpl.java b/server/src/com/cloud/server/ConfigurationServerImpl.java index 28893da97fd..7b509cd3ed9 100755 --- a/server/src/com/cloud/server/ConfigurationServerImpl.java +++ b/server/src/com/cloud/server/ConfigurationServerImpl.java @@ -44,6 +44,7 @@ import javax.crypto.SecretKey; import org.apache.commons.codec.binary.Base64; import org.apache.log4j.Logger; +import org.springframework.stereotype.Component; import com.cloud.configuration.Config; import com.cloud.configuration.ConfigurationVO; @@ -105,6 +106,7 @@ import com.cloud.utils.net.NetUtils; import com.cloud.utils.script.Script; import com.cloud.uuididentity.dao.IdentityDao; +@Component public class ConfigurationServerImpl implements ConfigurationServer { public static final Logger s_logger = Logger.getLogger(ConfigurationServerImpl.class.getName());