Fix PY-21427 Double click on the output field inside jupyter notebook raises Unsuppo...
authorValentina Kiryushkina <valentina.kiryushkina@jetbrains.com>
Mon, 14 Nov 2016 08:20:30 +0000 (11:20 +0300)
committerValentina Kiryushkina <valentina.kiryushkina@jetbrains.com>
Mon, 14 Nov 2016 12:05:32 +0000 (15:05 +0300)
python/ipnb/src/org/jetbrains/plugins/ipnb/format/IpnbParser.java
python/ipnb/src/org/jetbrains/plugins/ipnb/format/cells/IpnbCodeCell.java

index f2acf5f5450a2c43317375425932064e554d6eea..dc2ebcf61ae27b751367eb52cdfeaa6533a50d8f 100644 (file)
@@ -28,7 +28,10 @@ import org.jetbrains.plugins.ipnb.format.cells.output.*;
 import java.io.*;
 import java.lang.reflect.Type;
 import java.nio.charset.Charset;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class IpnbParser {
   private static final Logger LOG = Logger.getInstance(IpnbParser.class);
@@ -57,7 +60,7 @@ public class IpnbParser {
     IpnbFileRaw rawFile = gson.fromJson(fileText.toString(), IpnbFileRaw.class);
     if (rawFile == null) {
       int nbformat = isIpythonNewFormat(virtualFile) ? 4 : 3;
-      return new IpnbFile(Collections.emptyMap(), nbformat, Lists.newArrayList(), path);
+      return new IpnbFile(new HashMap<>(), nbformat, Lists.newArrayList(), path);
     }
     List<IpnbCell> cells = new ArrayList<>();
     final IpnbWorksheet[] worksheets = rawFile.worksheets;
@@ -256,7 +259,7 @@ public class IpnbParser {
     public IpnbCell createCell(boolean isValidSource) {
       final IpnbCell cell;
       if (cell_type.equals("markdown")) {
-        cell = new IpnbMarkdownCell(isValidSource ? source : Collections.emptyList(), metadata);
+        cell = new IpnbMarkdownCell(isValidSource ? source : new ArrayList<>(), metadata);
       }
       else if (cell_type.equals("code")) {
         final List<IpnbOutputCell> outputCells = new ArrayList<>();
@@ -265,14 +268,14 @@ public class IpnbParser {
         }
         final Integer prompt = prompt_number != null ? prompt_number : execution_count;
         cell = new IpnbCodeCell(language == null ? "python" : language,
-                                input == null ? (isValidSource ? source : Collections.emptyList()) : input,
+                                input == null ? (isValidSource ? source : new ArrayList<>()) : input,
                                 prompt, outputCells, metadata);
       }
       else if (cell_type.equals("raw")) {
-        cell = new IpnbRawCell(isValidSource ? source : Collections.emptyList());
+        cell = new IpnbRawCell(isValidSource ? source : new ArrayList<>());
       }
       else if (cell_type.equals("heading")) {
-        cell = new IpnbHeadingCell(isValidSource ? source : Collections.emptyList(), level, metadata);
+        cell = new IpnbHeadingCell(isValidSource ? source : new ArrayList<>(), level, metadata);
       }
       else {
         cell = null;
@@ -303,7 +306,7 @@ public class IpnbParser {
       final CellOutputRaw raw = new CellOutputRaw();
       raw.metadata = outputCell.getMetadata();
       if (raw.metadata == null && !(outputCell instanceof IpnbStreamOutputCell) && !(outputCell instanceof IpnbErrorOutputCell)) {
-        raw.metadata = Collections.emptyMap();
+        raw.metadata = new HashMap<>();
       }
 
       if (outputCell instanceof IpnbPngOutputCell) {
index 56416e2f40fcd8b86e53cdb91d20dec5edfdbb45..f9fa06a968e47b640b69e0fff0468b607a2df9e0 100644 (file)
@@ -5,7 +5,7 @@ import org.jetbrains.annotations.Nullable;
 import org.jetbrains.plugins.ipnb.format.cells.output.IpnbOutputCell;
 
 import java.util.ArrayList;
-import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -61,7 +61,7 @@ public class IpnbCodeCell extends IpnbEditableCell {
 
   @NotNull
   public static IpnbCodeCell createEmptyCodeCell() {
-    return new IpnbCodeCell("python", Collections.emptyList(), null, new ArrayList<>(),
-                            Collections.emptyMap());
+    return new IpnbCodeCell("python", new ArrayList<>(), null, new ArrayList<>(),
+                            new HashMap<>());
   }
 }