CRUD READ

Plugar a primeira entidade (Produto) e montar a tela de listagem

0:00 / 0:00
VISÃO GERAL +

Na sequência Novo Módulo a gente construiu o esqueleto do Departamento — ele existe, mas o menu lateral está vazio. Agora vamos plugar a primeira entidade: Produto. E o CRUD começa pelo R — antes de criar, editar ou deletar, o usuário precisa conseguir ver uma listagem saindo do banco.

O áudio acompanha a jornada do agente quando o usuário clica em "Produtos" no menu lateral:

  • 1º agente — o encaminhador
    Nasce na recepção do departamento (MenuItem), olha o número do guichê e escreve uma ordem pro browser: "abre a tela cheia da listagem de Produtos". Não busca nada — só escreve a ordem e é descartado.
  • Ajax dispara um novo pedido
    O browser não troca a página inteira — pede só um recorte que vai ser colado por cima da recepção do departamento.
  • 2º agente nasce no setor de listagem
    Cartão temporário novo, agente novo. Ele lê o procedimento afixado no setor (DepartamentoProdutoList): monta uma mesa de listagem, pega a ferramenta de Produto, busca no almoxarifado, monta as linhas, devolve o HTML.
  • Parada na ferramentaria local
    O agente vai até o DepartamentoMdFactory e pede o ProdutoModel. Se for a primeira vez no pedido, a ferramentaria fabrica e guarda na prateleira pra reusar.
  • Parada no almoxarifado (banco)
    Com a ferramenta na mão, o agente executa a query "select tudo, ordenado por nome". O almoxarifado devolve uma lista de fichas preenchidas — nome, valor, quantidade, observação.
  • Mesa de listagem montada
    O agente cria as colunas (Nome, Valor, Quantidade, Observação) e percorre a lista de produtos um por um, montando cada linha da tabela.
  • Recorte HTML cola por cima
    O agente embrulha tudo num recorte HTML, sai pelos guardas da saída, atravessa a internet e o browser cola a tela cheia por cima do que o usuário já estava vendo. Agente e cartão pro lixo.

No fim do áudio, o panorama dos 9 arquivos que vão ser construídos nos próximos episódios — 6 novos (Bean, WBean, DAO, Model, Action, List) e 3 edits (MdFactory, Manager, Home) — na ordem de construção: de baixo pra cima.

Ficha em branco que representa um produto. POJO com os campos da tabela, getters e setters.

Produto Bean

Versao da ficha preparada pra servir de filtro nas buscas do banco (WHERE do SQL).

Produto WBean

Peca que sabe falar com o almoxarifado. SELECT, INSERT, UPDATE e DELETE moram aqui.

Produto DAO

Camada fina em cima do DAO onde vao morar as regras de negocio nas proximas sequencias.

Produto Model

Classe base abstrata das actions de Produto. ROOT e proWBean() (lazy initialization da ficha de filtro).

Produto Action

De onde vem o getManager(). O fio que conecta Action, XtPage, DAO, MdFactory e Model.

getManager()

Edita a ferramentaria do departamento pra fabricar e guardar o ProdutoModel (lazy init).

MdFactory

Setor da listagem. Monta a mesa, pega a ferramenta, busca no almoxarifado, devolve o HTML.

Produto List

Edita a recepcao do departamento: item Produto no sidebar, case no MenuItem e breadcrumb no Title.

Home