| Author |
Message |
|
|
|
According to the roadmap on jira.icefaces.org, 1.8.2 EE P2 was scheduled for release last Friday. I don't see it available for download yet. Any idea on a new release date?
|
 |
|
|
|
So, I've got a form with various fields on it. partialSubmit=true on the form, and some of the fields have required=true set. Also in the form is an ice:commandLink that will add a field to the form when clicked. On the ice:commandLink, I set immediate=true so the field would get added even if another field already has a validation error on it. That works great. But, the validation error disappears. Is there anyway to preserve the validation error?
|
 |
|
|
Given the following selectOneMenu:
Code:
<ice:selectOneMenu id="vehListSelectRowsBot" value="#{vehicleList.vehListSelectRowsBot}">
<f:selectItems id="vehListrowsDisplayedItemId" value="#{vehicleList.rowsItems}" />
</ice:selectOneMenu>
elsewhere on the page, there is another selectOneMenu with a value change listener. The value change listener updates the value of vehListSelectRowsBot in the vehicleList bean. Yet, the selectOneMenu does not change the selected value.
If I replace the selectOneMenu with a simple outputText... such as
Code:
<ice:outputText value="#{vehicleList.vehListSelectRowsBot}" />
The displayed text *does* update when the value change listener executes. (Oddly, if I add the outputText without removing the selectOneMenu, neither update.)
So, what gives? Am I not understanding some fundamental JSF concept?
|
 |
|
|
I have a desire to have three dataPaginator controls for one dataTable. One control, with paginator=false, to display "Page X of Y"; one control, with paginator=true, to do the pagination; and another control with paginator=false to display "X items found. Displaying items Y to Z."
I give each paginator control a unique id. When the page initially renders, I get the expected results. But, when I utilize one of the paginator buttons, the control that was showing the "Page X of Y" message instead displays the item count message, with updated values. And the control which was showing the item count message continues to show its original message and values (so, it'll continue to say "showing items 1 to 20" even though we're now showing items 21 to 40)
Am I violating icefaces design by attempting to have two paginator=false controls for the same datatable? Or, have I committed some other error that's seemingly causing these two controls to get confused?
TIA
|
 |
|
|
|
Well, in response to my last post, I got an e-mail from sales. Which, I suppose is understandable. If I complete the self-contained sample app requested earlier in the thread, will it be looked at if I'm not a paying customer? I don't want to spend time writing code if it will just be ignored.
|
 |
|
|
|
Ok. Can you just send me a new icefaces jar with the logging code built into it?
|
 |
|
|
|
I don't have code to remove the bean from the session.
|
 |
|
|
So, when SessionRenderer.addCurrentSession gets called, I can trace into the code and see where an OnDemandRenderer with the name "all" gets put in the rendererGroupMap.
Yet, later, when SessionRenderer.render gets call, there's nothing in the rendererGroupMap.
Usually.
A few minutes ago I deleted this post cause the "all" renderer was in the map. I thought I'd merely been insane all along. It still didn't render, but I thought the problem must be elsewhere. Every time I've tried since then, it hasn't been in the map.
|
 |
|
|
Ah, now I follow. listenToJMS is definitely called, as is the SessionRenderer.addCurrentSession("all");
Using the Eclipse debugger I can even step into addCurrentSession and watch all the work it does.
I'll see if I can put together an example using dummy data.
|
 |
|
|
Is there a function I need to call to add the bean to the render group? What you see above is what I've got, so if something's missing from that, I'm not doing it.
I'd like to provide the additional information you want for the simple sample, but I'm not sure what you need. Do you want the code that sets up the JMS listener and unwraps the JMS message? Do you want our private data service code that populates the bean initially?
|
 |
|
|
Environment:
Icefaces 1.8.2
Seam 2.2.0.GA
Weblogic 10.3
I update values in a backing bean, but the page does not asynchronous update. If I refresh the page (using the browser refresh button), I see the new data.
I have:
* made sure the following is in my web.xml:
Code:
<context-param>
<param-name>com.icesoft.faces.synchronousUpdate</param-name>
<param-value>false</param-value>
<description>Turn on/off application-wide synchronous or asynchronous updates.</description>
</context-param>
* deployed the push server (also version 1.8.2) in weblogic. When I connect to the app, I can see in the weblogic STDOUT that icefaces has detected the push server.
Code:
2009-11-16 09:51:28,781 INFO [CoreMessageService] Push Server detected: "ICEfaces Push Server 1.8.2"
2009-11-16 09:51:28,796 INFO [CoreMessageService] Using Push Server Blocking Request Handler
* the following in my .xhtml file:
Code:
<ice:dataTable id="dataSortData"
rows="30"
sortColumn="#{widgetList.sortColumnName}"
sortAscending="#{widgetList.ascending}"
value="#{widgetList.widgets}"
var="item">
<ice:column>
<f:facet name="header">
<ice:commandSortHeader
columnName="#{widgetList.widgValueColumnName}" arrow="true">
<ice:outputText value="#{widgetList.widgValueColumnName}" />
</ice:commandSortHeader>
</f:facet>
<s:link id="link1" action="#{widgetDetailAction.showwidgetDetail(item)}" value="#{item.widgValue}">
<f:param name="widgValue" value="#{item.widgValue}" />
</s:link>
</ice:column>
</ice:dataTable>
(Widget, etc are made up to replace actual names)
* the following in the backing bean:
Code:
@Name("widgetList")
@Scope(ScopeType.SESSION)
public class WidgetTableBean extends SortableList implements Serializable, MessageListener
{
...
private HashMap<Long, WidgetBean> widgetMap;
private ArrayList<WidgetBean> widgets;
...
public void populateTable()
{
widgetMap = new HashMap<Long, WidgetBean>();
widgets = new ArrayList<WidgetBean>();
for (iteration info)
{
WidgetBean wb = [call to create wb w/ proper data];
widgetMap.put(widgetId, wb);
widgets.add(wb);
}
}
...
public void listenToJMS
{
...
SessionRenderer.addCurrentSession("all");
}
...
public void onMessage(Message msg)
{
[code to unwrap JMS message and get the data we want]
widgetMap.get(widgetId).setWidgValue(widgValue);
SessionRenderer.render("all");
}
...
}//end class
I know that onMessage is getting called, and I know that the widgets data is getting updated. Like I said, if I refresh the page, I see the new data.
So, I'm assuming there's some configuration piece I'm missing that's preventing the async rendering from happening. Any idea what I'm overlooking?
Thanks.
|
 |
|
|
Any chance the pages about Push Server and Enterprise Push Server are out of date and there is support in one or both presently for Weblogic Future Response Servlet or Abstract Asynchronous Servlet?
If not, is it planned for both, only Enterprise, or neither?
If planned, is there an expected release date?
TIA
|
 |
|
|
|
Upgrading seems to have fixed it. Thanks.
|
 |
|
|
Yes, push server is deployed. Below is a longer stack trace I grabbed from the weblogic server log.
java.lang.RuntimeException: no message available at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:177) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) java.lang.NullPointerException at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.removeRequest(SessionDispatcher.java:140) at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:65) at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:153) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(Unknown Source) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
|
 |
|
|
The title says almost all there is. Using:
Icefaces 1.8.1
Seam 2.1.2
Weblogic 10.3
In an xhtml file, have the following:
Code:
<s:link id="menuLogoutId" view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}" propagation="none"/>
In pages.xml have:
Code:
<page view-id="*">
<navigation from-action="#{identity.logout}">
<redirect view-id="/home.xhtml"/>
</navigation>
</page>
When user clicks the logout link, from user perspective logout happens successfully, but on Weblogic console get:
Code:
Root cause of ServletException.
java.lang.RuntimeException: no message available
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:177)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
Truncated. see log file for complete stacktrace
java.lang.NullPointerException
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.removeRequest(SessionDispatcher.java:140)
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:65)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23)
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
Truncated. see log file for complete stacktrace
>
Any tips on where to look for problems would be greatly appreciated.
|
 |
|
|