Martin Betak has uploaded a new change for review.

Change subject: dal: Refactor VmDaoDbFacadeImpl row mapping
......................................................................

dal: Refactor VmDaoDbFacadeImpl row mapping

Make VmRowMapper delegate to Vm{Static,Dynamic,Statistics}RowMapper
for suitable fields and remove duplication.

It was necessary to rename some of the columns in the vms and
vms_with_tags views to match those used in vm_static to make the
delegation possible.

Change-Id: Ifa158b5d7a37661cf4c1cc1f01ea4db062a8e11f
Signed-off-by: Martin Betak <[email protected]>
---
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
M 
backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
M packaging/dbscripts/create_views.sql
7 files changed, 99 insertions(+), 225 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/70/29670/1

diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
index 5a83bbf..fdb7f73 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmBaseDaoDbFacade.java
@@ -80,6 +80,7 @@
             entity.setMemSizeMb(rs.getInt("mem_size_mb"));
             entity.setOsId(rs.getInt("os"));
             entity.setNumOfMonitors(rs.getInt("num_of_monitors"));
+            
entity.setAllowConsoleReconnect(rs.getBoolean("allow_console_reconnect"));
             entity.setSingleQxlPci(rs.getBoolean("single_qxl_pci"));
             
entity.setDefaultDisplayType(DisplayType.forValue(rs.getInt("default_display_type")));
             entity.setDescription(rs.getString("description"));
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
index de39160..d9e4cfa 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDAODbFacadeImpl.java
@@ -9,25 +9,10 @@
 
 import org.apache.commons.lang.StringUtils;
 import org.ovirt.engine.core.common.businessentities.ArchitectureType;
-import org.ovirt.engine.core.common.businessentities.BootSequence;
-import org.ovirt.engine.core.common.businessentities.DisplayType;
-import org.ovirt.engine.core.common.businessentities.MigrationSupport;
-import org.ovirt.engine.core.common.businessentities.NumaTuneMode;
-import org.ovirt.engine.core.common.businessentities.OriginType;
 import org.ovirt.engine.core.common.businessentities.QuotaEnforcementTypeEnum;
-import org.ovirt.engine.core.common.businessentities.SerialNumberPolicy;
-import org.ovirt.engine.core.common.businessentities.SessionState;
-import org.ovirt.engine.core.common.businessentities.SsoMethod;
-import org.ovirt.engine.core.common.businessentities.UsbPolicy;
 import org.ovirt.engine.core.common.businessentities.VM;
-import org.ovirt.engine.core.common.businessentities.VMStatus;
 import org.ovirt.engine.core.common.businessentities.VmDevice;
-import org.ovirt.engine.core.common.businessentities.VmExitReason;
-import org.ovirt.engine.core.common.businessentities.VmExitStatus;
-import org.ovirt.engine.core.common.businessentities.VmPauseStatus;
-import org.ovirt.engine.core.common.businessentities.VmType;
 import org.ovirt.engine.core.common.utils.Pair;
-import org.ovirt.engine.core.common.utils.customprop.VmPropertiesUtils;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.Version;
 import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils;
@@ -309,18 +294,12 @@
         public VM mapRow(ResultSet rs, int rowNum) throws SQLException {
 
             VM entity = new VM();
-            entity.setId(getGuidDefaultEmpty(rs, "vm_guid"));
-            entity.setName(rs.getString("vm_name"));
-            entity.setQuotaId(getGuid(rs, "quota_id"));
+            
entity.setStaticData(VmStaticDAODbFacadeImpl.getRowMapper().mapRow(rs, rowNum));
+            
entity.setDynamicData(VmDynamicDAODbFacadeImpl.getRowMapper().mapRow(rs, 
rowNum));
+            
entity.setStatisticsData(VmStatisticsDaoDbFacadeImpl.getRowMapper().mapRow(rs, 
rowNum));
+
             entity.setQuotaName(rs.getString("quota_name"));
             
entity.setQuotaEnforcementType(QuotaEnforcementTypeEnum.forValue(rs.getInt("quota_enforcement_type")));
-            entity.setVmMemSizeMb(rs.getInt("vm_mem_size_mb"));
-            entity.setVmtGuid(getGuidDefaultEmpty(rs, "vmt_guid"));
-            entity.setVmOs(rs.getInt("vm_os"));
-            entity.setVmDescription(rs.getString("vm_description"));
-            entity.setVdsGroupId(getGuidDefaultEmpty(rs, "vds_group_id"));
-            entity.setComment(rs.getString("vm_comment"));
-            
entity.setVmCreationDate(DbFacadeUtils.fromDate(rs.getTimestamp("vm_creation_date")));
             entity.setVdsGroupName(rs.getString("vds_group_name"));
             
entity.setVdsGroupDescription(rs.getString("vds_group_description"));
             entity.setVmtName(rs.getString("vmt_name"));
@@ -332,122 +311,19 @@
             entity.setVmtNumOfSockets(rs.getInt("vmt_num_of_sockets"));
             entity.setVmtCpuPerSocket(rs.getInt("vmt_cpu_per_socket"));
             entity.setVmtDescription(rs.getString("vmt_description"));
-            entity.setStatus(VMStatus.forValue(rs.getInt("status")));
-            entity.setVmIp(rs.getString("vm_ip"));
-            entity.setVmFQDN(rs.getString("vm_fqdn"));
-            entity.setVmHost(rs.getString("vm_host"));
-            entity.setVmPid((Integer) rs.getObject("vm_pid"));
-            entity.setDbGeneration(rs.getLong("db_generation"));
-            
entity.setLastStartTime(DbFacadeUtils.fromDate(rs.getTimestamp("last_start_time")));
-            
entity.setLastStopTime(DbFacadeUtils.fromDate(rs.getTimestamp("last_stop_time")));
-            
entity.setGuestCurrentUserName(rs.getString("guest_cur_user_name"));
-            
entity.setConsoleCurrentUserName(rs.getString("console_cur_user_name"));
-            
entity.setGuestLastLoginTime(DbFacadeUtils.fromDate(rs.getTimestamp("guest_last_login_time")));
-            
entity.setGuestLastLogoutTime(DbFacadeUtils.fromDate(rs.getTimestamp("guest_last_logout_time")));
-            entity.setConsoleUserId(getGuid(rs, "console_user_id"));
-            entity.setGuestOs(rs.getString("guest_os"));
-            entity.setCpuUser(rs.getDouble("cpu_user"));
-            entity.setCpuSys(rs.getDouble("cpu_sys"));
-            entity.setElapsedTime(rs.getDouble("elapsed_time"));
-            entity.setUsageNetworkPercent((Integer) 
rs.getObject("usage_network_percent"));
-            entity.setUsageMemPercent((Integer) 
rs.getObject("usage_mem_percent"));
-            entity.setUsageCpuPercent((Integer) 
rs.getObject("usage_cpu_percent"));
-            entity.setMigrationProgressPercent((Integer) 
rs.getObject("migration_progress_percent"));
-            entity.setRunOnVds(getGuid(rs, "run_on_vds"));
-            entity.setMigratingToVds(getGuid(rs, "migrating_to_vds"));
-            entity.setAppList(rs.getString("app_list"));
-            entity.setDisplay((Integer) rs.getObject("display"));
             entity.setVmPoolName(rs.getString("vm_pool_name"));
             entity.setVmPoolId(getGuid(rs, "vm_pool_id"));
-            entity.setNumOfMonitors(rs.getInt("num_of_monitors"));
-            entity.setSingleQxlPci(rs.getBoolean("single_qxl_pci"));
-            
entity.setAllowConsoleReconnect(rs.getBoolean("allow_console_reconnect"));
-            entity.setInitialized(rs.getBoolean("is_initialized"));
-            entity.setNumOfSockets(rs.getInt("num_of_sockets"));
-            entity.setCpuPerSocket(rs.getInt("cpu_per_socket"));
-            entity.setUsbPolicy(UsbPolicy.forValue(rs.getInt("usb_policy")));
-            entity.setAcpiEnable((Boolean) rs.getObject("acpi_enable"));
-            entity.setSession(SessionState.forValue(rs.getInt("session")));
-            entity.setDisplayIp(rs.getString("display_ip"));
-            
entity.setDisplayType(DisplayType.forValue(rs.getInt("display_type")));
-            entity.setKvmEnable((Boolean) rs.getObject("kvm_enable"));
-            
entity.setBootSequence(BootSequence.forValue(rs.getInt("boot_sequence")));
             entity.setRunOnVdsName(rs.getString("run_on_vds_name"));
-            entity.setTimeZone(rs.getString("time_zone"));
-            entity.setDisplaySecurePort((Integer) 
rs.getObject("display_secure_port"));
-            entity.setUtcDiff((Integer) rs.getObject("utc_diff"));
-            entity.setAutoStartup(rs.getBoolean("auto_startup"));
-            entity.setStateless(rs.getBoolean("is_stateless"));
-            entity.setSmartcardEnabled(rs.getBoolean("is_smartcard_enabled"));
-            entity.setDeleteProtected(rs.getBoolean("is_delete_protected"));
-            
entity.setSsoMethod(SsoMethod.fromString(rs.getString("sso_method")));
-            entity.setDedicatedVmForVds(getGuid(rs, "dedicated_vm_for_vds"));
-            entity.setFailBack(rs.getBoolean("fail_back"));
-            entity.setLastVdsRunOn(getGuid(rs, "last_vds_run_on"));
-            entity.setClientIp(rs.getString("client_ip"));
-            entity.setGuestRequestedMemory((Integer) 
rs.getObject("guest_requested_memory"));
             entity.setVdsGroupCpuName(rs.getString("vds_group_cpu_name"));
-            entity.setVmType(VmType.forValue(rs.getInt("vm_type")));
             entity.setStoragePoolId(getGuidDefaultEmpty(rs, 
"storage_pool_id"));
             entity.setStoragePoolName(rs.getString("storage_pool_name"));
             
entity.setTransparentHugePages(rs.getBoolean("transparent_hugepages"));
-            entity.setNiceLevel(rs.getInt("nice_level"));
-            entity.setCpuShares(rs.getInt("cpu_shares"));
-            
entity.setHibernationVolHandle(rs.getString("hibernation_vol_handle"));
-            
entity.setDefaultBootSequence(BootSequence.forValue(rs.getInt("default_boot_sequence")));
-            
entity.setDefaultDisplayType(DisplayType.forValue(rs.getInt("default_display_type")));
-            entity.setPriority(rs.getInt("priority"));
-            entity.setIsoPath(rs.getString("iso_path"));
-            entity.setOrigin(OriginType.forValue(rs.getInt("origin")));
-            entity.setInitrdUrl(rs.getString("initrd_url"));
-            entity.setKernelUrl(rs.getString("kernel_url"));
-            entity.setKernelParams(rs.getString("kernel_params"));
             entity.setVdsGroupCompatibilityVersion(new 
Version(rs.getString("vds_group_compatibility_version")));
-            entity.setExitMessage(rs.getString("exit_message"));
-            
entity.setExitStatus(VmExitStatus.forValue(rs.getInt("exit_status")));
-            
entity.setVmPauseStatus(VmPauseStatus.forValue(rs.getInt("pause_status")));
-            
entity.setMigrationSupport(MigrationSupport.forValue(rs.getInt("migration_support")));
-            String predefinedProperties = 
rs.getString("predefined_properties");
-            String userDefinedProperties = 
rs.getString("userdefined_properties");
-            entity.setPredefinedProperties(predefinedProperties);
-            entity.setUserDefinedProperties(userDefinedProperties);
-            
entity.setCustomProperties(VmPropertiesUtils.getInstance().customProperties(predefinedProperties,
-                    userDefinedProperties));
-            entity.setMinAllocatedMem(rs.getInt("min_allocated_mem"));
-            entity.setHash(rs.getString("hash"));
-            entity.setCpuPinning(rs.getString("cpu_pinning"));
-            entity.setUseHostCpuFlags(rs.getBoolean("host_cpu_flags"));
-            entity.setGuestAgentNicsHash(rs.getInt("guest_agent_nics_hash"));
-            entity.setTunnelMigration((Boolean) 
rs.getObject("tunnel_migration"));
-            
entity.setDefaultVncKeyboardLayout(rs.getString("vnc_keyboard_layout"));
-            entity.setRunAndPause(rs.getBoolean("is_run_and_pause"));
-            entity.setLastWatchdogEvent(getLong(rs, "last_watchdog_event"));
             entity.setTrustedService(rs.getBoolean("trusted_service"));
-            entity.setRunOnce(rs.getBoolean("is_run_once"));
-            entity.setCreatedByUserId(getGuid(rs, "created_by_user_id"));
-            entity.setCpuName(rs.getString("cpu_name"));
-            
entity.setInstanceTypeId(Guid.createGuidFromString(rs.getString("instance_type_id")));
-            
entity.setImageTypeId(Guid.createGuidFromString(rs.getString("image_type_id")));
             
entity.setClusterArch(ArchitectureType.forValue(rs.getInt("architecture")));
-            
entity.setOriginalTemplateName(rs.getString("original_template_name"));
-            entity.setOriginalTemplateGuid(getGuid(rs, 
"original_template_id"));
             entity.setVmPoolSpiceProxy(rs.getString("vm_pool_spice_proxy"));
             
entity.setVdsGroupSpiceProxy(rs.getString("vds_group_spice_proxy"));
-            entity.setMigrationDowntime((Integer) 
rs.getObject("migration_downtime"));
-            // if template_version_number is null it means use latest version
-            entity.setUseLatestVersion(rs.getObject("template_version_number") 
==
-                    
VmStaticDAODbFacadeImpl.USE_LATEST_VERSION_NUMBER_INDICATOR);
-            entity.setCurrentCd(rs.getString("current_cd"));
-            entity.setSerialNumberPolicy(SerialNumberPolicy.forValue((Integer) 
rs.getObject("serial_number_policy")));
-            entity.setCustomSerialNumber(rs.getString("custom_serial_number"));
-            entity.setStopReason(rs.getString("reason"));
-            
entity.setExitReason(VmExitReason.forValue(rs.getInt("exit_reason")));
-            entity.setBootMenuEnabled(rs.getBoolean("is_boot_menu_enabled"));
-            entity.setGuestCpuCount(rs.getInt("guest_cpu_count"));
             
entity.setNextRunConfigurationExists(rs.getBoolean("next_run_config_exists"));
-            
entity.setNumaTuneMode(NumaTuneMode.forValue(rs.getString("numatune_mode")));
-            
entity.setSpiceFileTransferEnabled(rs.getBoolean("is_spice_file_transfer_enabled"));
-            
entity.setSpiceCopyPasteEnabled(rs.getBoolean("is_spice_copy_paste_enabled"));
             return entity;
         }
     }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
index ecf7fb0..d225781 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmDynamicDAODbFacadeImpl.java
@@ -131,72 +131,65 @@
 
     @Override
     protected RowMapper<VmDynamic> createEntityRowMapper() {
-        return new RowMapper<VmDynamic>() {
-            @Override
-            public VmDynamic mapRow(ResultSet rs, int rowNum)
-                    throws SQLException {
-                VmDynamic entity = new VmDynamic();
-                entity.setAppList(rs.getString("app_list"));
-                entity.setGuestCurrentUserName(rs
-                        .getString("guest_cur_user_name"));
-                entity.setConsoleCurrentUserName(rs
-                        .getString("console_cur_user_name"));
-                entity.setConsoleUserId(getGuid(rs, "console_user_id"));
-                entity.setGuestLastLoginTime(DbFacadeUtils.fromDate(rs
-                        .getTimestamp("guest_last_login_time")));
-                entity.setGuestLastLogoutTime(DbFacadeUtils.fromDate(rs
-                        .getTimestamp("guest_last_logout_time")));
-                entity.setGuestOs(rs.getString("guest_os"));
-                entity.setMigratingToVds(getGuid(rs, "migrating_to_vds"));
-                entity.setRunOnVds(getGuid(rs, "run_on_vds"));
-                entity.setStatus(VMStatus.forValue(rs.getInt("status")));
-                entity.setId(getGuidDefaultEmpty(rs, "vm_guid"));
-                entity.setVmHost(rs.getString("vm_host"));
-                entity.setVmIp(rs.getString("vm_ip"));
-                entity.setVmFQDN(rs.getString("vm_fqdn"));
-                entity.setLastStartTime(DbFacadeUtils.fromDate(rs
-                        .getTimestamp("last_start_time")));
-                entity.setLastStopTime(DbFacadeUtils.fromDate(rs
-                        .getTimestamp("last_stop_time")));
-                entity.setVmPid((Integer) rs.getObject("vm_pid"));
-                entity.setDisplay((Integer) rs.getObject("display"));
-                entity.setAcpiEnable((Boolean) rs.getObject("acpi_enable"));
-                entity.setSession(SessionState.forValue(rs.getInt("session")));
-                entity.setDisplayIp(rs.getString("display_ip"));
-                entity.setDisplayType(DisplayType.forValue(rs
-                        .getInt("display_type")));
-                entity.setKvmEnable((Boolean) rs.getObject("kvm_enable"));
-                entity.setBootSequence(BootSequence.forValue(rs
-                        .getInt("boot_sequence")));
-                entity.setDisplaySecurePort((Integer) rs
-                        .getObject("display_secure_port"));
-                entity.setUtcDiff((Integer) rs.getObject("utc_diff"));
-                entity.setLastVdsRunOn(getGuid(rs, "last_vds_run_on"));
-                entity.setClientIp(rs.getString("client_ip"));
-                entity.setGuestRequestedMemory((Integer) rs
-                        .getObject("guest_requested_memory"));
-                entity.setHibernationVolHandle(rs
-                        .getString("hibernation_vol_handle"));
-                VmExitStatus exitStatus = VmExitStatus.forValue(rs
-                        .getInt("exit_status"));
-                VmPauseStatus pauseStatus = VmPauseStatus.forValue(rs
-                        .getInt("pause_status"));
-                entity.setExitMessage(rs.getString("exit_message"));
-                entity.setExitStatus(exitStatus);
-                entity.setPauseStatus(pauseStatus);
-                entity.setHash(rs.getString("hash"));
-                
entity.setGuestAgentNicsHash(rs.getInt("guest_agent_nics_hash"));
-                entity.setLastWatchdogEvent(getLong(rs, 
"last_watchdog_event"));
-                
entity.setLastWatchdogAction(rs.getString("last_watchdog_action"));
-                entity.setRunOnce(rs.getBoolean("is_run_once"));
-                entity.setCpuName(rs.getString("cpu_name"));
-                entity.setCurrentCd(rs.getString("current_cd"));
-                entity.setStopReason(rs.getString("reason"));
-                VmExitReason exitReason = 
VmExitReason.forValue(rs.getInt("exit_reason"));
-                entity.setExitReason(exitReason);
-                entity.setGuestCpuCount(rs.getInt("guest_cpu_count"));
-                return entity;
-            }
-        };
+        return VmDynamicRowMapper.instance;
+    }
+
+    private static class VmDynamicRowMapper implements RowMapper<VmDynamic> {
+        public static final VmDynamicRowMapper instance = new 
VmDynamicRowMapper();
+
+        @Override
+        public VmDynamic mapRow(ResultSet rs, int rowNum) throws SQLException 
{VmDynamic entity = new VmDynamic();
+            entity.setAppList(rs.getString("app_list"));
+            
entity.setGuestCurrentUserName(rs.getString("guest_cur_user_name"));
+            
entity.setConsoleCurrentUserName(rs.getString("console_cur_user_name"));
+            entity.setConsoleUserId(getGuid(rs, "console_user_id"));
+            
entity.setGuestLastLoginTime(DbFacadeUtils.fromDate(rs.getTimestamp("guest_last_login_time")));
+            
entity.setGuestLastLogoutTime(DbFacadeUtils.fromDate(rs.getTimestamp("guest_last_logout_time")));
+            entity.setGuestOs(rs.getString("guest_os"));
+            entity.setMigratingToVds(getGuid(rs, "migrating_to_vds"));
+            entity.setRunOnVds(getGuid(rs, "run_on_vds"));
+            entity.setStatus(VMStatus.forValue(rs.getInt("status")));
+            entity.setId(getGuidDefaultEmpty(rs, "vm_guid"));
+            entity.setVmHost(rs.getString("vm_host"));
+            entity.setVmIp(rs.getString("vm_ip"));
+            entity.setVmFQDN(rs.getString("vm_fqdn"));
+            
entity.setLastStartTime(DbFacadeUtils.fromDate(rs.getTimestamp("last_start_time")));
+            
entity.setLastStopTime(DbFacadeUtils.fromDate(rs.getTimestamp("last_stop_time")));
+            entity.setVmPid((Integer) rs.getObject("vm_pid"));
+            entity.setDisplay((Integer) rs.getObject("display"));
+            entity.setAcpiEnable((Boolean) rs.getObject("acpi_enable"));
+            entity.setSession(SessionState.forValue(rs.getInt("session")));
+            entity.setDisplayIp(rs.getString("display_ip"));
+            
entity.setDisplayType(DisplayType.forValue(rs.getInt("display_type")));
+            entity.setKvmEnable((Boolean) rs.getObject("kvm_enable"));
+            
entity.setBootSequence(BootSequence.forValue(rs.getInt("boot_sequence")));
+            entity.setDisplaySecurePort((Integer) 
rs.getObject("display_secure_port"));
+            entity.setUtcDiff((Integer) rs.getObject("utc_diff"));
+            entity.setLastVdsRunOn(getGuid(rs, "last_vds_run_on"));
+            entity.setClientIp(rs.getString("client_ip"));
+            entity.setGuestRequestedMemory((Integer) 
rs.getObject("guest_requested_memory"));
+            
entity.setHibernationVolHandle(rs.getString("hibernation_vol_handle"));
+            VmExitStatus exitStatus = 
VmExitStatus.forValue(rs.getInt("exit_status"));
+            VmPauseStatus pauseStatus = 
VmPauseStatus.forValue(rs.getInt("pause_status"));
+            entity.setExitMessage(rs.getString("exit_message"));
+            entity.setExitStatus(exitStatus);
+            entity.setPauseStatus(pauseStatus);
+            entity.setHash(rs.getString("hash"));
+            entity.setGuestAgentNicsHash(rs.getInt("guest_agent_nics_hash"));
+            entity.setLastWatchdogEvent(getLong(rs, "last_watchdog_event"));
+            entity.setLastWatchdogAction(rs.getString("last_watchdog_action"));
+            entity.setRunOnce(rs.getBoolean("is_run_once"));
+            entity.setCpuName(rs.getString("cpu_name"));
+            entity.setCurrentCd(rs.getString("current_cd"));
+            entity.setStopReason(rs.getString("reason"));
+            VmExitReason exitReason = 
VmExitReason.forValue(rs.getInt("exit_reason"));
+            entity.setExitReason(exitReason);
+            entity.setGuestCpuCount(rs.getInt("guest_cpu_count"));
+            return entity;
+        }
+    }
+
+    protected static RowMapper<VmDynamic> getRowMapper() {
+        return VmDynamicRowMapper.instance;
     }
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
index 197f74a..982c989 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStaticDAODbFacadeImpl.java
@@ -188,4 +188,7 @@
         }
     }
 
+    public static RowMapper<VmStatic> getRowMapper() {
+        return VMStaticRowMapper.instance;
+    }
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
index 12e6054..bf13141 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmStatisticsDaoDbFacadeImpl.java
@@ -48,27 +48,29 @@
 
     @Override
     protected RowMapper<VmStatistics> createEntityRowMapper() {
-        return new RowMapper<VmStatistics>() {
-            @Override
-            public VmStatistics mapRow(ResultSet rs, int rowNum)
-                    throws SQLException {
-                VmStatistics entity = new VmStatistics();
-                entity.setcpu_sys(rs.getDouble("cpu_sys"));
-                entity.setcpu_user(rs.getDouble("cpu_user"));
-                entity.setelapsed_time(rs.getDouble("elapsed_time"));
-                entity.setusage_cpu_percent((Integer) rs
-                        .getObject("usage_cpu_percent"));
-                entity.setusage_mem_percent((Integer) rs
-                        .getObject("usage_mem_percent"));
-                entity.setMigrationProgressPercent(rs
-                        .getInt("migration_progress_percent"));
-                entity.setusage_network_percent((Integer) rs
-                        .getObject("usage_network_percent"));
-                entity.setDisksUsage((String) rs
-                        .getObject("disks_usage"));
-                entity.setId(getGuidDefaultEmpty(rs, "vm_guid"));
-                return entity;
-            }
-        };
+        return VmStatisticsRowMapper.instance;
+    }
+
+    private static class VmStatisticsRowMapper implements 
RowMapper<VmStatistics> {
+        public static final VmStatisticsRowMapper instance = new 
VmStatisticsRowMapper();
+
+        @Override
+        public VmStatistics mapRow(ResultSet rs, int rowNum) throws 
SQLException {
+            VmStatistics entity = new VmStatistics();
+            entity.setcpu_sys(rs.getDouble("cpu_sys"));
+            entity.setcpu_user(rs.getDouble("cpu_user"));
+            entity.setelapsed_time(rs.getDouble("elapsed_time"));
+            entity.setusage_cpu_percent((Integer) 
rs.getObject("usage_cpu_percent"));
+            entity.setusage_mem_percent((Integer) 
rs.getObject("usage_mem_percent"));
+            
entity.setMigrationProgressPercent(rs.getInt("migration_progress_percent"));
+            entity.setusage_network_percent((Integer) 
rs.getObject("usage_network_percent"));
+            entity.setDisksUsage((String) rs.getObject("disks_usage"));
+            entity.setId(getGuidDefaultEmpty(rs, "vm_guid"));
+            return entity;
+        }
+    }
+
+    protected static RowMapper<VmStatistics> getRowMapper() {
+        return VmStatisticsRowMapper.instance;
     }
 }
diff --git 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
index 9c5a3ea..3f5c041 100644
--- 
a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
+++ 
b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmTemplateDAODbFacadeImpl.java
@@ -239,7 +239,6 @@
             entity.setChildCount(rs.getInt("child_count"));
             entity.setName(rs.getString("name"));
             entity.setVdsGroupId(getGuid(rs, "vds_group_id"));
-            
entity.setAllowConsoleReconnect(rs.getBoolean("allow_console_reconnect"));
             entity.setStatus(VmTemplateStatus.forValue(rs.getInt("status")));
             entity.setVdsGroupName(rs.getString("vds_group_name"));
             entity.setStoragePoolId(getGuid(rs, "storage_pool_id"));
diff --git a/packaging/dbscripts/create_views.sql 
b/packaging/dbscripts/create_views.sql
index 5de1ed7..4ec47aa 100644
--- a/packaging/dbscripts/create_views.sql
+++ b/packaging/dbscripts/create_views.sql
@@ -613,9 +613,9 @@
 
 CREATE OR REPLACE VIEW vms
 AS
-SELECT     vm_static.vm_name as vm_name, vm_static.mem_size_mb as 
vm_mem_size_mb, vm_static.nice_level as nice_level, vm_static.cpu_shares as 
cpu_shares,
-                      vm_static.vmt_guid as vmt_guid, vm_static.os as vm_os, 
vm_static.description as vm_description, vm_static.free_text_comment as 
vm_comment, vm_static.vds_group_id as vds_group_id,
-                      vm_static.creation_date as vm_creation_date, 
vm_static.auto_startup as auto_startup, vm_static.is_stateless as is_stateless,
+SELECT     vm_static.vm_name as vm_name, vm_static.mem_size_mb as mem_size_mb, 
vm_static.nice_level as nice_level, vm_static.cpu_shares as cpu_shares,
+                      vm_static.vmt_guid as vmt_guid, vm_static.os as os, 
vm_static.description as description, vm_static.free_text_comment as 
free_text_comment, vm_static.vds_group_id as vds_group_id,
+                      vm_static.creation_date as creation_date, 
vm_static.auto_startup as auto_startup, vm_static.is_stateless as is_stateless,
                       vm_static.is_smartcard_enabled as is_smartcard_enabled, 
vm_static.is_delete_protected as is_delete_protected, vm_static.sso_method as 
sso_method, vm_static.dedicated_vm_for_vds as dedicated_vm_for_vds,
                       vm_static.fail_back as fail_back, 
vm_static.default_boot_sequence as default_boot_sequence, vm_static.vm_type as 
vm_type, vm_pool_map_view.vm_pool_spice_proxy as vm_pool_spice_proxy,
                       vds_groups.name as vds_group_name, 
vds_groups.transparent_hugepages as transparent_hugepages, 
vds_groups.trusted_service as trusted_service,
@@ -636,7 +636,7 @@
                       vm_dynamic.display_ip as display_ip, 
vm_dynamic.display_type as display_type, vm_dynamic.kvm_enable as kvm_enable, 
vm_dynamic.boot_sequence as boot_sequence,
                       vm_dynamic.display_secure_port as display_secure_port, 
vm_dynamic.utc_diff as utc_diff, vm_dynamic.last_vds_run_on as last_vds_run_on,
                                          vm_dynamic.client_ip as 
client_ip,vm_dynamic.guest_requested_memory as guest_requested_memory, 
vm_static.time_zone as time_zone, vm_statistics.cpu_user as cpu_user, 
vm_statistics.cpu_sys as cpu_sys,
-                      vm_statistics.elapsed_time as elapsed_time, 
vm_statistics.usage_network_percent as usage_network_percent,
+                      vm_statistics.elapsed_time as elapsed_time, 
vm_statistics.usage_network_percent as usage_network_percent, 
vm_statistics.disks_usage as disks_usage,
                       vm_statistics.usage_mem_percent as usage_mem_percent, 
vm_statistics.migration_progress_percent as migration_progress_percent, 
vm_statistics.usage_cpu_percent as usage_cpu_percent, vds_static.vds_name as 
run_on_vds_name, vds_groups.cpu_name as vds_group_cpu_name,
                       vm_static.default_display_type as default_display_type, 
vm_static.priority as priority,vm_static.iso_path as iso_path, vm_static.origin 
as origin, vds_groups.compatibility_version as vds_group_compatibility_version,
                       vm_static.initrd_url as initrd_url, vm_static.kernel_url 
as kernel_url, vm_static.kernel_params as kernel_params, 
vm_dynamic.pause_status as pause_status, vm_dynamic.exit_message as 
exit_message, vm_dynamic.exit_status as exit_status,vm_static.migration_support 
as migration_support,vm_static.predefined_properties as 
predefined_properties,vm_static.userdefined_properties as 
userdefined_properties,vm_static.min_allocated_mem as min_allocated_mem,  
vm_dynamic.hash as hash, vm_static.cpu_pinning as cpu_pinning, 
vm_static.db_generation as db_generation, vm_static.host_cpu_flags as 
host_cpu_flags,
@@ -666,8 +666,8 @@
 
 CREATE OR REPLACE VIEW vms_with_tags
 AS
-SELECT      vms.vm_name, vms.vm_mem_size_mb, vms.nice_level, vms.cpu_shares, 
vms.vmt_guid, vms.vm_os, vms.vm_description, vms.vm_comment,
-            vms.vds_group_id, vms.vm_creation_date, vms.auto_startup, 
vms.is_stateless, vms.is_smartcard_enabled, vms.is_delete_protected,
+SELECT      vms.vm_name, vms.mem_size_mb, vms.nice_level, vms.cpu_shares, 
vms.vmt_guid, vms.os, vms.description, vms.free_text_comment,
+            vms.vds_group_id, vms.creation_date, vms.auto_startup, 
vms.is_stateless, vms.is_smartcard_enabled, vms.is_delete_protected,
             vms.sso_method, vms.dedicated_vm_for_vds, vms.fail_back, 
vms.default_boot_sequence, vms.vm_type,
             vms.vds_group_name, vms.storage_pool_id, vms.storage_pool_name,
             vms.vds_group_description, vms.vmt_name, vms.vmt_mem_size_mb, 
vms.vmt_os, vms.vmt_creation_date,
@@ -681,7 +681,7 @@
             vms.session, vms.num_of_sockets * vms.cpu_per_socket AS 
num_of_cpus, vms.display_ip, vms.display_type,
             vms.kvm_enable, vms.boot_sequence, vms.display_secure_port, 
vms.utc_diff, vms.last_vds_run_on, vms.client_ip,
             vms.guest_requested_memory, vms.time_zone, vms.cpu_user, 
vms.cpu_sys, vms.elapsed_time,
-            vms.usage_network_percent, vms.usage_mem_percent, 
vms.migration_progress_percent, vms.usage_cpu_percent, vms.run_on_vds_name,
+            vms.usage_network_percent, vms.disks_usage, vms.usage_mem_percent, 
vms.migration_progress_percent, vms.usage_cpu_percent, vms.run_on_vds_name,
             vms.vds_group_cpu_name, tags_vm_map_view.tag_name, 
tags_vm_map_view.tag_id, vms.default_display_type, vms.priority,
             vms.vds_group_compatibility_version, vms.initrd_url, 
vms.kernel_url, vms.kernel_params, vms.pause_status,
             vms.exit_status, vms.exit_message, vms.min_allocated_mem, 
storage_domain_static.id AS storage_id,


-- 
To view, visit http://gerrit.ovirt.org/29670
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifa158b5d7a37661cf4c1cc1f01ea4db062a8e11f
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Betak <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to