X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Futil%2FLayer0Utils.java;h=5ccfcf325f49df3f919f6ee54f34b3d0f2033960;hp=adc51c16d88ef0f74f1f849f421e9156398c69f1;hb=3f5adda763f6281e9988277d067c1f71615e3da2;hpb=738abdf21b01a265c08f40c1e0f601406c58666e diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Layer0Utils.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Layer0Utils.java index adc51c16d..5ccfcf325 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Layer0Utils.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/util/Layer0Utils.java @@ -106,6 +106,7 @@ import org.simantics.graph.db.TransferableGraphs; import org.simantics.graph.diff.Diff; import org.simantics.graph.diff.TransferableGraphDelta1; import org.simantics.graph.refactoring.GraphRefactoringUtils; +import org.simantics.graph.representation.PrettyPrintTG; import org.simantics.graph.representation.TransferableGraph1; import org.simantics.layer0.Layer0; import org.simantics.operation.Layer0X; @@ -1193,7 +1194,7 @@ public class Layer0Utils { } - private static TransferableGraphSource makeTGSource(ReadGraph graph, Resource r) throws DatabaseException { + public static TransferableGraphSource makeTGSource(ReadGraph graph, Resource r) throws DatabaseException { SimanticsClipboardImpl cp = new SimanticsClipboardImpl(); CopyHandler c1 = graph.adapt(r, CopyHandler.class); @@ -1378,4 +1379,26 @@ public class Layer0Utils { } + public static String prettyPrintResource(ReadGraph graph, Resource resource, boolean ignoreIdentifiers) throws Exception { + TransferableGraphSource source = makeTGSource(graph, resource); + TransferableGraph1 tg = TransferableGraphs.create(graph, source); + GraphRefactoringUtils.fixOntologyExport(tg); + System.out.println("Printing resoure " + graph.getURI(resource)); + return PrettyPrintTG.print(tg, ignoreIdentifiers); + } + + public static Resource getPossibleAssertedObject(ReadGraph graph, Resource resource, Resource predicate) throws DatabaseException { + Resource result = null; + for(Resource type : graph.getPrincipalTypes(resource)) { + Collection rs = graph.getAssertedObjects(type, predicate); + if(rs.size() > 1) return null; + if(rs.size() == 1) { + Resource ass = rs.iterator().next(); + if (result != null && !result.equals(ass)) return null; + result = ass; + } + } + return result; + } + }