]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/actions/NewLocalLibrary.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / actions / NewLocalLibrary.java
1 package org.simantics.modeling.ui.actions;\r
2 \r
3 import org.simantics.Simantics;\r
4 import org.simantics.db.Resource;\r
5 import org.simantics.db.WriteGraph;\r
6 import org.simantics.db.common.request.WriteResultRequest;\r
7 import org.simantics.db.exception.DatabaseException;\r
8 import org.simantics.modeling.ModelingResources;\r
9 \r
10 /**\r
11  * @author Tuukka Lehtonen\r
12  */\r
13 public class NewLocalLibrary extends NewLibrary {\r
14 \r
15     protected Resource createLocalLibrary(WriteGraph graph, Resource parent)\r
16             throws DatabaseException {\r
17         Resource lib = super.createLibrary(graph, parent);\r
18         ModelingResources MOD = ModelingResources.getInstance(graph);\r
19         graph.claim(lib, MOD.IsLocalLibraryOf, parent);\r
20         \r
21         return lib;\r
22     }\r
23     \r
24     public Resource newLibrary(final Resource model) throws DatabaseException {\r
25         Resource library = Simantics.getSession().syncRequest(new WriteResultRequest<Resource>() {\r
26 \r
27                         @Override\r
28                         public Resource perform(WriteGraph graph) throws DatabaseException {\r
29                                 Resource library = createLocalLibrary(graph, model);\r
30                                 return library;\r
31                         }\r
32                 });\r
33         return library;\r
34     }\r
35 \r
36 }\r