Ignore:
Timestamp:
2013-03-02T00:32:50+01:00 (12 years ago)
Author:
donvip
Message:

[josm_opendata] better handling of .ods files (management of repeated cells)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/OdsReader.java

    r28113 r29298  
    2424import org.jopendocument.model.office.OfficeSpreadsheet;
    2525import org.jopendocument.model.table.TableTable;
     26import org.jopendocument.model.table.TableTableCell;
    2627import org.jopendocument.model.table.TableTableRow;
     28import org.jopendocument.model.text.TextP;
    2729import org.openstreetmap.josm.data.osm.DataSet;
    2830import org.openstreetmap.josm.gui.progress.ProgressMonitor;
     
    3638        private int rowIndex;
    3739       
    38         private static final String SEP = "TextP:\\[";
     40        private static final String SEP = "TextP:[";
    3941       
    4042        public OdsReader(SpreadSheetHandler handler) {
     
    7981                        List<String> result = new ArrayList<String>();
    8082                        boolean allFieldsBlank = true;
    81                         for (String text : row.getText().replaceFirst(SEP, "").replaceAll("\\]", "").replaceAll("null", SEP).split(SEP)) {
    82                                 result.add(text);
    83                                 if (allFieldsBlank && !text.isEmpty()) {
    84                                         allFieldsBlank = false;
    85                                 }
     83                        for (TableTableCell cell : row.getAllCells()) {
     84                            TextP textP = cell.getTextP();
     85                            String text = textP == null ? "" : textP.toString().replace(SEP, "").replace("]", "").replace("null", "").trim();
     86                result.add(text);
     87                if (allFieldsBlank && !text.isEmpty()) {
     88                    allFieldsBlank = false;
     89                }
    8690                        }
    8791                       
Note: See TracChangeset for help on using the changeset viewer.