Removed the generics from VirtualMachineGurur

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

Branch: refs/heads/vmsync
Commit: 5145c3cbf1bc0678c45ec99cc4bdbf8c18fdfcf2
Parents: e33bc08
Author: Alex Huang <[email protected]>
Authored: Sun May 19 09:12:20 2013 -0700
Committer: Alex Huang <[email protected]>
Committed: Sun May 19 09:12:20 2013 -0700

----------------------------------------------------------------------
 .../src/com/cloud/vm/VirtualMachineGuru.java       |   26 +----
 .../src/com/cloud/vm/VirtualMachineManager.java    |   22 ++--
 .../network/lb/ElasticLoadBalancerManagerImpl.java |   58 +++++-----
 .../consoleproxy/ConsoleProxyManagerImpl.java      |   58 +++++-----
 .../router/VirtualNetworkApplianceManagerImpl.java |   57 +++++-----
 .../secondary/SecondaryStorageManagerImpl.java     |   59 +++++-----
 server/src/com/cloud/vm/UserVmManager.java         |    2 +-
 server/src/com/cloud/vm/UserVmManagerImpl.java     |   58 ++++-----
 .../com/cloud/vm/VirtualMachineManagerImpl.java    |   91 ++++++---------
 .../cloud/vm/VirtualMachinePowerStateSyncImpl.java |   39 +++---
 server/src/com/cloud/vm/VmWorkJobDispatcher.java   |    4 +-
 .../test/com/cloud/vm/MockUserVmManagerImpl.java   |   77 ------------
 .../cloud/vm/VirtualMachineManagerImplTest.java    |    4 +-
 .../vm/VmWorkMockVirtualMachineManagerImpl.java    |    7 +-
 14 files changed, 222 insertions(+), 340 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/engine/components-api/src/com/cloud/vm/VirtualMachineGuru.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/vm/VirtualMachineGuru.java 
b/engine/components-api/src/com/cloud/vm/VirtualMachineGuru.java
index 3c9e53e..ec122f2 100644
--- a/engine/components-api/src/com/cloud/vm/VirtualMachineGuru.java
+++ b/engine/components-api/src/com/cloud/vm/VirtualMachineGuru.java
@@ -25,17 +25,7 @@ import com.cloud.exception.ResourceUnavailableException;
  * A VirtualMachineGuru knows how to process a certain type of virtual machine.
  *
  */
-public interface VirtualMachineGuru<T extends VirtualMachine> {
-    /**
-     * Find the virtual machine by name.
-     * @param name
-     * @return virtual machine.
-     */
-    T findByName(String name);
-    
-    T findById(long id);
-    
-    T persist(T vm);
+public interface VirtualMachineGuru {
     
     boolean finalizeVirtualMachineProfile(VirtualMachineProfile profile, 
DeployDestination dest, ReservationContext context);
     
@@ -57,21 +47,9 @@ public interface VirtualMachineGuru<T extends 
VirtualMachine> {
      */
     boolean finalizeStart(VirtualMachineProfile profile, long hostId, Commands 
cmds, ReservationContext context);
     
-    boolean finalizeCommandsOnStart(Commands cmds, VirtualMachineProfile 
profile);
-    
     void finalizeStop(VirtualMachineProfile profile, StopAnswer answer);
     
-    void finalizeExpunge(T vm);
-    
-    /**
-     * Returns the id parsed from the name.  If it cannot parse the name,
-     * then return null.  This method is used to determine if this is
-     * the right handler for this vm.
-     * 
-     * @param vmName vm name coming form the agent.
-     * @return id if the handler works for this vm and can parse id.  null if 
not.
-     */
-    Long convertToId(String vmName);
+    void finalizeExpunge(VirtualMachine vm);
     
     /**
      * Prepare Vm for Stop

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
----------------------------------------------------------------------
diff --git a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java 
b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
index 399c237..06ae204 100644
--- a/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
+++ b/engine/components-api/src/com/cloud/vm/VirtualMachineManager.java
@@ -5,7 +5,7 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing,
@@ -92,11 +92,13 @@ public interface VirtualMachineManager extends Manager {
 
     <T extends VMInstanceVO> boolean expunge(T vm, User caller, Account 
account) throws ResourceUnavailableException;
 
-    <T extends VMInstanceVO> void registerGuru(VirtualMachine.Type type, 
VirtualMachineGuru<T> guru);
+    void registerGuru(VirtualMachine.Type type, VirtualMachineGuru guru);
     
-    Collection<VirtualMachineGuru<? extends VMInstanceVO>> 
getRegisteredGurus();
+    // FIXME: This method is added by VirtualMachinePowerStateSyncImpl
+    Collection<VirtualMachineGuru> getRegisteredGurus();
 
-    <T extends VMInstanceVO> VirtualMachineGuru<T> getVmGuru(T vm);
+    // FIXME: Apparently this method is added by Kelven for 
VmWorkJobDispatcher.  Should look into removing this.
+    VirtualMachineGuru getVmGuru(VirtualMachine vm);
     
     boolean stateTransitTo(VMInstanceVO vm, VirtualMachine.Event e, Long 
hostId) throws NoTransitionException;
 
@@ -159,15 +161,15 @@ public interface VirtualMachineManager extends Manager {
      * @throws ResourceUnavailableException
      * @throws InsufficientCapacityException
      */
-    NicProfile addVmToNetwork(VirtualMachine vm, Network network, NicProfile 
requested) throws ConcurrentOperationException, 
+    NicProfile addVmToNetwork(VirtualMachine vm, Network network, NicProfile 
requested) throws ConcurrentOperationException,
                 ResourceUnavailableException, InsufficientCapacityException;
 
     /**
      * @param vm
      * @param nic
      * @return
-     * @throws ResourceUnavailableException 
-     * @throws ConcurrentOperationException 
+     * @throws ResourceUnavailableException
+     * @throws ConcurrentOperationException
      */
     boolean removeNicFromVm(VirtualMachine vm, NicVO nic) throws 
ConcurrentOperationException, ResourceUnavailableException;
 
@@ -176,8 +178,8 @@ public interface VirtualMachineManager extends Manager {
      * @param network
      * @param broadcastUri TODO
      * @return
-     * @throws ResourceUnavailableException 
-     * @throws ConcurrentOperationException 
+     * @throws ResourceUnavailableException
+     * @throws ConcurrentOperationException
      */
     boolean removeVmFromNetwork(VirtualMachine vm, Network network, URI 
broadcastUri) throws ConcurrentOperationException, ResourceUnavailableException;
 
@@ -213,6 +215,6 @@ public interface VirtualMachineManager extends Manager {
     <T extends VMInstanceVO> T processVmStartWork(T vm, 
Map<VirtualMachineProfile.Param, Object> params, User caller, Account account, 
DeploymentPlan planToDeploy)
            throws InsufficientCapacityException, ConcurrentOperationException, 
ResourceUnavailableException;
 
-    <T extends VMInstanceVO> boolean processVmStopWork(T vm, boolean forced, 
User user, Account account) 
+    <T extends VMInstanceVO> boolean processVmStopWork(T vm, boolean forced, 
User user, Account account)
        throws AgentUnavailableException, OperationTimedoutException, 
ConcurrentOperationException;
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
 
b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
index 21355f8..23eaac5 100644
--- 
a/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
+++ 
b/plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
@@ -141,7 +141,7 @@ import com.cloud.vm.dao.NicDao;
 @Component
 @Local(value = { ElasticLoadBalancerManager.class })
 public class ElasticLoadBalancerManagerImpl extends ManagerBase implements
-ElasticLoadBalancerManager, VirtualMachineGuru<DomainRouterVO> {
+        ElasticLoadBalancerManager, VirtualMachineGuru {
     private static final Logger s_logger = Logger
             .getLogger(ElasticLoadBalancerManagerImpl.class);
     
@@ -770,24 +770,24 @@ ElasticLoadBalancerManager, 
VirtualMachineGuru<DomainRouterVO> {
         }
     }
 
-    @Override
-    public DomainRouterVO findByName(String name) {
-        if (!VirtualMachineName.isValidSystemVmName(name, _instance, 
_elbVmNamePrefix)) {
-            return null;
-        }
-
-        return _routerDao.findById(VirtualMachineName.getSystemVmId(name));
-    }
-
-    @Override
-    public DomainRouterVO findById(long id) {
-        return _routerDao.findById(id);
-    }
-
-    @Override
-    public DomainRouterVO persist(DomainRouterVO elbVm) {
-        return _routerDao.persist(elbVm);
-    }
+//    @Override
+//    public DomainRouterVO findByName(String name) {
+//        if (!VirtualMachineName.isValidSystemVmName(name, _instance, 
_elbVmNamePrefix)) {
+//            return null;
+//        }
+//
+//        return _routerDao.findById(VirtualMachineName.getSystemVmId(name));
+//    }
+//
+//    @Override
+//    public DomainRouterVO findById(long id) {
+//        return _routerDao.findById(id);
+//    }
+//
+//    @Override
+//    public DomainRouterVO persist(DomainRouterVO elbVm) {
+//        return _routerDao.persist(elbVm);
+//    }
 
     @Override
     public boolean finalizeVirtualMachineProfile(VirtualMachineProfile 
profile, DeployDestination dest, ReservationContext context) {
@@ -900,7 +900,7 @@ ElasticLoadBalancerManager, 
VirtualMachineGuru<DomainRouterVO> {
         return true;
     }
 
-    @Override
+
     public boolean finalizeCommandsOnStart(Commands cmds, 
VirtualMachineProfile profile) {
         DomainRouterVO elbVm = _routerDao.findById(profile.getId());
         DataCenterVO dcVo = 
_dcDao.findById(profile.getVirtualMachine().getDataCenterId());
@@ -967,19 +967,19 @@ ElasticLoadBalancerManager, 
VirtualMachineGuru<DomainRouterVO> {
     }
 
     @Override
-    public void finalizeExpunge(DomainRouterVO vm) {
+    public void finalizeExpunge(VirtualMachine vm) {
         // no-op
         
     }
 
-    @Override
-    public Long convertToId(String vmName) {
-        if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, 
_elbVmNamePrefix)) {
-            return null;
-        }
-
-        return VirtualMachineName.getSystemVmId(vmName);
-    }
+//    @Override
+//    public Long convertToId(String vmName) {
+//        if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, 
_elbVmNamePrefix)) {
+//            return null;
+//        }
+//
+//        return VirtualMachineName.getSystemVmId(vmName);
+//    }
     
     @Override
     public void prepareStop(VirtualMachineProfile profile) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java 
b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
index 8ca2917..44917fb 100755
--- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
+++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java
@@ -164,7 +164,7 @@ import com.cloud.vm.dao.VMInstanceDao;
 //
 @Local(value = { ConsoleProxyManager.class, ConsoleProxyService.class })
 public class ConsoleProxyManagerImpl extends ManagerBase implements 
ConsoleProxyManager,
-        VirtualMachineGuru<ConsoleProxyVO>, SystemVmLoadScanHandler<Long>, 
ResourceStateAdapter {
+        VirtualMachineGuru, SystemVmLoadScanHandler<Long>, 
ResourceStateAdapter {
     private static final Logger s_logger = 
Logger.getLogger(ConsoleProxyManagerImpl.class);
 
     private static final int DEFAULT_CAPACITY_SCAN_INTERVAL = 30000; // 30 
seconds
@@ -1023,13 +1023,13 @@ public class ConsoleProxyManagerImpl extends 
ManagerBase implements ConsoleProxy
         return true;
     }
 
-    @Override
-    public Long convertToId(String vmName) {
-        if (!VirtualMachineName.isValidConsoleProxyName(vmName, _instance)) {
-            return null;
-        }
-        return VirtualMachineName.getConsoleProxyId(vmName);
-    }
+//    @Override
+//    public Long convertToId(String vmName) {
+//        if (!VirtualMachineName.isValidConsoleProxyName(vmName, _instance)) {
+//            return null;
+//        }
+//        return VirtualMachineName.getConsoleProxyId(vmName);
+//    }
 
     @Override
     public boolean stopProxy(long proxyVmId) {
@@ -1429,7 +1429,6 @@ public class ConsoleProxyManagerImpl extends ManagerBase 
implements ConsoleProxy
         return true;
     }
 
-    @Override
     public boolean finalizeCommandsOnStart(Commands cmds, 
VirtualMachineProfile profile) {
 
         NicProfile managementNic = null;
@@ -1487,7 +1486,8 @@ public class ConsoleProxyManagerImpl extends ManagerBase 
implements ConsoleProxy
     }
 
     @Override
-    public void finalizeExpunge(ConsoleProxyVO proxy) {
+    public void finalizeExpunge(VirtualMachine vm) {
+        ConsoleProxyVO proxy = _consoleProxyDao.findById(vm.getId());
         proxy.setPublicIpAddress(null);
         proxy.setPublicMacAddress(null);
         proxy.setPublicNetmask(null);
@@ -1498,23 +1498,23 @@ public class ConsoleProxyManagerImpl extends 
ManagerBase implements ConsoleProxy
 
 
 
-    @Override
-    public ConsoleProxyVO persist(ConsoleProxyVO proxy) {
-        return _consoleProxyDao.persist(proxy);
-    }
-
-    @Override
-    public ConsoleProxyVO findById(long id) {
-        return _consoleProxyDao.findById(id);
-    }
-
-    @Override
-    public ConsoleProxyVO findByName(String name) {
-        if (!VirtualMachineName.isValidConsoleProxyName(name)) {
-            return null;
-        }
-        return findById(VirtualMachineName.getConsoleProxyId(name));
-    }
+//    @Override
+//    public ConsoleProxyVO persist(ConsoleProxyVO proxy) {
+//        return _consoleProxyDao.persist(proxy);
+//    }
+//
+//    @Override
+//    public ConsoleProxyVO findById(long id) {
+//        return _consoleProxyDao.findById(id);
+//    }
+//
+//    @Override
+//    public ConsoleProxyVO findByName(String name) {
+//        if (!VirtualMachineName.isValidConsoleProxyName(name)) {
+//            return null;
+//        }
+//        return findById(VirtualMachineName.getConsoleProxyId(name));
+//    }
 
     @Override
     public void finalizeStop(VirtualMachineProfile profile, StopAnswer answer) 
{
@@ -1726,7 +1726,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase 
implements ConsoleProxy
     public void vmWorkStart(VmWork work) {
        assert(work instanceof VmWorkStart);
        
-       ConsoleProxyVO vm = findById(work.getVmId());
+        ConsoleProxyVO vm = _consoleProxyDao.findById(work.getVmId());
        
        UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
        AccountVO account = _entityMgr.findById(AccountVO.class, 
work.getAccountId());
@@ -1747,7 +1747,7 @@ public class ConsoleProxyManagerImpl extends ManagerBase 
implements ConsoleProxy
     public void vmWorkStop(VmWork work) {
        assert(work instanceof VmWorkStop);
        
-       ConsoleProxyVO vm = findById(work.getVmId());
+        ConsoleProxyVO vm = _consoleProxyDao.findById(work.getVmId());
        
        UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
        AccountVO account = _entityMgr.findById(AccountVO.class, 
work.getAccountId());

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
index 8a53e1d..8e433c9 100755
--- 
a/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
+++ 
b/server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
@@ -250,7 +250,7 @@ import com.cloud.vm.dao.VMInstanceDao;
 @Component
 @Local(value = {VirtualNetworkApplianceManager.class, 
VirtualNetworkApplianceService.class})
 public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements 
VirtualNetworkApplianceManager, VirtualNetworkApplianceService,
-        VirtualMachineGuru<DomainRouterVO>, Listener {
+        VirtualMachineGuru, Listener {
     private static final Logger s_logger = 
Logger.getLogger(VirtualNetworkApplianceManagerImpl.class);
 
     @Inject
@@ -775,14 +775,14 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
     protected VirtualNetworkApplianceManagerImpl() {
     }
 
-    @Override
-    public Long convertToId(final String vmName) {
-        if (!VirtualMachineName.isValidRouterName(vmName, _instance)) {
-            return null;
-        }
-
-        return VirtualMachineName.getRouterId(vmName);
-    }
+//    @Override
+//    public Long convertToId(final String vmName) {
+//        if (!VirtualMachineName.isValidRouterName(vmName, _instance)) {
+//            return null;
+//        }
+//
+//        return VirtualMachineName.getRouterId(vmName);
+//    }
 
     private VmDataCommand generateVmDataCommand(VirtualRouter router, String 
vmPrivateIpAddress, String userData,
             String serviceOffering, String zoneName, String guestIpAddress, 
String vmName,
@@ -2229,7 +2229,6 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
         return true;
     }
 
-    @Override
     public boolean finalizeCommandsOnStart(Commands cmds, 
VirtualMachineProfile profile) {
         DomainRouterVO router = _routerDao.findById(profile.getId());
         NicProfile controlNic = getControlNic(profile);
@@ -2538,7 +2537,7 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
     }
 
     @Override
-    public void finalizeExpunge(DomainRouterVO vm) {
+    public void finalizeExpunge(VirtualMachine vm) {
     }
 
     @Override
@@ -2759,11 +2758,11 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
         });
     }
 
-    @Override
-    public DomainRouterVO persist(DomainRouterVO router) {
-        DomainRouterVO virtualRouter = _routerDao.persist(router);
-        return virtualRouter;
-    }
+//    @Override
+//    public DomainRouterVO persist(DomainRouterVO router) {
+//        DomainRouterVO virtualRouter = _routerDao.persist(router);
+//        return virtualRouter;
+//    }
 
     @Override
     //FIXME add partial success and STOP state support
@@ -2823,19 +2822,19 @@ public class VirtualNetworkApplianceManagerImpl extends 
ManagerBase implements V
         return result;
     }
 
-    @Override
-    public DomainRouterVO findById(long id) {
-        return _routerDao.findById(id);
-    }
-
-    @Override
-    public DomainRouterVO findByName(String name) {
-        if (!VirtualMachineName.isValidRouterName(name)) {
-            return null;
-        }
-
-        return _routerDao.findById(VirtualMachineName.getRouterId(name));
-    }
+//    @Override
+//    public DomainRouterVO findById(long id) {
+//        return _routerDao.findById(id);
+//    }
+//
+//    @Override
+//    public DomainRouterVO findByName(String name) {
+//        if (!VirtualMachineName.isValidRouterName(name)) {
+//            return null;
+//        }
+//
+//        return _routerDao.findById(VirtualMachineName.getRouterId(name));
+//    }
 
     @Override
     @ActionEvent(eventType = EventTypes.EVENT_ROUTER_START, eventDescription = 
"starting router Vm", async = true)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
----------------------------------------------------------------------
diff --git 
a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java 
b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
index dcb5d82..481c61a 100755
--- a/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
+++ b/server/src/com/cloud/storage/secondary/SecondaryStorageManagerImpl.java
@@ -164,7 +164,7 @@ import com.cloud.vm.dao.VMInstanceDao;
 // because sooner or later, it will be driven into Running state
 //
 @Local(value = { SecondaryStorageVmManager.class })
-public class SecondaryStorageManagerImpl extends ManagerBase implements 
SecondaryStorageVmManager, VirtualMachineGuru<SecondaryStorageVmVO>, 
SystemVmLoadScanHandler<Long>, ResourceStateAdapter {
+public class SecondaryStorageManagerImpl extends ManagerBase implements 
SecondaryStorageVmManager, VirtualMachineGuru, SystemVmLoadScanHandler<Long>, 
ResourceStateAdapter {
     private static final Logger s_logger = 
Logger.getLogger(SecondaryStorageManagerImpl.class);
 
     private static final int DEFAULT_CAPACITY_SCAN_INTERVAL = 30000; // 30
@@ -905,13 +905,13 @@ public class SecondaryStorageManagerImpl extends 
ManagerBase implements Secondar
         return true;
     }
 
-    @Override
-    public Long convertToId(String vmName) {
-        if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, "s")) {
-            return null;
-        }
-        return VirtualMachineName.getSystemVmId(vmName);
-    }
+//    @Override
+//    public Long convertToId(String vmName) {
+//        if (!VirtualMachineName.isValidSystemVmName(vmName, _instance, "s")) 
{
+//            return null;
+//        }
+//        return VirtualMachineName.getSystemVmId(vmName);
+//    }
 
     @Override
     public boolean stopSecStorageVm(long secStorageVmId) {
@@ -1026,23 +1026,23 @@ public class SecondaryStorageManagerImpl extends 
ManagerBase implements Secondar
         return "secStorageVm." + id;
     }
 
-    @Override
-    public SecondaryStorageVmVO findByName(String name) {
-        if (!VirtualMachineName.isValidSecStorageVmName(name, null)) {
-            return null;
-        }
-        return findById(VirtualMachineName.getSystemVmId(name));
-    }
-
-    @Override
-    public SecondaryStorageVmVO findById(long id) {
-        return _secStorageVmDao.findById(id);
-    }
-
-    @Override
-    public SecondaryStorageVmVO persist(SecondaryStorageVmVO vm) {
-        return _secStorageVmDao.persist(vm);
-    }
+//    @Override
+//    public SecondaryStorageVmVO findByName(String name) {
+//        if (!VirtualMachineName.isValidSecStorageVmName(name, null)) {
+//            return null;
+//        }
+//        return findById(VirtualMachineName.getSystemVmId(name));
+//    }
+
+//    @Override
+//    public SecondaryStorageVmVO findById(long id) {
+//        return _secStorageVmDao.findById(id);
+//    }
+//
+//    @Override
+//    public SecondaryStorageVmVO persist(SecondaryStorageVmVO vm) {
+//        return _secStorageVmDao.persist(vm);
+//    }
 
     @Override
     public boolean finalizeVirtualMachineProfile(VirtualMachineProfile 
profile, DeployDestination dest, ReservationContext context) {
@@ -1167,7 +1167,7 @@ public class SecondaryStorageManagerImpl extends 
ManagerBase implements Secondar
         return true;
     }
 
-    @Override
+
     public boolean finalizeCommandsOnStart(Commands cmds, 
VirtualMachineProfile profile) {
 
         NicProfile managementNic = null;
@@ -1235,7 +1235,8 @@ public class SecondaryStorageManagerImpl extends 
ManagerBase implements Secondar
     }
 
     @Override
-    public void finalizeExpunge(SecondaryStorageVmVO vm) {
+    public void finalizeExpunge(VirtualMachine instance) {
+        SecondaryStorageVmVO vm = _secStorageVmDao.findById(instance.getId());
         vm.setPublicIpAddress(null);
         vm.setPublicMacAddress(null);
         vm.setPublicNetmask(null);
@@ -1467,7 +1468,7 @@ public class SecondaryStorageManagerImpl extends 
ManagerBase implements Secondar
     public void vmWorkStart(VmWork work) {
        assert(work instanceof VmWorkStart);
        
-       SecondaryStorageVmVO vm = findById(work.getVmId());
+        SecondaryStorageVmVO vm = _secStorageVmDao.findById(work.getVmId());
        
        UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
        AccountVO account = _entityMgr.findById(AccountVO.class, 
work.getAccountId());
@@ -1488,7 +1489,7 @@ public class SecondaryStorageManagerImpl extends 
ManagerBase implements Secondar
     public void vmWorkStop(VmWork work) {
        assert(work instanceof VmWorkStop);
        
-       SecondaryStorageVmVO vm = findById(work.getVmId());
+        SecondaryStorageVmVO vm = _secStorageVmDao.findById(work.getVmId());
        
        UserVO user = _entityMgr.findById(UserVO.class, work.getUserId());
        AccountVO account = _entityMgr.findById(AccountVO.class, 
work.getAccountId());

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/vm/UserVmManager.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManager.java 
b/server/src/com/cloud/vm/UserVmManager.java
index cc1fffd..349a0df 100755
--- a/server/src/com/cloud/vm/UserVmManager.java
+++ b/server/src/com/cloud/vm/UserVmManager.java
@@ -35,7 +35,7 @@ import com.cloud.utils.Pair;
  *
  * 
  */
-public interface UserVmManager extends VirtualMachineGuru<UserVmVO>, 
UserVmService{
+public interface UserVmManager extends UserVmService {
 
        static final int MAX_USER_DATA_LENGTH_BYTES = 2048;
     /**

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/vm/UserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java 
b/server/src/com/cloud/vm/UserVmManagerImpl.java
index 7dd51b0..85b516c 100755
--- a/server/src/com/cloud/vm/UserVmManagerImpl.java
+++ b/server/src/com/cloud/vm/UserVmManagerImpl.java
@@ -241,7 +241,7 @@ import com.cloud.vm.snapshot.VMSnapshotVO;
 import com.cloud.vm.snapshot.dao.VMSnapshotDao;
 
 @Local(value = { UserVmManager.class, UserVmService.class })
-public class UserVmManagerImpl extends ManagerBase implements UserVmManager, 
UserVmService {
+public class UserVmManagerImpl extends ManagerBase implements UserVmManager, 
UserVmService, VirtualMachineGuru {
     private static final Logger s_logger = Logger
             .getLogger(UserVmManagerImpl.class);
 
@@ -1353,13 +1353,13 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Use
         return UUID.randomUUID().toString();
     }
 
-    @Override
-    public Long convertToId(String vmName) {
-        if (!VirtualMachineName.isValidVmName(vmName, _instance)) {
-            return null;
-        }
-        return VirtualMachineName.getVmId(vmName);
-    }
+//    @Override
+//    public Long convertToId(String vmName) {
+//        if (!VirtualMachineName.isValidVmName(vmName, _instance)) {
+//            return null;
+//        }
+//        return VirtualMachineName.getVmId(vmName);
+//    }
 
     @Override
     public boolean expunge(UserVmVO vm, long callerUserId, Account caller) {
@@ -2768,12 +2768,6 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Use
     }
 
     @Override
-    public boolean finalizeCommandsOnStart(Commands cmds,
-            VirtualMachineProfile profile) {
-        return true;
-    }
-
-    @Override
     public boolean finalizeStart(VirtualMachineProfile profile,
             long hostId, Commands cmds, ReservationContext context) {
         UserVmVO vm = _vmDao.findById(profile.getId());
@@ -2858,26 +2852,26 @@ public class UserVmManagerImpl extends ManagerBase 
implements UserVmManager, Use
     }
 
     @Override
-    public void finalizeExpunge(UserVmVO vm) {
-    }
-
-    @Override
-    public UserVmVO persist(UserVmVO vm) {
-        return _vmDao.persist(vm);
+    public void finalizeExpunge(VirtualMachine vm) {
     }
 
-    @Override
-    public UserVmVO findById(long id) {
-        return _vmDao.findById(id);
-    }
-
-    @Override
-    public UserVmVO findByName(String name) {
-        if (!VirtualMachineName.isValidVmName(name)) {
-            return null;
-        }
-        return findById(VirtualMachineName.getVmId(name));
-    }
+//    @Override
+//    public UserVmVO persist(UserVmVO vm) {
+//        return _vmDao.persist(vm);
+//    }
+//
+//    @Override
+//    public UserVmVO findById(long id) {
+//        return _vmDao.findById(id);
+//    }
+//
+//    @Override
+//    public UserVmVO findByName(String name) {
+//        if (!VirtualMachineName.isValidVmName(name)) {
+//            return null;
+//        }
+//        return findById(VirtualMachineName.getVmId(name));
+//    }
 
     @Override
     @ActionEvent(eventType = EventTypes.EVENT_VM_STOP, eventDescription = 
"stopping Vm", async = true)

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java 
b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
index 6545270..5e65a71 100755
--- a/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachineManagerImpl.java
@@ -306,7 +306,7 @@ public class VirtualMachineManagerImpl extends ManagerBase 
implements VirtualMac
     @Inject
     DeploymentPlanningManager _dpMgr;
 
-    Map<VirtualMachine.Type, VirtualMachineGuru<? extends VMInstanceVO>> 
_vmGurus = new HashMap<VirtualMachine.Type, VirtualMachineGuru<? extends 
VMInstanceVO>>();
+    Map<VirtualMachine.Type, VirtualMachineGuru> _vmGurus = new 
HashMap<VirtualMachine.Type, VirtualMachineGuru>();
     protected StateMachine2<State, VirtualMachine.Event, VirtualMachine> 
_stateMachine;
 
     ScheduledExecutorService _executor = null;
@@ -322,23 +322,22 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
     protected boolean _forceStop;
 
     @Override
-    public <T extends VMInstanceVO> void registerGuru(VirtualMachine.Type 
type, VirtualMachineGuru<T> guru) {
+    public void registerGuru(VirtualMachine.Type type, VirtualMachineGuru 
guru) {
         synchronized (_vmGurus) {
             _vmGurus.put(type, guru);
         }
     }
     
     @Override
-    public Collection<VirtualMachineGuru<? extends VMInstanceVO>> 
getRegisteredGurus() {
+    public Collection<VirtualMachineGuru> getRegisteredGurus() {
        synchronized(_vmGurus) {
                return _vmGurus.values();
        }
     }
-   
+
     @Override
-    @SuppressWarnings("unchecked")
-    public <T extends VMInstanceVO> VirtualMachineGuru<T> getVmGuru(T vm) {
-        return (VirtualMachineGuru<T>) _vmGurus.get(vm.getType());
+    public VirtualMachineGuru getVmGuru(VirtualMachine vm) {
+        return _vmGurus.values().iterator().next();
     }
 
     @Override
@@ -358,12 +357,11 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         }
         assert (plan.getClusterId() == null && plan.getPoolId() == null) : "We 
currently don't support cluster and pool preset yet";
 
-        @SuppressWarnings("unchecked")
-        VirtualMachineGuru<T> guru = (VirtualMachineGuru<T>) 
_vmGurus.get(vm.getType());
+        VirtualMachineGuru guru = _vmGurus.get(vm.getType());
 
         Transaction txn = Transaction.currentTxn();
         txn.start();
-        vm = guru.persist(vm);
+//        vm = guru.persist(vm);
 
         if (s_logger.isDebugEnabled()) {
             s_logger.debug("Allocating nics for " + vm);
@@ -473,7 +471,7 @@ public class VirtualMachineManagerImpl extends ManagerBase 
implements VirtualMac
         List<VolumeVO> rootVol = _volsDao.findByInstanceAndType(vm.getId(), 
Volume.Type.ROOT);
         volumeMgr.cleanupVolumes(vm.getId());
 
-        VirtualMachineGuru<T> guru = getVmGuru(vm);
+        VirtualMachineGuru guru = getVmGuru(vm);
         guru.finalizeExpunge(vm);
         //remove the overcommit detials from the uservm details
         _uservmDetailsDao.deleteDetails(vm.getId());
@@ -675,12 +673,12 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
     */
 
     @DB
-    protected <T extends VMInstanceVO> Ternary<T, ReservationContext, 
VmWorkJobVO> changeToStartState(VirtualMachineGuru<T> vmGuru, T vm, User 
caller, Account account)
+    protected Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> 
changeToStartState(VirtualMachineGuru vmGuru, VMInstanceVO vm, User caller, 
Account account)
         throws ConcurrentOperationException {
        
         long vmId = vm.getId();
         
-        Ternary<T, ReservationContext, VmWorkJobVO> result = null;
+        Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> result = null;
         Transaction txn = Transaction.currentTxn();
         txn.start();
         try {
@@ -692,7 +690,7 @@ public class VirtualMachineManagerImpl extends ManagerBase 
implements VirtualMac
                    if (s_logger.isDebugEnabled()) {
                        s_logger.debug("Successfully transitioned to start 
state for " + vm + " reservation id = " + work.getId());
                    }
-                   result = new Ternary<T, ReservationContext, 
VmWorkJobVO>(vmGuru.findById(vmId), context, work);
+                result = new Ternary<VMInstanceVO, ReservationContext, 
VmWorkJobVO>(_vmDao.findById(vm.getId()), context, work);
                    txn.commit();
                    return result;
                }
@@ -812,10 +810,10 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
     @Override
     public <T extends VMInstanceVO> T processVmStartWork(T vm, 
Map<VirtualMachineProfile.Param, Object> params, User caller, Account account, 
DeploymentPlan planToDeploy)
             throws InsufficientCapacityException, 
ConcurrentOperationException, ResourceUnavailableException {
-        VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
-        vm = vmGuru.findById(vm.getId());
+        VirtualMachineGuru vmGuru = getVmGuru(vm);
+        VMInstanceVO vm2 = _vmDao.findById(vm.getId());
   
-        Ternary<T, ReservationContext, VmWorkJobVO> start = 
changeToStartState(vmGuru, vm, caller, account);
+        Ternary<VMInstanceVO, ReservationContext, VmWorkJobVO> start = 
changeToStartState(vmGuru, vm2, caller, account);
         assert(start != null);
 
         ReservationContext ctx = start.second();
@@ -1092,7 +1090,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         }
     }
 
-    protected <T extends VMInstanceVO> boolean sendStop(VirtualMachineGuru<T> 
guru, VirtualMachineProfile profile, boolean force) {
+    protected boolean sendStop(VirtualMachineGuru guru, VirtualMachineProfile 
profile, boolean force) {
         VirtualMachine vm = profile.getVirtualMachine();
         StopCommand stop = new StopCommand(vm);
         try {
@@ -1116,7 +1114,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         return true;
     }
 
-    protected <T extends VMInstanceVO> boolean cleanup(VirtualMachineGuru<T> 
guru, VirtualMachineProfile profile, VmWorkJobVO work, Event event, boolean 
force, User user,
+    protected boolean cleanup(VirtualMachineGuru guru, VirtualMachineProfile 
profile, VmWorkJobVO work, Event event, boolean force, User user,
             Account account) {
         VirtualMachine vm = profile.getVirtualMachine();
         State state = vm.getState();
@@ -1284,7 +1282,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
             return true;
         }
 
-        VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
+        VirtualMachineGuru vmGuru = getVmGuru(vm);
         VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
 
         try {
@@ -1649,10 +1647,10 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
 
     @Override
     public <T extends VMInstanceVO> T storageMigration(T vm, StoragePool 
destPool) {
-        VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
+        VirtualMachineGuru vmGuru = getVmGuru(vm);
 
         long vmId = vm.getId();
-        vm = vmGuru.findById(vmId);
+        VMInstanceVO vm2 = _vmDao.findById(vmId);
 
         try {
             stateTransitTo(vm, VirtualMachine.Event.StorageMigrationRequested, 
null);
@@ -1954,7 +1952,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
 
         HostVO srcHost = _hostDao.findById(srcHostId);
         HostVO destHost = _hostDao.findById(destHostId);
-        VirtualMachineGuru<T> vmGuru = getVmGuru(vm);
+        VirtualMachineGuru vmGuru = getVmGuru(vm);
 
         DataCenterVO dc = _dcDao.findById(destHost.getDataCenterId());
         HostPodVO pod = _podDao.findById(destHost.getPodId());
@@ -1963,7 +1961,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
 
         // Create a map of which volume should go in which storage pool.
         long vmId = vm.getId();
-        vm = vmGuru.findById(vmId);
+        VMInstanceVO vm2 = _vmDao.findById(vmId);
         VirtualMachineProfile profile = new VirtualMachineProfileImpl(vm);
         volumeToPool = getPoolListForVolumesForMigration(profile, destHost, 
volumeToPool);
 
@@ -2094,8 +2092,8 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
 
     @Override
     public boolean migrateAway(VirtualMachine.Type vmType, long vmId, long 
srcHostId) throws InsufficientServerCapacityException, 
VirtualMachineMigrationException {
-        VirtualMachineGuru<? extends VMInstanceVO> vmGuru = 
_vmGurus.get(vmType);
-        VMInstanceVO vm = vmGuru.findById(vmId);
+        VirtualMachineGuru vmGuru = _vmGurus.get(vmType);
+        VMInstanceVO vm = _vmDao.findById(vmId);
         if (vm == null) {
             s_logger.debug("Unable to find a VM for " + vmId);
             return true;
@@ -2255,8 +2253,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
 
     @Override
     public VMInstanceVO findByIdAndType(VirtualMachine.Type type, long vmId) {
-        VirtualMachineGuru<? extends VMInstanceVO> guru = _vmGurus.get(type);
-        return guru.findById(vmId);
+        return _vmDao.findById(vmId);
     }
 
     public Command cleanup(VirtualMachine vm) {
@@ -2526,25 +2523,19 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         if (newStates == null) {
             return map;
         }
-        Collection<VirtualMachineGuru<? extends VMInstanceVO>> vmGurus = 
_vmGurus.values();
+        Collection<VirtualMachineGuru> vmGurus = _vmGurus.values();
         boolean is_alien_vm = true;
         long alien_vm_count = -1;
         for (Map.Entry<String, Pair<String, State>> entry : 
newStates.entrySet()) {
             is_alien_vm = true;
-            for (VirtualMachineGuru<? extends VMInstanceVO> vmGuru : vmGurus) {
+            for (VirtualMachineGuru vmGuru : vmGurus) {
                 String name = entry.getKey();
-                VMInstanceVO vm = vmGuru.findByName(name);
+                VMInstanceVO vm = _vmDao.findVMByInstanceName(name);
                 if (vm != null) {
                     map.put(vm.getId(), new AgentVmInfo(entry.getKey(), 
vmGuru, vm, entry.getValue().second(), entry.getValue().first()));
                     is_alien_vm = false;
                     break;
                 }
-                Long id = vmGuru.convertToId(name);
-                if (id != null) {
-                    map.put(id, new AgentVmInfo(entry.getKey(), vmGuru, null, 
entry.getValue().second(), entry.getValue().first()));
-                    is_alien_vm = false;
-                    break;
-                }
             }
             // alien VMs
             if (is_alien_vm){
@@ -2590,24 +2581,18 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
             return map;
         }
 
-        Collection<VirtualMachineGuru<? extends VMInstanceVO>> vmGurus = 
_vmGurus.values();
+        Collection<VirtualMachineGuru> vmGurus = _vmGurus.values();
 
         for (Map.Entry<String, State> entry : states.entrySet()) {
-            for (VirtualMachineGuru<? extends VMInstanceVO> vmGuru : vmGurus) {
+            for (VirtualMachineGuru vmGuru : vmGurus) {
                 String name = entry.getKey();
 
-                VMInstanceVO vm = vmGuru.findByName(name);
+                VMInstanceVO vm = _vmDao.findVMByInstanceName(name);
 
                 if (vm != null) {
                     map.put(vm.getId(), new AgentVmInfo(entry.getKey(), 
vmGuru, vm, entry.getValue()));
                     break;
                 }
-
-                Long id = vmGuru.convertToId(name);
-                if (id != null) {
-                    map.put(id, new AgentVmInfo(entry.getKey(), vmGuru, 
null,entry.getValue()));
-                    break;
-                }
             }
         }
 
@@ -3042,18 +3027,18 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         public State state;
         public String hostUuid;
         public VMInstanceVO vm;
-        public VirtualMachineGuru<VMInstanceVO> guru;
+        public VirtualMachineGuru guru;
 
         @SuppressWarnings("unchecked")
-        public AgentVmInfo(String name, VirtualMachineGuru<? extends 
VMInstanceVO> guru, VMInstanceVO vm, State state, String host) {
+        public AgentVmInfo(String name, VirtualMachineGuru guru, VMInstanceVO 
vm, State state, String host) {
             this.name = name;
             this.state = state;
             this.vm = vm;
-            this.guru = (VirtualMachineGuru<VMInstanceVO>) guru;
+            this.guru = guru;
             hostUuid = host;
         }
 
-        public AgentVmInfo(String name, VirtualMachineGuru<? extends 
VMInstanceVO> guru, VMInstanceVO vm, State state) {
+        public AgentVmInfo(String name, VirtualMachineGuru guru, VMInstanceVO 
vm, State state) {
             this(name, guru, vm, state, null);
         }
 
@@ -3245,7 +3230,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
             NicTO nicTO = toNicTO(nic, 
vmProfile.getVirtualMachine().getHypervisorType());
 
             //4) plug the nic to the vm
-            VirtualMachineGuru<VMInstanceVO> vmGuru = getVmGuru(vmVO);
+            VirtualMachineGuru vmGuru = getVmGuru(vmVO);
 
             s_logger.debug("Plugging nic for vm " + vm + " in network " + 
network);
             
@@ -3300,7 +3285,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         DataCenter dc = _configMgr.getZone(network.getDataCenterId());
         Host host = _hostDao.findById(vm.getHostId());
         DeployDestination dest = new DeployDestination(dc, null, null, host);
-        VirtualMachineGuru<VMInstanceVO> vmGuru = getVmGuru(vmVO);
+        VirtualMachineGuru vmGuru = getVmGuru(vmVO);
         HypervisorGuru hvGuru = 
_hvGuruMgr.getGuru(vmProfile.getVirtualMachine().getHypervisorType());
         VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
 
@@ -3364,7 +3349,7 @@ public class VirtualMachineManagerImpl extends 
ManagerBase implements VirtualMac
         DataCenter dc = _configMgr.getZone(network.getDataCenterId());
         Host host = _hostDao.findById(vm.getHostId());
         DeployDestination dest = new DeployDestination(dc, null, null, host);
-        VirtualMachineGuru<VMInstanceVO> vmGuru = getVmGuru(vmVO);
+        VirtualMachineGuru vmGuru = getVmGuru(vmVO);
         HypervisorGuru hvGuru = 
_hvGuruMgr.getGuru(vmProfile.getVirtualMachine().getHypervisorType());
         VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/vm/VirtualMachinePowerStateSyncImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/VirtualMachinePowerStateSyncImpl.java 
b/server/src/com/cloud/vm/VirtualMachinePowerStateSyncImpl.java
index 5eb4117..96ecd7d 100644
--- a/server/src/com/cloud/vm/VirtualMachinePowerStateSyncImpl.java
+++ b/server/src/com/cloud/vm/VirtualMachinePowerStateSyncImpl.java
@@ -5,7 +5,7 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing,
@@ -16,16 +16,16 @@
 // under the License.
 package com.cloud.vm;
 
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
 import javax.inject.Inject;
 
+import org.apache.log4j.Logger;
+
 import org.apache.cloudstack.framework.messagebus.MessageBus;
 import org.apache.cloudstack.framework.messagebus.PublishScope;
 import org.apache.cloudstack.messagebus.TopicConstants;
-import org.apache.log4j.Logger;
 
 import com.cloud.agent.api.HostVmStateReportEntry;
 import com.cloud.vm.VirtualMachine.PowerState;
@@ -100,7 +100,7 @@ public class VirtualMachinePowerStateSyncImpl implements 
VirtualMachinePowerStat
         return map;
     }
            
-    private Map<Long, VirtualMachine.PowerState> convertToInfos(Map<String, 
HostVmStateReportEntry> states) { 
+    private Map<Long, VirtualMachine.PowerState> convertToInfos(Map<String, 
HostVmStateReportEntry> states) {
         final HashMap<Long, VirtualMachine.PowerState> map = new HashMap<Long, 
VirtualMachine.PowerState>();
         if (states == null) {
             return map;
@@ -120,20 +120,21 @@ public class VirtualMachinePowerStateSyncImpl implements 
VirtualMachinePowerStat
     }
     
     private VMInstanceVO findVM(String vmName) {
-        Collection<VirtualMachineGuru<? extends VMInstanceVO>> vmGurus = 
_vmMgr.getRegisteredGurus();
-
-        for (VirtualMachineGuru<? extends VMInstanceVO> vmGuru : vmGurus) {
-            VMInstanceVO vm = vmGuru.findByName(vmName);
-            if (vm != null)
-                return vm;
-            
-            Long id = vmGuru.convertToId(vmName);
-            if (id != null) {
-               vm = vmGuru.findById(id);
-               if(vm != null)
-                       return vm;
-            }
-        }
-        return null;
+        return _instanceDao.findVMByInstanceName(vmName);
+//        Collection<VirtualMachineGuru> vmGurus = _vmMgr.getRegisteredGurus();
+//
+//        for (VirtualMachineGuru vmGuru : vmGurus) {
+//            VMInstanceVO vm = vmGuru.findByName(vmName);
+//            if (vm != null)
+//                return vm;
+//
+//            Long id = vmGuru.convertToId(vmName);
+//            if (id != null) {
+//             vm = vmGuru.findById(id);
+//             if(vm != null)
+//                     return vm;
+//            }
+//        }
+//        return null;
     }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/src/com/cloud/vm/VmWorkJobDispatcher.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/vm/VmWorkJobDispatcher.java 
b/server/src/com/cloud/vm/VmWorkJobDispatcher.java
index 6303ab5..40ab0df 100644
--- a/server/src/com/cloud/vm/VmWorkJobDispatcher.java
+++ b/server/src/com/cloud/vm/VmWorkJobDispatcher.java
@@ -68,7 +68,7 @@ public class VmWorkJobDispatcher extends AdapterBase 
implements AsyncJobDispatch
             // to solve the problem, we have to go through an instantiated 
VirtualMachineGuru so that it can carry
             // down correct type back to VirtualMachineManagerImpl. It is sad 
that we have to write code like this
             //
-            VirtualMachineGuru<VMInstanceVO> guru = _vmMgr.getVmGuru(vm);
+            VirtualMachineGuru guru = _vmMgr.getVmGuru(vm);
             assert(guru != null);
             if(guru == null) {
                s_logger.error("Unable to find virtual Guru for VM type: " + 
vm.getType());
@@ -94,7 +94,7 @@ public class VmWorkJobDispatcher extends AdapterBase 
implements AsyncJobDispatch
         }
        }
        
-       private Method getHandler(VirtualMachineGuru<?> guru, String cmd) {
+    private Method getHandler(VirtualMachineGuru guru, String cmd) {
                
                synchronized(_handlerMap) {
                        Class<?> clz = guru.getClass();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/test/com/cloud/vm/MockUserVmManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/MockUserVmManagerImpl.java 
b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
index ff115af..d74e50a 100644
--- a/server/test/com/cloud/vm/MockUserVmManagerImpl.java
+++ b/server/test/com/cloud/vm/MockUserVmManagerImpl.java
@@ -44,12 +44,9 @@ import 
org.apache.cloudstack.api.command.user.vm.UpgradeVMCmd;
 import org.apache.cloudstack.api.command.user.vmgroup.CreateVMGroupCmd;
 import org.apache.cloudstack.api.command.user.vmgroup.DeleteVMGroupCmd;
 
-import com.cloud.agent.api.StopAnswer;
 import com.cloud.agent.api.VmStatsEntry;
-import com.cloud.agent.manager.Commands;
 import com.cloud.api.query.vo.UserVmJoinVO;
 import com.cloud.dc.DataCenter;
-import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ConcurrentOperationException;
 import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.exception.InvalidParameterValueException;
@@ -79,66 +76,6 @@ import com.cloud.utils.exception.ExecutionException;
 public class MockUserVmManagerImpl extends ManagerBase implements 
UserVmManager, UserVmService {
 
     @Override
-    public UserVmVO findByName(String name) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public UserVmVO findById(long id) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public UserVmVO persist(UserVmVO vm) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public boolean finalizeVirtualMachineProfile(VirtualMachineProfile 
profile, DeployDestination dest, ReservationContext context) {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
-    public boolean finalizeDeployment(Commands cmds, VirtualMachineProfile 
profile, DeployDestination dest, ReservationContext context) throws 
ResourceUnavailableException {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
-    public boolean finalizeStart(VirtualMachineProfile profile, long hostId, 
Commands cmds, ReservationContext context) {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
-    public boolean finalizeCommandsOnStart(Commands cmds, 
VirtualMachineProfile profile) {
-        // TODO Auto-generated method stub
-        return false;
-    }
-
-    @Override
-    public void finalizeStop(VirtualMachineProfile profile, StopAnswer answer) 
{
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public void finalizeExpunge(UserVmVO vm) {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public Long convertToId(String vmName) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
     public List<? extends UserVm> getVirtualMachines(long hostId) {
         // TODO Auto-generated method stub
         return null;
@@ -417,22 +354,8 @@ public class MockUserVmManagerImpl extends ManagerBase 
implements UserVmManager,
     }
 
     @Override
-    public void prepareStop(VirtualMachineProfile profile) {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
     public UserVm resetVMSSHKey(ResetVMSSHKeyCmd cmd) throws 
ResourceUnavailableException, InsufficientCapacityException {
         // TODO Auto-generated method stub
         return null;
     }
-    
-    @Override
-    public void vmWorkStart(VmWork work) {
-    }
-    
-    @Override
-    public void vmWorkStop(VmWork work) {
-    }
 }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java 
b/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
index 8a5e3ae..b41e58c 100644
--- a/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
+++ b/server/test/com/cloud/vm/VirtualMachineManagerImplTest.java
@@ -310,10 +310,10 @@ public class VirtualMachineManagerImplTest {
         doNothing().when(_work).setStep(ItWorkVO.Step.Done);
 
         // Mock the vm guru and the user vm object that gets returned.
-        _vmMgr._vmGurus = new HashMap<VirtualMachine.Type, 
VirtualMachineGuru<? extends VMInstanceVO>>();
+        _vmMgr._vmGurus = new HashMap<VirtualMachine.Type, 
VirtualMachineGuru>();
         UserVmManagerImpl userVmManager = mock(UserVmManagerImpl.class);
         _vmMgr.registerGuru(VirtualMachine.Type.User, userVmManager);
-        when(userVmManager.findById(anyLong())).thenReturn(_vmMock);
+//        when(userVmManager.findById(anyLong())).thenReturn(_vmMock);
 
         // Mock the iteration over all the volumes of an instance.
         Iterator<VolumeVO> volumeIterator = mock(Iterator.class);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/5145c3cb/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java 
b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
index 869a8be..162f34f 100644
--- a/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
+++ b/server/test/com/cloud/vm/VmWorkMockVirtualMachineManagerImpl.java
@@ -184,20 +184,19 @@ public class VmWorkMockVirtualMachineManagerImpl 
implements VirtualMachineManage
        }
 
        @Override
-       public <T extends VMInstanceVO> void registerGuru(Type type,
-                       VirtualMachineGuru<T> guru) {
+    public void registerGuru(Type type, VirtualMachineGuru guru) {
                // TODO Auto-generated method stub
                
        }
 
        @Override
-       public Collection<VirtualMachineGuru<? extends VMInstanceVO>> 
getRegisteredGurus() {
+    public Collection<VirtualMachineGuru> getRegisteredGurus() {
                // TODO Auto-generated method stub
                return null;
        }
        
     @Override
-    public <T extends VMInstanceVO> VirtualMachineGuru<T> getVmGuru(T vm) {
+    public VirtualMachineGuru getVmGuru(VirtualMachine vm) {
                // TODO Auto-generated method stub
        return null;
     }

Reply via email to