]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/BundleModuleSource.java
Prevent NPE if the path to the module source cannot be found
[simantics/platform.git] / bundles / org.simantics.scl.osgi / src / org / simantics / scl / osgi / internal / BundleModuleSource.java
index 92385a1ed3f9be600ffb0ea33d0ff5e10cda913b..fc9799de706d6625e401d47dd3320aa7a900cc91 100644 (file)
@@ -54,7 +54,7 @@ public class BundleModuleSource extends EncodedTextualModuleSource implements Up
     }
 
     @Override
-    protected ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
+    public ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
         if(bundle.getSymbolicName().equals("org.simantics.scl.runtime"))
             return DEFAULT_IMPORTS_FOR_STANDARD_LIBRARY;
         else
@@ -146,7 +146,10 @@ public class BundleModuleSource extends EncodedTextualModuleSource implements Up
     @Override
     public boolean isUpdateable() {
         try {
-            return Files.exists(getPath());
+            Path path = getPath();
+            if(path == null)
+                return false;
+            return Files.exists(path);
         } catch (IOException e) {
             return false;
         }
@@ -156,6 +159,8 @@ public class BundleModuleSource extends EncodedTextualModuleSource implements Up
     public void update(String newSourceText) {
         try {
             Path path = getPath();
+            if(path == null)
+                return;
             Files.write(path, newSourceText.getBytes(Charset.forName("UTF-8")));
         } catch(IOException e) {
             e.printStackTrace();