From b5c01f640f72f187bc1df802107037524ad4d79f Mon Sep 17 00:00:00 2001
From: Liew Jun Tung
Changelog
-1.1.1
+ +1.2.0
+Support commas in data now
Fixes plugin bug of displaying "Success" even though there are errors
GitHub ]]> diff --git a/plugin/src/org/pandawarrior/androidXMLConverter/GUI.java b/plugin/src/org/pandawarrior/androidXMLConverter/GUI.java index 99bd989..a502d0c 100644 --- a/plugin/src/org/pandawarrior/androidXMLConverter/GUI.java +++ b/plugin/src/org/pandawarrior/androidXMLConverter/GUI.java @@ -38,7 +38,7 @@ public class GUI extends DialogWrapper { private JRadioButton arraysXmlRadioButton; private String currentFolder; private String selected; - private final static String ERROR_MSG1 = "Error! Your might a data that is empty. use 'null' or ' '(with a space) to replace it. "; + private final static String ERROR_MSG1 = "Error! "; public GUI(Project project, String initialFolder) { super(project, true); @@ -177,12 +177,12 @@ public void run() { } else if (selected.equals("plurals.xml")) { WriteXml.parseArray(csv, folder, WriteXml.getPLURALS_FILE()); } - xcReadField.setText(""); - xcWriteField.setText(""); - xcLabel.setText("SUCCESS!"); - xcLabel.setForeground(JBColor.GREEN); + cxReadField.setText(""); + cxWriteField.setText(""); + cxLabel.setText("SUCCESS!"); + cxLabel.setForeground(JBColor.GREEN); } catch (ArrayIndexOutOfBoundsException e1) { - cxLabel.setText(ERROR_MSG1); + cxLabel.setText(ERROR_MSG1 + e1.getMessage()); cxLabel.setForeground(JBColor.RED); } @@ -197,12 +197,12 @@ private void readXML(final String folder, final String csv) throws ArrayIndexOut public void run() { try { ReadXml.parseAll(folder, csv); - cxReadField.setText(""); - cxLabel.setText("SUCCESS!"); - cxLabel.setForeground(JBColor.GREEN); + xcReadField.setText(""); + xcLabel.setText("SUCCESS!"); + xcLabel.setForeground(JBColor.GREEN); } catch (Exception e) { - cxLabel.setText(ERROR_MSG1); - cxLabel.setForeground(JBColor.RED); + xcLabel.setText(ERROR_MSG1 + e.getMessage()); + xcLabel.setForeground(JBColor.RED); } } diff --git a/xml_csv_parse/src/main/groovy/org/pandawarrior/ReadXml.groovy b/xml_csv_parse/src/main/groovy/org/pandawarrior/ReadXml.groovy index 9c1f0bf..bcc78e2 100644 --- a/xml_csv_parse/src/main/groovy/org/pandawarrior/ReadXml.groovy +++ b/xml_csv_parse/src/main/groovy/org/pandawarrior/ReadXml.groovy @@ -170,7 +170,7 @@ class ReadXml { def tempXml = new XmlSlurper().parseText(xmlFile) def tempResources = tempXml.string tempResources.each { - tempMap[it.@name as String] = it.text().replaceAll(",", "@@") + tempMap[it.@name as String] = it.text() } mainMap[it.key] = tempMap // println mainMap @@ -221,10 +221,10 @@ class ReadXml { protected static String createCSV(List headerList, List valueList) { String csv - csv = headerList.join(",") + "\n" + csv = '\"'+headerList.join('\",\"') + '\"\n' valueList.each { - csv += it.collect({it!=null?it:" "}).join(",") - csv += "\n" + csv += it.collect({it!=null?"\"${it}\"":'\"\"'}).join(',') + csv += '\n' } return csv } diff --git a/xml_csv_parse/src/main/groovy/org/pandawarrior/WriteXml.groovy b/xml_csv_parse/src/main/groovy/org/pandawarrior/WriteXml.groovy index 8430aa7..ecd93fb 100644 --- a/xml_csv_parse/src/main/groovy/org/pandawarrior/WriteXml.groovy +++ b/xml_csv_parse/src/main/groovy/org/pandawarrior/WriteXml.groovy @@ -9,6 +9,7 @@ class WriteXml { final static String ARRAY_FILE = "arrays" final static String PLURALS_FILE = "plurals" + private static final String REGEX = /,(?=([^\"]*\"[^\"]*\")*[^\"]*$)/ static boolean parse(String csvPath, String moduleFolder) { //load and split the file @@ -32,21 +33,26 @@ class WriteXml { protected static List getRows(String csvPath) { String csv = new File(csvPath).getText() String[] lines = csv.split('\n') - List