Os arquivos de propriedades do Storex, também conhecidos por nós como "properties", são arquivos que armazenam conjuntos de constantes e valores usados pela aplicação para exibição de mensagens e mudanças de comportamento durante sua operação.

Por padrão, todos os arquivos de propriedades do Storex ficam armazenados nas aplicações Standard. Mas as aplicações Custom podem modificar os valores destas constantes ou criar novas constantes para suas operações customizadas.

Por isso, criamos um engenho que vai facilitar a customização destas constantes, para que a aplicação Customizada manipule apenas seus "properties", sem modificar os "properties" Standard.

Como funciona o engenho?


O engenho de customização funciona da seguinte forma: basta você adicionar "_custom" ao nome do properties e adicionar as constantes a serem modificadas ou criar as novas constantes.

Hoje os arquivos "properties" podem ser reconhecidos pela aplicação de duas formas: com locale (indicador do idioma do arquivo), ou sem locale (o nome puro do arquivo).

Quando o "properties" possui locale, o seu nome é complementado com o indicador de idioma do arquivo, para que seja possível ter vários "properties" com idiomas diferentes, mas que representam o mesmo arquivo.

Veja o exemplo a seguir: o "properties" mensagensPDV.properties, se possuir locale, passa a ter os seguintes nomes:

Exemplo
Locale pt_BR: português - Brasil --> mensagensPDV_pt_BR.properties
Locale pt_PT: português - Portugal --> mensagensPDV_pt_PT.properties
Locale es_ES: espanhol - Espanha --> mensagensPDV_es_ES.properties

Sem locale: mensagensPDV.properties


Ao utilizar o engenho, passa a existir no ambiente customizado o "properties "_custom", podendo conter ou não o locale.

Veja o exemplo a seguir: o mesmo "properties" mensagensPDV.properties, usado no exemplo anterior, pode ter os seguintes nomes customizados:

Exemplo
Locale pt_BR: português - Brasil --> mensagensPDV_custom_pt_BR.properties
Locale pt_PT: português - Portugal --> mensagensPDV_custom_pt_PT.properties
Locale es_ES: espanhol - Espanha --> mensagensPDV_custom_es_ES.properties

Sem locale: mensagensPDV_custom.properties


Fique atento!

O "properties" customizado deve ficar sempre em um diretório acessível pelo classpath da aplicação. Sugerimos que seja o diretório ./bin/ da aplicação, ou embarcado no jar da aplicação!


Como chamo o "properties" customizado?


A chamada no código não muda. O engenho foi criado para estabelecer uma ordem de prioridade na busca do "properties". Como assim?

  1. Busca-se primeiro a constante no "properties" custom.
    1. Existe o arquivo ou a constante? Ótimo! É de lá que o sistema vai pegar o valor da constante!
    2. Não existe? Segue o processo atual de buscar a constante no "properties" standard

No exemplo abaixo, mostramos como uma constante é recuperada na aplicação.

Exemplo
try {
    control.limpaDisplay(ControladorPerifericos.DISPLAY_OPERADOR);
    control.imprimeDisplayOperMonet(MensagensPDV.getDescricao("CADUS06"), ConstantesPDV.MASCARA_MONETARIA);
    evento = (EventoTeclado) control.leDados(new long[] {EntradaDeDados.TECLADO});
} catch (ExcecaoNaoLocal e) {
    return ALTERNATIVA_DOIS;
}

A classe MensagensPDV.java, que recupera o valor da constante "CADUS06", já está fazendo uso do engenho. Desta forma, não precisa mudar a forma de codificação para customizar um "properties". Basta realmente criar o arquivo _custom e inserir as constantes a serem customizadas.

Vamos customizar?


Aqui vamos utilizar o mesmo "properties" mensagensPDV_pt_BR.properties, que concentra todas as mensagens que são exibidas nas telas da aplicação durante sua operação.

No trecho abaixo, você pode ver como funciona este "properties". Ele é composto por um conjunto de "CONSTANTE = VALOR", para armazenar cada mensagem a ser exibida pela aplicação.

Trecho do mensagensPDV_pt_BR.properties
...
CADUS05 = Senha invalida
CADUS06 = Fundo troco:
CADUS07 = Fnd troco:
CADUS08 = Fundo de troco      invalido[VOLTA]
CADUS09 = Uso de fundo troco invalido
CADUS10 = Suprimento:
CADUS11 = Suprimento Inicial:
ParametrizacoesOperacao = Inicio do Pacote
ENOP01 = Fundo de troco ->
ENOP02 = Operador nao cadastrado
ENOP03 = Senha invalida
ENOP04 = Operacao nao autorizada
ENOP05 = Produto inconsistente
ENOP06 = REDUCAO JA REALIZADA
ENOP07 = Erro sincroniz impr
ENOP08 = A receber:
ENOP11 = Fechar gaveta
ENOP12 = Aguarde Impressao
...


Vamos selecionar a constante CADUS06 para customizar. Observe o valor desta constante, e onde ela é usada na aplicação (marcado em amarelo)

Constante do mensagensPDV_pt_BR.properties a ser customizada
CADUS06 = Fundo troco:

 Agora vamos criar o arquivo customizado, onde você poderá modificar o valor desta constante, para que na sua aplicação custom seja exibida uma mensagem diferente da padronizada. Como faremos isso?

Vamos criar o arquivo mensagensPDV_custom.properties e colocá-lo no diretório ./bin da aplicação.

Agora vamos dar uma olhada no seu conteúdo. Vamos usar a mesma constante e trocar o seu valor! Observe que o arquivo só possui 1 constante. Ou seja, você só precisa colocar no "properties" custom o que você deseja criar ou modificar. Nada de replicar valores, ok?

mensagensPDV_custom.properties
CADUS06 = Informe o fundo de troco:


Agora, vamos subir a aplicação!

Veja que a aplicação mudou a mensagem de exibição! Isso porque o mensagensPDV_custom.properties possuía a constante modificada!



  • Sem rótulos