This Question is Possibly Answered

1 "correct" answer available (4 pts) 2 "helpful" answers available (2 pts)
5 Replies Last post: Mar 12, 2007 1:09 PM by Dejan Pazin  
Kenneth Christensen   55 posts since
Oct 27, 2006
Currently Being Moderated

Mar 9, 2007 12:12 PM

Chart - Property 'view' is not on type: teamdev.jsf.component.chart.Chart

I'm trying to use the chart component.

 


<q:chart model="#{foodBasicChartUi.population}" view="pie" titleText="Overview"></q:chart>

 

An exception is thrown

 


11:06:25,943 ERROR [STDERR] Mar 9, 2007 11:06:25 AM com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNING: /xhtml/food/find.jspx @144,142 view="pie" Property 'view' is not on type: teamdev.jsf.component.chart.Chart
11:06:25,944 ERROR [STDERR] Mar 9, 2007 11:06:25 AM com.sun.facelets.tag.jsf.ComponentRule warnAttr
WARNING: /xhtml/food/find.jspx @144,142 titleText="Overview" Property 'titleText' is not on type: teamdev.jsf.component.chart.Chart
11:06:25,946 ERROR [STDERR] Mar 9, 2007 11:06:25 AM com.sun.facelets.FaceletViewHandler handleRenderException
SEVERE: Error Rendering View[/xhtml/food/find.jspx]
java.lang.IllegalArgumentException
     at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBase.java:1423)
     at com.sun.facelets.tag.jsf.ComponentRule$LiteralAttributeMetadata.applyMetadata(ComponentRule.java:49)
     at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
     at com.sun.facelets.tag.MetaTagHandler.setAttributes(MetaTagHandler.java:62)
     at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:140)
     at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
     at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
     at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at com.sun.facelets.tag.jstl.core.IfHandler.apply(IfHandler.java:54)
     at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at com.sun.facelets.tag.jsf.ComponentHandler.applyNextHandler(ComponentHandler.java:295)
     at com.sun.facelets.tag.jsf.ComponentHandler.apply(ComponentHandler.java:165)
     at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at com.sun.facelets.tag.jsf.core.ViewHandler.apply(ViewHandler.java:109)
     at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at com.sun.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:49)
     at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:47)
     at com.sun.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:25)
     at com.sun.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:95)
     at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:510)
     at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:553)
     at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:101)
     at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:221)
     at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
     at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
     at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at teamdev.jsf.util.ResourceFilter.doFilter(SourceFile:67)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at org.jboss.seam.web.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:43)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:75)
     at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:213)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
     at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
     at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
     at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
     at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
     at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
     at com.mediatorsystems.workoutjournal.filter.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:43)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
     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:613)

 

Why?

 

/Kenneth

Tatyana Matveyeva   873 posts since
Aug 16, 2006
Currently Being Moderated
1. Mar 9, 2007 5:43 PM in response to: Kenneth Christensen
Re: Chart - Property 'view' is not on type: teamdev.jsf.component.chart.Cha

Kenneth,

 

Thank you for reporting the issue. We will do our best to fix it in the QuipuKit 1.1.1.

 

Regards,

Tatyana

Tatyana Matveyeva   873 posts since
Aug 16, 2006
Currently Being Moderated
2. Mar 9, 2007 6:16 PM in response to: Tatyana Matveyeva
Re: Chart - Property 'view' is not on type: teamdev.jsf.component.chart.Cha

Kenneth,

 

There is another way to specify data model for the Chart component that is not covered in the documentation. You should create class that implements teamdev.jsf.component.chart.ChartModel and bound the model attribute of the Chart component to this class. For example:

 


<q:chart model="#{CityPrecipitation}" view="pie" chartTitle="Amount of Precipitation During the Year"></q:chart>

And here is CityPrecipitation backing bean:

 

public class CityPrecipitation implements ChartModel, Externalizable, Serializable {

  private Series[] mySeries;

  public CityPrecipitation() {  }

  public void makeData() {

    mySeries = new Series[2];
    PlainSeriesImpl series = new PlainSeriesImpl();
    series.setId("Seasons");
    Map data = new HashMap();

    Random random = new Random();
    data.put("Winter", new Integer(random.nextInt(100)));
    data.put("Spring", new Integer(random.nextInt(100)));
    data.put("Summer", new Integer(random.nextInt(100)));
    data.put("Autumn", new Integer(random.nextInt(100)));

    series.setData(data);

    mySeries[0] = series;
  }

 public Series[] getSeries() {
    if (mySeries == null) makeData();
    return mySeries;
  }

 

This should work under Facelets.

 

More examples you can find in our demo application that is available at http://www.teamdev.com/quipukit/downloads.jsf.

 

Regards,

Tatyana

Dejan Pazin   2 posts since
Mar 9, 2007
Currently Being Moderated
3. Mar 10, 2007 4:37 PM in response to: Tatyana Matveyeva
Re: Chart - Property 'view' is not on type: teamdev.jsf.component.chart.Cha

Tatyana,

 

I am having similar problem as Kenneth, for this:

 

<q:chart model="#{reportAction.result}" view="pie">  </q:chart>

 

I get the exception:

 

java.lang.IllegalArgumentException: Component property view is not writable

     at javax.faces.component._ComponentAttributesMap.setComponentProperty(_ComponentAttributesMap.java:410)

     at javax.faces.component._ComponentAttributesMap.put(_ComponentAttributesMap.java:312)

 

I simply cant set any view (and the default is null). I checked class teamdev.jsf.component.chart.Chart and there really is no method setView (but there is a getView). Could this be the reason for the above error?

 

 

Is there any other way to set this view, or any workaround? Currently I can not display any chart at all.

 

thx,

Dejan

Dejan Pazin   2 posts since
Mar 9, 2007
Currently Being Moderated
5. Mar 12, 2007 1:09 PM in response to: Kenneth Christensen
Re: Chart - Property 'view' is not on type: teamdev.jsf.component.chart.Cha

Thx Kenneth, this works.

More Like This

  • Retrieving data ...