Author: fdesbois Date: 2010-01-08 19:06:06 +0000 (Fri, 08 Jan 2010) New Revision: 181 Added: trunk/suiviobsmer-business/src/test/resources/import/activity.csv.gz Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java Log: Evol #1978 : manage a gzip file for ActivityCalendar import Modified: trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java =================================================================== --- trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java 2010-01-08 18:00:37 UTC (rev 180) +++ trunk/suiviobsmer-business/src/test/java/fr/ifremer/suiviobsmer/impl/ActivityCalendarImportTest.java 2010-01-08 19:06:06 UTC (rev 181) @@ -26,11 +26,14 @@ import fr.ifremer.suiviobsmer.SuiviObsmerRunner; import fr.ifremer.suiviobsmer.business.SuiviObsmerRunnerTest; import fr.ifremer.suiviobsmer.services.ServiceBoat; +import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.LineNumberReader; +import java.util.zip.GZIPInputStream; import org.junit.After; import org.junit.AfterClass; import org.junit.Assert; @@ -91,8 +94,9 @@ InputStream input = getClass().getResourceAsStream("/import/navires.csv"); serviceBoat.importBoatCsv(input); - input = getClass().getResourceAsStream("/import/activity.csv"); - + input = getClass().getResourceAsStream("/import/activity.csv.gz"); + input = new GZIPInputStream(input); + ActivityCalendarImport instance = new ActivityCalendarImport(input); Thread t = new Thread(instance); @@ -104,19 +108,12 @@ File file = new File(filename); Assert.assertTrue(file.exists()); - FileReader reader = new FileReader(file); - LineNumberReader numberReader = new LineNumberReader(reader); - - String line; -// while ((line = numberReader.readLine()) != null) { -// if (numberReader.getLineNumber() == 26) { -// String lastChar = line.substring(line.length()-1); -// Assert.assertEquals(8, Integer.parseInt(lastChar)); -// } -// } -// Assert.assertEquals(27, numberReader.getLineNumber()); - - //InputStream input = getClass().getResourceAsStream("/target/activity.csv"); + + BufferedReader reader = new BufferedReader(new FileReader(file)); + String line = null; + while ((line = reader.readLine()) != null) { + log.info(line); + } } } Added: trunk/suiviobsmer-business/src/test/resources/import/activity.csv.gz =================================================================== (Binary files differ) Property changes on: trunk/suiviobsmer-business/src/test/resources/import/activity.csv.gz ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java =================================================================== --- trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-08 18:00:37 UTC (rev 180) +++ trunk/suiviobsmer-ui/src/main/java/fr/ifremer/suiviobsmer/ui/pages/Boats.java 2010-01-08 19:06:06 UTC (rev 181) @@ -56,6 +56,7 @@ import java.util.GregorianCalendar; import java.util.List; import java.util.Map; +import java.util.zip.GZIPInputStream; import org.apache.commons.lang.BooleanUtils; import org.apache.commons.lang.StringUtils; import org.apache.tapestry5.Block; @@ -195,6 +196,8 @@ private InputStream activityCalendarLogFile; + protected static String GZIP_MIMETYPE = "application/x-gzip"; + InputStream getActivityCalendarLogFile() throws FileNotFoundException { if (activityCalendarLogFile == null) { if (log.isInfoEnabled()) { @@ -218,8 +221,18 @@ } @Log - void onSuccessFromImportActivityCalendarsForm() throws SuiviObsmerException { - serviceBoat.importActivityCalendarCsv(activityCalendarsCsvFile.getStream()); + void onSuccessFromImportActivityCalendarsForm() throws SuiviObsmerException, IOException { + InputStream input = activityCalendarsCsvFile.getStream(); + if (log.isDebugEnabled()) { + log.debug("Content type : " + activityCalendarsCsvFile.getContentType()); + } + if (activityCalendarsCsvFile.getContentType().equals(GZIP_MIMETYPE)) { + if (log.isDebugEnabled()) { + log.debug("Gzip file"); + } + input = new GZIPInputStream(input); + } + serviceBoat.importActivityCalendarCsv(input); companyBoatInfos = null; }