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.

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. Ao editar uma fonte de dados, é possível adicionar filtro, permissões, eventos, adicionar novos campos, inserir um conteúdo específico a um atributo do objeto e outras funcionalidades. Veja abaixo a janela da fonte de dados com a identificação dos seus campos.

Figura 1.1 - 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 de da entidade;
  6. Aba Filtro: define uma consulta JPQL e parâmetros da consulta ou da função do blocos de programação;
  7. Aba Permissões: define permissões para os verbos HTTP;
  8. Aba Eventos: chama ações em diversos momentos da execução da fonte de dados;
  9. Aba Campos: alterar o valor de cada campo e dá permissões diferenciada por grupos de acesso;
  10. Aba Campo calculados: adiciona novos campos ao mapa retornado da fonte de dados;
  11. 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, o ícone da fonte de dados (1) é 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.2 - Vinculando uma fonte de dados ou entidade ao componente

 

Observação:

Diferentemente da fonte de dados do Cronapp v1.0, esta nova versão não vincula um data source a um formulário, sendo possível utilizá-la em mais de uma página, tanto web quanto mobile.

Para criar uma nova fonte de dados, basta acessar a propriedade Origem dos Dados (item 1 da figura 1.2) do componente Fonte de dados na tela de edição da view e na janela que abrir, selecionar o botão Nova fonte de dados (Figura 1.2) ou seguir os passos da figura 1.3: menu do sistema > Projeto > Fonte de Dados e clicar no botão Nova fonte de dados.

Figura 1.3 - Criando nova fonte de dados personalizada

 

Dica:

Para informações mais detalhadas da Fonte de dados, acesse a documentação da Nova Fonte de Dados.

 


Passos

As páginas reservaAlunoWeb e reservaAlunoMobile, que configuramos anteriormente, só poderão realizar e exibir reservas do aluno que está 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

Seguindo os passos da figura 1.3, abra a janela que lista as fontes de dados personalizadas do sistema e clique no botão Nova fonte de dados para abrir a janela de edição, como na figura 2.1, e siga os passos:

  1. nomeie a fonte de dados inserindo "ReservasAlunoLogado" no campo Nome da consulta;
  2. clique no botão "..." para abrir a janela de seleção das entidades, escolha 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

 

Figura 2.1 - Personalizando a fonte de dados

Assistente de consulta visual JPQL

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

 


Figura 2.2 - Personalizando a fonte de dados

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

Adicionando parâmetros à consulta

Após salvar a janela do Assistente JPQL, a consulta será apresentada no campo da aba Filtro. Essa consulta retornará todas as reservas feitas a partir do login do usuário informado no parâmetro. Iremos passar nesse parâmetro o bloco de programação que retorna o login do usuário logado no momento.

Como já criamos essa função de bloco na etapa de criação dos blocos de programação, basta selecioná-lo, seguindo os passos da figura 2.3:

  1. clique no botão "..." do parâmetro userLogin;
  2. na janela do bloco selecionado, clique no botão "..." circular;
  3. por fim, selecione a função LoginDoUsuário do bloco FuncoesUsuarios.

 

Figura 2.3 - adicionando retorno do bloco no parâmetro de uma consulta

 

Clique nos botões Selecionar das duas janelas Selecionar Bloco de programação para confirmar.

Definindo valor ao atributo

Para evitar que os usuários selecionem seu próprio nome no momento em que for gerar uma reserva, vamos definir que seja sempre inserido o valor do usuário logado no atributo User da entidade reserva.

Agora iremos fazer o mesmo processo de seleção de bloco do passo anterior. Selecione a aba Campos na janela da fonte de dados e siga os passos abaixo:

  1. clique no botão "..." do campo user;
  2. na janela do bloco selecionado, clique no botão "..." circular;
  3. por fim, selecione a função IdDoUsuárioLogado do bloco FuncoesUsuarios.

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

 

Clique nos botões Selecionar das duas janelas Selecionar Bloco de programação e salve a fonte de dados que acabamos de criar.

 

  • No labels