2 Replies Latest reply on Mar 10, 2008 5:45 AM by Shimon Lifshitz

    JSF Portlet + IPC

    David Corrales Newbie

      Hi everyone!

      Please, help me. I have a problem with IPC Portlets + JSF + Seam. I am new in JBoss Seam and portlets and I am not very sure, what I am doing bad...

      I have two JSF Portlets: Portlet A and Portlet B. I have a listener in portlet B, and it works fine.

      My problem is that I have a <h:commandLink ...> in Portlet A, and I want to send data to Portlet B when I push the commandLink. My problem is that Portlet B does not get data from Portlet B.

      Portlet A: (BuscadorOperacionesWindow)

      <h:dataTable id="tablaOperaciones" value="#{expedientes}" rows="10" class="blue-table" border="1" var="op">
       <f:facet name="header">#{messages.expediente}</f:facet>
       <h:commandLink value="#{op.operacionId}" action="#gestorexpediente.enviaDatos(op.operacionId)}" >
       <f:param name="datoOp" value="#{op.operacionId}" />

      Portlet B: (VisorOperacionWindow)

      <h:panelGrid columns="2">
       <h:outputLabel value="#{messages.operacion}"/>
       <h:outputLabel id="datoOp"/>

      Listener - Portlet B

      public class PortletB extends GenericPortlet
       public static class Listener implements PortalNodeEventListener
       public PortalNodeEvent onEvent(PortalNodeEventContext context, PortalNodeEvent event)
       PortalNode node = event.getNode();
       String nodeName = node.getName();
       WindowActionEvent newEvent = null;
       if (nodeName.equals("BuscadorOperacionesWindow") && event instanceof WindowActionEvent)
       WindowActionEvent wae = (WindowActionEvent) event;
       PortalNode windowB = node.resolve("../VisorOperacionWindow");
       if (windowB != null)
       newEvent = new WindowActionEvent(windowB);
       Map parametros = (Map)wae.getParameters();
       for (Iterator keyValuePairs = parametros.entrySet().iterator(); keyValuePairs.hasNext();)
       Map.Entry entry = (Map.Entry) keyValuePairs.next();
       Object key = entry.getKey();
       Object value = entry.getValue();
       HashMap param = new HashMap();
       param.put(key, value);
       return newEvent;
       return context.dispatch();
       return context.dispatch();

      Anyone, can help me, please.

      Thanks very much