git-svn-id: https://svn.coded.pt/svn/SIPRP@1246 bb69d46d-e84e-40c8-a05a-06db0d633741

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
Frederico Palma 16 years ago
parent d4af2fc129
commit 26e6fbcd4e

@ -0,0 +1,105 @@
package siprp.update.updates;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.util.Vector;
import javax.imageio.ImageIO;
import com.evolute.utils.Singleton;
import com.evolute.utils.arrays.Virtual2DArray;
import com.evolute.utils.db.DBManager;
import com.evolute.utils.db.Executer;
import com.evolute.utils.sql.Assignment;
import com.evolute.utils.sql.BlobUpdate;
import com.evolute.utils.sql.Field;
import com.evolute.utils.sql.Insert;
import com.evolute.utils.sql.Select2;
import com.evolute.utils.sql.Update;
public class V12_0_To_V12_1 implements siprp.update.Update
{
public V12_0_To_V12_1()
{
}
public String []listChanges()
{
return new String[]{
"A actualizar assinatura de B\u00e1rbara Gon\u00e7alves"
};
}
public double getStartVersion()
{
return 12.0;
}
public double getEndVersion()
{
return 12.1;
}
public void doUpdate() throws Exception
{
DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER );
Executer executer = dbm.getSharedExecuter();
String nomes[] = new String[]{
"B\u00e1rbara Gon\u00e7alves",
};
Integer ids[] = new Integer[]{
4,
};
String assinaturas[] = new String[]{
"siprp/update/updates/V12_0_To_V12_1_Barbara_Goncalves.png"
};
for( int n = 0; n < ids.length; n++ )
{
Vector<Assignment> assignments = new Vector<Assignment>();
if( assinaturas[ n ] != null )
{
Integer assinaturaID = null;
String assinatura = "Assinatura(" + nomes[ n ] + ")";
BufferedImage assinaturaImage = ImageIO.read( getClass().getClassLoader().getResourceAsStream(
assinaturas[ n ] ) );
ByteArrayOutputStream assinaturaBytesStream = new ByteArrayOutputStream();
ImageIO.write( assinaturaImage, "PNG", assinaturaBytesStream );
if( assinaturaImage == null || assinaturaBytesStream.size() == 0 )
{
throw new Exception("Erro ao ler assinatura: " + assinatura );
}
Insert insertQuery = new Insert( "image", new Assignment[]{
new Assignment(new Field("name"),assinatura)
} );
Virtual2DArray array = executer.executeQuery( insertQuery );
Select2 selectQuery = new Select2(new String[]{"image"},null,null,new String[]{"id"},new Field("name").isEqual( assinatura ),null,null,null,null);
array = executer.executeQuery( selectQuery );
if( array.columnLength() == 1 )
{
assinaturaID = (Integer) array.get( 0, 0 );
}
if( assinaturaID == null )
{
throw new Exception("Erro ao inserir assinatura: " + assinatura );
}
BlobUpdate blobUpdate = new BlobUpdate("image","image_data",assinaturaBytesStream.toByteArray(),new Field("id").isEqual( assinaturaID ) );
executer.executeQuery( blobUpdate );
assignments.add( new Assignment( "assinatura", assinaturaID ) );
}
Update update =
new Update( "marcacoes_tecnicos_hst",
assignments.toArray( new Assignment[ assignments.size() ] ),
new Field( "id" ).isEqual( ids[ n ] ) );
executer.executeQuery( update );
}
}
public String toString()
{
return "v" + getStartVersion() + " para v" + getEndVersion();
}
}
Loading…
Cancel
Save