Dear support team,
I got an exception (Cannot convert
org.apache.myfaces.trinidadinternal.config.upload.UploadedFiles$FixFilename@
15e3d24a of type class
org.apache.myfaces.trinidadinternal.config.upload.UploadedFiles$FixFilename
to interface org.apache.myfaces.custom.fileupload.UploadedFile
) when trying to upload a file using the inputFile tag from trinidad.
Im using MyFaces 1.2.5 and Trinidad 1.2.10. under Apache Tomcat v6.0. See
the attached files for more info about project config.
This error occurs when I click on the upload button. The error message
appears in the inputFile tag, below the input element, it looks like
Trinidad API is catching the exception. This is the related jsp code:
<tr:form usesUpload="true" >
<f:verbatim><strong>Carga de Datos del
indicador </strong></f:verbatim><h:outputLabel for="selectone_data"
value="#{addIndicatorBean.dataName}" styleClass="txtRojo"
style="font-weight:bold"/>
<h:panelGroup style="font-size: medium;
border: none; padding: 0px">
<tr:inputFile label="Selección de
Fichero: " value="#{addIndicatorBean.uploadedFile}" />
</h:panelGroup>
<tr:commandButton text="Iniciar Carga de
Datos" action="#{addIndicatorBean.loadDataFromFile}"
styleClass="inputButton" />
</tr:form>
This is the related Managed Bean code:
/** */
public UploadedFile getUploadedFile() {
return uploadedFile;
}
/** */
public void setUploadedFile(UploadedFile uploadedFile) {
this.uploadedFile = uploadedFile;
}
/** */
public String loadDataFromFile() {
MasterValuesLoader loader;
UploadedFile file;
file = getUploadedFile();
//quitar el && false para que entre en el if
if ((focusedData != null) && (file != null) /*&& false*/) {
try {
loader = new MasterValuesLoader("iecisa_v2");
loader.loadFromFileToMasterValues(focusedData.getValue(),
file.getInputStream(), "VALORES");
} catch(IOException e) {
}
}
}
And this is the error message:
Cannot convert
org.apache.myfaces.trinidadinternal.config.upload.UploadedFiles$FixFilename@
15e3d24a of type class
org.apache.myfaces.trinidadinternal.config.upload.UploadedFiles$FixFilename
to interface org.apache.myfaces.custom.fileupload.UploadedFile
I dont have idea what can be happening
May you help me? I would be very
thankful to you.
Best Regards and thanks in advance,
Álvaro Blázquez_Departamento de Desarrollo
e-mail: <mailto:[email protected]> [email protected]
TUENT TELECOMUNICACIONES S.L.
C/ Marie Curie, 19 [Parque Empresarial Rivas-Futura]
28529 - Rivas-Vaciamadrid
www.tuent.com
Tlf: 91 187 79 88
Fax: 91 499 98 10
<?xml version="1.0"?>
<trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
<!-- Enable debug output -->
<debug-output>true</debug-output>
<accessibility-mode>default</accessibility-mode>
<skin-family>simple</skin-family>
</trinidad-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" id="WebApp_ID" version="2.5">
<display-name>3CIManager_Yoigo</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.login</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<!-- resource loader servlet (trinidad)-->
<servlet>
<servlet-name>resources</servlet-name>
<servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>resources</servlet-name>
<url-pattern>/adf/*</url-pattern>
</servlet-mapping>
<context-param>
<!-- Maximum memory per request (in bytes) -->
<param-name>org.apache.myfaces.trinidad.UPLOAD_MAX_MEMORY</param-name>
<!-- Use 2,000K -->
<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 10,000K -->
<param-value>10240000</param-value>
</context-param>
<context-param>
<!-- directory to store temporary files -->
<param-name>org.apache.myfaces.trinidad.UPLOAD_TEMP_DIR</param-name>
<!-- Use a TrinidadUploads subdirectory of /tmp -->
<param-value>C:/tmp/</param-value>
</context-param>
<filter>
<display-name>Ajax4jsf Filter</display-name>
<filter-name>3CIManager</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter>
<filter-name>trinidad</filter-name>
<filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>trinidad</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>3CIManager</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<listener>
<listener-class>
com.tuent.configurator.sessionfilter.MySessionListener
</listener-class>
</listener>
<filter>
<filter-name>SessionTimeoutFilter</filter-name>
<filter-class>
com.tuent.configurator.sessionfilter.SessionTimeoutFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>/faces/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>SessionTimeoutFilter</filter-name>
<url-pattern>*.faces</url-pattern>
</filter-mapping>
</web-app><?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>
valueList</managed-bean-name>
<managed-bean-class>
indicatormanager.beans.ValueListLoader</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>
addIndicatorBean</managed-bean-name>
<managed-bean-class>
indicatormanager.beans.AddIndicatorBean</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<managed-bean>
<description>Se encarga de validar el usuario.</description>
<managed-bean-name>userLoginBean</managed-bean-name>
<managed-bean-class>com.tuent.configurator.usermanager.beans.UserLoginBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<description>Bean con los datos del listado de usuarios.</description>
<managed-bean-name>userListBean</managed-bean-name>
<managed-bean-class>com.tuent.configurator.usermanager.beans.UserListBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<description>Contiene los datos del formulario para añadir, modificar o eliminar un usuario.</description>
<managed-bean-name>userBean</managed-bean-name>
<managed-bean-class>com.tuent.configurator.usermanager.beans.UserBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<description>
The decision rule used by the NavigationHandler to
determine which view must be displayed after the
current view, greeting.jsp is processed.
</description>
<from-view-id>/jsp/main_menu.jsp</from-view-id>
<navigation-case>
<description>
Indicates to the NavigationHandler that the response.jsp
view must be displayed if the Action referenced by a
UICommand component on the greeting.jsp view returns
the outcome "success".
</description>
<from-outcome>indicators</from-outcome>
<to-view-id>/jsp/add_indicator.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<description>
Indicates to the NavigationHandler that the greeting.jsp
view must be displayed if the Action referenced by a
UICommand component on the response.jsp view returns
the outcome "success".</description>
<from-view-id>/jsp/login.jsp</from-view-id>
<navigation-case>
<from-outcome>authenticated</from-outcome>
<to-view-id>
/jsp/redirect_main_menu.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<description>Indicates to the NavigationHandler that the greeting.jsp
view must be displayed if the Action referenced by a
UICommand component on the response.jsp view returns
the outcome "success".</description>
<display-name>jsp/login.jsp</display-name>
<from-view-id>/jsp/login.jsp</from-view-id>
<navigation-case>
<from-outcome>failed</from-outcome>
<to-view-id>/jsp/login.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<description>The decision rule used by the NavigationHandler to
determine which view must be displayed after the
current view, greeting.jsp is processed.</description>
<display-name>jsp/main_menu</display-name>
<from-view-id>/jsp/main_menu.jsp</from-view-id>
<navigation-case>
<from-outcome>userlist</from-outcome>
<to-view-id>/jsp/user_list.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_list</display-name>
<from-view-id>/jsp/user_list.jsp</from-view-id>
<navigation-case>
<from-outcome>returnmenu</from-outcome>
<to-view-id>/jsp/main_menu.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_list</display-name>
<from-view-id>/jsp/user_list.jsp</from-view-id>
<navigation-case>
<from-outcome>returnlist</from-outcome>
<to-view-id>/jsp/user_list.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_list</display-name>
<from-view-id>/jsp/user_list.jsp</from-view-id>
<navigation-case>
<from-outcome>updateuser</from-outcome>
<to-view-id>/jsp/user_update.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_update</display-name>
<from-view-id>/jsp/user_update.jsp</from-view-id>
<navigation-case>
<from-outcome>returnmenu</from-outcome>
<to-view-id>/jsp/main_menu.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_update</display-name>
<from-view-id>/jsp/user_update.jsp</from-view-id>
<navigation-case>
<from-outcome>returnlist</from-outcome>
<to-view-id>/jsp/user_list.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_update</display-name>
<from-view-id>/jsp/user_update.jsp</from-view-id>
<navigation-case>
<from-outcome>returnupdate</from-outcome>
<to-view-id>/jsp/user_update.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_list</display-name>
<from-view-id>/jsp/user_list.jsp</from-view-id>
<navigation-case>
<from-outcome>adduser</from-outcome>
<to-view-id>/jsp/user_add.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_add</display-name>
<from-view-id>/jsp/user_add.jsp</from-view-id>
<navigation-case>
<from-outcome>returnlist</from-outcome>
<to-view-id>/jsp/user_list.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_add</display-name>
<from-view-id>/jsp/user_add.jsp</from-view-id>
<navigation-case>
<from-outcome>returninsert</from-outcome>
<to-view-id>/jsp/user_add.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/redirect_main_menu</display-name>
<from-view-id>/jsp/redirect_main_menu.jsp</from-view-id>
<navigation-case>
<from-outcome>mainmenu</from-outcome>
<to-view-id>/jsp/main_menu.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_list</display-name>
<from-view-id>/jsp/user_list.jsp</from-view-id>
<navigation-case>
<from-outcome>deleteuser</from-outcome>
<to-view-id>/jsp/user_delete.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_delete</display-name>
<from-view-id>/jsp/user_delete.jsp</from-view-id>
<navigation-case>
<from-outcome>returnmenu</from-outcome>
<to-view-id>/jsp/main_menu.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_delete</display-name>
<from-view-id>/jsp/user_delete.jsp</from-view-id>
<navigation-case>
<from-outcome>returndelete</from-outcome>
<to-view-id>/jsp/user_delete.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_delete</display-name>
<from-view-id>/jsp/user_delete.jsp</from-view-id>
<navigation-case>
<from-outcome>returnlist</from-outcome>
<to-view-id>/jsp/user_list.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<description>The decision rule used by the NavigationHandler to
determine which view must be displayed after the
current view, greeting.jsp is processed.</description>
<display-name>jsp/main_menu</display-name>
<from-view-id>/jsp/main_menu.jsp</from-view-id>
<navigation-case>
<from-outcome>exit</from-outcome>
<to-view-id>/jsp/login.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<navigation-rule>
<display-name>jsp/user_add</display-name>
<from-view-id>/jsp/user_add.jsp</from-view-id>
<navigation-case>
<from-outcome>returnmenu</from-outcome>
<to-view-id>/jsp/main_menu.jsp</to-view-id>
</navigation-case>
</navigation-rule>
<application>
<locale-config>
<default-locale>es</default-locale>
</locale-config>
<message-bundle>
com.tuent.usermanager.resources.tagforms
</message-bundle>
</application>
<application>
<default-render-kit-id>
org.apache.myfaces.trinidad.core
</default-render-kit-id>
</application>
</faces-config>