[Logo] OLD FORUM - Use new one: https://www.CaptainCasa.online/forum
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
error when extend RowComponentTag  XML
Forum Index -> Development
Author Message
kretzler

Power User

Joined: 21/11/2007 13:00:57
Messages: 73
Location: Karlsruhe
Offline

Hello,

I would like to build my own widget, for that I want to extend a RowComponentTag to include Labels, Fields, ...

But I get some errors (see below)


Another question is, what is the best way to build your own widgets.

The first possibility is to extend from a ROWComponentTag, FieldComponentTag, ... and then put Labels, Fields, ... inside. Then use the componentbinding attribute to add the widget to a component.

The second possibility could be to design a jsp page with the enterprise client. Then use the rowinclude component to add the jsp page. For the jsp page you could write a managed bean.

Code:
 public class VpsRow extends ROWComponentTag {
     public VpsRow() {
         super();
     }
 }
 
 public void addRow (ActionEvent event) {
     VpsRow row = new VpsRow();
 }
 


Code:
 2007-12-14 13:42:52,971 ERROR [http-8080-2] lifecycle.ApplyRequestValuesPhase (ApplyRequestValuesPhase.java:84) - java.lang.StringIndexOutOfBoundsException: String index out of range: -6
 javax.faces.el.EvaluationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
 	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
 	at org.eclnt.jsfserver.elements.BaseActionComponent.broadcast(BaseActionComponent.java:68)
 	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:249)
 	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:307)
 	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 	at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:95)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 	at org.eclnt.jsfserver.util.CompressionFilter.doFilter(CompressionFilter.java:33)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 	at java.lang.Thread.run(Unknown Source)
 Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
 	at java.lang.String.substring(Unknown Source)
 	at org.eclnt.jsfserver.elements.ComponentRepository.getTagNameForComponentTagClass(ComponentRepository.java:325)
 	at org.eclnt.jsfserver.elements.BaseComponentTag.<init>(BaseComponentTag.java:58)
 	at org.eclnt.jsfserver.elements.impl.ROWComponentTag.<init>(ROWComponentTag.java:12)
 	at de.vps.icms.ui.cardtyp.VpsRow.<init>(VpsRow.java:7)
 	at de.vps.icms.ui.cardtyp.CardMasterdataTemplate.onTemplate(CardMasterdataTemplate.java:81)
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 	at java.lang.reflect.Method.invoke(Unknown Source)
 	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
 	... 26 more
 14.12.2007 13:42:52 org.eclnt.jsfserver.util.ThreadingFilter doFilter
 SCHWERWIEGEND: 
 javax.servlet.ServletException: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 	at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:95)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 	at org.eclnt.jsfserver.util.CompressionFilter.doFilter(CompressionFilter.java:33)
 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 	at java.lang.Thread.run(Unknown Source)
 Caused by: javax.faces.el.EvaluationException: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
 	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
 	at org.eclnt.jsfserver.elements.BaseActionComponent.broadcast(BaseActionComponent.java:68)
 	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:249)
 	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:307)
 	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
 	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
 	... 19 more
 Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -6
 	at java.lang.String.substring(Unknown Source)
 	at org.eclnt.jsfserver.elements.ComponentRepository.getTagNameForComponentTagClass(ComponentRepository.java:325)
 	at org.eclnt.jsfserver.elements.BaseComponentTag.<init>(BaseComponentTag.java:58)
 	at org.eclnt.jsfserver.elements.impl.ROWComponentTag.<init>(ROWComponentTag.java:12)
 	at de.vps.icms.ui.cardtyp.VpsRow.<init>(VpsRow.java:7)
 	at de.vps.icms.ui.cardtyp.CardMasterdataTemplate.onTemplate(CardMasterdataTemplate.java:81)
 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 	at java.lang.reflect.Method.invoke(Unknown Source)
 	at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
 	... 26 more
 
[WWW]
CaptainCasa

Power User
[Avatar]

Joined: 21/11/2007 12:23:06
Messages: 5555
Offline

Hi Ralph,

creating own widgets is not yet documented, and as consequence you need to know JSF in a not too bad way.

So... before giving the answer: what is you JSF expertise at the moment? Have you written own JSF controls already?

Björn

Björn Müller, CaptainCasa GmbH
CaptainCasa

Power User
[Avatar]

Joined: 21/11/2007 12:23:06
Messages: 5555
Offline

...finally: we added information on how to extend the component library in today's beta download. Please have a look into the Developers' Guide for detailed information.

Thanks, Björn

Björn Müller, CaptainCasa GmbH
 
Forum Index -> Development
Go to:   
Powered by JForum 2.1.6 © JForum Team