forked from Coded/SIPRP
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.
181 lines
4.8 KiB
181 lines
4.8 KiB
/*
|
|
* SearchExecuterFactory.java
|
|
*
|
|
* Created on 24 de Maio de 2004, 19:30
|
|
*/
|
|
|
|
package siprp.data;
|
|
|
|
import com.evolute.utils.*;
|
|
import com.evolute.utils.arrays.*;
|
|
import com.evolute.utils.db.*;
|
|
import com.evolute.utils.sql.*;
|
|
import com.evolute.utils.ui.search.*;
|
|
|
|
/**
|
|
*
|
|
* @author fpalma
|
|
*/
|
|
public class SearchExecuterFactory
|
|
{
|
|
private static SearchExecuter empresaExecuter;
|
|
private static SearchExecuter estabelecimentoExecuter;
|
|
private static SearchExecuter trabalhadorExecuter;
|
|
|
|
|
|
|
|
/** Creates a new instance of SearchExecuterFactory */
|
|
private SearchExecuterFactory()
|
|
{
|
|
}
|
|
|
|
public static SearchExecuter getSearchExecuter( Class objectClass )
|
|
{
|
|
if( objectClass.equals( EmpresaData.class ) )
|
|
{
|
|
System.out.println( "Empresa" );
|
|
return getEmpresaSearchExecuter();
|
|
}
|
|
else if( objectClass == EstabelecimentoData.class )
|
|
{
|
|
return getEstabelecimentoSearchExecuter();
|
|
}
|
|
else if( objectClass == TrabalhadorData.class )
|
|
{
|
|
return getTrabalhadorSearchExecuter();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
private static SearchExecuter getEmpresaSearchExecuter()
|
|
{
|
|
if( empresaExecuter == null )
|
|
{
|
|
empresaExecuter = new SearchExecuter(){
|
|
|
|
private final DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER /*SingletonConstants.DBMANAGER*/ );
|
|
|
|
public Virtual2DArray search( String pattern )
|
|
throws Exception
|
|
{
|
|
|
|
Executer executer = dbm.getSharedExecuter( this );
|
|
Select select = new Select( new String[]{ "empresas" },
|
|
new String[]{ EmpresaData.ID, EmpresaData.DESIGNACAO_SOCIAL, EmpresaData.DESIGNACAO_SOCIAL_PLAIN },
|
|
new Field( EmpresaData.DESIGNACAO_SOCIAL_PLAIN ).isLike( "%" + com.evolute.utils.strings.StringPlainer.convertString( pattern, false, false ) + "%" ).and(
|
|
new Field( EmpresaData.INACTIVO ).isDifferent( "y" ) ),
|
|
new String[]{ EmpresaData.DESIGNACAO_SOCIAL_PLAIN }, null );
|
|
System.out.println( "SELECT : " + select );
|
|
return executer.executeQuery( select );
|
|
}
|
|
|
|
public boolean hasDetails()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public void showDetails( SearchDialog dialog, Object o )
|
|
throws Exception
|
|
{
|
|
}
|
|
|
|
public String getSearchTitle()
|
|
{
|
|
return "Procurar Empresa";
|
|
}
|
|
|
|
public String[] getColumnNames()
|
|
{
|
|
return new String[]{ "Designa\u00e7\u00e3o Social" };
|
|
}
|
|
};
|
|
}
|
|
return empresaExecuter;
|
|
}
|
|
|
|
private static SearchExecuter getEstabelecimentoSearchExecuter()
|
|
{
|
|
if( estabelecimentoExecuter == null )
|
|
{
|
|
estabelecimentoExecuter = new SearchExecuter(){
|
|
private final DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER /*SingletonConstants.DBMANAGER*/ );
|
|
|
|
public Virtual2DArray search( String pattern )
|
|
throws Exception
|
|
{
|
|
Executer executer = dbm.getSharedExecuter( this );
|
|
Select select = new Select( new String[]{ "estabelecimentos" },
|
|
new String[]{ EstabelecimentoData.ID, EstabelecimentoData.NOME, EstabelecimentoData.NOME_PLAIN },
|
|
new Field( EstabelecimentoData.NOME_PLAIN ).isLike( "%" + com.evolute.utils.strings.StringPlainer.convertString( pattern, false, false ) + "%" ),
|
|
new String[]{ EstabelecimentoData.NOME_PLAIN }, null );
|
|
return executer.executeQuery( select );
|
|
}
|
|
|
|
public boolean hasDetails()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public void showDetails( SearchDialog dialog, Object o )
|
|
throws Exception
|
|
{
|
|
}
|
|
|
|
public String getSearchTitle()
|
|
{
|
|
return "Procurar Estabelecimento";
|
|
}
|
|
|
|
public String[] getColumnNames()
|
|
{
|
|
return new String[]{ "Designa\u00e7\u00e3o" };
|
|
}
|
|
};
|
|
}
|
|
return estabelecimentoExecuter;
|
|
}
|
|
|
|
|
|
private static SearchExecuter getTrabalhadorSearchExecuter()
|
|
{
|
|
if( trabalhadorExecuter == null )
|
|
{
|
|
trabalhadorExecuter = new SearchExecuter(){
|
|
private final DBManager dbm = ( DBManager ) Singleton.getInstance( Singleton.DEFAULT_DBMANAGER /*SingletonConstants.DBMANAGER*/ );
|
|
|
|
public Virtual2DArray search( String pattern )
|
|
throws Exception
|
|
{
|
|
Executer executer = dbm.getSharedExecuter( this );
|
|
Select select = new Select( new String[]{ "trabalhadores" },
|
|
new String[]{ TrabalhadorData.ID, TrabalhadorData.NOME, TrabalhadorData.NOME_PLAIN },
|
|
new Field( TrabalhadorData.NOME_PLAIN ).isLike( "%" + com.evolute.utils.strings.StringPlainer.convertString( pattern, false, false ) + "%" ),
|
|
new String[]{ TrabalhadorData.NOME_PLAIN }, null );
|
|
return executer.executeQuery( select );
|
|
}
|
|
|
|
public boolean hasDetails()
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public void showDetails( SearchDialog dialog, Object o )
|
|
throws Exception
|
|
{
|
|
}
|
|
|
|
public String getSearchTitle()
|
|
{
|
|
return "Procurar Trablhador";
|
|
}
|
|
|
|
public String[] getColumnNames()
|
|
{
|
|
return new String[]{ "Nome" };
|
|
}
|
|
};
|
|
}
|
|
return trabalhadorExecuter;
|
|
}
|
|
}
|