segunda-feira, 7 de outubro de 2019

Versão 19.9.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.9.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Encapsulado os métodos addFieldOrder, removeFieldSearch, newSearchField, activeAndAddParamWhereJpa, activeWhereJpa, deactiveWhereJpa e getColumnDatatable no BaseListTaskAction
- Adicionado método toYearMonth no DateUtils recebendo como parâmetro um XMLGregorianCalendar
- Implementado eventos @JArchEventValidInsert, @JArchEventValidInsertChange, @JArchEventValidChange e @JArchEventValidDelete no DataDetail
- Implementado o GCA para MACOS
- Implementado no e:tabBody para aceitar ordenação da coluna no datatable

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Alteração no e:filterSearch para mostrar mais opções de filtro para o tipo código
- Alteração na busca por codigo do lookup para contemplar os filtros existentes no Search
- Alteração na classe Identity para implementar a interface IIdentity e Comparator
- Alteração no e:divDataMaster para ser possível passar a descrição dos label's dos botões de gravar, cancelar e voltar
- Alteração na margin-top e margin-bottom do e:dashboardUnity, e:dashboardUnity2
- Depreciado os eventos de CRUD do CrudFacade e CrudManager, utilizar os eventos normais sem referência de camada
- Depreciado a classe CdiUtils, utilizar a classe CDI em seu lugar

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Removido algumas classes CSS no e:divListDatatable e e:divListFilter que estavam em conflito com o Primefaces 7
- Removido a palavra Entity quando não localizar no bundle na crítica do Exclusives
- Corrigido o CpfCnpjUtils.validaCnpj() para não aceitar ZEROS como CNPJ válido
- Corrigido o e:filterSearch para o componente do tipo IM não usar o inputMask se nao for definida uma máscara, usado o inputText no lugar
- Corrigido o CRUD para lançar os eventos de valições do Bean Validation
- Corrigido o e:filterSearch que estava duplicando o ID quando tinha a propriedade mask preenchida
- Corrigido a API de Tests para aguardar 1 segundo antes de efetuar o logoff
- Corrigido a API de relatório para o tipo LocalDate

Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

quinta-feira, 5 de setembro de 2019

Versão 19.8.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.8.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Adicionado atributos styleClass e scrollHeight no e:dialogSelect
- Adicionado vários métodos searchAny no BaseFacade para retornar um Optional
- Adicionado novo método searchAny(SingularAttribute<E, T>, T) na interface ISearchData
- Implementado novo metodo toXMLGregorianCalendar(YearMonth) no DateUtils
- Implementado atributo logicFrom na pesquisa (ISearch)
- Implementado bi BaseFilterSelectAction o encapsulamento do método deactiveWhereJpa do ISearch
- Implementado UserSystem que é uma extensão do UserInformation para ser usado por threads iniciadas pelo container (JOB, WS, JMS, etc)
- Implementado uma entidade de Sequence para evitar erro de gravação de auto incremento dentro da mesma transação
- Implementado no @JArchDynamicDirectAction para ser possível não exibir a mensagem de processamento concluído com sucesso pelo atributo showMessageSuccess

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Utilização do Primefaces 7.0
- Adicionado classes CSS do primefaces nova-ligth para visualizar o component toggleSwitch
- Ajustes na tela de parâmetro para melhorar o visual e adicionado atributo row para ordenar os campos na tela
- Ajuste na API de parâmetro para usar cache na pesquisa
- Habilitado a criação das classes de logica via APT quando não existir (IManager, Manager, Facade, Search, DataDetail, FilterSelect e JpaqlBuilder)
- Removido a geração de fontes implicitos no EntityProcessor porque está deixando lento pelo IntellijIDEA
- Alterado método enviar para send no EnvioGmailUtils
- Alterado BaseEntity para colocar os atributos como transient para nao ocorrer erro na migração de dados via API Migration
- Alterado o caminho default dos drivers dos browsers do Selenium de /usr/local/bin para /usr/local/lib
- Alterado atributo size do calendar na geraçãoo dos fontes para o tamanho considerando os separadores
- Alterado datatable para remover o of da paginação colocando uma / em seu lugar
- Alterado LogoutAction para permitir passar um redirect diferente do login.jsf
- Removido o <? extends IBaseEntity> do ISearch
- Alterado @JArchAutoIncrement para permitir colocar a anotação em campos String com possibilidade de colocar zeros a esquerda através do atributo size
- Alterado a geração dos fontes para utilizar o componente a:toggleSwitch no lugar do
a:selectBooleanCheckbox para os tipos Boolean (Yes/No)

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Removido algumas classes CSS no e:divListDatatable e e:divListFilter que estavam em conflito com o Primefaces 7
- Ajuste no método toXMLGregorianCalendar do DateUtils para adicionar hora, minuto e segundo
- Correção no e:divListDatatable para usar os atributos labelClone, labelChange, labelConsult, labelDelete e labelPrint
- Corrigido no atributo logicFrom da entidade quando o evento for inclusao

- Corrigido a API de parâmetro para fazer UPLOAD de arquivo
- Corrigido a biblioteca de parâmetro para nao ficar fazendo SELECT desnecessaria
- Corrigido o AutoIncrementJpaListener para tratar NULL quando for o primeiro registro
- Corrigido a mensagem de CPF/CNPJ inválido do @JArchValidCpfCnpj
- Corrigido e:lookup para usar os filtros pre-definidos na action quando fizer a busca por código
- Corrigido JavaScriptUtils para substituir as aspas simples do título e da mensagem por aspas dupla, pra não ocorrer erro de JavaScript

Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

terça-feira, 6 de agosto de 2019

Versão 19.7.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.7.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Adicionado método generateFilePDF no JasperReportsUtils
- Adicionado atributo styleClass no e:divDataMaster e o atributo showPanelFooter no e:divSimple
- Adicionado os seguintes atributos no e:dialogSelect: style, width, height e rows
- Encapsulado alguns métodos do ISearch para dentro BaseFilterSelection, (activeAndAddParamWhereJpa, activeAndAddParamsWhereJpa e activeWhereJpa)
- Atualizado Showcase para os componentes novos do Primefaces 7
- Adicionado atributo transient logicFrom no BaseEntity para que seja possivel interceptar o nome da lógica nos eventos JARCH
- Adicionado field othersInformation no IBaseEntity para que seja possível passar uma informação através da entity para ser recuperado esse valor nos eventos JARCH
- Adicionado métodos de condições no WhereJpaql (API de JPQL) para passar uma condição para ser aplicado o filtro, evitando ficar concatenando as instruções perdendo a usabilidade da interface fluente

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Refatorado os nomes de alguns métodos do ISearch (removido o Arch do nome) 
    addParamArchWhereJpa para addParamWhereJpa
    activeAndAddParamArchWhereJpa para activeAndAddParamWhereJpa
    addParamArchWhereJpa para addParamWhereJpa
    activeAndAddParamsArchWhereJpa para activeAndAddParamsWhereJpa
    activeArchWhereJpa para activeWhereJpa
- Alterado o listener do @JArchAutoIncrement para ignonar os campos NULL
- Removido o método depreciado redirecionaPaginaAposBotaoGravar()
- Removido o método depreciado mostraMensagemSucesso()
- Alteração na geração de colunas com o @JArchColumnDataTable para que seja verificado também o package-info.java da entidade mestre quando o detalhe não estiver no mesmo pacote dele
- Ajuste na criação das colunas do Detail para olhar anotações @JArchColumnDataTable tambem no package-info.java da entidade mestre
- Removido alguns métodos depreciados no BaseFacade
- Removido o método depreciado jpaql, usar o metodo jpql no seu lugar
- Alterado o tamanho do tipo CPF/CNPJ de 18 para 14 porque o JARCH remove a máscara antes da gravação

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Correção no método formatddMMyyyy do DateUtils para não ocorrer erro quando a data estiver NULL
- Correção no MultiTenant para nao ocorrer erro quando não existir escopo de sessão
- Acerto no BundleUtils para verificar se esta sendo executado via JavaFX e não olhar a sessão
- Acerto na geração dos fontes para a criação das anotações de índices, estava usando o atributo no lugar do nome da coluna do banco de dados
- Correção no e:messageHeader para nao ficar dando erro de JavaScript na chamada do configToastr()
- Removido a inclusção dos javascripts dentro do e:messageHeader porque estava ocasionando erro com o Primefaces 7
- Ajuste na propriedade message do @JArchRequiredOneOfManyField que não estava respeitando a busca no properties de Validation


Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

terça-feira, 2 de julho de 2019

Versão 19.6.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.6.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Adicionado o atributo showOptionReport no divListDatatable para nao ter a opção de não chamar a tela de agrupamento e ordenação
- Implementado na API de Parâmetros a opção de obrigatório, com isso o método valid() só precisa ser implementado caso seja uma regra específica de validação
- Adicionado método no DateUtils para conversão do toXMLGregorianCalendar em datas e vice-versa
- Adicionado geração da anotação de índices no @Table para campos marcados como pesquisa, será definido um índice para cada campo pesquisável

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Ajuste no tratamento de erro nos APT's
- Ajuste no evento @JArchEventSearchBefore para mostrar a mensagem de erro caso lance uma exceção
- Ajuste na pesquisa via API de JPQL para adicionar o filtro de MultiTenant quando a Thread for iniciada via servidor de aplicação
- Ajuste na pesquisa do lookup para retornar a entidade quando a busca for feita por uma Search Wrapper com retorno diferente de uma entidade (Perfomance)
- Ajustado API de parâmetro para a lingua inglesa
- Ajuste no @JArchRequiredOneOfManyField para aceitar passar a chave do bundle na propriedade message
- Alteracao na anotacao @JArchOrderBy para contemplar o tipo de ordenação por coluna (ASC ou DESC). Essa alteracao quebra a interface antiga mas é facil o ajuste para contemplar a nova estrutura
- Alterado atributos abas para tabs, inicio para first, quantidade para maxResults na classe Search e interface ISearch

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Correção na formatação de mensagem de erro para diferenciar os : (dois pontos) como sendo o label e transformando em destaque erroneamente
- Ajuste na transação @JArchAutoIncrement para contemplar mais de uma gravação na mesma transação
- Removido o parâmetro javax.faces.PROJECT_STAGE=Development do jarch-jsf para nao ocasionar conflito se for definido em algum projeto que utilize esse módulo
- Ajuste na geração dos fontes do jarch-apt para adicionar o import das entitys de detalhe
Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

terça-feira, 4 de junho de 2019

Versão 19.5.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.5.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Adicionado opção nas anotações do filterSearch para colocar ZEROS a esquerdas, atributos zeroLeft e quantityZeroLeft
- Adicionado opção para colocar mais um ícone no template principal
- Adicionado método breakList no CollectionUtils, para retornar uma Collection de List com o tamanho configurado
- Adicionado opção de passar o tipo de grafo na biblioteca de JPQL
- Adicionado opcao de incremento no @JArchAutoIncrement por agrupamento de atributos e a opção de começar num determinado número, atributos fieldGroups e start
- Adicionado método no JavaScriptUtils para passar o título e a mensagem quando o tipo do dialog for WARNING

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Adicionado para ignorar arquivos IML no encapsulamento com o SVN

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Correcao na ortografia da palavra inglesa Sucess para Success em alguns métodos
- Removido metodo actionListener do LookupUI porque não estava sendo utilizado

Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

sexta-feira, 3 de maio de 2019

Versão 19.4.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.4.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Adicionado alguns métodos na API de testes para facilitar o teste com selenium para os componentes e:lookup e e:dialogSelect
- Adicionado opção de passar a action no @FilterSearchLookupField para quando utilizar mais de um campo apontando pra mesma classEntity
- Adicionado retorno de uma mensagem mais intuitiva que não foi possível localizar o método de download com assinatura correta
- Adicionado atributo states no e:inputAddress para aceitar uma collection para os estados, transformando o componente em um combo no lugar de um input

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Adicionado a propriedade styleClass no e:inputTextMoney 
- Alterado o e:divListDatatable para aceitar ocultar os campos de totalizadores
- Alterado o padding de 40px para 20px na classe CSS .content
- Alterado assinatura dos métodos de chamada a ações dinâmicas do ICrudListAction e CrudListAction
- Alterado para executar a validação do BeanValidation antes dos Observers
- Alterado o EmailUtils para ValidEmailUtils para ficar mais claro sua utilização
- Alterado a API de relatório para imprimir SIM ou NÃO quando o tipo do campo for Boolean
- Ajustes nos tempos defaults da API de teste

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Corrigido EventChangedField para ignorar atributos que são LAZY e não está carregado
- Corrigido ReportList para verificar se a coluna é um field ou um getter
- Corrigido método de download para verificar também o tipo IIdentity
- Removido os campos de ENUMERADOS na tela de lista, antes da impressão nas colunas de ordenação e agrupamento
- Corrigido a tela de filtros para limpar checkbox quando o atributo whereJpa estiver preenchido
- Corrigido o filtro da lista quando o tipo do campo igual a CPF que estava mostrando condições erradas
- Correções ortográficas no bundle 
Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

segunda-feira, 1 de abril de 2019

Versão 19.3.0 - Final

Introdução

Nesse post vou mostrar as principais novidades da versão 19.3.0, algumas correções e pequenas alterações.

Implementações

Segue abaixo as implementações dessa versão:

- Adicionado os métodos isFiredCancel(), isFiredReturn(), isFiredSave() e isFiredDynamic() para saber qual ação foi chamada dentro da action de dados
- Implementado opção para adicionar um botão de ação para não finalizar a task, adicionando o atributo labelButtonDontSaveTask
- Criado a interface IIdentity e adicionado no processo de passagem da lista para o dados usando essa interface no TransferListToData, essa implementação foi necessário devido a possibilidade da tela de lista carregar um bean no lugar de uma entity
- Adicionado atributo converterJsf no @JArchSearchFieldCombobox para passar o conversor JSF
- Adicionado e:bundleParams para possibilitar passar 1 parametro pelo JSF
- Adicionado dois eventos novos, @JArchEventBeforeChangeField e @JArchEventBeforeChangeField para interceptar os eventos de antes/depois alteração de uma campo na entidade
- Adicionado novo evento @JArchEventLoadDynamic para interceptar a abertura de um CRUD via ação dinâmica
- Adicionado opção de bloqueio dos componentes visuais quando executado via ação dinâmica @JArchDynamicShowDataAction pelo atributo blockedMaster e @JArchDynamicDetailShowDataAction pelo atributo blockedDetail()

Alterações

Além das implementações descritas acima foram feitas algumas alterações:

- Adicionado tratamento do botão imprimir na tela de lista para ser possível desabilitar e habilitar conforme controle de acesso
- Alterado todos os métodos que usavam verbo POST do JAX-RS do BpmUtils para usar a API do camunda no lugar de acessar via REST
- Alterado métodos para lingua inglesa em HashTagUtils
- Alterado os datatables (divListDatable e tabBody) para mostrar um ícone ("X") nos campos de Boolean que estejam como FALSE, e mostrar vazio quando estiver NULL
- Adicionado o Locale com o tenant atual no MessagePropertiesUtils para dar preferência na busca do bundle por tenant
- Alteração na geração de código para contemplar upload na geração dos testes automático
- Adicionado método na API de testes para chamar a tela de lista com acionamento automático para a tela de dados
- Adicionado atributo idDynamic no TransferListToData para enviar o id da ação dinâmica mesmo que não exista um anotação de ação no método chamado
- Adicionado opção de chamar uma ação dinâmica que não mostra a tela de dados, mas chamando o método callDynamic na tela de lista para entrar na tela de dados e não mostrar botão nenhum de ação (somente o cancelar)
- Ajuste no menu de ações no e:divListDataTable para ocupar no mínimo 8em de tamanho

Correções

Além das alterações descritas acima esta versão contempla algumas correções:
- Correcao no nome do atributo labelButtom para labelButton nas anotações de ação dinâmica
- Ajuste na geração do código (APT e GCA) para levar em consideração o que foi informado no width
- Correção na pesquisa de campos Boolean para saber tratar (S, N ou NULL)
- Acerto no GCA na geraçãoo de mais de um detalhe

Conclusão

Essa versão contempla algumas melhorias e correções. É recomendável a atualização para essa nova versão.

Até mais,

Versão 23.3.0-Final

      Introdução Nesse post vou mostrar as principais novidades da versão 23.3.0, algumas correções e pequenas alterações. Alterações Além d...