+ return load(getRequestProcessor(), root);
+ }
+
+ public static P3DScriptNodeMap load(RequestProcessor session, final Resource root) throws DatabaseException {
+ preload(Simantics.getSession(), Plant3D.URIs.Builtin);
+
+ SchemaProvider schemaProvider = g -> SchemaBuilder.getSchema(g);
+ NodeMapProvider mapProvider = (mapping, rootNode) -> new P3DScriptNodeMap(Simantics.getSession(), mapping, rootNode);
+ return load(session, root, schemaProvider, mapProvider);
+ }
+
+ public static P3DRootNode loadReadOnly(final Resource root) throws DatabaseException {
+ return loadReadOnly(getRequestProcessor(), root);
+ }
+
+ public static P3DRootNode loadReadOnly(RequestProcessor session, final Resource root) throws DatabaseException {
+ preload(session, Plant3D.URIs.Builtin);
+
+ SchemaProvider schemaProvider = g -> SchemaBuilder.getSchema(g);
+ return loadReadOnly(session, root, schemaProvider);
+ }
+
+ public static void preload(RequestProcessor session, String symbolSet) throws DatabaseException {