Any time you have a ClassCastException with two classes
that should be just fine, check your classpath - thoroughly.
Look for a duplicate copy of trinidad.
-- Adam
On 7/13/07, fabio quimbay <[EMAIL PROTECTED]> wrote:
Hi, Adam ...
Thanks for your answer. About the 2 possibilities, I see the source of this
projects (MyFaces / Trinidad) and my project, and I see this ... In the
source class "UploadedFiles" I see this:
static public class FixFilename implements UploadedFile,
Serializable
{ ... }
and its implements is : import
org.apache.myfaces.trinidad.model.UploadedFile . And in my
source code, in my class "GestionPlantilla" I see this:
public void fileUploaded(ValueChangeEvent event)
{
UploadedFile archivo = (UploadedFile) event.getNewValue();
if (archivo != null) {
archivoPlantilla = archivo;
}
}
ant its implements is import
org.apache.myfaces.trinidad.model.UploadedFile. Are the
same Interfaces. And I be carefull, and I use the same version of Trinidad,
1.0.1 and MyFaces 1.1.5. I only put this:
<context-param>
<!-- Maximum memory per request (in bytes) -->
<param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_MEMORY</param-name>
<!-- Use 2000K -->
<param-value>2048000</param-value>
</context-param>
<context-param>
<!-- Maximum disk space per request (in bytes) -->
<param-name>
org.apache.myfaces.trinidad.UPLOAD_MAX_DISK_SPACE
</param-name>
<!-- Use 20,000K -->
<param-value>20480000</param-value>
</context-param>
but, same ... doesn't work. Thanks for your help.
On 7/13/07, Adam Winer < [EMAIL PROTECTED]> wrote:
> The relevant exception is:
>
> > Caused by: java.lang.ClassCastException :
> >
org.apache.myfaces.trinidadinternal.config.upload.UploadedF
> > iles$FixFilename
> > at
> >
com.colconnect.reel.session.GestionPlantilla.fileUploaded
> > (GestionPlantilla.java:58)
>
> I'm gonna guess that line 58 is:
>
> > UploadedFile archivo = (UploadedFile) event.getNewValue();
>
> I can guarantee that FixFilename does in fact implement
> org.apache.myfaces.trinidad.model.UploadedFile.
>
> So there's two possibilities:
> - You're importing a different UploadedFile interface (I'm guessing
> that's the issue)
> - You've got a classpath issue with two versions of Trinidad
> (less likely).
>
> FWIW, I've always been apalled that ClassCastExceptions don't
> tell you both what it was trying to cast and what it was trying
> to cast *to*. Would make life easier.
>
> -- Adam
>
>
> On 7/13/07, fabio quimbay <[EMAIL PROTECTED] > wrote:
> > Greetings ...
> >
> > I have a project with Seam 1.2.1GA and Trinidad 1.0.1 on JBoss 4.2.0GA,
> > works good. Many components like <tr:panelPage> work good, bad when I
use
> > <tr:inputFile> doesn't work, because I see this error:
> >
> > 09:30:22,875 ERROR [ExceptionFilter] uncaught exception
> > javax.servlet.ServletException:
> > /plantillas/subirPlantilla.xhtml @22,121
> > valueChangeListener="#{gestionPlantilla.fileUploaded }":
> > javax.ejb.EJBTransactionRolledbackException
> > : org.apache.myfaces.trinidadinternal.config.upload.Upl
> > oadedFiles$FixFilename
> > at
> >
javax.faces.webapp.FacesServlet.service(FacesServlet.java
:154)
> > ...
> > ...
> > Caused by: javax.faces.el.EvaluationException:
> > /plantillas/subirPlantilla.xhtml @22,121 valueChangeL
> >
> > istener="#{gestionPlantilla.fileUploaded}":
> > javax.ejb.EJBTransactionRolledbackException:
> > org.apache.myfaces.trinidadinternal.config.upload.Upl
> > oadedFiles$FixFilename
> > at com.sun.facelets.el.LegacyMethodBinding.invoke
> > (LegacyMethodBinding.java :73)
> > ...
> > ...
> > Caused by: javax.ejb.EJBTransactionRolledbackException:
> > org.apache.myfaces.trinidadinternal.config.u
> > pload.UploadedFiles$FixFilename
> > at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx
> > (Ejb3TxPolicy.java:87)
> > ...
> > ...
> > Caused by: java.lang.ClassCastException:
> >
org.apache.myfaces.trinidadinternal.config.upload.UploadedF
> > iles$FixFilename
> > at
> >
com.colconnect.reel.session.GestionPlantilla.fileUploaded
> > (GestionPlantilla.java:58)
> > ...
> > ...
> >
> > it was when I return the event.getNewValue() :
> > public void fileUploaded(ValueChangeEvent event)
> > {
> > UploadedFile archivo = (UploadedFile) event.getNewValue();
> > if (archivo != null) {
> > archivoPlantilla = archivo;
> > }
> > }
> >
> >
> > and my view is like this:
> > ...
> > ...
> > <tr:inputFile label="#{messages[' plantilla.contenido']}"
> > valueChangeListener="#{gestionPlantilla.fileUploaded}" />
> > ...
> > ...
> >
> > Any idea. Thanks, for your help.
> >
> >
> > --
> > fabio quimbay
> > www.fabio.quimbay.name
> > [EMAIL PROTECTED]
>
--
fabio quimbay
www.fabio.quimbay.name
[EMAIL PROTECTED]