Redefinir a configuração¶
A redefinição da configuração só é possível na fase de assistente e pode ser feita chamando o procedimento PUBLIC.RESET_CONFIGURATION(). Esse procedimento redefine todos os pré-requisitos como não concluídos, exclui a configuração salva anteriormente e define o status do conector como INSTALLED. Ele pode ser usado se houver necessidade de reconfigurar o conector (ou seja, passar novamente pelas etapas Pré-requisitos, Configuração de conexão ou Configuração do conector). Os conectores só podem ser reconfigurados se você não tiver concluído a etapa Finalização da configuração. A reconfiguração do conector pode ser personalizada usando SQL ou ResetConfigurationHandlerBuilder.
Somente os usuários atribuídos à função de aplicativo ADMIN podem chamar o procedimento PUBLIC.RESET_CONFIGURATION().
A redefinição da configuração consiste nas seguintes fases configuráveis, que, por padrão, não têm efeito:
Validação de status
Validação de estado
Retorno de chamada interno
Retorno de chamada de SDK
Atualização de status
Requisitos¶
A redefinição da configuração requer a execução dos seguintes arquivos SQL durante a instalação do aplicativo nativo:
core.sqlconfiguration/app_config.sqlconfiguration/prerequisites.sqlconfiguration/connector_configuration.sqlconfiguration/connection_configuration.sqlconfiguration/reset_configuration.sql
Validação de status¶
Para redefinir a configuração, o conector precisa estar no status CONFIGURING. O status da configuração precisa ser igual a um dos seguintes: INSTALLED, PREREQUISITES_DONE, CONFIGURED ou CONNECTED. Para ver o diagrama completo das transições de status, consulte Fluxo do conector.
A validação não pode ser sobrescrita usando ResetConfigurationHandlerBuilder ou sobrescrevendo o procedimento armazenado. No entanto, é possível implementar um manipulador personalizado, que não terá esse tipo de validação.
Validação de estado¶
A fase de validação de estado é personalizável e, por padrão, executa o procedimento PUBLIC.RESET_CONFIGURATION_VALIDATE(), que retorna 'response_code': 'OK'. Esse procedimento pode ser personalizado substituindo o procedimento que usa SQL ou implementando a interface ResetConfigurationValidator.
Retorno de chamada interno¶
A fase de retorno de chamada interna é personalizável e, por padrão, executa o procedimento PUBLIC.RESET_CONFIGURATION_INTERNAL(), que retorna 'response_code': 'OK'. Esse procedimento permite a execução da lógica personalizada necessária ao redefinir a configuração. Por exemplo, excluir a configuração personalizada. Esse procedimento pode ser personalizado substituindo o procedimento que usa SQL ou implementando a interface ResetConfigurationCallback.
Retorno de chamada de SDK¶
SDK é usado para atualizar os componentes controlados por SDK. Essa etapa consiste nos seguintes processos, que são executados como uma única transação:
Definição de todos os pré-requisitos como não concluídos
Exclusão da configuração do conector
Exclusão da configuração de conexões
Definição de todos os pré-requisitos como não concluídos¶
Durante essa etapa, a coluna IS_COMPLETED é definida como false para todos os registros na tabela interna PREREQUISITES.
Exclusão da configuração do conector¶
Durante essa etapa, o endereço connector_configuration é excluído da tabela interna APP_CONFIG.
Exclusão da configuração do conector¶
Durante essa etapa, o endereço connection_configuration é excluído da tabela interna APP_CONFIG.
O retorno de chamada SDK não pode ser substituído usando o ResetConfigurationHandlerBuilder ou substituindo o procedimento armazenado. É possível implementar um manipulador personalizado, que não terá esse retorno de chamada.
Nota
A exibição PUBLIC.CONNECTOR_CONFIGURATION retorna a configuração atual da tabela interna APP_CONFIG. A exibição PUBLIC.PREREQUISITES retorna os pré-requisitos da tabela interna PREREQUISITES. Ambas as exibições estão disponíveis para as funções de aplicativo ADMIN e VIEWER.
Atualização de status¶
Quando concluída, essa etapa define o status interno do conector como:
{
    "status": "CONFIGURING",
    "configurationStatus": "INSTALLED"
}
Resposta¶
Resposta bem-sucedida¶
Se o procedimento for concluído com êxito, ele retornará um código de resposta OK, conforme mostrado abaixo:
{
  "response_code": "OK"
}
Resposta de erro¶
Em caso de erro, a seguinte resposta é retornada:
{
  "response_code": "<ERROR_CODE>",
  "message": "<error message>"
}
Possíveis códigos de erro incluem:
INVALID_CONNECTOR_STATUS- Status do conector inválido. Status esperado:[CONFIGURING].INVALID_CONNECTOR_CONFIGURATION_STATUS- Status do conector inválido. Status esperados:[INSTALLED, PREREQUISITES_DONE, CONFIGURED, CONNECTED].INTERNAL_ERROR- Algo deu errado internamente, a mensagem deve ser descritiva.PROCEDURE_NOT_FOUND- O procedimento que foi chamado não existe.UNKNOWN_SQL_ERROR- Este erro ocorre quando algo inesperado acontece ao chamar procedimentos internos.INVALID_RESPONSE- Este erro ocorre quando a resposta recebida do procedimento interno não contémresponse_codeou uma resposta de erro não contémmessage, mas contémresponse_code.UNKNOWN_ERROR- Significa que algo inesperado deu errado (a mensagem de exceção lançada é encaminhada).Códigos de erro personalizados recebidos dos procedimentos
RESET_CONFIGURATION_INTERNALeRESET_CONFIGURATION_VALIDATE- definidos pelo desenvolvedor do conector.