/**
*
*/
package org.ovirt.engine.core.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.lang.NotImplementedException;
import org.ovirt.engine.core.common.businessentities.DiskImageTemplate;
import org.ovirt.engine.core.compat.Guid;
import org.ovirt.engine.core.dal.dbbroker.DbFacadeUtils;
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.simple.ParameterizedRowMapper;
/**
* DiskImageTemplate jdbc template DAO implementation
*/
public class DiskImageTemplateDAODbFacadeImpl extends BaseDAODbFacade implements DiskImageTemplateDAO {
/**
*
*/
public DiskImageTemplateDAODbFacadeImpl() {
}
/*
* (non-Javadoc)
*
* @see org.ovirt.engine.core.dao.ReadDao#get(java.io.Serializable)
*/
@Override
public DiskImageTemplate get(Guid id) {
MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource()
.addValue("it_guid", id);
ParameterizedRowMapper<DiskImageTemplate> mapper = new ParameterizedRowMapper<DiskImageTemplate>() {
@Override
public DiskImageTemplate mapRow(ResultSet rs, int rowNum)
throws SQLException {
DiskImageTemplate entity = new DiskImageTemplate();
entity.setvtim_it_guid(Guid.createGuidFromString(rs
.getString("vtim_it_guid")));
entity.setvmt_guid(Guid.createGuidFromString(rs
.getString("vmt_guid")));
entity.setinternal_drive_mapping(rs
.getString("internal_drive_mapping"));
entity.setit_guid(Guid.createGuidFromString(rs
.getString("it_guid")));
entity.setos(rs.getString("os"));
entity.setos_version(rs.getString("os_version"));
entity.setcreation_date(DbFacadeUtils.fromDate(rs
.getTimestamp("creation_date")));
entity.setsize(rs.getLong("size"));
entity.setbootable((Boolean) rs.getObject("bootable"));
entity.setdescription(rs.getString("description"));
return entity;
}
};
return getCallsHandler().executeRead("GetVmTemplateDisksByImageTemplateGuid", mapper, parameterSource);
}
/*
* (non-Javadoc)
*
* @see org.ovirt.engine.core.dao.ReadDao#getAll()
*/
@Override
public List<DiskImageTemplate> getAll() {
throw new NotImplementedException();
}
/*
* (non-Javadoc)
*
* @see org.ovirt.engine.core.dao.ModificationDao#save(org.ovirt.engine.core.common.businessentities.BusinessEntity)
*/
@Override
public void save(DiskImageTemplate template) {
MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource()
.addValue("creation_date", template.getcreation_date())
.addValue("description", template.getdescription())
.addValue("it_guid", template.getit_guid())
.addValue("vtim_it_guid", template.getvtim_it_guid())
.addValue("size", template.getsize())
.addValue("os", template.getos())
.addValue("os_version", template.getos_version())
.addValue("bootable", template.getbootable())
.addValue("vmt_guid", template.getvmt_guid())
.addValue("internal_drive_mapping",
template.getinternal_drive_mapping());
getCallsHandler().executeModification("InsertVmTemplateDisk", parameterSource);
}
/*
* (non-Javadoc)
*
* @see org.ovirt.engine.core.dao.ModificationDao#update(org.ovirt.engine.core.common.businessentities.BusinessEntity)
*/
@Override
public void update(DiskImageTemplate template) {
MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource()
.addValue("creation_date", template.getcreation_date())
.addValue("description", template.getdescription())
.addValue("it_guid", template.getit_guid())
.addValue("vtim_it_guid", template.getvtim_it_guid())
.addValue("size", template.getsize())
.addValue("os", template.getos())
.addValue("os_version", template.getos_version())
.addValue("bootable", template.getbootable())
.addValue("vmt_guid", template.getvmt_guid())
.addValue("internal_drive_mapping",
template.getinternal_drive_mapping());
getCallsHandler().executeModification("UpdateVmTemplateDisk", parameterSource);
}
/*
* (non-Javadoc)
*
* @see org.ovirt.engine.core.dao.ModificationDao#remove(java.io.Serializable)
*/
@Override
public void remove(Guid diskImageTemplate) {
MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource()
.addValue("it_guid", diskImageTemplate);
getCallsHandler().executeModification("DeleteVmTemplateDisk", parameterSource);
}
@Override
public DiskImageTemplate getByVmTemplateAndId(Guid vm, Guid vmTemplate) {
MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource()
.addValue("vmt_guid", vm).addValue("it_guid", vmTemplate);
ParameterizedRowMapper<DiskImageTemplate> mapper = new ParameterizedRowMapper<DiskImageTemplate>() {
@Override
public DiskImageTemplate mapRow(ResultSet rs, int rowNum)
throws SQLException {
DiskImageTemplate entity = new DiskImageTemplate();
entity.setvtim_it_guid(Guid.createGuidFromString(rs
.getString("vtim_it_guid")));
entity.setvmt_guid(Guid.createGuidFromString(rs
.getString("vmt_guid")));
entity.setinternal_drive_mapping(rs
.getString("internal_drive_mapping"));
entity.setit_guid(Guid.createGuidFromString(rs
.getString("it_guid")));
entity.setos(rs.getString("os"));
entity.setos_version(rs.getString("os_version"));
entity.setcreation_date(DbFacadeUtils.fromDate(rs
.getTimestamp("creation_date")));
entity.setsize(rs.getLong("size"));
entity.setbootable((Boolean) rs.getObject("bootable"));
entity.setdescription(rs.getString("description"));
return entity;
}
};
return getCallsHandler().executeRead("GetVmTemplateDiskByVmtGuidAndItGuid", mapper, parameterSource);
}
@SuppressWarnings("unchecked")
@Override
public List<DiskImageTemplate> getAllByVmTemplate(Guid id) {
MapSqlParameterSource parameterSource = getCustomMapSqlParameterSource()
.addValue("vmt_guid", id);
ParameterizedRowMapper<DiskImageTemplate> mapper = new ParameterizedRowMapper<DiskImageTemplate>() {
@Override
public DiskImageTemplate mapRow(ResultSet rs, int rowNum)
throws SQLException {
DiskImageTemplate entity = new DiskImageTemplate();
entity.setvtim_it_guid(Guid.createGuidFromString(rs
.getString("vtim_it_guid")));
entity.setvmt_guid(Guid.createGuidFromString(rs
.getString("vmt_guid")));
entity.setinternal_drive_mapping(rs
.getString("internal_drive_mapping"));
entity.setit_guid(Guid.createGuidFromString(rs
.getString("it_guid")));
entity.setos(rs.getString("os"));
entity.setos_version(rs.getString("os_version"));
entity.setcreation_date(DbFacadeUtils.fromDate(rs
.getTimestamp("creation_date")));
entity.setsize(rs.getLong("size"));
entity.setbootable((Boolean) rs.getObject("bootable"));
entity.setdescription(rs.getString("description"));
return entity;
}
};
return getCallsHandler().executeReadList("GetVmTemplateDisksByVmtGuid", mapper, parameterSource);
}
}