From 7a1451f561517bd4614cd96247b7c698a178e4bd Mon Sep 17 00:00:00 2001 From: Tom Morris Date: Sun, 21 Jun 2020 23:09:47 -0400 Subject: [PATCH 1/2] Report errors to user No errors were being reported before. Also add TODO for progress indicator on long uploads --- .../src/com/google/refine/extension/gdata/UploadCommand.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/extensions/gdata/src/com/google/refine/extension/gdata/UploadCommand.java b/extensions/gdata/src/com/google/refine/extension/gdata/UploadCommand.java index 15c1cf657..b81f876c5 100644 --- a/extensions/gdata/src/com/google/refine/extension/gdata/UploadCommand.java +++ b/extensions/gdata/src/com/google/refine/extension/gdata/UploadCommand.java @@ -68,6 +68,8 @@ public class UploadCommand extends Command { private static final String METADATA_DESCRIPTION = "OpenRefine project dump"; private static final String METADATA_ICON_FILE = "logo-openrefine-550.png"; + + // TODO: We need a way to provide progress to the user during long uploads @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { @@ -99,7 +101,8 @@ public class UploadCommand extends Command { List exceptions = new LinkedList(); String url = upload(project, engine, params, token, name, exceptions); - if (url != null) { + // The URL can be non-null even if it doesn't fail + if (url != null && exceptions.size() == 0) { writer.writeStringField("status", "ok"); writer.writeStringField("url", url); } else if (exceptions.size() == 0) { From 9b8e75055092a1e78015cc7a1990351289bd30b1 Mon Sep 17 00:00:00 2001 From: Tom Morris Date: Sun, 21 Jun 2020 23:16:46 -0400 Subject: [PATCH 2/2] Don't skip empty cells on export Make sure we output at least an empty string as a placeholder. Fixes #2306 --- .../extension/gdata/SpreadsheetSerializer.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/extensions/gdata/src/com/google/refine/extension/gdata/SpreadsheetSerializer.java b/extensions/gdata/src/com/google/refine/extension/gdata/SpreadsheetSerializer.java index 9cfa3aacd..df36c193f 100644 --- a/extensions/gdata/src/com/google/refine/extension/gdata/SpreadsheetSerializer.java +++ b/extensions/gdata/src/com/google/refine/extension/gdata/SpreadsheetSerializer.java @@ -80,9 +80,7 @@ final class SpreadsheetSerializer implements TabularSerializer { for (int c = 0; c < cells.size(); c++) { CellData cellData = cells.get(c); - if (cellData != null && cellData.text != null) { - cellDatas.add(cellData2sheetCellData(cellData)); - } + cellDatas.add(cellData2sheetCellData(cellData)); } rowData.setValues(cellDatas); @@ -98,8 +96,12 @@ final class SpreadsheetSerializer implements TabularSerializer { com.google.api.services.sheets.v4.model.CellData sheetCellData = new com.google.api.services.sheets.v4.model.CellData(); ExtendedValue ev = new ExtendedValue(); - ev.setStringValue(cellData.value.toString()); - + if (cellData == null || cellData.value == null) { + ev.setStringValue(""); + } else { + ev.setStringValue(cellData.value.toString()); + } + sheetCellData.setUserEnteredValue(ev); return sheetCellData;