X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Futil%2FLayer0Utils.java;h=beec63aa1b5a3f928111097b08284f497ba96b43;hb=3a10ce856f7124f83cf03d6e7f7576da237a7cbb;hp=08dd63ce0e25c4bf11084bc8402eb802cd51a49d;hpb=1cc487c3f6cf4b46b1fdd727183a9483e3bc05bb;p=simantics%2Fplatform.git 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 08dd63ce0..beec63aa1 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 @@ -54,6 +54,7 @@ import org.simantics.databoard.type.StringType; import org.simantics.databoard.type.UnionType; import org.simantics.databoard.type.VariantType; import org.simantics.databoard.util.ObjectUtils; +import org.simantics.datatypes.literal.GUID; import org.simantics.db.ChangeSetIdentifier; import org.simantics.db.Operation; import org.simantics.db.ReadGraph; @@ -569,16 +570,16 @@ public class Layer0Utils { } - public static void claimAdaptedValue(WriteGraph graph, Resource objectResource, Object value, Binding binding, Datatype datatype) throws DatabaseException { + public static void claimAdaptedValue(WriteGraph graph, Resource objectResource, Object value, Binding binding, Datatype targetDatatype) throws DatabaseException { try { - Datatype source = binding.type(); - if(source.equals(datatype)) { + Datatype sourceDatatype = binding.type(); + if(sourceDatatype.equals(targetDatatype)) { graph.claimValue(objectResource, value, binding); } else { - Binding target = Bindings.getBinding(datatype); - Adapter adapter = Bindings.getAdapter(binding, target); + Binding target = Bindings.getBinding(targetDatatype); + Adapter adapter = Bindings.getTypeAdapter(binding, target); graph.claimValue(objectResource, adapter.adapt(value), target); } @@ -1379,11 +1380,24 @@ public class Layer0Utils { } - public static String prettyPrintResource(ReadGraph graph, Resource resource) throws Exception { + 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); - return PrettyPrintTG.print(tg); + System.out.println("Printing resoure " + graph.getURI(resource)); + return PrettyPrintTG.print(tg, ignoreIdentifiers); } + /** + * Adds a random {@link GUID} as a value for L0.identifier + * + * @param graph + * @param component + * for which the identifier is added + * @throws DatabaseException + */ + public static void addL0Identifier(WriteGraph graph, Resource component) throws DatabaseException { + Layer0 L0 = Layer0.getInstance(graph); + graph.addLiteral(component, L0.identifier, L0.identifier_Inverse, L0.GUID, GUID.random(), GUID.BINDING); + } }