X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2FcomponentTypeEditor%2FPGraphEditorDocumentProvider.java;h=e718390b8b6b041154b77b774ed55449b3862b51;hp=ad247b6bd8cf70e0bf8dd993ed2b96ff9ea0ae4a;hb=47269fe0acb894f346810417d950a1ab59cdc0ea;hpb=06ee0c4c71cd9e372969da1570e7fcac2c4397a5 diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/PGraphEditorDocumentProvider.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/PGraphEditorDocumentProvider.java index ad247b6bd..e718390b8 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/PGraphEditorDocumentProvider.java +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/PGraphEditorDocumentProvider.java @@ -57,17 +57,20 @@ public class PGraphEditorDocumentProvider extends AbstractDocumentProvider { if(graph.isInstanceOf(resource, L0.PGraph)) { currentText = graph.getRelatedValue(resource, L0.PGraph_definition, Bindings.STRING); errorHappened = false; - return new Document(currentText != null ? currentText : ""); + return new Document(currentText != null ? currentText : ""); //$NON-NLS-1$ } else { Resource indexRoot = graph.syncRequest(new PossibleIndexRoot(resource)); - if(indexRoot != null && graph.isInstanceOf(indexRoot, L0.Ontology)) { - TransferableGraph1 tg = ModelingUtils.exportSharedOntology(graph, indexRoot, null, Constants.SHARED_LIBRARY_FORMAT, Constants.SHARED_LIBRARY_CURRENT_VERSION); - GraphRefactoringUtils.fixOntologyExport(tg); - currentText = PrettyPrintTG.print(tg); - errorHappened = false; - return new Document(currentText != null ? currentText : ""); + try { + if(indexRoot != null && graph.isInstanceOf(indexRoot, L0.Ontology)) { + TransferableGraph1 tg = ModelingUtils.exportSharedOntology(graph, indexRoot, null, Constants.SHARED_LIBRARY_FORMAT, Constants.SHARED_LIBRARY_CURRENT_VERSION); + GraphRefactoringUtils.fixOntologyExport(tg); + currentText = PrettyPrintTG.print(tg, false); + errorHappened = false; + } + return new Document(currentText != null ? currentText : ""); //$NON-NLS-1$ + } catch (Exception e) { + throw new DatabaseException("Could not get PGraph from " + resource); //$NON-NLS-1$ } - throw new DatabaseException("Could not get PGraph from " + resource); } } }); @@ -93,7 +96,7 @@ public class PGraphEditorDocumentProvider extends AbstractDocumentProvider { synchronized(annotationModel.getLockObject()) { annotationModel.removeAllAnnotations(); for(CompilationError error : errors) { - Annotation annotation = new Annotation("org.eclipse.ui.workbench.texteditor.error", true, + Annotation annotation = new Annotation("org.eclipse.ui.workbench.texteditor.error", true, //$NON-NLS-1$ error.description); int begin = Locations.beginOf(error.location); int end = Locations.endOf(error.location); @@ -118,7 +121,7 @@ public class PGraphEditorDocumentProvider extends AbstractDocumentProvider { @Override protected void doSaveDocument(IProgressMonitor monitor, Object element, IDocument document, boolean overwrite) throws CoreException { - TimeLogger.resetTimeAndLog("PGraphEditorDocumentProvider.doSaveDocument"); + TimeLogger.resetTimeAndLog("PGraphEditorDocumentProvider.doSaveDocument"); //$NON-NLS-1$ currentText = document.get(); Simantics.getSession().asyncRequest(new WriteRequest() { @Override @@ -126,7 +129,7 @@ public class PGraphEditorDocumentProvider extends AbstractDocumentProvider { graph.markUndoPoint(); Layer0 L0 = Layer0.getInstance(graph); graph.claimLiteral(resource, L0.PGraph_definition, currentText, Bindings.STRING); - Layer0Utils.addCommentMetadata(graph, "Saved Ontology Definition File " + graph.getRelatedValue2(resource, Layer0.getInstance(graph).HasName, Bindings.STRING)); + Layer0Utils.addCommentMetadata(graph, "Saved Ontology Definition File " + graph.getRelatedValue2(resource, Layer0.getInstance(graph).HasName, Bindings.STRING)); //$NON-NLS-1$ } }); }