You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ah...@apache.org on 2013/01/10 23:47:19 UTC

[23/25] git commit: removed import of componentlocator and inject from all files

removed import of componentlocator and inject from all files


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/56e5fbde
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/56e5fbde
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/56e5fbde

Branch: refs/heads/javelin
Commit: 56e5fbdee29af94b7c3ffeebe1e757292b9f09ae
Parents: 395de6f
Author: Alex Huang <al...@citrix.com>
Authored: Thu Jan 10 11:44:47 2013 -0800
Committer: Alex Huang <al...@citrix.com>
Committed: Thu Jan 10 11:44:47 2013 -0800

----------------------------------------------------------------------
 api/src/org/apache/cloudstack/api/BaseCmd.java     |    2 +-
 .../cloud/storage/template/UploadManagerImpl.java  |  597 ++++++------
 .../datastore/ObjectInDataStoreManagerImpl.java    |    2 +-
 .../storage/volume/db/VolumeDao2Impl.java          |    2 +-
 .../cloud/api/commands/netapp/AssociateLunCmd.java |    2 +-
 .../cloud/api/commands/netapp/CreateLunCmd.java    |    2 +-
 .../commands/netapp/CreateVolumeOnFilerCmd.java    |    2 +-
 .../api/commands/netapp/CreateVolumePoolCmd.java   |    2 +-
 .../api/commands/netapp/DeleteVolumePoolCmd.java   |    2 +-
 .../cloud/api/commands/netapp/DestroyLunCmd.java   |    2 +-
 .../commands/netapp/DestroyVolumeOnFilerCmd.java   |    2 +-
 .../api/commands/netapp/DissociateLunCmd.java      |    2 +-
 .../com/cloud/api/commands/netapp/ListLunsCmd.java |    2 +-
 .../api/commands/netapp/ListVolumePoolsCmd.java    |    2 +-
 .../api/commands/netapp/ListVolumesOnFilerCmd.java |    2 +-
 .../api/commands/netapp/ModifyVolumePoolCmd.java   |    2 +-
 .../manager/allocator/impl/RandomAllocator.java    |   45 +-
 .../kvm/resource/LibvirtComputingResource.java     |    2 +-
 .../cloud/agent/manager/MockAgentManagerImpl.java  |    2 +-
 .../agent/manager/MockStorageManagerImpl.java      |    2 +-
 .../com/cloud/agent/manager/MockVmManagerImpl.java |    2 +-
 .../cloud/agent/manager/SimulatorManagerImpl.java  |    2 +-
 .../com/cloud/api/commands/ConfigureSimulator.java |    2 +-
 .../src/com/cloud/resource/AgentResourceBase.java  |    2 +-
 .../com/cloud/resource/SimulatorDiscoverer.java    |    2 +-
 .../resource/SimulatorSecondaryDiscoverer.java     |    2 +-
 .../src/com/cloud/simulator/SimulatorGuru.java     |    2 +-
 .../src/com/cloud/simulator/dao/MockVMDaoImpl.java |    2 +-
 .../hypervisor/vmware/VmwareServerDiscoverer.java  |    2 +-
 .../vmware/manager/VmwareManagerImpl.java          |    2 +-
 .../vmware/resource/VmwareContextFactory.java      |    2 +-
 .../hypervisor/vmware/resource/VmwareResource.java |    2 +-
 .../network/lb/dao/ElasticLbVmMapDaoImpl.java      |    2 +-
 .../cloud/server/auth/MD5UserAuthenticator.java    |    2 +-
 .../server/auth/PlainTextUserAuthenticator.java    |    2 +-
 .../server/auth/SHA256SaltedUserAuthenticator.java |    4 +-
 .../com/cloud/agent/manager/AgentManagerImpl.java  |    5 -
 .../agent/manager/ClusteredAgentManagerImpl.java   |    3 -
 server/src/com/cloud/api/ApiServer.java            |   24 +-
 server/src/com/cloud/api/ApiServlet.java           |   28 +-
 .../cloud/api/commands/AddTrafficMonitorCmd.java   |  136 ++--
 .../api/commands/DeleteTrafficMonitorCmd.java      |   91 +-
 .../cloud/api/commands/ListTrafficMonitorsCmd.java |    2 +-
 .../api/query/dao/DomainRouterJoinDaoImpl.java     |   14 +-
 .../com/cloud/api/query/dao/HostJoinDaoImpl.java   |   30 +-
 .../cloud/api/query/dao/ProjectJoinDaoImpl.java    |   12 +-
 .../api/query/dao/ResourceTagJoinDaoImpl.java      |   12 +-
 .../api/query/dao/SecurityGroupJoinDaoImpl.java    |   14 +-
 .../api/query/dao/StoragePoolJoinDaoImpl.java      |   12 +-
 .../com/cloud/api/query/dao/UserVmJoinDaoImpl.java |   20 +-
 .../com/cloud/api/query/dao/VolumeJoinDaoImpl.java |   24 +-
 .../cloud/async/AsyncJobExecutorContextImpl.java   |  157 ++--
 .../src/com/cloud/async/AsyncJobManagerImpl.java   |  796 +++++++--------
 .../src/com/cloud/async/SyncQueueManagerImpl.java  |  353 ++++----
 .../com/cloud/capacity/dao/CapacityDaoImpl.java    |  524 +++++-----
 .../src/com/cloud/cluster/CheckPointManager.java   |   52 -
 .../com/cloud/cluster/CheckPointManagerImpl.java   |  247 -----
 server/src/com/cloud/cluster/CleanupMaid.java      |   41 -
 .../src/com/cloud/cluster/ClusterManagerImpl.java  |  393 ++++----
 server/src/com/cloud/cluster/StackMaid.java        |  153 ---
 .../configuration/dao/ResourceCountDaoImpl.java    |  259 +++---
 .../AgentBasedConsoleProxyManager.java             |   33 +-
 .../consoleproxy/ConsoleProxyBalanceAllocator.java |   77 +-
 .../consoleproxy/ConsoleProxyManagerImpl.java      |  133 ++--
 .../consoleproxy/StaticConsoleProxyManager.java    |   17 +-
 server/src/com/cloud/dc/dao/ClusterDaoImpl.java    |  117 ++--
 server/src/com/cloud/dc/dao/HostPodDaoImpl.java    |  118 ++--
 server/src/com/cloud/dc/dao/VlanDaoImpl.java       |  393 ++++----
 server/src/com/cloud/deploy/FirstFitPlanner.java   |  150 ++--
 .../com/cloud/ha/HighAvailabilityManagerImpl.java  |   78 +-
 server/src/com/cloud/host/dao/HostDaoImpl.java     |  295 +++---
 .../hypervisor/HypervisorGuruManagerImpl.java      |   98 +-
 server/src/com/cloud/maint/UpgradeManagerImpl.java |   29 +-
 .../com/cloud/migration/Db21to22MigrationUtil.java |  162 ++--
 .../cloud/network/ExteralIpAddressAllocator.java   |  244 +++---
 .../network/ExternalNetworkDeviceManagerImpl.java  |   44 +-
 .../com/cloud/network/as/AutoScaleManagerImpl.java |   19 +-
 .../cloud/network/dao/FirewallRulesDaoImpl.java    |    6 +-
 .../com/cloud/network/dao/IPAddressDaoImpl.java    |   58 +-
 .../com/cloud/network/dao/LoadBalancerDaoImpl.java |    3 +-
 .../src/com/cloud/network/dao/NetworkDaoImpl.java  |    1 -
 .../cloud/network/dao/PhysicalNetworkDaoImpl.java  |    9 +-
 .../network/dao/Site2SiteVpnConnectionDaoImpl.java |   12 +-
 .../network/dao/Site2SiteVpnGatewayDaoImpl.java    |    7 +-
 .../com/cloud/network/guru/ControlNetworkGuru.java |    2 +-
 .../router/VirtualNetworkApplianceManagerImpl.java |    2 +-
 .../rules/dao/PortForwardingRulesDaoImpl.java      |    2 +-
 .../network/security/SecurityGroupManagerImpl.java |    2 +-
 .../network/security/dao/SecurityGroupDaoImpl.java |    2 +-
 .../src/com/cloud/network/vpc/VpcManagerImpl.java  |    2 +-
 .../cloud/network/vpc/dao/StaticRouteDaoImpl.java  |    2 +-
 .../src/com/cloud/network/vpc/dao/VpcDaoImpl.java  |    2 +-
 .../network/vpn/RemoteAccessVpnManagerImpl.java    |    2 +-
 .../cloud/network/vpn/Site2SiteVpnManagerImpl.java |    2 +-
 .../src/com/cloud/projects/dao/ProjectDaoImpl.java |    2 +-
 server/src/com/cloud/resource/DiscovererBase.java  |    2 +-
 .../src/com/cloud/servlet/ConsoleProxyServlet.java |    2 +-
 .../com/cloud/servlet/RegisterCompleteServlet.java |    2 +-
 .../src/com/cloud/storage/StorageManagerImpl.java  |    2 +-
 .../cloud/storage/StorageMigrationCleanupMaid.java |    2 +-
 .../GarbageCollectingStoragePoolAllocator.java     |    2 +-
 .../allocator/UseLocalForRootAllocator.java        |    2 +-
 .../src/com/cloud/storage/dao/SnapshotDaoImpl.java |    2 +-
 .../com/cloud/storage/dao/StoragePoolDaoImpl.java  |    2 +-
 .../com/cloud/storage/dao/VMTemplateDaoImpl.java   |    2 +-
 .../src/com/cloud/storage/dao/VolumeDaoImpl.java   |    2 +-
 .../cloud/storage/listener/StoragePoolMonitor.java |    2 +-
 .../resource/DummySecondaryStorageResource.java    |    2 +-
 server/src/com/cloud/storage/s3/S3ManagerImpl.java |    2 +-
 .../storage/snapshot/SnapshotManagerImpl.java      |    2 +-
 .../storage/snapshot/SnapshotSchedulerImpl.java    |    2 +-
 .../com/cloud/template/TemplateManagerImpl.java    |    2 +-
 server/src/com/cloud/test/IPRangeConfig.java       |    2 +-
 server/src/com/cloud/test/PodZoneConfig.java       |    2 +-
 server/src/com/cloud/upgrade/DatabaseCreator.java  |    2 +-
 .../cloud/upgrade/DatabaseIntegrityChecker.java    |    2 +-
 .../com/cloud/upgrade/DatabaseUpgradeChecker.java  |    2 +-
 .../upgrade/PremiumDatabaseUpgradeChecker.java     |    2 +-
 server/src/com/cloud/user/AccountManagerImpl.java  |    2 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |    2 +-
 server/src/com/cloud/vm/dao/UserVmDaoImpl.java     |    2 +-
 server/src/com/cloud/vm/dao/VMInstanceDaoImpl.java |    2 +-
 .../security/SecurityGroupManagerImpl2Test.java    |    2 +-
 .../test/com/cloud/snapshot/SnapshotDaoTest.java   |    2 +-
 .../com/cloud/storage/dao/StoragePoolDaoTest.java  |    2 +-
 .../upgrade/AdvanceZone217To224UpgradeTest.java    |    2 +-
 .../upgrade/AdvanceZone223To224UpgradeTest.java    |    2 +-
 .../upgrade/BasicZone218To224UpgradeTest.java      |    2 +-
 .../com/cloud/upgrade/HostCapacity218to22Test.java |    2 +-
 .../upgrade/InstanceGroup218To224UpgradeTest.java  |    2 +-
 .../upgrade/PortForwarding218To224UpgradeTest.java |    2 +-
 .../cloud/upgrade/Sanity220To224UpgradeTest.java   |    2 +-
 .../cloud/upgrade/Sanity222To224UpgradeTest.java   |    2 +-
 .../cloud/upgrade/Sanity223To225UpgradeTest.java   |    2 +-
 .../cloud/upgrade/Sanity224To225UpgradeTest.java   |    2 +-
 .../cloud/upgrade/Template2214To30UpgradeTest.java |    2 +-
 .../com/cloud/upgrade/Test2214To30DBUpgrade.java   |    2 +-
 .../cloud/upgrade/Usage217To224UpgradeTest.java    |    2 +-
 .../upgrade/UsageEvents218To224UpgradeTest.java    |    2 +-
 .../test/com/cloud/vm/dao/UserVmDaoImplTest.java   |    2 +-
 server/test/com/cloud/vpc/MockVpcManagerImpl.java  |    2 +-
 server/test/com/cloud/vpc/VpcApiUnitTest.java      |    2 +-
 .../src/com/cloud/usage/UsageAlertManagerImpl.java |    2 +-
 usage/src/com/cloud/usage/UsageManagerImpl.java    |    4 +-
 usage/src/com/cloud/usage/UsageServer.java         |    2 +-
 .../cloud/usage/parser/IPAddressUsageParser.java   |    2 +-
 .../usage/parser/LoadBalancerUsageParser.java      |    2 +-
 .../usage/parser/NetworkOfferingUsageParser.java   |    2 +-
 .../com/cloud/usage/parser/NetworkUsageParser.java |    2 +-
 .../usage/parser/PortForwardingUsageParser.java    |    2 +-
 .../usage/parser/SecurityGroupUsageParser.java     |    2 +-
 .../com/cloud/usage/parser/StorageUsageParser.java |    2 +-
 .../cloud/usage/parser/VMInstanceUsageParser.java  |    2 +-
 .../com/cloud/usage/parser/VPNUserUsageParser.java |    2 +-
 .../com/cloud/usage/parser/VolumeUsageParser.java  |    2 +-
 utils/test/com/cloud/utils/db/TransactionTest.java |    2 +-
 .../utils/log/CglibThrowableRendererTest.java      |    2 +-
 157 files changed, 2895 insertions(+), 3470 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/api/src/org/apache/cloudstack/api/BaseCmd.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/BaseCmd.java b/api/src/org/apache/cloudstack/api/BaseCmd.java
index c0ef8a0..ba2c4d2 100644
--- a/api/src/org/apache/cloudstack/api/BaseCmd.java
+++ b/api/src/org/apache/cloudstack/api/BaseCmd.java
@@ -141,7 +141,7 @@ public abstract class BaseCmd {
 
     public static QueryService _queryService;
 
-    static void setComponents(ResponseGenerator generator) {
+    public static void setComponents(ResponseGenerator generator) {
         _mgr = ComponentContext.getComponent(ManagementService.class);
         _accountService = ComponentContext.getComponent(AccountService.class);
         _configService = ComponentContext.getComponent(ConfigurationService.class);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/core/src/com/cloud/storage/template/UploadManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/com/cloud/storage/template/UploadManagerImpl.java b/core/src/com/cloud/storage/template/UploadManagerImpl.java
index 2dd1751..0de1c6c 100755
--- a/core/src/com/cloud/storage/template/UploadManagerImpl.java
+++ b/core/src/com/cloud/storage/template/UploadManagerImpl.java
@@ -21,6 +21,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
@@ -46,15 +47,13 @@ import com.cloud.storage.resource.SecondaryStorageResource;
 import com.cloud.storage.template.TemplateUploader.Status;
 import com.cloud.storage.template.TemplateUploader.UploadCompleteCallback;
 import com.cloud.utils.NumbersUtil;
-import com.cloud.utils.component.Adapters;
-import com.cloud.utils.component.ComponentLocator;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.script.Script;
 
 public class UploadManagerImpl implements UploadManager {
 
 
-   public class Completion implements UploadCompleteCallback {
+    public class Completion implements UploadCompleteCallback {
         private final String jobId;
 
         public Completion(String jobId) {
@@ -66,180 +65,180 @@ public class UploadManagerImpl implements UploadManager {
             setUploadStatus(jobId, status);
         }
     }
-   
-   private static class UploadJob {
-       private final TemplateUploader tu;
-       private final String jobId;
-       private final String name;
-       private final ImageFormat format;
-       private String tmpltPath;
-       private String description;
-       private String checksum;
-       private Long accountId;
-       private String installPathPrefix;
-       private long templatesize;
-       private long id;
-
-       public UploadJob(TemplateUploader tu, String jobId, long id, String name, ImageFormat format, boolean hvm, Long accountId, String descr, String cksum, String installPathPrefix) {
-           super();
-           this.tu = tu;
-           this.jobId = jobId;
-           this.name = name;
-           this.format = format;
-           this.accountId = accountId;
-           this.description = descr;
-           this.checksum = cksum;
-           this.installPathPrefix = installPathPrefix;
-           this.templatesize = 0;
-           this.id = id;
-       }
-
-       public TemplateUploader getTd() {
-           return tu;
-       }
-
-       public String getDescription() {
-           return description;
-       }
-
-       public String getChecksum() {
-           return checksum;
-       }
-
-       public UploadJob(TemplateUploader td, String jobId, UploadCommand cmd) {
-           this.tu = td;
-           this.jobId = jobId;
-           this.name = cmd.getName();
-           this.format = cmd.getFormat();           
-       }
-
-       public TemplateUploader getTemplateUploader() {
-           return tu;
-       }
-
-       public String getJobId() {
-           return jobId;
-       }
-
-       public String getTmpltName() {
-           return name;
-       }
-
-       public ImageFormat getFormat() {
-           return format;
-       }
-
-       public Long getAccountId() {
-           return accountId;
-       }
-
-       public long getId() {
-           return id;
-       }
-
-       public void setTmpltPath(String tmpltPath) {
-           this.tmpltPath = tmpltPath;
-       }
-
-       public String getTmpltPath() {
-           return tmpltPath;
-       }
-
-       public String getInstallPathPrefix() {
-           return installPathPrefix;
-       }
-
-       public void cleanup() {
-           if (tu != null) {
-               String upldPath = tu.getUploadLocalPath();
-               if (upldPath != null) {
-                   File f = new File(upldPath);
-                   f.delete();
-               }
-           }
-       }
-
-       public void setTemplatesize(long templatesize) {
-           this.templatesize = templatesize;
-       }
-
-       public long getTemplatesize() {
-           return templatesize;
-       }
-   }
-       public static final Logger s_logger = Logger.getLogger(UploadManagerImpl.class);
-       private ExecutorService threadPool;
-       private final Map<String, UploadJob> jobs = new ConcurrentHashMap<String, UploadJob>();
-       private String parentDir;
-       private Adapters<Processor> _processors;
-       private String publicTemplateRepo;
-       private String extractMountPoint = "/mnt/SecStorage/extractmnt";
-       private StorageLayer _storage;
-       private int installTimeoutPerGig;
-       private boolean _sslCopy;
-       private String _name;
-       private boolean hvm;
-     	   
-	
-	@Override
-	public String uploadPublicTemplate(long id, String url, String name,
-			ImageFormat format, Long accountId, String descr,
-			String cksum, String installPathPrefix, String userName,
-			String passwd, long templateSizeInBytes) {		
-		
+
+    private static class UploadJob {
+        private final TemplateUploader tu;
+        private final String jobId;
+        private final String name;
+        private final ImageFormat format;
+        private String tmpltPath;
+        private String description;
+        private String checksum;
+        private Long accountId;
+        private String installPathPrefix;
+        private long templatesize;
+        private long id;
+
+        public UploadJob(TemplateUploader tu, String jobId, long id, String name, ImageFormat format, boolean hvm, Long accountId, String descr, String cksum, String installPathPrefix) {
+            super();
+            this.tu = tu;
+            this.jobId = jobId;
+            this.name = name;
+            this.format = format;
+            this.accountId = accountId;
+            this.description = descr;
+            this.checksum = cksum;
+            this.installPathPrefix = installPathPrefix;
+            this.templatesize = 0;
+            this.id = id;
+        }
+
+        public TemplateUploader getTd() {
+            return tu;
+        }
+
+        public String getDescription() {
+            return description;
+        }
+
+        public String getChecksum() {
+            return checksum;
+        }
+
+        public UploadJob(TemplateUploader td, String jobId, UploadCommand cmd) {
+            this.tu = td;
+            this.jobId = jobId;
+            this.name = cmd.getName();
+            this.format = cmd.getFormat();           
+        }
+
+        public TemplateUploader getTemplateUploader() {
+            return tu;
+        }
+
+        public String getJobId() {
+            return jobId;
+        }
+
+        public String getTmpltName() {
+            return name;
+        }
+
+        public ImageFormat getFormat() {
+            return format;
+        }
+
+        public Long getAccountId() {
+            return accountId;
+        }
+
+        public long getId() {
+            return id;
+        }
+
+        public void setTmpltPath(String tmpltPath) {
+            this.tmpltPath = tmpltPath;
+        }
+
+        public String getTmpltPath() {
+            return tmpltPath;
+        }
+
+        public String getInstallPathPrefix() {
+            return installPathPrefix;
+        }
+
+        public void cleanup() {
+            if (tu != null) {
+                String upldPath = tu.getUploadLocalPath();
+                if (upldPath != null) {
+                    File f = new File(upldPath);
+                    f.delete();
+                }
+            }
+        }
+
+        public void setTemplatesize(long templatesize) {
+            this.templatesize = templatesize;
+        }
+
+        public long getTemplatesize() {
+            return templatesize;
+        }
+    }
+    public static final Logger s_logger = Logger.getLogger(UploadManagerImpl.class);
+    private ExecutorService threadPool;
+    private final Map<String, UploadJob> jobs = new ConcurrentHashMap<String, UploadJob>();
+    private String parentDir;
+    private List<Processor> _processors;
+    private String publicTemplateRepo;
+    private final String extractMountPoint = "/mnt/SecStorage/extractmnt";
+    private StorageLayer _storage;
+    private int installTimeoutPerGig;
+    private boolean _sslCopy;
+    private String _name;
+    private boolean hvm;
+
+
+    @Override
+    public String uploadPublicTemplate(long id, String url, String name,
+            ImageFormat format, Long accountId, String descr,
+            String cksum, String installPathPrefix, String userName,
+            String passwd, long templateSizeInBytes) {		
+
         UUID uuid = UUID.randomUUID();
         String jobId = uuid.toString();
 
         String completePath = parentDir + File.separator + installPathPrefix;
         s_logger.debug("Starting upload from " + completePath);
-        
+
         URI uri;
-		try {
-		    uri = new URI(url);
-		} catch (URISyntaxException e) {
-		    s_logger.error("URI is incorrect: " + url);
-		    throw new CloudRuntimeException("URI is incorrect: " + url);
-		}
-		TemplateUploader tu;
-		if ((uri != null) && (uri.getScheme() != null)) {
-		    if (uri.getScheme().equalsIgnoreCase("ftp")) {
-		        tu = new FtpTemplateUploader(completePath, url, new Completion(jobId), templateSizeInBytes);                                
-		    } else {
-		    	s_logger.error("Scheme is not supported " + url);
-		        throw new CloudRuntimeException("Scheme is not supported " + url);
-		    }
-		} else {
-		    s_logger.error("Unable to download from URL: " + url);
-		    throw new CloudRuntimeException("Unable to download from URL: " + url);
-		}
-		UploadJob uj = new UploadJob(tu, jobId, id, name, format, hvm, accountId, descr, cksum, installPathPrefix);
-		jobs.put(jobId, uj);
-		threadPool.execute(tu);
-
-		return jobId;
-				
-	}
-
-	@Override
-	public String getUploadError(String jobId) {
+        try {
+            uri = new URI(url);
+        } catch (URISyntaxException e) {
+            s_logger.error("URI is incorrect: " + url);
+            throw new CloudRuntimeException("URI is incorrect: " + url);
+        }
+        TemplateUploader tu;
+        if ((uri != null) && (uri.getScheme() != null)) {
+            if (uri.getScheme().equalsIgnoreCase("ftp")) {
+                tu = new FtpTemplateUploader(completePath, url, new Completion(jobId), templateSizeInBytes);                                
+            } else {
+                s_logger.error("Scheme is not supported " + url);
+                throw new CloudRuntimeException("Scheme is not supported " + url);
+            }
+        } else {
+            s_logger.error("Unable to download from URL: " + url);
+            throw new CloudRuntimeException("Unable to download from URL: " + url);
+        }
+        UploadJob uj = new UploadJob(tu, jobId, id, name, format, hvm, accountId, descr, cksum, installPathPrefix);
+        jobs.put(jobId, uj);
+        threadPool.execute(tu);
+
+        return jobId;
+
+    }
+
+    @Override
+    public String getUploadError(String jobId) {
         UploadJob uj = jobs.get(jobId);
         if (uj != null) {
             return uj.getTemplateUploader().getUploadError();
         }
         return null;
-	}
+    }
 
-	@Override
-	public int getUploadPct(String jobId) {
-		UploadJob uj = jobs.get(jobId);
+    @Override
+    public int getUploadPct(String jobId) {
+        UploadJob uj = jobs.get(jobId);
         if (uj != null) {
             return uj.getTemplateUploader().getUploadPercent();
         }
         return 0;
-	}
+    }
 
-	@Override
-	public Status getUploadStatus(String jobId) {
+    @Override
+    public Status getUploadStatus(String jobId) {
         UploadJob job = jobs.get(jobId);
         if (job != null) {
             TemplateUploader tu = job.getTemplateUploader();
@@ -248,8 +247,8 @@ public class UploadManagerImpl implements UploadManager {
             }
         }
         return Status.UNKNOWN;
-	}
-	
+    }
+
     public static UploadVO.Status convertStatus(Status tds) {
         switch (tds) {
         case ABORTED:
@@ -277,11 +276,11 @@ public class UploadManagerImpl implements UploadManager {
     public com.cloud.storage.UploadVO.Status getUploadStatus2(String jobId) {
         return convertStatus(getUploadStatus(jobId));
     }
-	@Override
-	public String getPublicTemplateRepo() {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    @Override
+    public String getPublicTemplateRepo() {
+        // TODO Auto-generated method stub
+        return null;
+    }
 
     private UploadAnswer handleUploadProgressCmd(UploadProgressCommand cmd) {
         String jobId = cmd.getJobId();
@@ -290,7 +289,7 @@ public class UploadManagerImpl implements UploadManager {
         if (jobId != null)
             uj = jobs.get(jobId);
         if (uj == null) {           
-           return new UploadAnswer(null, 0, "Cannot find job", com.cloud.storage.UploadVO.Status.UNKNOWN, "", "", 0);            
+            return new UploadAnswer(null, 0, "Cannot find job", com.cloud.storage.UploadVO.Status.UNKNOWN, "", "", 0);            
         }
         TemplateUploader td = uj.getTemplateUploader();
         switch (cmd.getRequest()) {
@@ -300,7 +299,7 @@ public class UploadManagerImpl implements UploadManager {
             td.stopUpload();
             sleep();
             break;
-        /*case RESTART:
+            /*case RESTART:
             td.stopUpload();
             sleep();
             threadPool.execute(td);
@@ -316,10 +315,10 @@ public class UploadManagerImpl implements UploadManager {
         return new UploadAnswer(jobId, getUploadPct(jobId), getUploadError(jobId), getUploadStatus2(jobId), getUploadLocalPath(jobId), getInstallPath(jobId),
                 getUploadTemplateSize(jobId));
     }	
-	
+
     @Override
     public UploadAnswer handleUploadCommand(SecondaryStorageResource resource, UploadCommand cmd) {
-    	s_logger.warn("Handling the upload " +cmd.getInstallPath() + " " + cmd.getId());
+        s_logger.warn("Handling the upload " +cmd.getInstallPath() + " " + cmd.getId());
         if (cmd instanceof UploadProgressCommand) {
             return handleUploadProgressCmd((UploadProgressCommand) cmd);
         }
@@ -327,9 +326,9 @@ public class UploadManagerImpl implements UploadManager {
         String user = null;
         String password = null;
         String jobId = uploadPublicTemplate(cmd.getId(), cmd.getUrl(), cmd.getName(), 
-        									cmd.getFormat(), cmd.getAccountId(), cmd.getDescription(),
-        									cmd.getChecksum(), cmd.getInstallPath(), user, password,
-        									cmd.getTemplateSizeInBytes());
+                cmd.getFormat(), cmd.getAccountId(), cmd.getDescription(),
+                cmd.getChecksum(), cmd.getInstallPath(), user, password,
+                cmd.getTemplateSizeInBytes());
         sleep();
         if (jobId == null) {
             return new UploadAnswer(null, 0, "Internal Error", com.cloud.storage.UploadVO.Status.UPLOAD_ERROR, "", "", 0);
@@ -337,18 +336,18 @@ public class UploadManagerImpl implements UploadManager {
         return new UploadAnswer(jobId, getUploadPct(jobId), getUploadError(jobId), getUploadStatus2(jobId), getUploadLocalPath(jobId), getInstallPath(jobId),
                 getUploadTemplateSize(jobId));
     }
-    
+
     @Override
     public CreateEntityDownloadURLAnswer handleCreateEntityURLCommand(CreateEntityDownloadURLCommand cmd){       
-    	
-    	boolean isApacheUp = checkAndStartApache();
-    	if (!isApacheUp){
-    		String errorString = "Error in starting Apache server ";
+
+        boolean isApacheUp = checkAndStartApache();
+        if (!isApacheUp){
+            String errorString = "Error in starting Apache server ";
             s_logger.error(errorString);
             return new CreateEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
-    	}
+        }
         // Create the directory structure so that its visible under apache server root
-    	String extractDir = "/var/www/html/userdata/";
+        String extractDir = "/var/www/html/userdata/";
         Script command = new Script("mkdir", s_logger);
         command.add("-p");
         command.add(extractDir);
@@ -358,19 +357,19 @@ public class UploadManagerImpl implements UploadManager {
             s_logger.error(errorString);
             return new CreateEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
         }
-        
+
         // Create a random file under the directory for security reasons.
         String uuid = cmd.getExtractLinkUUID();
-		command = new Script("touch", s_logger);
-    	command.add(extractDir + uuid);
-    	result = command.execute();
-    	if (result != null) {
-    		String errorString = "Error in creating file " +uuid+ " ,error: " + result; 
-    		s_logger.warn(errorString);
-    		return new CreateEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
-    	}
-
-        
+        command = new Script("touch", s_logger);
+        command.add(extractDir + uuid);
+        result = command.execute();
+        if (result != null) {
+            String errorString = "Error in creating file " +uuid+ " ,error: " + result; 
+            s_logger.warn(errorString);
+            return new CreateEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
+        }
+
+
         // Create a symbolic link from the actual directory to the template location. The entity would be directly visible under /var/www/html/userdata/cmd.getInstallPath();
         command = new Script("/bin/bash", s_logger);
         command.add("-c");
@@ -381,11 +380,11 @@ public class UploadManagerImpl implements UploadManager {
             s_logger.error(errorString);
             return new CreateEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
         }
-        
+
         return new CreateEntityDownloadURLAnswer("", CreateEntityDownloadURLAnswer.RESULT_SUCCESS);
-        
+
     }
-    
+
     @Override
     public DeleteEntityDownloadURLAnswer handleDeleteEntityDownloadURLCommand(DeleteEntityDownloadURLCommand cmd){
 
@@ -394,8 +393,8 @@ public class UploadManagerImpl implements UploadManager {
         String path = cmd.getPath();
         Script command = new Script("/bin/bash", s_logger);
         command.add("-c");
-        
-		//We just need to remove the UUID.vhd
+
+        //We just need to remove the UUID.vhd
         String extractUrl = cmd.getExtractUrl();
         command.add("unlink /var/www/html/userdata/" +extractUrl.substring(extractUrl.lastIndexOf(File.separator) + 1));
         String result = command.execute();
@@ -404,7 +403,7 @@ public class UploadManagerImpl implements UploadManager {
             s_logger.warn(errorString);
             return new DeleteEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
         }
-        
+
         // If its a volume also delete the Hard link since it was created only for the purpose of download.
         if(cmd.getType() == Upload.Type.VOLUME){
             command = new Script("/bin/bash", s_logger);
@@ -418,31 +417,31 @@ public class UploadManagerImpl implements UploadManager {
                 return new DeleteEntityDownloadURLAnswer(errorString, CreateEntityDownloadURLAnswer.RESULT_FAILURE);
             }
         }
-        
+
         return new DeleteEntityDownloadURLAnswer("", CreateEntityDownloadURLAnswer.RESULT_SUCCESS);
     }
 
-	private String getInstallPath(String jobId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    private String getInstallPath(String jobId) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 
-	private String getUploadLocalPath(String jobId) {
-		// TODO Auto-generated method stub
-		return null;
-	}
+    private String getUploadLocalPath(String jobId) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 
-	private long getUploadTemplateSize(String jobId){
-		UploadJob uj = jobs.get(jobId);
+    private long getUploadTemplateSize(String jobId){
+        UploadJob uj = jobs.get(jobId);
         if (uj != null) {
             return uj.getTemplatesize();
         }
         return 0;
-	}
+    }
 
-	@Override
-	public boolean configure(String name, Map<String, Object> params)
-			throws ConfigurationException {
+    @Override
+    public boolean configure(String name, Map<String, Object> params)
+            throws ConfigurationException {
         _name = name;
 
         String value = null;
@@ -457,21 +456,25 @@ public class UploadManagerImpl implements UploadManager {
             Class<StorageLayer> clazz;
             try {
                 clazz = (Class<StorageLayer>) Class.forName(value);
+                _storage = clazz.newInstance();
             } catch (ClassNotFoundException e) {
                 throw new ConfigurationException("Unable to instantiate " + value);
+            } catch (InstantiationException e) {
+                throw new ConfigurationException("Unable to instantiate " + value);
+            } catch (IllegalAccessException e) {
+                throw new ConfigurationException("Unable to instantiate " + value);
             }
-            _storage = ComponentLocator.inject(clazz);
         }
         String useSsl = (String)params.get("sslcopy");
         if (useSsl != null) {
-        	_sslCopy = Boolean.parseBoolean(useSsl);
-        	
+            _sslCopy = Boolean.parseBoolean(useSsl);
+
         }
         String inSystemVM = (String)params.get("secondary.storage.vm");
         if (inSystemVM != null && "true".equalsIgnoreCase(inSystemVM)) {
-        	s_logger.info("UploadManager: starting additional services since we are inside system vm");
-        	startAdditionalServices();
-        	//blockOutgoingOnPrivate();
+            s_logger.info("UploadManager: starting additional services since we are inside system vm");
+            startAdditionalServices();
+            //blockOutgoingOnPrivate();
         }
 
         value = (String) params.get("install.timeout.pergig");
@@ -489,53 +492,53 @@ public class UploadManagerImpl implements UploadManager {
         threadPool = Executors.newFixedThreadPool(numInstallThreads);
 
         return true;
-	}
-	
-	private void startAdditionalServices() {
-    	
-		
-		Script command = new Script("rm", s_logger);
-		command.add("-rf");
-    	command.add(extractMountPoint);
-    	String result = command.execute();
-    	if (result != null) {
-    		s_logger.warn("Error in creating file " +extractMountPoint+ " ,error: " + result );
-    		return;
-    	}
-    	
-		command = new Script("touch", s_logger);
-    	command.add(extractMountPoint);
-    	result = command.execute();
-    	if (result != null) {
-    		s_logger.warn("Error in creating file " +extractMountPoint+ " ,error: " + result );
-    		return;
-    	}
-    	
-    	command = new Script("/bin/bash", s_logger);
-		command.add("-c");
-    	command.add("ln -sf " + parentDir + " " +extractMountPoint);
-    	result = command.execute();
-    	if (result != null) {
-    		s_logger.warn("Error in linking  err=" + result );
-    		return;
-    	}
-		
-	}
-
-	@Override
-	public String getName() {
-		return _name;
-	}
-
-	@Override
-	public boolean start() {
-		return true;
-	}
-
-	@Override
-	public boolean stop() {
-		return true;
-	}
+    }
+
+    private void startAdditionalServices() {
+
+
+        Script command = new Script("rm", s_logger);
+        command.add("-rf");
+        command.add(extractMountPoint);
+        String result = command.execute();
+        if (result != null) {
+            s_logger.warn("Error in creating file " +extractMountPoint+ " ,error: " + result );
+            return;
+        }
+
+        command = new Script("touch", s_logger);
+        command.add(extractMountPoint);
+        result = command.execute();
+        if (result != null) {
+            s_logger.warn("Error in creating file " +extractMountPoint+ " ,error: " + result );
+            return;
+        }
+
+        command = new Script("/bin/bash", s_logger);
+        command.add("-c");
+        command.add("ln -sf " + parentDir + " " +extractMountPoint);
+        result = command.execute();
+        if (result != null) {
+            s_logger.warn("Error in linking  err=" + result );
+            return;
+        }
+
+    }
+
+    @Override
+    public String getName() {
+        return _name;
+    }
+
+    @Override
+    public boolean start() {
+        return true;
+    }
+
+    @Override
+    public boolean stop() {
+        return true;
+    }
 
     /**
      * Get notified of change of job status. Executed in context of uploader thread
@@ -582,7 +585,7 @@ public class UploadManagerImpl implements UploadManager {
                 tu.setStatus(Status.UNRECOVERABLE_ERROR);
                 tu.setUploadError("Failed post upload script: " + result);
             } else {
-            	s_logger.warn("Upload completed successfully at " + new SimpleDateFormat().format(new Date()));
+                s_logger.warn("Upload completed successfully at " + new SimpleDateFormat().format(new Date()));
                 tu.setStatus(Status.POST_UPLOAD_FINISHED);
                 tu.setUploadError("Upload completed successfully at " + new SimpleDateFormat().format(new Date()));
             }
@@ -596,9 +599,9 @@ public class UploadManagerImpl implements UploadManager {
         }
     }
 
-	private String postUpload(String jobId) {
-		return null;
-	}
+    private String postUpload(String jobId) {
+        return null;
+    }
 
     private void sleep() {
         try {
@@ -608,21 +611,21 @@ public class UploadManagerImpl implements UploadManager {
         }
     }
 
-  private boolean checkAndStartApache() {
-    			  
-	  	//Check whether the Apache server is running
-	  	Script command = new Script("/bin/bash", s_logger);
-			command.add("-c");
-	  	command.add("if [ -d /etc/apache2 ] ; then service apache2 status | grep pid; else service httpd status | grep pid; fi ");
-	  	String result = command.execute();
-	  	
-	  	//Apache Server is not running. Try to start it.
-	  	if (result != null) { 				  	
-		  	
-	  		/*s_logger.warn("Apache server not running, trying to start it");
+    private boolean checkAndStartApache() {
+
+        //Check whether the Apache server is running
+        Script command = new Script("/bin/bash", s_logger);
+        command.add("-c");
+        command.add("if [ -d /etc/apache2 ] ; then service apache2 status | grep pid; else service httpd status | grep pid; fi ");
+        String result = command.execute();
+
+        //Apache Server is not running. Try to start it.
+        if (result != null) { 				  	
+
+            /*s_logger.warn("Apache server not running, trying to start it");
 			String port = Integer.toString(TemplateConstants.DEFAULT_TMPLT_COPY_PORT);
 			String intf = TemplateConstants.DEFAULT_TMPLT_COPY_INTF;
-			
+
 			command = new Script("/bin/bash", s_logger);
 			command.add("-c");
 			command.add("iptables -D INPUT -i " + intf + " -p tcp -m state --state NEW -m tcp --dport " + port + " -j DROP;" +
@@ -636,23 +639,23 @@ public class UploadManagerImpl implements UploadManager {
 					    "iptables -I INPUT -i " + intf + " -p tcp -m state --state NEW -m tcp --dport " + "443" + " -j DROP;" +
 					    "iptables -I INPUT -i " + intf + " -p tcp -m state --state NEW -m tcp --dport " + port + " -j HTTP;" +
 			            "iptables -I INPUT -i " + intf + " -p tcp -m state --state NEW -m tcp --dport " + "443" + " -j HTTP;");
-		
+
 			result = command.execute();
 			if (result != null) {
 				s_logger.warn("Error in opening up httpd port err=" + result );
 				return false;
 			}*/			
-			
-			command = new Script("/bin/bash", s_logger);
-			command.add("-c");
-			command.add("if [ -d /etc/apache2 ] ; then service apache2 start; else service httpd start; fi ");
-			result = command.execute();
-			if (result != null) {
-				s_logger.warn("Error in starting httpd service err=" + result );
-				return false;
-			}
-	  	}
-	  	
-		return true;
-	}
+
+            command = new Script("/bin/bash", s_logger);
+            command.add("-c");
+            command.add("if [ -d /etc/apache2 ] ; then service apache2 start; else service httpd start; fi ");
+            result = command.execute();
+            if (result != null) {
+                s_logger.warn("Error in starting httpd service err=" + result );
+                return false;
+            }
+        }
+
+        return true;
+    }
 }    

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/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 2cc72dd..26cd559 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/datastore/ObjectInDataStoreManagerImpl.java
@@ -8,7 +8,7 @@ import org.apache.cloudstack.storage.snapshot.SnapshotInfo;
 import org.apache.cloudstack.storage.volume.ObjectInDataStoreStateMachine.Event;
 import org.springframework.stereotype.Component;
 
-import com.cloud.utils.component.Inject;
+
 
 @Component
 public  class ObjectInDataStoreManagerImpl implements ObjectInDataStoreManager {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/engine/storage/src/org/apache/cloudstack/storage/volume/db/VolumeDao2Impl.java
----------------------------------------------------------------------
diff --git a/engine/storage/src/org/apache/cloudstack/storage/volume/db/VolumeDao2Impl.java b/engine/storage/src/org/apache/cloudstack/storage/volume/db/VolumeDao2Impl.java
index 0eb0ac3..1e12498 100644
--- a/engine/storage/src/org/apache/cloudstack/storage/volume/db/VolumeDao2Impl.java
+++ b/engine/storage/src/org/apache/cloudstack/storage/volume/db/VolumeDao2Impl.java
@@ -38,7 +38,7 @@ import com.cloud.storage.Storage.ImageFormat;
 import com.cloud.storage.Volume;
 import com.cloud.tags.dao.ResourceTagsDaoImpl;
 import com.cloud.utils.Pair;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.db.DB;
 import com.cloud.utils.db.GenericDaoBase;
 import com.cloud.utils.db.GenericSearchBuilder;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/AssociateLunCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/AssociateLunCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/AssociateLunCmd.java
index c87c924..64865bb 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/AssociateLunCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/AssociateLunCmd.java
@@ -29,7 +29,7 @@ import com.cloud.exception.InvalidParameterValueException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.AssociateLunCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "associateLun", description="Associate a LUN with a guest IQN", responseObject = AssociateLunCmdResponse.class)
 public class AssociateLunCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateLunCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateLunCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateLunCmd.java
index 8c89730..c8d8d04 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateLunCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateLunCmd.java
@@ -33,7 +33,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.CreateLunCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "createLunOnFiler", description="Create a LUN from a pool", responseObject = CreateLunCmdResponse.class)
 public class CreateLunCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumeOnFilerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumeOnFilerCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumeOnFilerCmd.java
index a2d4b96..72a9efa 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumeOnFilerCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumeOnFilerCmd.java
@@ -32,7 +32,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.CreateVolumeOnFilerCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "createVolumeOnFiler", description="Create a volume", responseObject = CreateVolumeOnFilerCmdResponse.class)
 public class CreateVolumeOnFilerCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumePoolCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumePoolCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumePoolCmd.java
index 9e38c5f..f7ff567 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumePoolCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/CreateVolumePoolCmd.java
@@ -31,7 +31,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.CreateVolumePoolCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "createPool", description="Create a pool", responseObject = CreateVolumePoolCmdResponse.class)
 public class CreateVolumePoolCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DeleteVolumePoolCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DeleteVolumePoolCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DeleteVolumePoolCmd.java
index 1105ea5..7106c58 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DeleteVolumePoolCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DeleteVolumePoolCmd.java
@@ -33,7 +33,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.DeleteVolumePoolCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "deletePool", description="Delete a pool", responseObject = DeleteVolumePoolCmdResponse.class)
 public class DeleteVolumePoolCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyLunCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyLunCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyLunCmd.java
index c5f7b11..8afd143 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyLunCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyLunCmd.java
@@ -33,7 +33,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.DeleteLUNCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "destroyLunOnFiler", description="Destroy a LUN", responseObject = DeleteLUNCmdResponse.class)
 public class DestroyLunCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyVolumeOnFilerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyVolumeOnFilerCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyVolumeOnFilerCmd.java
index 4ddc0c9..730f1c0 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyVolumeOnFilerCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DestroyVolumeOnFilerCmd.java
@@ -31,7 +31,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.DeleteVolumeOnFilerCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "destroyVolumeOnFiler", description="Destroy a Volume", responseObject = DeleteVolumeOnFilerCmdResponse.class)
 public class DestroyVolumeOnFilerCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DissociateLunCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DissociateLunCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DissociateLunCmd.java
index 0a6c1a7..5061f49 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DissociateLunCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/DissociateLunCmd.java
@@ -30,7 +30,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.DissociateLunCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "dissociateLun", description="Dissociate a LUN", responseObject = DissociateLunCmdResponse.class)
 public class DissociateLunCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListLunsCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListLunsCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListLunsCmd.java
index 630b149..7c2ed45 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListLunsCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListLunsCmd.java
@@ -36,7 +36,7 @@ import com.cloud.netapp.LunVO;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.ListLunsCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "listLunsOnFiler", description="List LUN", responseObject = ListLunsCmdResponse.class)
 public class ListLunsCmd extends BaseCmd 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumePoolsCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumePoolsCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumePoolsCmd.java
index d77f4fa..5857f43 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumePoolsCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumePoolsCmd.java
@@ -34,7 +34,7 @@ import com.cloud.netapp.NetappManager;
 import com.cloud.netapp.PoolVO;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.ListVolumePoolsCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "listPools", description="List Pool", responseObject = ListVolumePoolsCmdResponse.class)
 public class ListVolumePoolsCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumesOnFilerCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumesOnFilerCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumesOnFilerCmd.java
index 66a96f3..17548cd 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumesOnFilerCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ListVolumesOnFilerCmd.java
@@ -33,7 +33,7 @@ import com.cloud.netapp.NetappManager;
 import com.cloud.netapp.NetappVolumeVO;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.ListVolumesOnFilerCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "listVolumesOnFiler", description="List Volumes", responseObject = ListVolumesOnFilerCmdResponse.class)
 public class ListVolumesOnFilerCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ModifyVolumePoolCmd.java
----------------------------------------------------------------------
diff --git a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ModifyVolumePoolCmd.java b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ModifyVolumePoolCmd.java
index 3e32cae..6282a64 100644
--- a/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ModifyVolumePoolCmd.java
+++ b/plugins/file-systems/netapp/src/com/cloud/api/commands/netapp/ModifyVolumePoolCmd.java
@@ -31,7 +31,7 @@ import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.netapp.NetappManager;
 import com.cloud.server.ManagementService;
 import com.cloud.server.api.response.netapp.ModifyVolumePoolCmdResponse;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "modifyPool", description="Modify pool", responseObject = ModifyVolumePoolCmdResponse.class)
 public class ModifyVolumePoolCmd extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/host-allocators/random/src/com/cloud/agent/manager/allocator/impl/RandomAllocator.java
----------------------------------------------------------------------
diff --git a/plugins/host-allocators/random/src/com/cloud/agent/manager/allocator/impl/RandomAllocator.java b/plugins/host-allocators/random/src/com/cloud/agent/manager/allocator/impl/RandomAllocator.java
index 241b114..c302cdd 100755
--- a/plugins/host-allocators/random/src/com/cloud/agent/manager/allocator/impl/RandomAllocator.java
+++ b/plugins/host-allocators/random/src/com/cloud/agent/manager/allocator/impl/RandomAllocator.java
@@ -36,7 +36,6 @@ import com.cloud.host.HostVO;
 import com.cloud.host.dao.HostDao;
 import com.cloud.offering.ServiceOffering;
 import com.cloud.resource.ResourceManager;
-import com.cloud.utils.component.ComponentLocator;
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineProfile;
 
@@ -53,39 +52,39 @@ public class RandomAllocator implements HostAllocator {
             ExcludeList avoid, int returnUpTo) {
         return allocateTo(vmProfile, plan, type, avoid, returnUpTo, true);
     }
-    
+
     @Override
     public List<Host> allocateTo(VirtualMachineProfile<? extends VirtualMachine> vmProfile, DeploymentPlan plan, Type type,
-			ExcludeList avoid, int returnUpTo, boolean considerReservedCapacity) {
-
-		long dcId = plan.getDataCenterId();
-		Long podId = plan.getPodId();
-		Long clusterId = plan.getClusterId();
-		ServiceOffering offering = vmProfile.getServiceOffering();
-    	
-    	List<Host> suitableHosts = new ArrayList<Host>();
-    	
+            ExcludeList avoid, int returnUpTo, boolean considerReservedCapacity) {
+
+        long dcId = plan.getDataCenterId();
+        Long podId = plan.getPodId();
+        Long clusterId = plan.getClusterId();
+        ServiceOffering offering = vmProfile.getServiceOffering();
+
+        List<Host> suitableHosts = new ArrayList<Host>();
+
         if (type == Host.Type.Storage) {
             return suitableHosts;
         }
 
         String hostTag = offering.getHostTag();
         if(hostTag != null){
-        	s_logger.debug("Looking for hosts in dc: " + dcId + "  pod:" + podId + "  cluster:" + clusterId + " having host tag:" + hostTag);
+            s_logger.debug("Looking for hosts in dc: " + dcId + "  pod:" + podId + "  cluster:" + clusterId + " having host tag:" + hostTag);
         }else{
-        	s_logger.debug("Looking for hosts in dc: " + dcId + "  pod:" + podId + "  cluster:" + clusterId);
+            s_logger.debug("Looking for hosts in dc: " + dcId + "  pod:" + podId + "  cluster:" + clusterId);
         }
 
         // list all computing hosts, regardless of whether they support routing...it's random after all
         List<? extends Host> hosts = new ArrayList<HostVO>();
         if(hostTag != null){
-        	hosts = _hostDao.listByHostTag(type, clusterId, podId, dcId, hostTag);
+            hosts = _hostDao.listByHostTag(type, clusterId, podId, dcId, hostTag);
         }else{
-        	hosts = _resourceMgr.listAllUpAndEnabledHosts(type, clusterId, podId, dcId);
+            hosts = _resourceMgr.listAllUpAndEnabledHosts(type, clusterId, podId, dcId);
         }
-        
+
         s_logger.debug("Random Allocator found " + hosts.size() + "  hosts");
-        
+
         if (hosts.size() == 0) {
             return suitableHosts;
         }
@@ -93,12 +92,12 @@ public class RandomAllocator implements HostAllocator {
 
         Collections.shuffle(hosts);
         for (Host host : hosts) {
-        	if(suitableHosts.size() == returnUpTo){
-        		break;
-        	}
-        	
+            if(suitableHosts.size() == returnUpTo){
+                break;
+            }
+
             if (!avoid.shouldAvoid(host)) {
-            	suitableHosts.add(host);
+                suitableHosts.add(host);
             }else{
                 if (s_logger.isDebugEnabled()) {
                     s_logger.debug("Host name: " + host.getName() + ", hostId: "+ host.getId() +" is in avoid set, skipping this and trying other available hosts");
@@ -121,7 +120,7 @@ public class RandomAllocator implements HostAllocator {
     @Override
     public boolean configure(String name, Map<String, Object> params) {
         _name=name;
-        
+
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
index b52e2d8..cd1971d 100755
--- a/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
+++ b/plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
@@ -212,7 +212,7 @@ import com.cloud.storage.template.TemplateLocation;
 import com.cloud.utils.NumbersUtil;
 import com.cloud.utils.Pair;
 import com.cloud.utils.PropertiesUtil;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.net.NetUtils;
 import com.cloud.utils.script.OutputInterpreter;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
index f6bc8fc..506fbe0 100755
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockAgentManagerImpl.java
@@ -58,7 +58,7 @@ import com.cloud.simulator.MockVMVO;
 import com.cloud.simulator.dao.MockHostDao;
 import com.cloud.simulator.dao.MockVMDao;
 import com.cloud.utils.Pair;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.utils.concurrency.NamedThreadFactory;
 import com.cloud.utils.db.DB;
 import com.cloud.utils.db.Transaction;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
index 1076089..f139254 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockStorageManagerImpl.java
@@ -77,7 +77,7 @@ import com.cloud.storage.Storage.ImageFormat;
 import com.cloud.storage.Storage.StoragePoolType;
 import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
 import com.cloud.storage.template.TemplateInfo;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.utils.db.Transaction;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.vm.DiskProfile;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
index 40cd80a..69c066d 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/MockVmManagerImpl.java
@@ -46,7 +46,7 @@ import com.cloud.simulator.dao.MockSecurityRulesDao;
 import com.cloud.simulator.dao.MockVMDao;
 import com.cloud.utils.Pair;
 import com.cloud.utils.Ternary;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.utils.db.Transaction;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.vm.VirtualMachine.State;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
index 2bed2ef..25e7d48 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/agent/manager/SimulatorManagerImpl.java
@@ -28,7 +28,7 @@ import com.cloud.simulator.MockVMVO;
 import com.cloud.simulator.dao.MockConfigurationDao;
 import com.cloud.simulator.dao.MockHostDao;
 import com.cloud.utils.Pair;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.utils.db.ConnectionConcierge;
 import com.cloud.utils.db.DB;
 import com.cloud.utils.db.Transaction;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java b/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
index df81249..e4e76bb 100755
--- a/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/api/commands/ConfigureSimulator.java
@@ -31,7 +31,7 @@ import com.cloud.exception.ResourceAllocationException;
 import com.cloud.exception.ResourceUnavailableException;
 import com.cloud.server.ManagementService;
 import com.cloud.user.Account;
-import com.cloud.utils.component.ComponentLocator;
+
 
 @APICommand(name = "configureSimulator", description="configure simulator", responseObject=SuccessResponse.class)
 public class ConfigureSimulator extends BaseCmd {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
index 808ca07..ee6d8a3 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/resource/AgentResourceBase.java
@@ -43,7 +43,7 @@ import com.cloud.agent.manager.SimulatorManager.AgentType;
 import com.cloud.host.Host;
 import com.cloud.host.Host.Type;
 import com.cloud.simulator.MockHost;
-import com.cloud.utils.component.ComponentLocator;
+
 
 public class AgentResourceBase implements ServerResource {
 	private static final Logger s_logger = Logger

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorDiscoverer.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorDiscoverer.java b/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorDiscoverer.java
index b6d40d4..69ada14 100755
--- a/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorDiscoverer.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorDiscoverer.java
@@ -54,7 +54,7 @@ import com.cloud.storage.VMTemplateZoneVO;
 import com.cloud.storage.dao.VMTemplateDao;
 import com.cloud.storage.dao.VMTemplateHostDao;
 import com.cloud.storage.dao.VMTemplateZoneDao;
-import com.cloud.utils.component.Inject;
+
 
 @Local(value = Discoverer.class)
 public class SimulatorDiscoverer extends DiscovererBase implements Discoverer, Listener, ResourceStateAdapter {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorSecondaryDiscoverer.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorSecondaryDiscoverer.java b/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorSecondaryDiscoverer.java
index 3f7cea5..3b22ad5 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorSecondaryDiscoverer.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/resource/SimulatorSecondaryDiscoverer.java
@@ -38,7 +38,7 @@ import com.cloud.host.Status;
 import com.cloud.storage.SnapshotVO;
 import com.cloud.storage.dao.SnapshotDao;
 import com.cloud.storage.secondary.SecondaryStorageDiscoverer;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.utils.exception.CloudRuntimeException;
 import org.apache.log4j.Logger;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/simulator/SimulatorGuru.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/simulator/SimulatorGuru.java b/plugins/hypervisors/simulator/src/com/cloud/simulator/SimulatorGuru.java
index b9c404b..102ce4e 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/simulator/SimulatorGuru.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/simulator/SimulatorGuru.java
@@ -24,7 +24,7 @@ import com.cloud.hypervisor.HypervisorGuruBase;
 import com.cloud.hypervisor.Hypervisor.HypervisorType;
 import com.cloud.storage.GuestOSVO;
 import com.cloud.storage.dao.GuestOSDao;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.vm.VirtualMachine;
 import com.cloud.vm.VirtualMachineProfile;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/simulator/src/com/cloud/simulator/dao/MockVMDaoImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/simulator/src/com/cloud/simulator/dao/MockVMDaoImpl.java b/plugins/hypervisors/simulator/src/com/cloud/simulator/dao/MockVMDaoImpl.java
index 86264f2..e5b30f0 100644
--- a/plugins/hypervisors/simulator/src/com/cloud/simulator/dao/MockVMDaoImpl.java
+++ b/plugins/hypervisors/simulator/src/com/cloud/simulator/dao/MockVMDaoImpl.java
@@ -25,7 +25,7 @@ import javax.naming.ConfigurationException;
 
 import com.cloud.simulator.MockHostVO;
 import com.cloud.simulator.MockVMVO;
-import com.cloud.utils.component.Inject;
+
 import com.cloud.utils.db.GenericDaoBase;
 import com.cloud.utils.db.JoinBuilder;
 import com.cloud.utils.db.SearchBuilder;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
index b5d58dc..7286ada 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
@@ -66,7 +66,7 @@ import com.cloud.storage.VMTemplateVO;
 import com.cloud.storage.dao.VMTemplateDao;
 import com.cloud.user.Account;
 import com.cloud.utils.UriUtils;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.vmware.vim25.ClusterDasConfigInfo;
 import com.vmware.vim25.ManagedObjectReference;
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
index 75e10c9..618d996 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/manager/VmwareManagerImpl.java
@@ -86,7 +86,7 @@ import com.cloud.storage.secondary.SecondaryStorageVmManager;
 import com.cloud.utils.FileUtil;
 import com.cloud.utils.NumbersUtil;
 import com.cloud.utils.Pair;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.component.Manager;
 import com.cloud.utils.concurrency.NamedThreadFactory;
 import com.cloud.utils.db.DB;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareContextFactory.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareContextFactory.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareContextFactory.java
index 053ed6e..7ec0657 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareContextFactory.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareContextFactory.java
@@ -21,7 +21,7 @@ import org.apache.log4j.Logger;
 import com.cloud.hypervisor.vmware.manager.VmwareManager;
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.cloud.utils.StringUtils;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.vmware.apputils.version.ExtendedAppUtil;
 
 public class VmwareContextFactory {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
----------------------------------------------------------------------
diff --git a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index a444cfe..47fcb86 100755
--- a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -200,7 +200,7 @@ import com.cloud.storage.template.TemplateInfo;
 import com.cloud.utils.DateUtil;
 import com.cloud.utils.Pair;
 import com.cloud.utils.StringUtils;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.db.DB;
 import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.utils.exception.ExceptionUtil;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
index ba8c82d..be61f58 100644
--- a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
+++ b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/dao/ElasticLbVmMapDaoImpl.java
@@ -30,7 +30,7 @@ import com.cloud.network.dao.LoadBalancerDao;
 import com.cloud.network.dao.LoadBalancerDaoImpl;
 import com.cloud.network.router.VirtualRouter.Role;
 import com.cloud.network.router.VirtualRouter.Role;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.db.GenericDaoBase;
 import com.cloud.utils.db.JoinBuilder.JoinType;
 import com.cloud.utils.db.SearchBuilder;

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java b/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java
index 9d217e6..43d3566 100644
--- a/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java
+++ b/plugins/user-authenticators/md5/src/com/cloud/server/auth/MD5UserAuthenticator.java
@@ -30,7 +30,7 @@ import org.springframework.stereotype.Component;
 import com.cloud.server.ManagementServer;
 import com.cloud.user.UserAccount;
 import com.cloud.user.dao.UserAccountDao;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.exception.CloudRuntimeException;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java b/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java
index 0bf650b..d2f4347 100644
--- a/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java
+++ b/plugins/user-authenticators/plain-text/src/com/cloud/server/auth/PlainTextUserAuthenticator.java
@@ -30,7 +30,7 @@ import org.springframework.stereotype.Component;
 import com.cloud.server.ManagementServer;
 import com.cloud.user.UserAccount;
 import com.cloud.user.dao.UserAccountDao;
-import com.cloud.utils.component.ComponentLocator;
+
 import com.cloud.utils.exception.CloudRuntimeException;
 
 

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java
----------------------------------------------------------------------
diff --git a/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java b/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java
index 26c33a5..28ed92d 100644
--- a/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java
+++ b/plugins/user-authenticators/sha256salted/src/com/cloud/server/auth/SHA256SaltedUserAuthenticator.java
@@ -32,8 +32,8 @@ import com.cloud.server.ManagementServer;
 import com.cloud.servlet.CloudStartupServlet;
 import com.cloud.user.UserAccount;
 import com.cloud.user.dao.UserAccountDao;
-import com.cloud.utils.component.ComponentLocator;
-import com.cloud.utils.component.Inject;
+
+
 import com.cloud.utils.exception.CloudRuntimeException;
 
 @Local(value={UserAuthenticator.class})

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/server/src/com/cloud/agent/manager/AgentManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
index f7ca034..77f131a 100755
--- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java
+++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java
@@ -66,7 +66,6 @@ import com.cloud.agent.transport.Response;
 import com.cloud.alert.AlertManager;
 import com.cloud.capacity.dao.CapacityDao;
 import com.cloud.cluster.ManagementServerNode;
-import com.cloud.cluster.StackMaid;
 import com.cloud.configuration.Config;
 import com.cloud.configuration.dao.ConfigurationDao;
 import com.cloud.dc.ClusterDetailsDao;
@@ -977,8 +976,6 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
                 }
             } catch (final Exception e) {
                 s_logger.error("Exception caught while handling disconnect: ", e);
-            } finally {
-                StackMaid.current().exitCleanup();
             }
         }
     }
@@ -1150,7 +1147,6 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
                 if (actionDelegate != null) {
                     actionDelegate.action(new Long(id));
                 }
-                StackMaid.current().exitCleanup();
             }
         }
     }
@@ -1381,7 +1377,6 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, Manager {
                     }
                 }
             } finally {
-                StackMaid.current().exitCleanup();
                 txn.close();
             }
         }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java b/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
index dbd7cd3..25c7168 100755
--- a/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
+++ b/server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
@@ -62,7 +62,6 @@ import com.cloud.cluster.ClusterManagerListener;
 import com.cloud.cluster.ClusteredAgentRebalanceService;
 import com.cloud.cluster.ManagementServerHost;
 import com.cloud.cluster.ManagementServerHostVO;
-import com.cloud.cluster.StackMaid;
 import com.cloud.cluster.agentlb.AgentLoadBalancerPlanner;
 import com.cloud.cluster.agentlb.HostTransferMapVO;
 import com.cloud.cluster.agentlb.HostTransferMapVO.HostTransferState;
@@ -1120,8 +1119,6 @@ public class ClusteredAgentManagerImpl extends AgentManagerImpl implements Clust
                 rebalanceHost(hostId, currentOwnerId, futureOwnerId);
             } catch (Exception e) {
                 s_logger.warn("Unable to rebalance host id=" + hostId, e);
-            } finally {
-                StackMaid.current().exitCleanup();
             }
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/server/src/com/cloud/api/ApiServer.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServer.java b/server/src/com/cloud/api/ApiServer.java
index 6e13f13..b6f82c3 100755
--- a/server/src/com/cloud/api/ApiServer.java
+++ b/server/src/com/cloud/api/ApiServer.java
@@ -104,12 +104,12 @@ import org.apache.http.protocol.ResponseContent;
 import org.apache.http.protocol.ResponseDate;
 import org.apache.http.protocol.ResponseServer;
 import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
 
 import com.cloud.api.response.ApiResponseSerializer;
 import com.cloud.async.AsyncJob;
 import com.cloud.async.AsyncJobManager;
 import com.cloud.async.AsyncJobVO;
-import com.cloud.cluster.StackMaid;
 import com.cloud.configuration.Config;
 import com.cloud.configuration.ConfigurationVO;
 import com.cloud.configuration.dao.ConfigurationDao;
@@ -136,19 +136,20 @@ import com.cloud.utils.db.Transaction;
 import com.cloud.utils.exception.CSExceptionErrorCode;
 import com.cloud.uuididentity.dao.IdentityDao;
 
+@Component
 public class ApiServer implements HttpRequestHandler {
     private static final Logger s_logger = Logger.getLogger(ApiServer.class.getName());
     private static final Logger s_accessLogger = Logger.getLogger("apiserver." + ApiServer.class.getName());
 
     public static boolean encodeApiResponse = false;
     public static String jsonContentType = "text/javascript";
-    private ApiDispatcher _dispatcher;
+    @Inject ApiDispatcher _dispatcher;
 
-    @Inject private final AccountManager _accountMgr = null;
-    @Inject private final DomainManager _domainMgr = null;
-    @Inject private final AsyncJobManager _asyncMgr = null;
-    @Inject private ConfigurationDao _configDao;
-    @Inject protected List<APIAccessChecker> _apiAccessCheckers;
+    @Inject AccountManager _accountMgr;
+    @Inject DomainManager _domainMgr;
+    @Inject AsyncJobManager _asyncMgr;
+    @Inject ConfigurationDao _configDao;
+    @Inject List<APIAccessChecker> _apiAccessCheckers;
 
     @Inject List<PluggableService> _pluggableServices;
     @Inject IdentityDao _identityDao;
@@ -190,7 +191,6 @@ public class ApiServer implements HttpRequestHandler {
 
         _systemAccount = _accountMgr.getSystemAccount();
         _systemUser = _accountMgr.getSystemUser();
-        _dispatcher = ApiDispatcher.getInstance();
 
         Integer apiPort = null; // api port, null by default
         SearchCriteria<ConfigurationVO> sc = _configDao.createSearchCriteria();
@@ -907,12 +907,8 @@ public class ApiServer implements HttpRequestHandler {
             HttpContext context = new BasicHttpContext(null);
             try {
                 while (!Thread.interrupted() && _conn.isOpen()) {
-                    try {
-                        _httpService.handleRequest(_conn, context);
-                        _conn.close();
-                    } finally {
-                        StackMaid.current().exitCleanup();
-                    }
+                    _httpService.handleRequest(_conn, context);
+                    _conn.close();
                 }
             } catch (ConnectionClosedException ex) {
                 if (s_logger.isTraceEnabled()) {

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/56e5fbde/server/src/com/cloud/api/ApiServlet.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiServlet.java b/server/src/com/cloud/api/ApiServlet.java
index 19091f2..1a8a04e 100755
--- a/server/src/com/cloud/api/ApiServlet.java
+++ b/server/src/com/cloud/api/ApiServlet.java
@@ -23,6 +23,7 @@ import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.inject.Inject;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
@@ -32,14 +33,11 @@ import org.apache.cloudstack.api.BaseCmd;
 import org.apache.cloudstack.api.ServerApiException;
 import org.apache.log4j.Logger;
 
-import com.cloud.cluster.StackMaid;
 import com.cloud.exception.CloudAuthenticationException;
-import com.cloud.server.ManagementServer;
 import com.cloud.user.Account;
 import com.cloud.user.AccountService;
 import com.cloud.user.UserContext;
 import com.cloud.utils.StringUtils;
-import com.cloud.utils.component.ComponentLocator;
 import com.cloud.utils.exception.CloudRuntimeException;
 
 @SuppressWarnings("serial")
@@ -47,8 +45,8 @@ public class ApiServlet extends HttpServlet {
     public static final Logger s_logger = Logger.getLogger(ApiServlet.class.getName());
     private static final Logger s_accessLogger = Logger.getLogger("apiserver." + ApiServer.class.getName());
 
-    private ApiServer _apiServer = null;
-    private AccountService _accountMgr = null;
+    ApiServer _apiServer;
+    @Inject AccountService _accountMgr;
 
     public ApiServlet() {
         super();
@@ -56,26 +54,16 @@ public class ApiServlet extends HttpServlet {
         if (_apiServer == null) {
             throw new CloudRuntimeException("ApiServer not initialized");
         }
-        ComponentLocator locator = ComponentLocator.getLocator(ManagementServer.Name);
-        _accountMgr = locator.getManager(AccountService.class);
     }
 
     @Override
     protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
-        try {
-            processRequest(req, resp);
-        } finally {
-            StackMaid.current().exitCleanup();
-        }
+        processRequest(req, resp);
     }
 
     @Override
     protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
-        try {
-            processRequest(req, resp);
-        } finally {
-            StackMaid.current().exitCleanup();
-        }
+        processRequest(req, resp);
     }
 
     private void utf8Fixup(HttpServletRequest req, Map<String, Object[]> params) {
@@ -128,7 +116,7 @@ public class ApiServlet extends HttpServlet {
             reqStr = auditTrailSb.toString() + " " + req.getQueryString();
             s_logger.debug("===START=== " + StringUtils.cleanString(reqStr));
         }
-        
+
         try {
             HttpSession session = req.getSession(false);
             Object[] responseTypeParam = params.get("response");
@@ -305,7 +293,7 @@ public class ApiServlet extends HttpServlet {
 
                 auditTrailSb.insert(0,
                         "(userId=" + UserContext.current().getCallerUserId() + " accountId=" + UserContext.current().getCaller().getId() + " sessionId=" + (session != null ? session.getId() : null)
-                                + ")");
+                        + ")");
 
                 try {
                     String response = _apiServer.handleRequest(params, false, responseType, auditTrailSb);
@@ -386,7 +374,7 @@ public class ApiServlet extends HttpServlet {
     private String getLoginSuccessResponse(HttpSession session, String responseType) {
         StringBuffer sb = new StringBuffer();
         int inactiveInterval = session.getMaxInactiveInterval();
-        
+
         String user_UUID = (String)session.getAttribute("user_UUID");
         session.removeAttribute("user_UUID");