[Building Sakai] cannot start my sakai tool

Phuc Bui phucbui2006 at yahoo.com.vn
Fri Jun 19 20:25:42 PDT 2009


Dear,

I still cannot upload file in Sakai.

I've done as following steps:

1.       Configuration

a.       Define dependencies to use <t:uploadFile>

<dependency>

               <groupId>myfaces</groupId>

               <artifactId>myfaces-extensions</artifactId>

               <version>1.0.9</version>

         </dependency>

 

<dependency>

               <groupId>commons-fileupload</groupId>

               <artifactId>commons-fileupload</artifactId>

               <version>1.1.1</version>

         </dependency>

b.  Enable upload 

<!-- Sakai request filter -->

      <filter>

            <filter-name>sakai.request</filter-name>

            <filter-class>org.sakaiproject.util.RequestFilter</filter-class>

            <!-- this param tell Sakai not to intercept uploads function -->

            <init-param>

                  <param-name>upload.enabled</param-name>

                  <param-value>false</param-value>

            </init-param>

      </filter>

      

      <filter-mapping>

            <filter-name>sakai.request</filter-name>

            <servlet-name>FacesServlet</servlet-name>

            <dispatcher>REQUEST</dispatcher>

            <dispatcher>FORWARD</dispatcher>

            <dispatcher>INCLUDE</dispatcher>

      </filter-mapping>

      

      <filter-mapping>

            <filter-name>sakai.request</filter-name>

            <servlet-name>sakai.nluimportuser</servlet-name>

            <dispatcher>REQUEST</dispatcher>

            <dispatcher>FORWARD</dispatcher>

            <dispatcher>INCLUDE</dispatcher>

      </filter-mapping>

 

c.  Extension filter

<filter>

            <filter-name>ExtensionsFilter</filter-name>

 
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-clas
s>

            <init-param>

                  <description> Set the size limit for uploaded files.
Format: 10 - 10

                        bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
</description>

                  <param-name>uploadMaxFileSize</param-name>

                  <param-value>100m</param-value>

            </init-param>

            <init-param>

                  <description> Set the threshold size - files below this
limit are

                        stored in memory, files above this limit are stored
on disk. Format:

                        10 - 10 bytes 10k - 10 KB 10m - 10 MB 1g - 1 GB
</description>

                  <param-name>uploadThresholdSize</param-name>

                  <param-value>100k</param-value>

            </init-param>

      </filter>

<filter-mapping>

        <filter-name>ExtensionsFilter</filter-name>

         <url-pattern>/*</url-pattern>

         <dispatcher>REQUEST</dispatcher>

         <dispatcher>INCLUDE</dispatcher>

         <dispatcher>FORWARD</dispatcher>

</filter-mapping>

2.       Code

a.       Jsp          

<f:view>

      <h:form id="myForm" enctype="multipart/form-data">

            <t:inputFileUpload value="#{service.uploadFile}" storage="file"
/> 

            <h:commandButton value="upload" action="#{service.submit}" />

            <br/>

            <h:outputText value="#{service.error}"/>

      </h:form>

</f:view>

Bean

public class ImportedUserService {

      private ImportUserFromFile iufef; // define in Spring to read user
data from excel file and insert into Sakai db

      private UploadedFile uploadFile; // variable to contain uploadedFile

      private String error; // announcement when error exist

      /**

       * default constructor.

       */

      public ImportedUserService() {}

 

                                                // all getters and setters
here ...

 

public String submit(){

            //TODO: remove these debug lines

            //=======DEBUG=============

            if(iufef == null){

                  System.out.println("InsertUserFromFile object is null");

            }else{

                  System.out.println("InsertUserFromFile object is NOT
null");

            }

            //=======END DEBUG=============

            

            if ((uploadFile != null) &&
(uploadFile.getName().endsWith(".xls"))){

                  try {

                        iufef.addUsers(uploadFile.getInputStream());

                        return "upload";  

                  } catch (IOException e) {

                        e.printStackTrace();

                        error = e.getMessage();

                        return "";

                  }

            }

            error = "Upload failed !!!";

            //TODO: remove these debug lines

            //=======DEBUG=============

            if(uploadFile == null){

                  System.out.println("UploadFile object is null");

            }else{

                  System.out.println("Your file name: " +
uploadFile.getName());

            }

            //=======END DEBUG=============

            return "";

      }

Result I always get is: "InsertUserFromFile object is NOT null" and
"UploadFile object is null"

I also include these files, please review it please.

I found that gradebook tool also use it to upload file, I have studied it
but there's no better result.

 

Thanks for all,

Phuc Bui

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20090620/b944d873/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: upload_file_with_jsf_problems.zip
Type: application/octet-stream
Size: 3861 bytes
Desc: not available
Url : http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20090620/b944d873/attachment.obj 


More information about the sakai-dev mailing list