X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.graph.db%2Fsrc%2Forg%2Fsimantics%2Fgraph%2Fdb%2FCoreInitialization.java;h=096f0a00f2ff50ae80be27aa68b28d067c5e2505;hb=refs%2Fchanges%2F51%2F351%2F13;hp=c80d5954b81a71ab3a8a7605b51ff96f64465ded;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/CoreInitialization.java b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/CoreInitialization.java index c80d5954b..096f0a00f 100644 --- a/bundles/org.simantics.graph.db/src/org/simantics/graph/db/CoreInitialization.java +++ b/bundles/org.simantics.graph.db/src/org/simantics/graph/db/CoreInitialization.java @@ -1,82 +1,82 @@ -package org.simantics.graph.db; - -import java.util.HashSet; - -import org.simantics.db.Session; -import org.simantics.db.WriteOnlyGraph; -import org.simantics.db.common.request.WriteOnlyRequest; -import org.simantics.db.exception.DatabaseException; -import org.simantics.db.service.InitSupport; -import org.simantics.db.service.SerialisationSupport; -import org.simantics.graph.representation.TransferableGraph1; -import org.simantics.scl.reflection.OntologyVersions; - -public class CoreInitialization { - - static final public String LAYER0 = OntologyVersions.getInstance().currentVersion("http://www.simantics.org/Layer0-0.0/"); - static final HashSet BUILTINS = - new HashSet(); - static public HashSet getBuiltins() { - return BUILTINS; - } - private static int builtinId = 0; - private static void addBuiltin(String uri) { - BUILTINS.add(new InitSupport.Builtin(uri, ++builtinId)); - } - private static void addLayer0Builtin(String name) { - addBuiltin(LAYER0 + name); - } - - static { - addLayer0Builtin("InstanceOf"); - addLayer0Builtin("Inherits"); - addLayer0Builtin("SubrelationOf"); - addLayer0Builtin("InverseOf"); - - addLayer0Builtin("HasName"); - addLayer0Builtin("NameOf"); - - addLayer0Builtin("ConsistsOf"); - addLayer0Builtin("PartOf"); - - addLayer0Builtin("String"); - addLayer0Builtin("Library"); - addLayer0Builtin("FunctionalRelation"); - addLayer0Builtin("SuperrelationOf"); - addLayer0Builtin("Asserts"); - addLayer0Builtin("HasInstance"); - addLayer0Builtin("HasPredicate"); - addLayer0Builtin("HasPredicateInverse"); - addLayer0Builtin("HasObject"); - - addBuiltin("http://Projects"); - addBuiltin("http:/"); - } - - public static void initializeBuiltins(Session session) throws DatabaseException { - session.getService(InitSupport.class).addBuiltins(BUILTINS); - } - - public static long[] initializeGraph(final Session session, TransferableGraph1 tg) throws DatabaseException { - final TransferableGraphImportProcess process = new TransferableGraphImportProcess(tg, - new ImportAdvisor()); - session.syncRequest(new WriteOnlyRequest() { - @Override - public void perform(WriteOnlyGraph graph) throws DatabaseException { - graph.markUndoPoint(); - -// // Hackety hack -// session.getService(XSupport.class).setImmutable(session.getRootLibrary(), true); - - process.initialPrepare(graph); - process.write(graph); - graph.clearUndoList(this); - - } - }); - return process.getResourceIds( - session.getService(SerialisationSupport.class) - ); - } - -} +package org.simantics.graph.db; + +import java.util.HashSet; + +import org.simantics.db.Session; +import org.simantics.db.WriteOnlyGraph; +import org.simantics.db.common.request.WriteOnlyRequest; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.service.InitSupport; +import org.simantics.db.service.SerialisationSupport; +import org.simantics.graph.representation.TransferableGraph1; +import org.simantics.scl.reflection.OntologyVersions; + +public class CoreInitialization { + + static final public String LAYER0 = OntologyVersions.getInstance().currentVersion("http://www.simantics.org/Layer0-0.0/"); + static final HashSet BUILTINS = + new HashSet(); + static public HashSet getBuiltins() { + return BUILTINS; + } + private static int builtinId = 0; + private static void addBuiltin(String uri) { + BUILTINS.add(new InitSupport.Builtin(uri, ++builtinId)); + } + private static void addLayer0Builtin(String name) { + addBuiltin(LAYER0 + name); + } + + static { + addLayer0Builtin("InstanceOf"); + addLayer0Builtin("Inherits"); + addLayer0Builtin("SubrelationOf"); + addLayer0Builtin("InverseOf"); + + addLayer0Builtin("HasName"); + addLayer0Builtin("NameOf"); + + addLayer0Builtin("ConsistsOf"); + addLayer0Builtin("PartOf"); + addLayer0Builtin("ExternalEntity"); + + addLayer0Builtin("String"); + addLayer0Builtin("Library"); + addLayer0Builtin("FunctionalRelation"); + addLayer0Builtin("SuperrelationOf"); + addLayer0Builtin("Asserts"); + addLayer0Builtin("HasInstance"); + addLayer0Builtin("HasPredicate"); + addLayer0Builtin("HasPredicateInverse"); + addLayer0Builtin("HasObject"); + + addBuiltin("http:/"); + } + + public static void initializeBuiltins(Session session) throws DatabaseException { + session.getService(InitSupport.class).addBuiltins(BUILTINS); + } + + public static long[] initializeGraph(final Session session, TransferableGraph1 tg) throws DatabaseException { + final TransferableGraphImportProcess process = new TransferableGraphImportProcess(tg, + new ImportAdvisor()); + session.syncRequest(new WriteOnlyRequest() { + @Override + public void perform(WriteOnlyGraph graph) throws DatabaseException { + graph.markUndoPoint(); + +// // Hackety hack +// session.getService(XSupport.class).setImmutable(session.getRootLibrary(), true); + + process.initialPrepare(graph); + process.write(graph); + graph.clearUndoList(this); + + } + }); + return process.getResourceIds( + session.getService(SerialisationSupport.class) + ); + } + +}