package org.simantics.db.tests.common; import org.simantics.databoard.Bindings; import org.simantics.db.Resource; import org.simantics.db.WriteGraph; import org.simantics.db.common.request.WriteResultRequest; import org.simantics.db.exception.DatabaseException; import org.simantics.db.request.WriteResult; import org.simantics.layer0.Layer0; public class Writes { public static WriteResult newEmpty() throws DatabaseException { return new WriteResultRequest() { @Override public Resource perform(WriteGraph g) throws DatabaseException { return g.newResource(); } }; } public static Resource named(WriteGraph graph, String name) throws DatabaseException { Layer0 b = Layer0.getInstance(graph); Resource result = graph.newResource(); graph.claim(result, b.InstanceOf, null, b.Entity); graph.claimLiteral(result, b.HasName, name, Bindings.STRING); return result; } public static Resource assertion(WriteGraph graph, Resource predicate, Resource object) throws DatabaseException { Layer0 b = Layer0.getInstance(graph); // Assert nonfunctional items Resource ass = graph.newResource(); graph.claim(ass, b.InstanceOf, null, b.Assertion); graph.claim(ass, b.HasPredicate, predicate); graph.claim(ass, b.HasObject, object); return ass; } public static Resource string(WriteGraph graph, String string) throws DatabaseException { Layer0 b = Layer0.getInstance(graph); // Assert nonfunctional items Resource result = graph.newResource(); graph.claim(result, b.InstanceOf, null, b.String); graph.claimValue(result, string); return result; } }