diff --git a/com.avaloq.tools.ddk.xtext.generator/src/com/avaloq/tools/ddk/xtext/generator/util/CustomClassAwareEcoreGenerator.java b/com.avaloq.tools.ddk.xtext.generator/src/com/avaloq/tools/ddk/xtext/generator/util/CustomClassAwareEcoreGenerator.java index e33d519c8..e6566559c 100644 --- a/com.avaloq.tools.ddk.xtext.generator/src/com/avaloq/tools/ddk/xtext/generator/util/CustomClassAwareEcoreGenerator.java +++ b/com.avaloq.tools.ddk.xtext.generator/src/com/avaloq/tools/ddk/xtext/generator/util/CustomClassAwareEcoreGenerator.java @@ -111,21 +111,21 @@ public JControlModel getJControlModel() { Diagnostic diagnostic = generator.generate(model, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, new BasicMonitor()); if (diagnostic.getSeverity() != Diagnostic.OK) { - LOGGER.info(diagnostic); + LOGGER.warn(diagnostic); } } if (generateEdit) { Diagnostic editDiag = generator.generate(model, GenBaseGeneratorAdapter.EDIT_PROJECT_TYPE, new BasicMonitor()); if (editDiag.getSeverity() != Diagnostic.OK) { - LOGGER.info(editDiag); + LOGGER.warn(editDiag); } } if (generateEditor) { Diagnostic editorDiag = generator.generate(model, GenBaseGeneratorAdapter.EDITOR_PROJECT_TYPE, new BasicMonitor()); if (editorDiag.getSeverity() != Diagnostic.OK) { - LOGGER.info(editorDiag); + LOGGER.warn(editorDiag); } } } diff --git a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/resource/ScopeResourceDescriptionStrategy.java b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/resource/ScopeResourceDescriptionStrategy.java index b01535350..4b64173cb 100644 --- a/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/resource/ScopeResourceDescriptionStrategy.java +++ b/com.avaloq.tools.ddk.xtext.scope/src/com/avaloq/tools/ddk/xtext/scope/resource/ScopeResourceDescriptionStrategy.java @@ -70,6 +70,10 @@ private String getSourceText(final EObject obj) { LOG.warn("Could not resolve scope model " + EcoreUtil.getURI(obj)); return ""; } - return ((XtextResource) obj.eResource()).getParseResult().getRootNode().getText(); + final XtextResource resource = (XtextResource) obj.eResource(); + if (resource.getParseResult() == null) { + return ""; + } + return resource.getParseResult().getRootNode().getText(); } } diff --git a/com.avaloq.tools.ddk.xtext/src/com/avaloq/tools/ddk/xtext/resource/persistence/DirectLinkingResourceStorageWritable.java b/com.avaloq.tools.ddk.xtext/src/com/avaloq/tools/ddk/xtext/resource/persistence/DirectLinkingResourceStorageWritable.java index f5de304c6..e5da5cd72 100644 --- a/com.avaloq.tools.ddk.xtext/src/com/avaloq/tools/ddk/xtext/resource/persistence/DirectLinkingResourceStorageWritable.java +++ b/com.avaloq.tools.ddk.xtext/src/com/avaloq/tools/ddk/xtext/resource/persistence/DirectLinkingResourceStorageWritable.java @@ -105,7 +105,7 @@ protected void writeEntries(final StorageAwareResource resource, final ZipOutput if (storeNodeModel) { zipOut.putNextEntry(new ZipEntry("source")); //$NON-NLS-1$ try { - if (resource.getParseResult() != null) { + if (resource.getParseResult() != null && resource.getParseResult().getRootNode() != null) { StringReader in = new StringReader(resource.getParseResult().getRootNode().getText()); OutputStreamWriter out = new OutputStreamWriter(bufferedOutput, StandardCharsets.UTF_8); CharStreams.copy(in, out);