[jboss-user] [JBoss jBPM] - Using fileUpload (either <gd:inputFile.. or <rich:fileUpload

Neal do-not-reply at jboss.com
Fri Oct 3 06:47:22 EDT 2008


I am trying to implement file upload functionality (like a document variable) from within a task form. I tried using gravel or richFaces and both are not working

1) Gravel 

1.a) The form has the following tags

<ui:component>
  |     <jbpm:dataform>
  |   	
  |       <f:facet name="header">
  |         <h:outputText value="#{taskName}"/>
  |       </f:facet>
  |         
  |       <!-- TASKFORM ROWS -->
  |     <jbpm:datacell>
  |       <f:facet name="header">
  |         <h:outputText value="Test1"/>
  |       </f:facet>
  |       <h:inputText id="useraddress" value="#{var['Test1']}" required="true">
  |       </h:inputText>	
  | 	  <gd:inputFile target="#{var['teststream']}" maxSize="104857600"/>
  |     </jbpm:datacell>
  |     	    	    
  |       <jbpm:datacell>
  |         <f:facet name="header">
  |           <h:outputText value="Actions"/>
  |         </f:facet>
  |         <!-- TASKFORM BUTTONS -->
  |       <tf:saveButton value="Save"/>
  |       <tf:cancelButton value="Cancel"/>
  |       <tf:transitionButton transition="ToApproval" value="ToApproval"/>
  |       </jbpm:datacell>
  | 	    
  |     </jbpm:dataform>	
  | 
  |     <h:messages style="color:darkred"/>
  |   </ui:component>


1.b) I dont get any error while clicking on the save button in the form but I also don't see the variable "teststream" when I check for the process instance variables. I believe that the form should have enctype="multipart/form-data" to be able to use the gravel fileUpload but I am not sure how I should do that since there is no documentation for jbpm:dataform and am not sure if it takes the form encoding as a parameter for the tag.



2) RichFaces 
---------------

2.a) the form includes the following tag

<ui:component> 
  |     <jbpm:dataform>
  |   	
  |       <f:facet name="header">
  |         <h:outputText value="#{taskName}"/>
  |       </f:facet>
  |         
  |       <!-- TASKFORM ROWS -->
  |     <jbpm:datacell>
  |       <f:facet name="header">
  |         <h:outputText value="Test1"/>
  |       </f:facet>
  |       <h:inputText id="useraddress" value="#{var['Test1']}" required="true">       
  |       </h:inputText>
  | 	  <rich:fileUpload uploadData="#{myfiles}"/>
  |     </jbpm:datacell>
  |     	    	    
  |       <jbpm:datacell>
  |         <f:facet name="header">
  |           <h:outputText value="Actions"/>
  |         </f:facet>
  |         <!-- TASKFORM BUTTONS -->
  |       <tf:saveButton value="Save"/>
  |       <tf:cancelButton value="Cancel"/>
  |       <tf:transitionButton transition="ToApproval" value="ToApproval"/>
  |       </jbpm:datacell>
  | 	    
  |     </jbpm:dataform>	
  | 
  |     <h:messages style="color:darkred"/>
  |   </ui:component>

2.b) When clicking on the upload button I get a "Transfer error" with the following exception on the server console

SEVERE: Error Rendering View[/sa/task.xhtml]
  | java.lang.IllegalArgumentException
  |         at sun.reflect.GeneratedMethodAccessor92.invoke(Unknown Source)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
  | sorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBa
  | se.java:1590)
  |         at javax.faces.component.UIComponentBase$AttributesMap.put(UIComponentBa
  | se.java:1499)
  |         at org.jboss.gravel.action.handler.AttributeHandler.apply(AttributeHandl
  | er.java:106)
  |         at com.sun.facelets.tag.CompositeFaceletHandler.apply(CompositeFaceletHa
  | :
  | :
  | 15:55:19,925 ERROR [LazyInitializationException] could not initialize proxy - no
  |  Session
  | org.hibernate.LazyInitializationException: could not initialize proxy - no Sessi
  | on
  |         at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyIn
  | itializer.java:57)
  |         at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(Abstrac
  | tLazyInitializer.java:111)
  | 
  | :
  | :
  | :
  | 15:55:20,050 WARN  [lifecycle] executePhase(RENDER_RESPONSE 6,com.sun.faces.con
  | ext.FacesContextImpl at ccdcea) threw exception
  | java.lang.NullPointerException
  |         at com.sun.facelets.util.DevTools.writeVariables(DevTools.java:168)
  |         at com.sun.facelets.util.DevTools.writeVariables(DevTools.java:145)
  |         at com.sun.facelets.util.DevTools.debugHtml(DevTools.java:109)
  | :
  | :
  | 

2.c) My web.xml has the following

<context-param>
  | 		
  | 		<param-name>org.richfaces.SKIN</param-name>
  | 
  | 		<param-value>blueSky</param-value>
  | 
  | 	</context-param>
  | 
  | 	<filter> 
  | 
  | 		<display-name>RichFaces Filter</display-name> 
  | 
  | 		<filter-name>richfaces</filter-name> 
  | 
  | 		<filter-class>org.ajax4jsf.Filter</filter-class> 
  | 
  | 	</filter> 
  | 
  | 	<filter-mapping> 
  | 
  | 		<filter-name>richfaces</filter-name> 
  | 
  | 		<servlet-name>Faces Servlet</servlet-name>
  | 
  | 		<dispatcher>REQUEST</dispatcher>
  | 
  | 		<dispatcher>FORWARD</dispatcher>
  | 
  | 		<dispatcher>INCLUDE</dispatcher>
  | 		
  |     </filter-mapping>
  |     
  |      <init-param>
  | 	<param-name>createTempFiles</param-name> 
  | 	<param-value>true</param-value>
  | 	</init-param>


2.d) And the faces-config.xml has the following

<application>
  | 
  |         <locale-config>
  |             <default-locale>en</default-locale>
  |         </locale-config>
  | 
  |         <!--
  |            Use Facelets as the primary view handler.  Since we have bookmarkable URLs,
  |            add Gravel's query preserving view handler to the list.
  |         -->
  | 		<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
  |         <view-handler>org.jboss.gravel.QueryPreservingViewHandler</view-handler>
  | 
  |         <!--
  |            Use Gravel's navigation model.
  |         -->
  |         <navigation-handler>org.jboss.gravel.navigation.GravelNavigationHandler</navigation-handler>
  |     </application>







View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180250#4180250

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180250



More information about the jboss-user mailing list