← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 764: fix bug "Import excel file" function

 

------------------------------------------------------------
revno: 764
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: trunk
timestamp: Fri 2009-09-25 14:57:43 +0700
message:
  fix bug "Import excel file" function
modified:
  dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/UploadExcelFileAction.java
  dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/ViewDataAction.java
  dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription.
=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/UploadExcelFileAction.java'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/UploadExcelFileAction.java	2009-09-15 04:00:03 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/UploadExcelFileAction.java	2009-09-25 07:57:43 +0000
@@ -28,11 +28,10 @@
  */
 
 import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
 import java.io.IOException;
 
-import org.hisp.dhis.organisationunit.OrganisationUnit;
 import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager;
 import org.hisp.dhis.reportexcel.ReportLocationManager;
 
@@ -45,7 +44,7 @@
     extends org.hisp.dhis.reportexcel.action.ActionSupport
 {
     // -------------------------------------------
-    // Dependencies
+    // Dependency
     // -------------------------------------------
 
     private ReportLocationManager reportLocationManager;
@@ -55,15 +54,15 @@
         this.reportLocationManager = reportLocationManager;
     }
 
-    private OrganisationUnitSelectionManager organisationUnitSelectionManager;
-
-    public void setOrganisationUnitSelectionManager( OrganisationUnitSelectionManager organisationUnitSelectionManager )
-    {
-        this.organisationUnitSelectionManager = organisationUnitSelectionManager;
-    }
+//    private OrganisationUnitSelectionManager organisationUnitSelectionManager;
+//
+//    public void setOrganisationUnitSelectionManager( OrganisationUnitSelectionManager organisationUnitSelectionManager )
+//    {
+//        this.organisationUnitSelectionManager = organisationUnitSelectionManager;
+//    }
 
     // -------------------------------------------------------------------------
-    // Getter & Setter
+    // Getters & Setters
     // -------------------------------------------------------------------------
 
     private String fileName;
@@ -99,41 +98,43 @@
     public String execute()
         throws Exception
     {
-        OrganisationUnit organisationUnit = organisationUnitSelectionManager.getSelectedOrganisationUnit();
-
-        if ( organisationUnit == null )
-            return SUCCESS;
-
-        File directory = reportLocationManager.getOrganisationDirectory( organisationUnit );
-
+//        OrganisationUnit organisationUnit = organisationUnitSelectionManager.getSelectedOrganisationUnit();
+
+//        if ( organisationUnit == null )
+//            return SUCCESS;
+
+        File directory = reportLocationManager.getReportExcelTempDirectory(  );
+        
         if ( upload != null )
         {
 
             try
             {
-                FileReader in = new FileReader( upload );
-
+                FileInputStream fin = new FileInputStream( upload );
+                
+                byte[] data = new byte[8192];
+                int byteReads = fin.read( data );
+                
                 fileExcel = new File( directory, fileName );
 
-                FileWriter out = new FileWriter( fileExcel );
-
-                int c;
-
-                while ( (c = in.read()) != -1 )
+                FileOutputStream fout = new FileOutputStream( fileExcel );
+                
+                while ( byteReads != -1 )
                 {
-                    out.write( c );
+                    fout.write( data, 0, byteReads );
+                    fout.flush();
+                    byteReads = fin.read( data );
                 }
-
-                in.close();
-
-                out.close();
+                fin.close();
+                
+                fout.close();
 
                 return SUCCESS;
             }
             catch ( IOException e )
             {
                 e.printStackTrace();
-                return NONE;
+                return ERROR;
             }
 
         }

=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/ViewDataAction.java'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/ViewDataAction.java	2009-09-21 07:40:48 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/java/org/hisp/dhis/reportexcel/importing/action/ViewDataAction.java	2009-09-25 07:57:43 +0000
@@ -31,15 +31,16 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
-import java.util.Locale;
 
 import jxl.Sheet;
 import jxl.Workbook;
-import jxl.WorkbookSettings;
 
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager;
 import org.hisp.dhis.reportexcel.ReportExcel;
 import org.hisp.dhis.reportexcel.ReportExcelItem;
 import org.hisp.dhis.reportexcel.ReportExcelService;
+import org.hisp.dhis.reportexcel.ReportLocationManager;
 import org.hisp.dhis.reportexcel.importing.ReportExcelItemValue;
 import org.hisp.dhis.reportexcel.utils.ExcelUtils;
 
@@ -54,7 +55,7 @@
     implements Action
 {
     // --------------------------------------------------------------------
-    // Dependency
+    // Dependencies
     // --------------------------------------------------------------------
 
     private ReportExcelService reportExcelService;
@@ -64,8 +65,15 @@
         this.reportExcelService = reportExcelService;
     }
 
+    private ReportLocationManager reportLocationManager;
+
+    public void setReportLocationManager( ReportLocationManager reportLocationManager )
+    {
+        this.reportLocationManager = reportLocationManager;
+    }
+
     // --------------------------------------------------------------------
-    // Getter and Setter
+    // Getters and Setters
     // --------------------------------------------------------------------
 
     private Integer reportId;
@@ -95,18 +103,17 @@
 
     public String execute()
     {
-
         try
-        {
+        {            
+            File upload = new File( reportLocationManager.getReportExcelTempDirectory() + File.separator
+                + uploadFileName );
+            
+            Workbook templateWorkbook = Workbook.getWorkbook( upload );
+            
+            Sheet sheet = templateWorkbook.getSheet( 0 );
+
             ReportExcel report = reportExcelService.getReportExcel( reportId );
-            File upload = new File( uploadFileName );
-            WorkbookSettings ws = new WorkbookSettings();
-            ws.setLocale( new Locale( "en", "EN" ) );
-            Workbook templateWorkbook = Workbook.getWorkbook( upload, ws );
-
             Collection<ReportExcelItem> reportItems = report.getReportExcelItems();
-            System.out.println( "reportItems : " + reportItems.size() );
-            Sheet sheet = templateWorkbook.getSheet( 0 );
 
             reportItemValues = new ArrayList<ReportExcelItemValue>();
 
@@ -125,7 +132,7 @@
 
                     reportItemValues.add( reportItemvalue );
                 }
-                
+
             }
 
             return SUCCESS;

=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml	2009-09-25 06:10:21 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/META-INF/dhis/beans.xml	2009-09-25 07:57:43 +0000
@@ -276,8 +276,7 @@
 		<property name="reportExcelService" ref="org.hisp.dhis.reportexcel.ReportExcelService" />
 	</bean>
 
-	<bean
-		id="org.hisp.dhis.reportexcel.importing.action.ImportDataAction"
+	<bean id="org.hisp.dhis.reportexcel.importing.action.ImportDataAction"
 		class="org.hisp.dhis.reportexcel.importing.action.ImportDataAction"
 		scope="prototype">
 		<property name="reportExcelService" ref="org.hisp.dhis.reportexcel.ReportExcelService" />
@@ -298,14 +297,16 @@
 		scope="prototype">
 		<property name="reportLocationManager"
 			ref="org.hisp.dhis.reportexcel.ReportLocationManager" />
-		<property name="organisationUnitSelectionManager"
-			ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-	</bean>
-
+		<!-- <property name="organisationUnitSelectionManager"
+			ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" /> -->
+	</bean> 
+	
 	<bean id="org.hisp.dhis.reportexcel.importing.action.ViewDataAction"
 		class="org.hisp.dhis.reportexcel.importing.action.ViewDataAction"
 		scope="prototype">
 		<property name="reportExcelService" ref="org.hisp.dhis.reportexcel.ReportExcelService" />
+		<property name="reportLocationManager"
+			ref="org.hisp.dhis.reportexcel.ReportLocationManager" />
 	</bean>
 
 	<!-- EXPORT REPORT EXCEL -->

=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml	2009-09-25 06:10:21 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml	2009-09-25 07:57:43 +0000
@@ -557,6 +557,5 @@
 		</action>
 
 
-
 	</package>
 </struts>