br.ufg.integrate.controller
Class ControllerImpl

java.lang.Object
  extended by br.ufg.integrate.controller.ControllerImpl
All Implemented Interfaces:
ControllerI, Serializable

public class ControllerImpl
extends Object
implements ControllerI, Serializable

Version:
0.1 Cria uma interface centralizada entre o mediador e as fontes de dados.
Author:
Rogerio
See Also:
ControllerI, Serialized Form

Field Summary
 
Fields inherited from interface br.ufg.integrate.controller.ControllerI
LOOKUP, WRAPPER
 
Constructor Summary
ControllerImpl()
           
 
Method Summary
 void closeConnection(String integration)
          Finaliza as conexões com as fontes de dados a serem integradas.
 void commit(DataSource dsTarget)
          Torna persistente as alterações feitas na fonte de dados informada como argumento.
 void commit(String integration)
          Torna persistente as alterações feitas nas fontes de dados definidas na integração passada como argumento.
 ResultSet executeIntegratedQuery(String target, String sql)
          Executa uma consulta em todas as fontes de dados definidas na integração passada como argumento.
 List<ResultSet> executeQueryFile(String id, String queryFile)
          Executa uma consulta em todas as fontes de dados definidas em arquivo de consulta passado como argumento.
 StringBuilder executeQueryInXmlFormat(String[] targets, String[] queries)
          Executa uma consulta em todas as fontes de dados definidas na integração passada como argumento.
 StringBuilder executeQueryInXmlFormat(String target, String sql)
          Executa uma consulta em todas as fontes de dados definidas na integração passada como argumento.
 int executeUpdate(String target, String sql)
          Atualiza as fontes de dados definidas na integração passada como argumento.
 Connection getConnection(String idDataSource)
          Retorna uma conexão real obtida da fonte de dados passada como argumento.
 DataSources getDataSources()
          Coleção de fontes de dados registradas no arquivo 'integrate-datasources.xml'.
 String getDriver(String idDataSource)
          Nome do driver JDBC utilizado pela fonte de dados passada como argumento.
 Integrations getIntegrations()
          Retorna as integrações definidas no arquivo 'integration.xml'.
 Mediator getMediator()
          Retorna uma referência para o mediador, cujo nome da classe é definido no arquivo 'integrate-config.xml'.
 Map<String,String> getParams()
          Retorna as configurações definidas no arquivo 'integrate-config.xml'.
 long getTime()
          Tempo decorrido durante a última requisição.
 long getTotalTime()
          Tempo total decorrido durante a última transação integrada.
 String getUrl(String idDataSource)
          Retorna a URL real usada pela fonte de dados passada como argumento.
 void initAllParams(int useType)
          Lê e armazena as informações definidas nos arquivos de configuração do Integrate.
 void initConfigParams()
          Lê e armazena as informações do arquivo de configurações gerais do Integrate (integrate-config.xml).
 void initDataSourceParams()
          Lê e armazena as informações do arquivo de configurações das fontes de dados do Integrate (integrate-datasources.xml).
 void initIntegrationParams()
          Lê e armazena as informações do arquivo de configurações das integrações do Integrate (integration.xml).
 StringBuilder lookup()
          Retorna em formato XML Schema a coleção de esquemas das fontes de dados definidas.
 StringBuilder lookup(DataSource ds)
          Retorna em formato XML Schema o esquemas da fontes de dados passada como argumento.
 StringBuilder lookup(String idDataSource)
          Retorna em formato XML Schema o esquemas da fontes de dados passada como argumento.
 List<DatabaseMetaData> lookupMetaData()
          Retorna uma coleção de esquemas das fontes de dados definidas em formato JDBC.
 DatabaseMetaData lookupMetaData(DataSource ds)
          Retorna em formato JDBC o esquema das fontes de dados passada como argumento.
 DatabaseMetaData lookupMetaData(String idDatasource)
          Retorna em formato JDBC o esquema das fontes de dados passada como argumento.
 void saveResultSetsToXmlFile(String[] targets, String[] queries, String xmlOutputFile)
          Gera arquivo XML contendo os registros de uma consulta integrada.
 void saveResultSetsToXmlFile(String idIntegration, String queryFile, String xmlOutputFile)
          Gera arquivo XML contendo os registros de uma consulta integrada.
 void saveSchemasToXMLFile(String outputFile, boolean append)
          Gera arquivo XML contendo os registros de uma consulta integrada, permitindo adicionar ou não o conteúdo no final do arquivo informado.
 void saveSchemaToXMLFile(String idDataSource, String outputFile, boolean append)
          Gera arquivo XML contendo os registros de uma consulta integrada.
 void setMediator()
          Define a referência ao Mediador.
 void start()
          Obtém uma referência ao Controller.
 void stop()
          Encerra os recursos de todas as fontes de dados registradas no arquivos 'integrate-datasources.xml'.
 void stop(String idDataSource)
          Encerra os recursos da fonte de dados passada como argumento.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ControllerImpl

public ControllerImpl()
Method Detail

closeConnection

public void closeConnection(String integration)
                     throws SQLException
Finaliza as conexões com as fontes de dados a serem integradas.

Specified by:
closeConnection in interface ControllerI
Parameters:
integration - Integração registrada, que contém uma coleção de fontes de dados de destino
Throws:
SQLException

commit

public void commit(DataSource dsTarget)
            throws SQLException
Torna persistente as alterações feitas na fonte de dados informada como argumento.

Specified by:
commit in interface ControllerI
Parameters:
dsTarget - Fonte de dados de destino
Throws:
SQLException

commit

public void commit(String integration)
            throws SQLException
Torna persistente as alterações feitas nas fontes de dados definidas na integração passada como argumento.

Specified by:
commit in interface ControllerI
Parameters:
integration - Fonte de dados de destino
Throws:
SQLException

executeIntegratedQuery

public ResultSet executeIntegratedQuery(String target,
                                        String sql)
                                 throws SQLException
Executa uma consulta em todas as fontes de dados definidas na integração passada como argumento.

Specified by:
executeIntegratedQuery in interface ControllerI
Parameters:
target - ID da integração definida no arquivo 'integration.xml'.
sql - Consulta SQL enviada pela aplicação cliente.
Returns:
ResultSet contendo os registros integrados.
Throws:
SQLException

executeQueryFile

public List<ResultSet> executeQueryFile(String id,
                                        String queryFile)
                                 throws IntegrateException
Executa uma consulta em todas as fontes de dados definidas em arquivo de consulta passado como argumento.

Specified by:
executeQueryFile in interface ControllerI
Returns:
Coleção de ResultSet's obtidos
Throws:
IntegrateException

executeQueryInXmlFormat

public StringBuilder executeQueryInXmlFormat(String target,
                                             String sql)
                                      throws IntegrateException
Executa uma consulta em todas as fontes de dados definidas na integração passada como argumento.

Specified by:
executeQueryInXmlFormat in interface ControllerI
Parameters:
target - ID da integração definida no arquivo 'integration.xml'.
sql - Consulta SQL enviada pela aplicação cliente.
Returns:
Coleção de registros integrados formatados em XML.
Throws:
IntegrateException - Mesnagens de erro são gravadas no arquivo 'error.log'.

executeQueryInXmlFormat

public StringBuilder executeQueryInXmlFormat(String[] targets,
                                             String[] queries)
                                      throws IntegrateException
Executa uma consulta em todas as fontes de dados definidas na integração passada como argumento.

Specified by:
executeQueryInXmlFormat in interface ControllerI
Parameters:
targets - Coleção de ID's de fontes de dados definidos no arquivo 'integrate-datasources.xml'.
queries - Consulta SQL enviada pela aplicação cliente.
Returns:
Coleção de registros integrados formatados em XML.
Throws:
IntegrateException

executeUpdate

public int executeUpdate(String target,
                         String sql)
                  throws SQLException
Atualiza as fontes de dados definidas na integração passada como argumento.

Specified by:
executeUpdate in interface ControllerI
Parameters:
target - ID da interação definida no arquivo 'integration.xml'.
sql - Consulta SQL enviada pela aplicação cliente.
Returns:
Quantidade de registros alterados em todas as fontes de dados.
Throws:
SQLException

getConnection

public Connection getConnection(String idDataSource)
                         throws IntegrateException
Retorna uma conexão real obtida da fonte de dados passada como argumento.

Specified by:
getConnection in interface ControllerI
Throws:
IntegrateException

getDataSources

public DataSources getDataSources()
                           throws IntegrateException
Coleção de fontes de dados registradas no arquivo 'integrate-datasources.xml'.

Specified by:
getDataSources in interface ControllerI
Returns:
DataSources Coleção de DataSource
Throws:
WrapperException - Se DataSources for null. Execute init() antes.
IntegrateException

getDriver

public String getDriver(String idDataSource)
                 throws IntegrateException
Nome do driver JDBC utilizado pela fonte de dados passada como argumento.

Specified by:
getDriver in interface ControllerI
Returns:
Driver JDBC registrado para esta fonte de dados.
Throws:
IntegrateException - Caso haja algum erro ao acessar o arquivo 'integrate-datasources.xml'.

getIntegrations

public Integrations getIntegrations()
                             throws IntegrateException
Retorna as integrações definidas no arquivo 'integration.xml'.

Specified by:
getIntegrations in interface ControllerI
Returns:
Integrations Coleção de Integration
Throws:
WrapperException - Se Integrations for null. Execute init() antes.
IntegrateException

getMediator

public Mediator getMediator()
                     throws IntegrateException
Retorna uma referência para o mediador, cujo nome da classe é definido no arquivo 'integrate-config.xml'.

Specified by:
getMediator in interface ControllerI
Returns:
Mediator Implementação da interface Mediator.
Throws:
IntegrateException - Caso haja erro ao carregar parâmetros do arquivo de configuração.
See Also:
Mediator

getParams

public Map<String,String> getParams()
                             throws IntegrateException
Retorna as configurações definidas no arquivo 'integrate-config.xml'.

Specified by:
getParams in interface ControllerI
Throws:
IntegrateException

getTime

public long getTime()
Tempo decorrido durante a última requisição.

Specified by:
getTime in interface ControllerI

getTotalTime

public long getTotalTime()
Tempo total decorrido durante a última transação integrada.

Specified by:
getTotalTime in interface ControllerI

getUrl

public String getUrl(String idDataSource)
              throws IntegrateException
Retorna a URL real usada pela fonte de dados passada como argumento.

Specified by:
getUrl in interface ControllerI
Returns:
URL registrada para esta fonte de dados.
Throws:
IntegrateException - Caso haja algum erro ao acessar o arquivo 'integrate-datasources.xml'.

initAllParams

public void initAllParams(int useType)
                   throws IntegrateException
Lê e armazena as informações definidas nos arquivos de configuração do Integrate. Se informado como argumento o tipo Controller.WRAPPER, todos os arquivos são lidos. Se usado Controller.LOOKUP, o arquivo de integrações não é lido.

Specified by:
initAllParams in interface ControllerI
Throws:
WrapperException - Ver erros lançados pelo método loadTypes() da classe DataSource.
XMLException - Erro no parse dos arquivos de configuração ou dos datasources.
IntegrateException

initConfigParams

public void initConfigParams()
                      throws IntegrateException
Lê e armazena as informações do arquivo de configurações gerais do Integrate (integrate-config.xml).

Specified by:
initConfigParams in interface ControllerI
Throws:
IntegrateException

initDataSourceParams

public void initDataSourceParams()
                          throws IntegrateException
Lê e armazena as informações do arquivo de configurações das fontes de dados do Integrate (integrate-datasources.xml).

Specified by:
initDataSourceParams in interface ControllerI
Throws:
IntegrateException

initIntegrationParams

public void initIntegrationParams()
                           throws IntegrateException
Lê e armazena as informações do arquivo de configurações das integrações do Integrate (integration.xml).

Specified by:
initIntegrationParams in interface ControllerI
Throws:
IntegrateException

lookup

public StringBuilder lookup()
                     throws IntegrateException
Retorna em formato XML Schema a coleção de esquemas das fontes de dados definidas.

Specified by:
lookup in interface ControllerI
Returns:
StringBuilder Variável que empacota o texto a ser impresso.
Throws:
IntegrateException - Caso ocorra algum erro na preparação do arquivo XML de saída.

lookup

public StringBuilder lookup(String idDataSource)
                     throws IntegrateException,
                            XMLException
Retorna em formato XML Schema o esquemas da fontes de dados passada como argumento.

Specified by:
lookup in interface ControllerI
Parameters:
idDataSource - identificador da fonte de dados(ver 'integrate-datasources.xml').
Returns:
StringBuilder Variável que empacota o texto a ser impresso.
Throws:
XMLException - Caso ocorra algum erro na preparação do arquivo XML de saída.
IntegrateException

lookup

public StringBuilder lookup(DataSource ds)
                     throws IntegrateException,
                            XMLException
Retorna em formato XML Schema o esquemas da fontes de dados passada como argumento.

Specified by:
lookup in interface ControllerI
Parameters:
ds - DataSource que representa a fonte de dados(ver 'integrate-datasources.xml').
Returns:
StringBuilder Variável que empacota o texto a ser impresso.
Throws:
XMLException - Caso ocorra algum erro na preparação do arquivo XML de saída.
IntegrateException

lookupMetaData

public List<DatabaseMetaData> lookupMetaData()
                                      throws IntegrateException
Retorna uma coleção de esquemas das fontes de dados definidas em formato JDBC.

Specified by:
lookupMetaData in interface ControllerI
Returns:
List Coleção de DatabaseMetaData.
Throws:
WrapperException
IntegrateException

lookupMetaData

public DatabaseMetaData lookupMetaData(DataSource ds)
                                throws IntegrateException
Retorna em formato JDBC o esquema das fontes de dados passada como argumento.

Specified by:
lookupMetaData in interface ControllerI
Returns:
DatabaseMetaData referente ao DataSource informado.
Throws:
WrapperException
IntegrateException

lookupMetaData

public DatabaseMetaData lookupMetaData(String idDatasource)
                                throws IntegrateException
Retorna em formato JDBC o esquema das fontes de dados passada como argumento.

Specified by:
lookupMetaData in interface ControllerI
Returns:
DatabaseMetaData DatabaseMetaData do datasource solicitado.
Throws:
IntegrateException

saveResultSetsToXmlFile

public void saveResultSetsToXmlFile(String[] targets,
                                    String[] queries,
                                    String xmlOutputFile)
                             throws WrapperException
Gera arquivo XML contendo os registros de uma consulta integrada.

Specified by:
saveResultSetsToXmlFile in interface ControllerI
Throws:
WrapperException

saveResultSetsToXmlFile

public void saveResultSetsToXmlFile(String idIntegration,
                                    String queryFile,
                                    String xmlOutputFile)
                             throws WrapperException
Gera arquivo XML contendo os registros de uma consulta integrada.

Specified by:
saveResultSetsToXmlFile in interface ControllerI
Parameters:
idIntegration - Identificador da fonte de dados. Os ResultSet's são ordenados pelo identificador da fonte de dados.
queryFile - Arquivo que representa uma consulta, validada pelo 'query.xsd'.
xmlOutputFile - Nome do arquivo que será gerado.
Throws:
WrapperException

saveSchemaToXMLFile

public void saveSchemaToXMLFile(String idDataSource,
                                String outputFile,
                                boolean append)
                         throws XMLException,
                                IntegrateException
Gera arquivo XML contendo os registros de uma consulta integrada.

Specified by:
saveSchemaToXMLFile in interface ControllerI
Parameters:
idDataSource - identificador da fonte de dados.
outputFile - Texto contendo caminho e nome do arquivo de saída desejado.
append - Informe 'true' caso deseje que a operação não sobrescreva o arquivo de saída, mas adicione o resultado no final do arquivo.
Throws:
XMLException
IntegrateException

saveSchemasToXMLFile

public void saveSchemasToXMLFile(String outputFile,
                                 boolean append)
                          throws XMLException,
                                 IntegrateException
Gera arquivo XML contendo os registros de uma consulta integrada, permitindo adicionar ou não o conteúdo no final do arquivo informado.

Specified by:
saveSchemasToXMLFile in interface ControllerI
Parameters:
outputFile - Texto contendo caminho e nome do arquivo de saída desejado.
append - Informe 'true' caso deseje que a operação não sobrescreva o arquivo de saída, mas adicione o resultado no final do arquivo.
Throws:
XMLException
IntegrateException

setMediator

public void setMediator()
                 throws IntegrateException
Define a referência ao Mediador.

Specified by:
setMediator in interface ControllerI
Throws:
IntegrateException

start

public void start()
           throws IntegrateException
Obtém uma referência ao Controller.

Specified by:
start in interface ControllerI
Throws:
IntegrateException

stop

public void stop()
          throws IntegrateException
Encerra os recursos de todas as fontes de dados registradas no arquivos 'integrate-datasources.xml'.

Specified by:
stop in interface ControllerI
Throws:
WrapperException
IntegrateException

stop

public void stop(String idDataSource)
          throws WrapperException
Encerra os recursos da fonte de dados passada como argumento.

Specified by:
stop in interface ControllerI
Throws:
WrapperException


Copyright © 2008 Rogério Arantes Gaioso. All Rights Reserved.