You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SIPRP/trunk/siprp/clientes/NoticiasDataProvider.java

97 lines
2.5 KiB

/*
* NoticiasDataProvider.java
*
* Created on 24 de Maio de 2005, 15:39
*/
package siprp.clientes;
import com.evolute.utils.*;
import com.evolute.utils.arrays.*;
import com.evolute.utils.data.*;
import com.evolute.utils.db.*;
import com.evolute.utils.metadb.*;
import com.evolute.utils.ui.search.*;
import com.evolute.utils.sql.*;
import siprp.*;
/**
*
* @author fpalma
*/
public class NoticiasDataProvider extends MetaProvider
{
private static final Object LOCK = new Object();
private static NoticiasDataProvider instance = null;
private final Executer executer;
/** Creates a new instance of NoticiasDataProvider */
public NoticiasDataProvider()
throws Exception
{
boolean webAware = ( ( Boolean ) Singleton.getInstance( SingletonConstants.WEB_AWARE ) ).booleanValue();
DBManager dbm;
if( webAware )
{
String url = ( String ) Singleton.getInstance( SingletonConstants.WEB_URL_PREFIX );
url += ( String ) Singleton.getInstance( SingletonConstants.WEB_URL ) + "/";
url += ( String ) Singleton.getInstance( SingletonConstants.WEB_DB_NAME ) + "/";
String user = ( String ) Singleton.getInstance( SingletonConstants.WEB_USER );
String pwd = ( String ) Singleton.getInstance( SingletonConstants.WEB_PASSWORD );
dbm = new JDBCManager( url, user, pwd, 10, 8, 8, null );
executer = dbm.getSharedExecuter( this );
}
else
{
dbm = null;
executer = null;
}
}
public static MetaProvider getProvider()
throws Exception
{
synchronized( LOCK )
{
if( instance == null )
{
instance = new NoticiasDataProvider();
}
}
return instance;
}
public String getNoticias()
throws Exception
{
Select subSelect =
new Select( new String[]{ "not_noticias" },
new String[]{ "MAX(id)" }, null );
Select select =
new Select( new String[]{ "not_noticias" },
new String[]{ "noticia" },
new Field( "id" ).isEqual( subSelect ) );
Virtual2DArray array = executer.executeQuery( select );
if( array.columnLength() == 0 || array.get( 0, 0 ) == null )
{
return "";
}
return array.get( 0, 0 ).toString().trim();
}
public void saveNoticias( String noticias )
throws Exception
{
Insert insert =
new Insert( "not_noticias",
new Assignment[]{ new Assignment( new Field( "utilizador" ), Singleton.getInstance( Singleton.USERNAME ) ),
new Assignment( new Field( "data" ), Singleton.getInstance( Singleton.TODAY ) ),
new Assignment( new Field( "noticia" ), noticias.trim() ) } );
executer.executeQuery( insert );
}
}