public class Validator extends Object
AbstractValidation implementadas no pacote
validations do CSBase e no pacote validations_sys
do projeto serão automaticamente executadas.
Os parâmetros da linha de comando são processados e definem a configuração de
alguns parâmetros da execução que podem ser consultados pelas validações. O
único parâmetro obrigatório é o path para o arquivo que contém as
propriedades globais definidas para a instalação em questão do sistema. Deste
arquivo são extraídas propriedades obrigatórias para o processo de validação:
ProjectService.baseProjectDir path para o diretório
project do CSBase. Pode ser absoluto ou relativo ao diretório
onde se encontra o arquivo de propriedades.
Validator.tempDir path para o diretório temporário onde
serão criados os backups e onde será armazenado o log da validação (
validacoes.log).
Validator.logPath path para o log da validação.
validacoes.log. O nível de logging
para o arquivo é definido como Level.FINE enquanto que o nível
default para o console é Level.INFO.
As validações são instanciadas por reflexividade e ordenadas de acordo com
seus nomes. Normalmente a ordem entre as validações não deve ser um fator
relevante mas, caso seja, pode-se adotar uma política semelhante à usada para
os scripts de inicialização UNIX (p.ex. Val05XXX,
Val10YYY etc.).
O validador pode ser executado em modo validação (parâmetro
-V) ou em modo patch (default). No modo validação os
backups não são criados, e nenhuma alteração é feita. No modo patch, caso a
aplicação de um dos patches falhe, este e todos os demais aplicadas antes
dele são desfeitos, na ordem inversa em que foram executados.
Os diretórios de backup são removidos apenas em duas situações:
processArgs(String[]),
isValidatingOnly(),
isVerbose(),
getSystemProperty(String),
getLogger(),
rollback(AbstractValidation),
run(),
ValidationsLogger,
AbstractValidation,
ValidatorUtils| Modifier and Type | Field and Description |
|---|---|
static String |
SAMPLE_PROPERTIES_FILE
Nome do arquivo de exemplo com valores default para as configurações.
|
static String |
VALIDATIONS_TEMP_DIR
Chave para a propriedade que contém o path para o diretório temporário da
instalação.
|
| Modifier and Type | Method and Description |
|---|---|
protected File |
getAlgorithmDir()
Retorna uma referência para o repositório de algoritmos do CSBase.
|
ValidationsLogger |
getLogger()
Obtém o logger.
|
String |
getMandatorySystemProperty(String propName)
Retorna o valor associado a uma propriedade do sistema.
|
protected File |
getProjectDir()
Retorna uma referência para o repositório de projetos do CSBase.
|
String |
getSystemProperty(String propName)
Retorna o valor associado a uma propriedade do sistema, ou
null caso esta não exista. |
String |
getTempDirPath()
Obtém o path para o diretório temporário da instalação.
|
boolean |
isValidatingOnly()
Verifica se estamos apenas validando (i.e.
|
boolean |
isVerbose()
Indica se estamos em modo verbose.
|
static void |
main(String[] args)
Método de entrada.
|
public static final String VALIDATIONS_TEMP_DIR
public static final String SAMPLE_PROPERTIES_FILE
protected final File getProjectDir()
protected final File getAlgorithmDir()
public static void main(String[] args)
Se todas as validações forem aplicadas com sucesso, encerra a JVM com código 0, senão encerra com código 1.
args - - parâmetros da linha de comandopublic String getTempDirPath()
public ValidationsLogger getLogger()
public String getSystemProperty(String propName)
null caso esta não exista.propName - nome da propriedadenull caso
esta não existagetMandatorySystemProperty(String)public String getMandatorySystemProperty(String propName)
null.propName - nome da propriedadenull caso
esta não existagetSystemProperty(String)public boolean isValidatingOnly()
true se estamos apenas validandopublic boolean isVerbose()
true se estamos em modo verboseCopyright © 2016. All rights reserved.