Author: chatellier Date: 2011-01-05 14:54:03 +0000 (Wed, 05 Jan 2011) New Revision: 465 Log: Fix un petit bug sur le parsing memoire csv. Ajout d'un test. Added: trunk/coser-business/src/test/java/fr/ifremer/coser/storage/ trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java Modified: trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java =================================================================== --- trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java 2011-01-05 14:19:47 UTC (rev 464) +++ trunk/coser-business/src/main/java/fr/ifremer/coser/storage/MemoryDataStorage.java 2011-01-05 14:54:03 UTC (rev 465) @@ -25,10 +25,16 @@ package fr.ifremer.coser.storage; +import java.io.IOException; +import java.io.StringReader; +import java.io.StringWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import au.com.bytecode.opencsv.CSVReader; +import au.com.bytecode.opencsv.CSVWriter; + /** * Stockage mémoire des String[] sous forme de String simple. * @@ -181,10 +187,10 @@ protected String[] stringToArray(String data) { return parseLine(data); } - + protected static final char separator = ','; protected static final char quotechar = '\"'; - protected static final char escapechar = '\"'; + protected static final char escapechar = '\\'; // Copied from CSVWriter and improved protected String writeNext(String[] nextLine) { Added: trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java =================================================================== --- trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java (rev 0) +++ trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java 2011-01-05 14:54:03 UTC (rev 465) @@ -0,0 +1,58 @@ +/* + * #%L + * + * + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 Codelutin, Chatellier Eric + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. + * #L% + */ + +package fr.ifremer.coser.storage; + +import org.junit.Assert; +import org.junit.Test; + +import fr.ifremer.coser.services.CoserTestAbstract; + +/** + * Test for MemoryDataStorage class. + * + * @author chatellier + * @version $Revision$ + * + * Last update : $Date$ + * By : $Author$ + */ +public class MemoryDataStorageTest extends CoserTestAbstract { + + /** + * Test que les format speciaux ne pose pas de problème. + */ + @Test + public void testCSVParsing() { + MemoryDataStorage storage = new MemoryDataStorage(); + storage.add(new String[]{"11", "te\"st", "test, test"}); + + String[] data = storage.get(0); + Assert.assertEquals(3, data.length); + Assert.assertEquals("11", data[0]); + Assert.assertEquals("te\"st", data[1]); + Assert.assertEquals("test, test", data[2]); + } +} Property changes on: trunk/coser-business/src/test/java/fr/ifremer/coser/storage/MemoryDataStorageTest.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL