Remove final modifer to ListS3Cmd class as it conflicts with Spring injection

This commit is contained in:
Kelven Yang 2013-01-23 18:23:48 -08:00
parent d182e64897
commit a26e075f0e
2 changed files with 14 additions and 12 deletions

View File

@ -35,7 +35,7 @@ import com.cloud.exception.ResourceUnavailableException;
import com.cloud.storage.S3;
@APICommand(name = "listS3s", description = "Lists S3s", responseObject = S3Response.class, since = "4.0.0")
public final class ListS3sCmd extends BaseListCmd {
public class ListS3sCmd extends BaseListCmd {
private static final String COMMAND_NAME = "lists3sresponse";

View File

@ -18,11 +18,12 @@
package com.cloud.utils.component;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.inject.Inject;
import javax.annotation.PostConstruct;
import javax.naming.ConfigurationException;
import org.apache.log4j.Logger;
@ -50,22 +51,23 @@ import com.cloud.utils.db.TransactionContextBuilder;
public class ComponentContext implements ApplicationContextAware {
private static final Logger s_logger = Logger.getLogger(ComponentContext.class);
private static ApplicationContext s_appContext;
private static ApplicationContext s_appContext;
@Inject List<GenericDao> daos;
@Inject List<Manager> mgrs;
@Inject List<Adapter> adapters;
@Override
public void setApplicationContext(ApplicationContext applicationContext) {
s_appContext = applicationContext;
s_appContext = applicationContext;
}
public static ApplicationContext getApplicationContext() {
return s_appContext;
}
public void init() {
}
public void initComponentsLifeCycle() {
@SuppressWarnings("rawtype")
Collection<GenericDao> daos = ComponentContext.getApplicationContext().getBeansOfType(GenericDao.class).values();
Collection<Manager> mgrs = ComponentContext.getApplicationContext().getBeansOfType(Manager.class).values();
Collection<Adapter> adapters = ComponentContext.getApplicationContext().getBeansOfType(Adapter.class).values();
Map<String, Object> params = new HashMap<String, Object>();
for (GenericDao dao : daos) {
try {
@ -77,7 +79,7 @@ public class ComponentContext implements ApplicationContextAware {
}
}
List<String> avoidMap = new ArrayList<String>();
List<String> avoidMap = new ArrayList<String>();
for (Manager manager : mgrs) {
if (avoidMap.contains(manager.getName())) {
s_logger.info("Skip manager: " + ComponentContext.getTargetClass(manager).getName() + " as it is already started");