package org.openslx.imagemaster.db;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.openslx.imagemaster.thrift.iface.ImageData;
public class DbImage
{
private String UUID;
public DbImage(String UUID)
{
this.UUID = UUID;
}
/**
* Check if image with imageData already exists. (Only checks the UUID.)
*
* @param imageData
* @return
*/
public static boolean exists( ImageData imageData )
{
if ( MySQL.findUniqueOrNull( DbImage.class,
"SELECT images.UUID FROM images WHERE images.UUID = ?",
imageData.uuid ) == null ) {
return false;
} else {
return true;
}
}
public static int insert( ImageData imageData )
{
Date createTime = new Date( imageData.imageCreateTime );
Date updateTime = new Date( imageData.imageUpdateTime );
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
int ownerId = DbUser.getUserIdByName( imageData.imageOwner );
return MySQL
.update(
"INSERT INTO images (UUID, image_version, image_name, image_path, image_createTime, image_updateTime, image_owner, content_operatingSystem, status_isValid, status_isDeleted, image_shortDescription, image_longDescription) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
imageData.uuid, imageData.imageVersion, imageData.imageName, "!uploading!",
sdf.format( createTime ), sdf.format( updateTime ), ownerId,
imageData.conentOperatingSystem, imageData.statusIsValid,
imageData.statusIsDeleted, imageData.imageShortDescription,
imageData.imageLongDescription );
}
public String getUUID()
{
return this.UUID;
}
public static int update( ImageData imageData, String location )
{
return MySQL.update( "UPDATE images SET images.image_path = ? WHERE images.UUID = ?", location, imageData.uuid );
}
public static int delete( ImageData imageData )
{
return MySQL.update( "DELETE FROM images WHERE images.UUID=?", imageData.uuid );
}
}