voyent
Messages posted by: pbk97030  XML
Profile for pbk97030 -> Messages posted by pbk97030 [13]
Author Message
Dear Ken,

I did remove it and tested the application, but didn't work.

So, I wonder if the upgrade to DR3 requires any changes to web.xml or faces-config.xml?

For your information, I will attach part of my web.xml and faces-config.xml.

Under DR2, it was running W/O any problems.


<web-app>
<context-param>
<param-name>com.icesoft.faces.debugDOMUpdate</param-name>
<param-value>false</param-value>
</context-param>

<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
<description>
State saving method: "client" or "server" (= default)
See JSF Specification 2.5.2
</description>
</context-param>

<context-param>
<param-name>com.icesoft.faces.concurrentDOMViews</param-name>
<param-value>true</param-value>
</context-param>

<!--
Asynchronous mode is the default for ICEfaces,
but in cases where asynchronous updates are not required,
ICEfaces can be configured to support synchronous mode only.
Running in synchronous mode reduces the connection resource requirements for an application deployment.

However, in order to use Ajax push such as server initiated renderer, Asynchronous mode is
required.
-->
<context-param>
<param-name>com.icesoft.faces.synchronousUpdate</param-name>
<param-value>false</param-value>
</context-param>

<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jspx</param-value>
</context-param>

...remainder omitted...

 



<faces-config>
<application>
<view-handler>
com.icesoft.faces.application.D2DViewHandler
</view-handler>

<locale-config>
<default-locale>en</default-locale>
</locale-config>
</application>

<navigation-rule>
<navigation-case>
<from-outcome>LoggedIn</from-outcome>
<to-view-id>/layout.iface</to-view-id>
<redirect></redirect>
</navigation-case>
<navigation-case>
<from-outcome>LoggedOut</from-outcome>
<to-view-id>/login.iface</to-view-id>
<redirect></redirect>
</navigation-case>
</navigation-rule>

...remainder omitted...
 




I am using Weblogic 9.2 and just upgraded to DR3, but I kept getting the following error.

For now, I don't need to use AHS, and it seems that default AHS causes this problem.

If you know any way to fix this, please help me.

Thanks all,
Park


Dec 26, 2007 9:56:49 AM com.icesoft.net.messaging.MessageServiceConfigurationProperties <init>
SEVERE: Parameter not defined: com.icesoft.net.messaging.properties
Dec 26, 2007 9:56:49 AM com.icesoft.net.messaging.jms.JMSAdapter initialize
INFO: JMS Environment:

Dec 26, 2007 9:56:49 AM com.icesoft.faces.async.server.AsyncHttpServerAdaptingServlet setUpMessageClientService
SEVERE:

Failed to subscribe to topic: icefaces.responseTopic
Exception message: javax.naming.NameNotFoundException: Unable to resolve 'ConnectionFactory'. Resolved ''; remaining name 'ConnectionFactory'
Exception cause: javax.naming.NameNotFoundException: Unable to resolve 'ConnectionFactory'. Resolved ''; remaining name 'ConnectionFactory'

The icefaces-ahs.jar is included in the deployment, but the JMS topics are not
configured correctly on the application server. If you intended to use the
Asynchronous HTTP Server (AHS), please refer to the ICEfaces Developer's Guide
for instructions on how to configure the JMS topics on the application server.
If you did not intend to use AHS, please remove the icefaces-ahs.jar from your
deployment and try again.

Dec 26, 2007 9:56:49 AM com.sun.faces.lifecycle.ELResolverInitPhaseListener populateFacesELResolverForJsp
INFO: JSF1027: [null] The ELResolvers for JSF were not registered with the JSP container.
Dec 26, 2007 9:56:49 AM com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: executePhase(RENDER_RESPONSE 6,com.icesoft.faces.context.BridgeFacesContext@1b037fe) threw exception
javax.faces.FacesException: Can't parse stream for /testModel.jspx null
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:496)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:154)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:18)
at com.icesoft.faces.webapp.http.core.PageServer$1.respond(PageServer.java:25)
at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.respondWith(ServletRequestResponse.java:162)
at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet$ThreadBlockingRequestResponse.respondWith(ThreadBlockingAdaptingServlet.java:36)
at com.icesoft.faces.webapp.http.core.PageServer.service(PageServer.java:30)
at com.icesoft.faces.webapp.http.core.MultiViewServer.service(MultiViewServer.java:56)
at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50)
at com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19)
at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19)
at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:29)
at com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:117)
at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:37)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52)
at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29)
at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:76)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:503)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:245)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:148)
at jsp_servlet.__datagrid._jspService(__datagrid.java:101)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:391)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:309)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: java.lang.NullPointerException
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:490)
... 46 more
<Dec 26, 2007 9:56:49 AM EST> <Error> <HTTP> <BEA-101020> <[weblogic.servlet.internal.WebAppServletContext@1900174 - appName: '_appsdir_WBR-prototype_dir', name: 'WBR-prototype', context-path: '/WBR-prototype'] Servlet failed with Exception
javax.faces.FacesException: Can't parse stream for /testModel.jspx null
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:496)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:154)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
Truncated. see log file for complete stacktrace
java.lang.NullPointerException
at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:490)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:154)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
Truncated. see log file for complete stacktrace
 
Hello All,
I am trying to implement a datatable, which supports switching columns by dragNdrop.

If anyone has implemented a similar feature, would you please share your Java code?


Thanks,
Park

Hello ICEFaces team,

I want to dispay error messages in the order which the user did wrong.
For example,
1. Validation error : required
2. Conversion error
3. Validation error : value shoule be betwee X and Y, etc.

In reality,
Error messages are displayed in reverse order.

1. Validation error : value shoule be betwee X and Y, etc.
2. Conversion error
3. Validation error : required

I checked a source code and found that this is happening
because MessagesRenderer.java is using Iterator, which holds
a referece to List

Code:
        
 MessagesRenderer.java
 
 FacesMessage nextFacesMessage = null;
       while (messagesIterator.hasNext()) {
             nextFacesMessage = (FacesMessage) messagesIterator.next();
             ...
       }
 


But I hope this will be changed to as follows;

Code:
 public class ReverseIterator implements Iterator {
   private Stack stack;
 	
   public ReverseIterator(Iterator iterator) {
     stack = new Stack();
 	  
     while (iterator.hasNext())
        stack.push(iterator.next());
   }
 	
   public boolean hasNext() {
      return !stack.isEmpty();
   }
 
   public Object next() {
      return stack.pop();
   }
 	
   public void remove() {
      //@TODO  
   }
 }
 


Code:
 ReverseIterator it = new ReverseIterator(messagesIterator);	
 //while (messagesIterator.hasNext()) {
 while(it.hasNext()){
 	
     //nextFacesMessage = (FacesMessage) messagesIterator.next();
    nextFacesMessage = (FacesMessage) it.next();
 


And then it will display the error message in the correct order.

Please correct me if I am wrong.

Thanks,
Park

I am creating a table dynamically. Everything but page information about index/count works.

Please refer to the attachment.
Thanks,


Code:
  DataPaginator paginator2 = createDataPaginatorDisplayInfo();
  paginator2.setFor("meteringReconBean");
  panelGrid.getChildren().add(paginator2);
 
 
  private DataPaginator createDataPaginatorDisplayInfo()
     {
             DataPaginator dataPaginator=new DataPaginator();
             dataPaginator.setPaginator(true);
             dataPaginator.setFor("meteringReconBean");
             dataPaginator.setId("dataScroll_2");
             dataPaginator.setRowsCountVar("rowsCount");
             dataPaginator.setDisplayedRowsCountVar("displayedRowsCount");
             dataPaginator.setFirstRowIndexVar("firstRowIndex");
             dataPaginator.setLastRowIndexVar("lastRowIndex");
             dataPaginator.setPageCountVar("pageCount");
             dataPaginator.setPageIndexVar("pageIndex");
     
             HtmlOutputFormat of=new HtmlOutputFormat();
             of.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             of.setStyleClass("standard");
             of.setValue("{0} items found, displaying {1} item(s), from {2} to {3}. Page {4} / {5}.");
     
             UIParameter paramrowsCount=new UIParameter();
             paramrowsCount.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             paramrowsCount.setValue("#{rowsCount}");
             of.getChildren().add(paramrowsCount);
     
             UIParameter paramdisplayedRowsCount=new UIParameter();
             paramdisplayedRowsCount.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             paramdisplayedRowsCount.setValue("#{displayedRowsCount}");
             of.getChildren().add(paramdisplayedRowsCount);
     
             UIParameter paramfirstRowIndex=new UIParameter();
             paramfirstRowIndex.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             paramfirstRowIndex.setValue("#{firstRowIndex}");
             of.getChildren().add(paramfirstRowIndex);
     
             UIParameter paramlastRowIndex=new UIParameter();
             paramlastRowIndex.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             paramlastRowIndex.setValue("#{lastRowIndex}");
             of.getChildren().add(paramlastRowIndex);
     
             UIParameter parampageCount=new UIParameter();
             parampageCount.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             parampageCount.setValue("#{pageIndex}");
             of.getChildren().add(parampageCount);
     
             UIParameter parampageIndex=new UIParameter();
             parampageIndex.setId(FacesContext.getCurrentInstance().getViewRoot().createUniqueId());
             parampageIndex.setValue("#{pageCount}");
             of.getChildren().add(parampageIndex);    
     
             dataPaginator.getChildren().add(of);    
             return dataPaginator;
     }
Thanks, Philip

I think I can control the number of tab manually, but I wish I have that.
When do we expect to have such a feature?

Thanks for your reply.

Is there any way to provide a user with capability of closing tab?

For example, the user can click close image that tab is removed from the screen. For now, tab allows for only String label, but I need a way to add image near String label.

Thanks,
Hi, everyone

I want to know how to close an opened tab?
Once a tab is created, there is no way to close it because API doesn't provide close button or image.

I did search API and documents, but I couldn't find any useful information.
If anyone knows the solution, please share your idea.

Thanks,
In order to help other people who might have the same issues, I want to give you what I found.

if select object is part of the same form as the calendar, every time you click calendar, then select is being repainted.

So, if you don't want it to be repainted, you have to separate them with different forms.

Code:
 <ice:form partialSubmit="true">
 <ice:selectOneMenu styleClass="basicSelect" 
 value="#{inventoryList.container.reportType.value}"
 binding="#{inventoryList.meteringReconFormProcessor.selectReportType}"
 
 valueChangeListener="#inventoryList.meteringReconFormProcessor.reportTypeChanged}"
 immediate="true"
 partialSubmit="true"
 <f:selectItems value="#{inventoryList.container.reportType.types}" />
 </ice:selectOneMenu>
 </ice:form>
 
 <ice:form partialSubmit="true">
 <ice:panelGroup styleClass="calBorderHighlight">
 <!-- Calendar Component -->
 <ice:selectInputDate id="endDate" value="#{dateSelect.date2}" renderAsPopup="true" partialSubmit="true"
 highlightClass="weekend"
 highlightUnit="DAY_OF_WEEK"
 highlightValue="1,7"			                       
 >
  <f:convertDateTime pattern="MM/dd/yyyy" timeZone="#{dateSelect.timeZone}"/>
 </ice:selectInputDate>
 <ice:messages/>
 </ice:panelGroup>
 </ice:form>
 


If you separate them with different forms, then you no longer see it repainted.

Hope it helps.
Thanks,
Hello everyone,

I have one issue regarding calendar popup.

I click calendar popup and it works fine, but selectOneMenu is always repainted in IE6.

I attach screen image at the time of clicking popup calendar.

There must be some ways to prevent this issue.
If anyone knows how to fix it, please help me.


[These are log traces when I click the calendar]

127.0.0.1 - - [15/Nov/2007:10:34:56 -0500] "POST /dataTable-style-tutorial/block/send-receive-updates HTTP/1.1" 200 247
127.0.0.1 - - [15/Nov/2007:10:34:57 -0500] "POST /dataTable-style-tutorial/block/send-receive-updates HTTP/1.1" 200 190565
127.0.0.1 - - [15/Nov/2007:10:34:57 -0500] "GET /dataTable-style-tutorial/xmlhttp/blank HTTP/1.1" 200 39


According to log traces, browser receves only updates from server side.
But, why another compoent is repainted?...

Code:
<ice:selectOneMenu styleClass="basicSelect" partialSubmit="true"
      accesskey="T"
      value="#{inventoryList.container.reportType.value}"
      binding="#{inventoryList.meteringReconFormProcessor.selectReportType}"              
 valueChangeListener="#{inventoryList.meteringReconFormProcessor.reportTypeChanged}"
 immediate="true"
 >
 <f:selectItems value="#{inventoryList.container.reportType.types}" />
 </ice:selectOneMenu>
 




Code:
  					
 <ice:panelGroup styleClass="calBorderHighlight">
       <!-- Calendar Component -->
 <ice:selectInputDate id="date2" value="#{dateSelect.date2}" renderAsPopup="true" partialSubmit="true"
 			                       highlightClass="weekend"
          						   highlightUnit="DAY_OF_WEEK"
          						   highlightValue="1,7"			                       
 >
 <f:convertDateTime pattern="MM/dd/yyyy" timeZone="#{dateSelect.timeZone}"/>
 </ice:selectInputDate>
 <ice:messages/>
 </ice:panelGroup>  
 
Thanks for a reply.

I want to find how to override the method. Is it possible?

If I do find and I will post it.

Thanks,
Hi everyone,

If you leave it blank and submit form,
, the validate(~,~,~) method will not be invoked.

In order to prevent this issue, you have to specify the required="true" attribute for <ice:inputText ~~>. So checking blank or null becomes meaningless for this case because the validate method will be skipped.

This is not what I expected, but it is how icefaces work now.
Can it be changed in the future release?

I hoped I would take care of everthing inside a validator including blank check.

If I am wrong, please correct me.

Thanks,

Hello guys,

I have an issue with a custom validator. I created a new validator, LoginValidator and defined it in icefaces-config.xml.

I ran it, but it never invoked the method, validate(~, ~, ~).
I was able to check the Validator was actually created, but
the method was not invoked at all.

Please advise me whether I missed anything.

Thanks

Code:
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIInput;
 import javax.faces.context.FacesContext;
 import javax.faces.validator.Validator;
 import javax.faces.validator.ValidatorException;
 
 public class LoginValidator implements Validator {
     public LoginValidator() {
     	System.err.println("loginValidator");
     }
     
 	public void validate(FacesContext context, UIComponent component, Object value) {
 		if(null == value || ((String)value).trim().equals("")){
 			FacesMessage msg = new FacesMessage();
 			System.err.println(((UIInput)component).getLocalValue());
 			System.err.println(((UIInput)component).getId());
 			System.err.println(((UIInput)component).getRendererType());
 			msg.setDetail("Invalid username/password");
 			msg.setSummary("Invalid username/password");
 			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
 			throw new ValidatorException(msg);
 		}
     }
 }
 


This is faces-config.xml

Code:
<validator>
         <validator-id>com.nyiso.icefaces.loginValidator</validator-id>
         <validator-class>com.nyiso.icefaces.component.validator.LoginValidator</validator-class>
     </validator>  


This is login.jspx
Code:
 <td align="left">
     <ice:inputText id="username" styleClass="basicInput">
       <f:validator validatorId="com.nyiso.icefaces.loginValidator" />                    	
     </ice:inputText>
 </td>  
 
Profile for pbk97030 -> Messages posted by pbk97030 [13]
Go to:   
Powered by JForum 2.1.7ice © JForum Team