From: jsimomaa Date: Tue, 7 Aug 2018 11:03:55 +0000 (+0300) Subject: Possibility to open SCL-modules from plug-in in JAR-file X-Git-Tag: v1.43.0~136^2~396 X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=commitdiff_plain;h=e18cdb01663e3ebdae25e66bf158348bbf823a07 Possibility to open SCL-modules from plug-in in JAR-file The real NPE problem was already fixed in c52bf8a8 by Hannu, but this adds some SLF4J logging. gitlab #77 Change-Id: I9ce2e1efca375046b0b5f8a5dd483e1e288d594a --- diff --git a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/BundleModuleSource.java b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/BundleModuleSource.java index fc9799de7..87b78d6eb 100644 --- a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/BundleModuleSource.java +++ b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/BundleModuleSource.java @@ -1,5 +1,6 @@ package org.simantics.scl.osgi.internal; + import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -19,11 +20,15 @@ import org.simantics.scl.compiler.module.ImportDeclaration; import org.simantics.scl.compiler.module.repository.UpdateListener; import org.simantics.scl.compiler.source.EncodedTextualModuleSource; import org.simantics.scl.compiler.types.Type; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import gnu.trove.set.hash.THashSet; public class BundleModuleSource extends EncodedTextualModuleSource implements UpdateListener.Observable { + private static final Logger LOGGER = LoggerFactory.getLogger(BundleModuleSource.class); + public static final ImportDeclaration[] DEFAULT_IMPORTS = new ImportDeclaration[] { new ImportDeclaration("Builtin", ""), new ImportDeclaration("StandardLibrary", "") @@ -75,13 +80,13 @@ public class BundleModuleSource extends EncodedTextualModuleSource implements Up } return digest.digest(); } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); + LOGGER.error("No SHA1 algorithm available", e); return new byte[0]; } finally { stream.close(); } } catch(IOException e) { - e.printStackTrace(); + LOGGER.error("Could not compute digest for {}", this); return new byte[0]; } } @@ -151,10 +156,11 @@ public class BundleModuleSource extends EncodedTextualModuleSource implements Up return false; return Files.exists(path); } catch (IOException e) { + LOGGER.debug("Could not check if {} is updateable", this, e); return false; } } - + @Override public void update(String newSourceText) { try { @@ -163,7 +169,7 @@ public class BundleModuleSource extends EncodedTextualModuleSource implements Up return; Files.write(path, newSourceText.getBytes(Charset.forName("UTF-8"))); } catch(IOException e) { - e.printStackTrace(); + LOGGER.error("Could not update {} with {}", this, newSourceText, e); } checkUpdates(); }