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

Nesse passo conheceremos a Fonte de dados, um componente web e mobile responsável por fazer a ligação entre o banco de dados e os outros componentes visuais.

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

Visão Geral

A fonte de dados (data source) é um recurso que facilita bastante o desenvolvimento no Cronapp, criando uma ligação entre os componentes visuais e o banco de dados através de uma consulta personalizada OData ou bloco de programação.

Para criar uma fonte de dados, você precisa acessar o Menu do sistema > Projeto > Fonte de Dados e clicar no botão Nova fonte de dados.


Figura 1.1 - Caminho para criar uma fonte de dados


Com isso, ser aberta a janela de criação e nela é possível adicionar filtro, permissões, 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 no sistema;
  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 de um 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 já criado;
    • 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: Esse campo só é ativo para fontes do tipo Bloco de programação e é necessário para definir o mapa da 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 ao mapa retornado da fonte de dados;
  12. Aba Tratamento de erros: adicionar mensagens de erros personalizadas, permite internacionalização dessas mensagens.


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 logo acima do componente. Selecione esse ícone e acesse a propriedade Origem dos Dados para alterar a entidade ou personalizar o data source.


Figura 1.3 - Vinculando uma fonte de dados ou entidade ao componente



Passos

As páginas minhasReservas (mobile e web) que configuramos anteriormente, só poderão realizar e exibir reservas do usuário 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

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 "..." 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 (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á um 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 - adicionando retorno do bloco no parâmetro de uma 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.



  • No labels