--- /dev/null
+package org.simantics.modeling;\r
+\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.WriteGraph;\r
+import org.simantics.db.common.request.WriteResultRequest;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.diagram.stubs.DiagramResource;\r
+import org.simantics.layer0.Layer0;\r
+\r
+public class NewSymbolGroupRequest extends WriteResultRequest<Resource> {\r
+ String name;\r
+ Resource model;\r
+ Resource symbolGroup;\r
+\r
+ public NewSymbolGroupRequest(String name, Resource model) {\r
+ this.name = name;\r
+ this.model = model;\r
+ }\r
+\r
+ @Override\r
+ public Resource perform(WriteGraph graph) throws DatabaseException {\r
+ return createNewSymbolGroup(graph, model, name);\r
+ }\r
+ \r
+ public static Resource createNewSymbolGroup(WriteGraph graph, Resource model, String name) throws DatabaseException {\r
+ Layer0 L0 = Layer0.getInstance(graph);\r
+ DiagramResource DIA = DiagramResource.getInstance(graph);\r
+\r
+ // Symbol group\r
+ Resource symbolGroup = graph.newResource();\r
+ graph.claim(symbolGroup, L0.PartOf, model); \r
+ graph.claim(symbolGroup, L0.InstanceOf, DIA.SymbolReferenceLibrary);\r
+\r
+ // Name\r
+ graph.claimLiteral(symbolGroup, L0.HasName, name);\r
+ return symbolGroup;\r
+ }\r
+}
\ No newline at end of file