You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Dave <ja...@yahoo.com> on 2007/05/06 11:31:47 UTC

addResource java.lang.ClassCastException

I tried to use 
   <h:outputText value="#{bean.addResource}"/>
  to add javascript.
   
  public String getAddResource() {
      FacesContext context = FacesContext.getCurrentInstance();
    AddResource addResource = AddResourceFactory.getInstance(context);
    addResource.addInlineScriptAtPosition(context, AddResource.BODY_END, script1);  
    addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD , script2);  
  }
   
  But got the following exception. I am not sure how to use AddResource in correct way. Thanks for help.
   
   
  java.lang.ClassCastException: org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
        at org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.dc.web.filter.WebFilter.doFilter(WebFilter.java:77)
        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.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)

 
---------------------------------
Need Mail bonding?
Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.

Re: addResource java.lang.ClassCastException

Posted by Dave <ja...@yahoo.com>.
It is a bug.
   
  I followed the DefautAddResource.java code for:
  addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD , script); 
   
  InlineScriptPositionedInfo  was cast to AttributeInfo.
   
  see the highlighted line below.
   
  Is there a workaround for adding script for <body onload="script">?
   
  Thanks!
   
   
     /**
     * Adds the given Inline Script at the specified document position.
     */
    public void addInlineScriptAtPosition(FacesContext context, ResourcePosition position,
                                          String inlineScript)
    {
        addPositionedInfo(position, getInlineScriptInstance(inlineScript));
    }
   
      private PositionedInfo getInlineScriptInstance(String inlineScript)
    {
        return new InlineScriptPositionedInfo(inlineScript);
    } 
   
   
         if (bodyInsertPosition > 0)
        {
            StringBuffer buf = new StringBuffer();
            Set bodyInfos = getBodyOnloadInfos();
            if (bodyInfos.size() > 0)
            {
                int i = 0;
                for (Iterator it = getBodyOnloadInfos().iterator(); it.hasNext();)
                {
                    AttributeInfo positionedInfo = (AttributeInfo) it.next();
                    if (i == 0)
                    {
                        buf.append(positionedInfo.getAttributeName());
                        buf.append("=\"");
                    }
                    buf.append(positionedInfo.getAttributeValue());
                      i++;
                }
                  buf.append("\"");
                originalResponse.insert(bodyInsertPosition - 1, " " + buf.toString());
            }
        }

Dave <ja...@yahoo.com> wrote:
    I tried, but still got the same exception. Any difference between "return null" and "return empty string" for <outputText>?  Any helps are appreciated.
   
  java.lang.ClassCastException: org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
        at org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

Glauco Pimentel Gomes <gl...@yahoo.com.br> wrote:
  Return an empty String "";

Glauco P. Gomes

Dave escreveu:
> HI Omidh,
> 
> Thanks for help.
> I used to trigger the code to add javascript. If the 
> method returns "work done", it would show up on page.
> 
> Dave
>
> */omidh /* wrote:
>
>
> Try to return a String...
>
> public String getAddResource() {
> FacesContext context = FacesContext.getCurrentInstance();
> AddResource addResource = AddResourceFactory.getInstance(context);
> addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> script1);
> addResource.addInlineScriptAtPosition(context,
> AddResource.BODY_ONLOAD ,
> script2);
> return "work done";
> }
>
> I added these in my Portlet-Impl in the render() and it works so
> far ok
> (without problems):
>
> FacesContext fCtx = null;
> fCtx = facesContext(request, response);
>
> AddResource resource = AddResourceFactory.getInstance(fCtx);
> logger.debug("resource: "+ resource);
>
> resource.addJavaScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
> "/tiny_mce/tiny_mce.js");
>
> resource.addInlineScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
> "tinyMCE.init({" +
> "mode : \"textareas\", " +
> "theme : \"advanced\", " +
> "});");
>
>
>
>
> Dave-53 wrote:
> >
> > I tried to use
> >
> > to add javascript.
> >
> > public String getAddResource() {
> > FacesContext context = FacesContext.getCurrentInstance();
> > AddResource addResource = AddResourceFactory.getInstance(context);
> > addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> > script1);
> > addResource.addInlineScriptAtPosition(context,
> AddResource.BODY_ONLOAD
> > , script2);
> > }
> >
> > But got the following exception. I am not sure how to use
> AddResource in
> > correct way. Thanks for help.
> >
> >
> > java.lang.ClassCastException:
> >
> org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
> > at
> >
> org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
> > at
> >
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
       
---------------------------------
Be a better Heartthrob. Get better relationship answers from someone who knows.
Yahoo! Answers - Check it out. 

Re: addResource java.lang.ClassCastException

Posted by Dave <ja...@yahoo.com>.
I tried, but still got the same exception. Any difference between "return null" and "return empty string" for <outputText>?  Any helps are appreciated.
   
  java.lang.ClassCastException: org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
        at org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
        at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

Glauco Pimentel Gomes <gl...@yahoo.com.br> wrote:
  Return an empty String "";

Glauco P. Gomes

Dave escreveu:
> HI Omidh,
> 
> Thanks for help.
> I used to trigger the code to add javascript. If the 
> method returns "work done", it would show up on page.
> 
> Dave
>
> */omidh /* wrote:
>
>
> Try to return a String...
>
> public String getAddResource() {
> FacesContext context = FacesContext.getCurrentInstance();
> AddResource addResource = AddResourceFactory.getInstance(context);
> addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> script1);
> addResource.addInlineScriptAtPosition(context,
> AddResource.BODY_ONLOAD ,
> script2);
> return "work done";
> }
>
> I added these in my Portlet-Impl in the render() and it works so
> far ok
> (without problems):
>
> FacesContext fCtx = null;
> fCtx = facesContext(request, response);
>
> AddResource resource = AddResourceFactory.getInstance(fCtx);
> logger.debug("resource: "+ resource);
>
> resource.addJavaScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
> "/tiny_mce/tiny_mce.js");
>
> resource.addInlineScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
> "tinyMCE.init({" +
> "mode : \"textareas\", " +
> "theme : \"advanced\", " +
> "});");
>
>
>
>
> Dave-53 wrote:
> >
> > I tried to use
> >
> > to add javascript.
> >
> > public String getAddResource() {
> > FacesContext context = FacesContext.getCurrentInstance();
> > AddResource addResource = AddResourceFactory.getInstance(context);
> > addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> > script1);
> > addResource.addInlineScriptAtPosition(context,
> AddResource.BODY_ONLOAD
> > , script2);
> > }
> >
> > But got the following exception. I am not sure how to use
> AddResource in
> > correct way. Thanks for help.
> >
> >
> > java.lang.ClassCastException:
> >
> org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
> > at
> >
> org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
> > at
> >
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> > at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> > at com.dc.web.filter.WebFilter.doFilter(WebFilter.java:77)
> > 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.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)
> >
> >
> > ---------------------------------
> > Need Mail bonding?
> > Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.
> >
>
> -- 
> View this message in context:
> http://www.nabble.com/addResource-java.lang.ClassCastException-tf3699006.html#a10352081
> Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------
> The fish are biting.
> Get more visitors 
> 
> on your site using Yahoo! Search Marketing. 
> 




       
---------------------------------
Ahhh...imagining that irresistible "new car" smell?
 Check outnew cars at Yahoo! Autos.

Re: addResource java.lang.ClassCastException

Posted by Glauco Pimentel Gomes <gl...@yahoo.com.br>.
Return an empty String "";

Glauco P. Gomes

Dave escreveu:
> HI Omidh,
>  
> Thanks for help.
> I used <h:outputText> to trigger the code to add javascript. If the 
> method returns "work done", it would show up on page.
>  
> Dave
>
> */omidh <om...@gmx.de>/* wrote:
>
>
>     Try to return a String...
>
>     public String getAddResource() {
>     FacesContext context = FacesContext.getCurrentInstance();
>     AddResource addResource = AddResourceFactory.getInstance(context);
>     addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
>     script1);
>     addResource.addInlineScriptAtPosition(context,
>     AddResource.BODY_ONLOAD ,
>     script2);
>     return "work done";
>     }
>
>     I added these in my Portlet-Impl in the render() and it works so
>     far ok
>     (without problems):
>
>     FacesContext fCtx = null;
>     fCtx = facesContext(request, response);
>
>     AddResource resource = AddResourceFactory.getInstance(fCtx);
>     logger.debug("resource: "+ resource);
>
>     resource.addJavaScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
>     "/tiny_mce/tiny_mce.js");
>
>     resource.addInlineScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
>     "tinyMCE.init({" +
>     "mode : \"textareas\", " +
>     "theme : \"advanced\", " +
>     "});");
>
>
>
>
>     Dave-53 wrote:
>     >
>     > I tried to use
>     >
>     > to add javascript.
>     >
>     > public String getAddResource() {
>     > FacesContext context = FacesContext.getCurrentInstance();
>     > AddResource addResource = AddResourceFactory.getInstance(context);
>     > addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
>     > script1);
>     > addResource.addInlineScriptAtPosition(context,
>     AddResource.BODY_ONLOAD
>     > , script2);
>     > }
>     >
>     > But got the following exception. I am not sure how to use
>     AddResource in
>     > correct way. Thanks for help.
>     >
>     >
>     > java.lang.ClassCastException:
>     >
>     org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
>     > at
>     >
>     org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
>     > at
>     >
>     org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
>     > at
>     >
>     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>     > at
>     >
>     org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>     > at com.dc.web.filter.WebFilter.doFilter(WebFilter.java:77)
>     > 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.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)
>     >
>     >
>     > ---------------------------------
>     > Need Mail bonding?
>     > Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.
>     >
>
>     -- 
>     View this message in context:
>     http://www.nabble.com/addResource-java.lang.ClassCastException-tf3699006.html#a10352081
>     Sent from the MyFaces - Users mailing list archive at Nabble.com.
>
>
> ------------------------------------------------------------------------
> The fish are biting.
> Get more visitors 
> <http://us.rd.yahoo.com/evt=49679/*http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php?o=US2140&cmp=Yahoo&ctv=Q107Tagline&s=Y&s2=EM&b=50> 
> on your site using Yahoo! Search Marketing. 
> <http://us.rd.yahoo.com/evt=49679/*http://searchmarketing.yahoo.com/arp/sponsoredsearch_v2.php?o=US2140&cmp=Yahoo&ctv=Q107Tagline&s=Y&s2=EM&b=50> 



Re: addResource java.lang.ClassCastException

Posted by Dave <ja...@yahoo.com>.
HI Omidh,
   
  Thanks for help.
  I used <h:outputText> to trigger the code to add javascript. If the method returns "work done", it would show up on page.
   
  Dave

omidh <om...@gmx.de> wrote:
  
Try to return a String...

public String getAddResource() {
FacesContext context = FacesContext.getCurrentInstance();
AddResource addResource = AddResourceFactory.getInstance(context);
addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
script1); 
addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD ,
script2); 
return "work done";
}

I added these in my Portlet-Impl in the render() and it works so far ok
(without problems):

FacesContext fCtx = null;
fCtx = facesContext(request, response);

AddResource resource = AddResourceFactory.getInstance(fCtx);
logger.debug("resource: "+ resource);

resource.addJavaScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
"/tiny_mce/tiny_mce.js");

resource.addInlineScriptAtPosition(fCtx, AddResource.HEADER_BEGIN, 
"tinyMCE.init({" +
"mode : \"textareas\", " +
"theme : \"advanced\", " +
"});");




Dave-53 wrote:
> 
> I tried to use 
> 
> to add javascript.
> 
> public String getAddResource() {
> FacesContext context = FacesContext.getCurrentInstance();
> AddResource addResource = AddResourceFactory.getInstance(context);
> addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> script1); 
> addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD
> , script2); 
> }
> 
> But got the following exception. I am not sure how to use AddResource in
> correct way. Thanks for help.
> 
> 
> java.lang.ClassCastException:
> org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
> at
> org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
> at
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at com.dc.web.filter.WebFilter.doFilter(WebFilter.java:77)
> 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.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)
> 
> 
> ---------------------------------
> Need Mail bonding?
> Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.
> 

-- 
View this message in context: http://www.nabble.com/addResource-java.lang.ClassCastException-tf3699006.html#a10352081
Sent from the MyFaces - Users mailing list archive at Nabble.com.



 
---------------------------------
The fish are biting.
 Get more visitors on your site using Yahoo! Search Marketing.

Re: addResource java.lang.ClassCastException

Posted by omidh <om...@gmx.de>.
Try to return a String...

public String getAddResource() {
      FacesContext context = FacesContext.getCurrentInstance();
    AddResource addResource = AddResourceFactory.getInstance(context);
    addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
script1);  
    addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD ,
script2);  
return "work done";
  }

I added these in my Portlet-Impl in the render() and it works so far ok
(without problems):

FacesContext fCtx = null;
		fCtx = facesContext(request, response);
		
		AddResource resource = AddResourceFactory.getInstance(fCtx);
		logger.debug("resource: "+ resource);
		
		resource.addJavaScriptAtPosition(fCtx, AddResource.HEADER_BEGIN,
"/tiny_mce/tiny_mce.js");
		
		resource.addInlineScriptAtPosition(fCtx, AddResource.HEADER_BEGIN, 
				"tinyMCE.init({" +
					"mode : \"textareas\", " +
					"theme : \"advanced\", " +
				"});");


 

Dave-53 wrote:
> 
> I tried to use 
>    <h:outputText value="#{bean.addResource}"/>
>   to add javascript.
>    
>   public String getAddResource() {
>       FacesContext context = FacesContext.getCurrentInstance();
>     AddResource addResource = AddResourceFactory.getInstance(context);
>     addResource.addInlineScriptAtPosition(context, AddResource.BODY_END,
> script1);  
>     addResource.addInlineScriptAtPosition(context, AddResource.BODY_ONLOAD
> , script2);  
>   }
>    
>   But got the following exception. I am not sure how to use AddResource in
> correct way. Thanks for help.
>    
>    
>   java.lang.ClassCastException:
> org.apache.myfaces.renderkit.html.util.DefaultAddResource$InlineScriptPositionedInfo
>         at
> org.apache.myfaces.renderkit.html.util.DefaultAddResource.writeWithFullHeader(DefaultAddResource.java:803)
>         at
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:170)
>         at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at com.dc.web.filter.WebFilter.doFilter(WebFilter.java:77)
>         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.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)
> 
>  
> ---------------------------------
> Need Mail bonding?
> Go to the Yahoo! Mail Q&A for great tips from Yahoo! Answers users.
> 

-- 
View this message in context: http://www.nabble.com/addResource-java.lang.ClassCastException-tf3699006.html#a10352081
Sent from the MyFaces - Users mailing list archive at Nabble.com.