RowSelector just does not work! (Seam 1.1GA, icefaces 1.5.1)
[Logo]
ICEsoft.org Forums: ICEfaces, ICEmobile, ICEpdf
[Search] Search   [Recent Topics] Recent Topics   [Groups] Home Page | www.icefaces.org  [Register] Register  [Login] Login 
RowSelector just does not work! (Seam 1.1GA, icefaces 1.5.1)  XML
Forum Index -> JBoss Seam Integration
Author Message
hurzeler

Joined: 13/12/2006 00:00:00
Messages: 33
Offline


Hello there,

I find this rather frustrating. I just can't get the iceface rowselector to work. I am using Seam 1.1GA with icefaces 1.5.1 on JBoss4.0.5GA. Most ice components work except Effects (see http://www.icefaces.org/JForum/posts/list/3218.page#15306) and RowSelector. For the RowSelector I have attached the simplest possible test case so that you can take a look.

The symptoms are that nothing happens at all. No error messages, no highlighting of the rows, no firing of any events. Just nothing. Adding a dummyEffect makes no difference and the ice-extras.js is imported.

Seam registers the backing bean and the table gets rendered ok????!!!

Here is my page

Code:
 <ice:form xmlns:h="http://java.sun.com/jsf/html"
 	xmlns:f="http://java.sun.com/jsf/core"
 	xmlns:c="http://java.sun.com/jstl/core"
 	xmlns:ice="http://www.icesoft.com/icefaces/component">
 
 	<ice:panelGrid styleClass="componentLayoutRootTable" columns="1">
 		<ice:dataTable id="table" value="#{peopleManager.peopleTable}"
 			var="person" rows="4">
 			<ice:rowSelector value="#{person.selected}"
 				selectionListener="#{peopleManager.rowSelection}" />
 			<ice:column>
 				<f:facet name="header">
                     First Name
 					</f:facet>
 				<ice:outputText value="#{person.firstName}" />
 			</ice:column>
 			<ice:column>
 				<f:facet name="header">
                     Last Name
 					</f:facet>
 				<ice:outputText value="#{person.lastName}" />
 			</ice:column>
 		</ice:dataTable>
 	</ice:panelGrid>
 </ice:form>
 


and backing bean
Code:
 import java.io.Serializable;
 
 import org.jboss.seam.ScopeType;
 import org.jboss.seam.annotations.Logger;
 import org.jboss.seam.annotations.Name;
 import org.jboss.seam.annotations.Scope;
 import org.jboss.seam.log.Log;
 
 import com.icesoft.faces.component.ext.RowSelectorEvent;
 
 @Name("peopleManager")
 @Scope(ScopeType.SESSION)
 public class PeopleManager implements Serializable
 {
     /**
          * 
          */
     private static final long serialVersionUID = -2442372541114289844L;
 
     @Logger
     private Log log;
 
     private Person[] people = new Person[5];
     
 
     public PeopleManager()
     {
 	people[0] = new Person("Phil", "Barr");
 	people[1] = new Person("Neil", "Sahar");
 	people[2] = new Person("Chris", "Tune");
 	people[3] = new Person("Ste", "Revers");
 	people[4] = new Person("Ste", "Lawson");
     }
 
     public Person[] getPeopleTable()
     {
 	return people;
     }
 
     public void rowSelection(RowSelectorEvent e)
     {
 	log.info("rowSelection");
     }
 
 }


with
Code:
 public class Person
 {
     private String firstName;
 
     private String lastName;
 
     private boolean selected;
 
     /**
      * @param firstName
      * @param lastName
      */
     public Person(String firstName, String lastName)
     {
 	super();
 	this.firstName = firstName;
 	this.lastName = lastName;
     }
 
     public String getFirstName()
     {
 	return firstName;
     }
 
     public void setFirstName(String firstName)
     {
 	this.firstName = firstName;
     }
 
     public String getLastName()
     {
 	return lastName;
     }
 
     public void setLastName(String lastName)
     {
 	this.lastName = lastName;
     }
 
     public boolean isSelected()
     {
 	return selected;
     }
 
     public void setSelected(boolean selected)
     {
 	this.selected = selected;
     }
 }
 


Your help is appreciated.
 Filename testRowSelector.zip [Disk] Download
 Description Eclipse 3.2.1/Exadel 4.0.2
 Filesize 2132 Kbytes
 Downloaded:  174 time(s)

philip.breau


Joined: 08/05/2006 00:00:00
Messages: 2675
Offline


Hi,

Thanks for the test case. I've forwarded the issue to our Seam integration developers and we'll get back to you when we know more.

Philip

.
hurzeler

Joined: 13/12/2006 00:00:00
Messages: 33
Offline


Thanks Phillip. I am looking forward to your response.
damianharvey

Joined: 01/02/2007 00:00:00
Messages: 6
Offline


Did you ever get an answer to this? I am facing a similar issue with rowSelector and Seam 1.1.5.

Regards,

Damian.
hurzeler

Joined: 13/12/2006 00:00:00
Messages: 33
Offline


Yes I did. You need to change the order of the column and rowselector tag such like:

Code:
<ice:panelGrid styleClass="componentLayoutRootTable" columns="1">
    <ice:dataTable id="table" value="#{peopleManager.peopleTable}" var="person" rows="4">
      <ice:column>
          <ice:rowSelector value="#{person.selected}" selectionListener="#{peopleManager.rowSelection}" />
          <f:facet name="header">
                     First Name
         </f:facet>
         <ice:outputText value="#{person.firstName}" /></ice:column> ...


In a portal environment you need to add a script tag:
Code:
<ice:form xmlns:h="http://java.sun.com/jsf/html"
 	xmlns:f="http://java.sun.com/jsf/core"
 	xmlns:c="http://java.sun.com/jstl/core"
 	xmlns:ice="http://www.icesoft.com/icefaces/component">
 	<script language="javascript"
 		src="/testRowSelector/xmlhttp/ice-extras.js"></script> ...
 


Good luck!
dkumaran_mca

Joined: 18/01/2007 00:00:00
Messages: 1
Offline


Hi hurzeler ,

we are also trying to use the iceface with jboss seam but we strucked with rowselector component it's just not working..

We are getting this problem..


11:25:50,781 ERROR [[Blocking Servlet]] Servlet.service() for servlet Blocking Servlet threw exception
javax.faces.el.EvaluationException: Exception while invoking expression #{languageAction.rowSelection}
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:171)
at com.icesoft.faces.component.ext.RowSelector.broadcast(RowSelector.java:159)
at com.icesoft.faces.component.panelseries.UISeries$RowEvent.broadcast(UISeries.java:524)
at com.icesoft.faces.component.panelseries.UISeries.broadcast(UISeries.java:232)
at javax.faces.component.UIData.broadcast(UIData.java:517)
at com.icesoft.faces.component.panelseries.UISeries.broadcast(UISeries.java:227)
at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:97)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:139)
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:32)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:95)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:70)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.renderCycle(BlockingServlet.java:456)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.receiveUpdates(BlockingServlet.java:444)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.executeRequest(BlockingServlet.java:324)
at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoSuchMethodException: org.jboss.seam.intercept.Proxy$$EnhancerByCGLIB$$a13b3e1d.rowSelection(com.i
cesoft.faces.component.ext.RowSelectorEvent)
at java.lang.Class.getMethod(Class.java:1581)
at org.apache.myfaces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:124)
... 34 more




while searching i seen you only found the solution for the rowselector bug...

but where can i get the "ice-extras.js" file..

your help very much required..

Thanks in advance.
hurzeler

Joined: 13/12/2006 00:00:00
Messages: 33
Offline


The script you are looking for is in icefaces.jar

I have attached a sample file that belongs to a test application with a root context of "testRowSelector". You do not have to add the script specially it is already there. You only need to refer to it as in the attached file

Good luck...
 Filename test.xhtml [Disk] Download
 Description
 Filesize 1021 bytes
 Downloaded:  285 time(s)

greg.dick

Joined: 26/10/2004 00:00:00
Messages: 84
Offline


Hopefully, no one is still trying to work with ICEfaces 1.5.1 and Seam 1.1. Seam 1.1 was released a week after ICEfaces 1.5.1, and contained a number of breaking changes not rectified until 1.5.2 in January.

In any event, I have a testcase that works with the 1.6 developers release with Seam 1.1.6GA. While it is slightly different than code that would be used in 1.5.3, particularly with respect to web.xml, there is nothing that should prevent the same source code from working under ICEfaces 1.5.3.

I've attached a jar file containing some source and xhtml, and the resources directory for the 1.6 developers build. The application.xml file shows the declaration of the icefaces jars as modules within the ear file, to counter class loading issues related to submitting ICEfaces event classes to the StopaBean.
 Filename tableRowCase.jar [Disk] Download
 Description
 Filesize 5993 Kbytes
 Downloaded:  149 time(s)

[Email]
anandindnr

Joined: 20/04/2008 00:00:00
Messages: 1
Offline


It does not do anything. No error no exception no javascript error ! Row selection is highlighted but selection event is not fired as expected ! I simply databound the table, and put a row selector !
judy.guglielmin

Joined: 20/02/2007 00:00:00
Messages: 1196
Offline


You have tagged onto a REALLY old thread here.....are you using Seam? which version and which version of ICEfaces? There are examples of the row selector with both the seam-comp-showcase as well as seam-auctionMonitor (both available from our downloads page).
venomrld

Joined: 29/06/2009 00:00:00
Messages: 8
Offline


All problem lies inside the 'Person' class. All '#{}' values depend upon the getter value in the bean. The person class has no getter value as 'getSelected()'; If you create one, definitely row selector would work.

public class Person
{
...
...
...
public boolean isSelected()
{
return selected;
}

/*************************************
/* CORRECTION
public boolean getSelected()
{
return selected;
}
/**************************************
public void setSelected(boolean selected)
{
this.selected = selected;
}
}
judy.guglielmin

Joined: 20/02/2007 00:00:00
Messages: 1196
Offline


That's pretty old stuff....we recommend a minimum of Seam1.2.1.GA and with ICEfaces1.6.1 if you are working with Seam. These older versions are just not in the testing matrix (since they are not recommended). But...if you can get them to work, great on you.
judy.guglielmin

Joined: 20/02/2007 00:00:00
Messages: 1196
Offline


Of course, the most recommended would be the latest...Seam2.x with ICEfaces-1.8.1 to take advantage of all the latest features.
 
Forum Index -> JBoss Seam Integration
Go to:   
Powered by JForum 2.1.7ice © JForum Team