Author: sletellier Date: 2011-11-18 12:29:38 +0100 (Fri, 18 Nov 2011) New Revision: 94 Url: http://forge.codelutin.com/repositories/revision/echobase/94 Log: - Use ToCsv method of StringUtil : http://nuiton.org/issues/1811 Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp trunk/pom.xml Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2011-11-18 09:32:42 UTC (rev 93) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2011-11-18 11:29:38 UTC (rev 94) @@ -45,6 +45,7 @@ import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.EntityOperator; +import org.nuiton.util.StringUtil; import org.nuiton.util.beans.BeanMonitor; import org.nuiton.util.beans.PropertyDiff; @@ -73,6 +74,7 @@ public static final String SCV_EXT = ".csv"; public static final String EXPORT_FILE_FORMAT_DATE = "yyyyMMddHHmmss"; public static final String BASE_EDITOR_FORMAT_DATE = "dd/MM/yyyy HH:mm:ss"; + public static final String CSV_SEPARATOR = ";"; protected DecoratorService decoratorService; protected SimpleDateFormat dateFormat; @@ -124,6 +126,7 @@ return getDatas(tableName, pager, sidx, ascendantOrder, true); } + public Map<?, ?>[] getDatas(String tableName, Pager pager, String sidx, @@ -392,14 +395,14 @@ try { bf = new BufferedReader(new FileReader(importFile)); String csvHeader = bf.readLine(); - String[] properties = csvHeader.split(";"); + String[] properties = csvHeader.split(CSV_SEPARATOR); String line = bf.readLine(); while (line != null) { Map<String, String> valuesMap = Maps.newLinkedHashMap(); - String[] values = line.split(";"); + String[] values = line.split(CSV_SEPARATOR); String id = values[0]; for (int i=1;i<values.length;i++) { @@ -439,15 +442,21 @@ // Build csv boolean headerCompleted = false; + + // To escape value if csv special char is found + StringUtil.ToString csvConvertor = new StringUtil.ToCSV(CSV_SEPARATOR); for (Map<?, ?> data : datas) { + + // Write header if (!headerCompleted) { - String keys = StringUtils.join(data.keySet(), ";"); + String keys = StringUtil.join(data.keySet(), csvConvertor, CSV_SEPARATOR, false); csvContent.append(keys); csvContent.append("\n"); headerCompleted = true; } - String values = StringUtils.join(data.values(), ";"); + // Write content + String values = StringUtil.join(data.values(), csvConvertor, CSV_SEPARATOR, false); csvContent.append(values); csvContent.append("\n"); } Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2011-11-18 09:32:42 UTC (rev 93) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2011-11-18 11:29:38 UTC (rev 94) @@ -41,6 +41,7 @@ combos.each(function(obj) { this.name = this.id; }); + var pickers = $('input.hasDatepicker'); pickers.each(function(obj) { this.name = this.id; Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2011-11-18 09:32:42 UTC (rev 93) +++ trunk/pom.xml 2011-11-18 11:29:38 UTC (rev 94) @@ -109,7 +109,7 @@ <eugenePluginVersion>2.4.1</eugenePluginVersion> <topiaVersion>2.6.4</topiaVersion> - <nuitonUtilsVersion>2.3.1</nuitonUtilsVersion> + <nuitonUtilsVersion>2.4-SNAPSHOT</nuitonUtilsVersion> <nuitonI18nVersion>2.4.1</nuitonI18nVersion> <nuitonWebVersion>1.6</nuitonWebVersion> <msaccessImporterVersion>1.4.1</msaccessImporterVersion>