sexta-feira, 20 de março de 2009

Escrevendo Código Java no Portlet Factory

Conforme visto em post anteriores, o WebSphere Portlet Factory (WPF) é um ambiente de desenvolvimento rápido baseado na parametrização de componentes.

Entretanto, há momentos em que você precisa escrever código Java para executar tarefas específicas que o ambiente gráfico não propicia e para estes casos você tem duas opções de builders. São eles:

  • Linked Java Object (Você criar uma classe Java que pode ser ligada a qualquer builder)
  • Method (Você criar um método Java que pode ser ligada a qualquer builder).
Tanto na classe como no método é necessário interagir com os objetos que foram criados pelo portlet. Para recuperar os estados destes objetos você pode utilizar a classe webAppAccess do WPF.

De posse deste objeto você pode manipular os objetos usados na portlet API. No exemplo abaixo eu mostro como setar valores no portlet preferences via API manipulando o portlet request.

String codCliente = webAppAccess.getVariables().getString("codigoCliente");

PortletRequest portletRequest = (PortletRequest) webAppAccess.getHttpServletRequest().getAttribute(Constants.PORTLET_REQUEST);

PortletPreferences prefs = portletRequest.getPreferences();

prefs.setValue("codigoCliente", codCliente);

prefs.store();

No próximo exemplo eu mostro como recuperar estes mesmos valores.

PortletRequest portletRequest = (PortletRequest) webAppAccess.getHttpServletRequest().getAttribute(Constants.PORTLET_REQUEST);

PortletPreferences prefs = portletRequest.getPreferences();

String codCliente = prefs.getValue("codigoCliente","");

webAppAccess.getVariables().setString("codCliente", codCliente);

Para finalizar gostaria de agradecer o Thiago Moretti por ter trabalhado comigo no entendimento desta solução.

Nenhum comentário: