Page tree
Skip to end of metadata
Go to start of metadata

Nesse passo conheceremos a Fonte de dados, um dos recursos mais importantes do Cronapp.

Essa página é parte de um tutorial, veja mais detalhes sobre o conteúdo abordado aqui em Fonte de Dados.

Visão Geral

A principal função da fonte de dados (data source) é gerar uma ligação entre o banco de dados do sistema e os demais recursos, como telas, relatórios BPM e outros. Essa interação é feita com base em uma consulta na própria fonte de dados ou a partir de um bloco de programação vinculado a fonte. A fonte de dados possui diversos outros recursos que não abordaremos nesse tutorial, acesse a documentação da Fonte de Dados para mais detalhes.

Para acessar a lista de fontes de dados do projeto clicando no ícone Fonte de dados (destaque 1 da figura 1.1). Podemos notar que projetos criados no Cronapp já iniciam com algumas fontes. Elas são responsáveis pelos recursos mais básico do sistema, como acesso e segurança. Modifique uma fonte de dados existente clicando no ícone Editar (2) ou crie através do botão Nova fonte de dados (3).


Figura 1.1 - Caminho para criar uma fonte de dados


Na janela de criação e edição é possível gerar recurso de API, adicionar filtro, permissões de acesso, criar eventos, adicionar novos campos, inserir um conteúdo específico a um atributo do objeto e outras funcionalidades (Figura 1.2). 


Figura 1.2 - Janela de edição da fonte de dados


  1. Identificador: identificador da fonte de dados para usar os recursos de API;
  2. Nome da consulta: identificador da fonte de dados pelo programador;
  3. Tipo da fonte: define se a fonte de dados estará vinculada a uma Entidade ou Bloco de programação;
  4. Origem da fonte: seleção do bloco de programação ou entidade OData;
    • campo: exibe a entidade ou bloco de programação selecionado;
    • "…": abre janela de seleção de entidade ou bloco de programação existente;
    • Novo Bloco de programação: Abre uma janela para a criação do bloco de programação;
    • Excluir: limpa a seleção do bloco de programação ou entidade;
  5. Entidade base: campo ativado quando a fonte está vinculada a um Bloco de programação, esse campo permite mapear o retorno do bloco com base na entidade;
  6. Auditória em log: ao marcar, a fonte de dados será monitorada pelo sistema e será gerado um histórico quando ocorrer requisições a essa fonte de dados;
  7. Aba Filtro: define uma consulta JPQL e parâmetros da consulta ou da função dos blocos de programação;
  8. Aba Permissões: define permissões para os verbos HTTP;
  9. Aba Eventos: chama ações em diversos momentos da execução da fonte de dados;
  10. Aba Campos: alterar o valor de cada campo e dá permissões diferenciada por grupos de acesso;
  11. Aba Campo calculados: adiciona novos campos aos atributos de retorno da fonte de dados;
  12. Aba Tratamento de erros: adicionar mensagens de erros personalizadas com possibilidade de internacionalização.


Ao gerar um CRUD ou vincular um componente a uma fonte de dados, a imagem do componente da fonte de dados (1 da Figura 1.3) é exibido na área de edição. Selecione esse ícone e acesse a propriedade Origem dos Dados para personalizá-lo.


Figura 1.3 - Vinculando o componente fonte de dados a uma entidade ou fonte de dados existente 



Passos

As páginas minhas-reservas (mobile e web), que configuramos anteriormente, só poderão exibir e realizar reservas do usuário atualmente logado. Por isso, vamos inserir um filtro e adicionar o usuário logado automaticamente no atributo usuário da fonte de dados, evitando que o usuário tenha que escolher seu próprio nome no momento do registro das reservas de livros.

Nova Fonte de dados

Nesse primeiro momento vamos configurar a consulta da fonte de dados. Como mostrado na figura 1.1, crie uma fonte de dados e siga os seguintes passos para configuração:


Figura 2.1 - Personalizando a fonte de dados


  1. Nomeie a fonte de dados como "ReservasAlunoLogado", inserindo o texto no campo Nome da consulta;
  2. Clique no botão "..." do campo Entidade para abrir a janela de seleção das entidades, selecione a opção app.entity.Reserva e clique em Ok;
  3. Uma consulta básica será criada automaticamente na aba filtro;
  4. Clique no botão de edição da consulta para adicionarmos uma regra parecida com a que criamos para obter o ID do usuário no bloco de programação, usando o Assistente de consulta visual JPQL.

Consulta JPQL

Após abrir o Assistente JPQL a partir da fonte de dados, as áreas Entidade e Campos já estarão preenchidas, clique no botão + Nova Regra (destaque 1 da Figura 2.2) para gerar os campos logo abaixo e escolha a opção "r.user.id" na caixa de seleção (2 da Figura 2.2). Automaticamente o segundo campo será preenchido como igual e o terceiro como :userId.


Figura 2.2 - Personalizando a fonte de dados


Clique em Ok para Salvar a alteração no Assistente JPQL.

Parâmetro da consulta

Após salvar a janela do Assistente JPQL, a consulta será apresentada no campo da aba Filtro e solicitará o parâmetro userId logo baixo. Essa consulta retornará todas as reservas feitas a partir do ID do usuário logado no sistema. Como já criamos essa função de bloco na etapa de criação dos blocos de programação, basta selecioná-lo no parâmetro da consulta (figura 2.3).


Figura 2.3 - Vinculando um bloco de programação ao parâmetro da consulta


  1. Clique no botão "..." do parâmetro userId.
  2. Na janela do bloco selecionado, clique no botão "..." para abrir a janela de seleção de blocos.
  3. Selecione a função IdDoUsuarioLogado do bloco FuncoesUsuarios.
  4. Por fim, clique nos botões Selecionar das duas janelas para salvar a alteração.


Valor inicial do atributo

Para evitar que os usuários necessitem selecionar seu próprio nome no momento que for gerar sua reserva, vamos definir automaticamente o valor do usuário logado no atributo User da entidade reserva. Para isso, faremos o mesmo processo de seleção de bloco do passo anterior. Clique na aba Campos (destaque 1 da figura 2.4) na janela da fonte de dados e siga os passos abaixo:


Figura 2.4 - atribuindo o retorno do bloco de programação em um campo da entidade na fonte de dados


2. Clique no botão "..." do atributo User.
3. Na janela do bloco selecionado, clique no botão "..." para abrir a janela de seleção de blocos.

4. Selecione a função IdDoUsuarioLogado do bloco FuncoesUsuarios.


Clique em Selecionar nas duas janelas e salve a fonte de dados.



  • No labels