1 package org.simantics.modeling.ui;
3 import java.util.Collection;
5 import org.simantics.db.ReadGraph;
6 import org.simantics.db.Resource;
7 import org.simantics.db.common.request.ObjectsWithType;
8 import org.simantics.db.exception.DatabaseException;
9 import org.simantics.layer0.Layer0;
10 import org.simantics.modeling.ModelingResources;
11 import org.simantics.modeling.ui.actions.NewLibrary;
12 import org.simantics.modeling.ui.actions.NewLocalLibrary;
14 public class SCLLibrary {
16 public static Resource createLibrary(Resource parent) throws DatabaseException {
18 NewLibrary lib = new NewLibrary();
19 Resource library = lib.newLibrary(parent);
23 public static Resource createLibraryInModel(Resource model) throws DatabaseException {
25 NewLocalLibrary lib = new NewLocalLibrary();
26 Resource library = lib.newLibrary(model);
30 public static Resource getLibrary (ReadGraph graph, Resource model, String name) throws DatabaseException {
32 ModelingResources MOD = ModelingResources.getInstance(graph);
33 Resource library = graph.getPossibleObject(model, MOD.HasLocalLibrary);
36 Layer0 L0 = Layer0.getInstance(graph);
37 Collection<Resource> libraries = graph.syncRequest(new ObjectsWithType(model, L0.ConsistsOf, L0.Library));
38 for (Resource library : libraries) {
39 String name1 = graph.getPossibleRelatedValue2(library, L0.HasName);
40 if (name1 != null && name1.equals(name)) {