-package org.simantics.db.layer0.request;\r
-\r
-import org.simantics.db.RequestProcessor;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.SessionModel;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.service.VirtualGraphSupport;\r
-import org.simantics.layer0.Layer0;\r
-import org.simantics.operation.Layer0X;\r
-import org.simantics.user.UserResource;\r
-\r
-public class SetActiveSessionRole extends WriteRequest {\r
- \r
- final private Resource model;\r
- final private Resource role;\r
- \r
- public SetActiveSessionRole(RequestProcessor processor, Resource model, Resource role) {\r
- super(processor.getService(VirtualGraphSupport.class).getWorkspacePersistent("activations"));\r
- this.model = model;\r
- this.role = role;\r
- }\r
-\r
- @Override\r
- public void perform(WriteGraph graph) throws DatabaseException {\r
- \r
- Layer0 L0 = Layer0.getInstance(graph);\r
- Layer0X L0X = Layer0X.getInstance(graph);\r
- UserResource USER = UserResource.getInstance(graph);\r
- Resource session = graph.getService(SessionModel.class).getResource();\r
- \r
- if(session != null) {\r
- for(Resource selection : graph.getObjects(session, L0X.Session_HasRoleSelection)) {\r
- Resource selectionModel = graph.getPossibleObject(selection, USER.RoleSelection_HasModel);\r
- if(selectionModel.equals(model)) {\r
- graph.deny(selection, USER.RoleSelection_HasRole);\r
- graph.claim(selection, USER.RoleSelection_HasRole, role);\r
- return;\r
- }\r
- }\r
- }\r
- \r
- Resource selection = graph.newResource();\r
- graph.claim(selection, L0.InstanceOf, null, USER.RoleSelection);\r
- graph.claim(selection, USER.RoleSelection_HasModel, model);\r
- graph.claim(selection, USER.RoleSelection_HasRole, role);\r
- graph.claim(session, L0X.Session_HasRoleSelection, selection);\r
- \r
- }\r
-\r
-}\r
+package org.simantics.db.layer0.request;
+
+import org.simantics.db.RequestProcessor;
+import org.simantics.db.Resource;
+import org.simantics.db.SessionModel;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.service.VirtualGraphSupport;
+import org.simantics.layer0.Layer0;
+import org.simantics.operation.Layer0X;
+import org.simantics.user.UserResource;
+
+public class SetActiveSessionRole extends WriteRequest {
+
+ final private Resource model;
+ final private Resource role;
+
+ public SetActiveSessionRole(RequestProcessor processor, Resource model, Resource role) {
+ super(processor.getService(VirtualGraphSupport.class).getWorkspacePersistent("activations"));
+ this.model = model;
+ this.role = role;
+ }
+
+ @Override
+ public void perform(WriteGraph graph) throws DatabaseException {
+
+ Layer0 L0 = Layer0.getInstance(graph);
+ Layer0X L0X = Layer0X.getInstance(graph);
+ UserResource USER = UserResource.getInstance(graph);
+ Resource session = graph.getService(SessionModel.class).getResource();
+
+ if(session != null) {
+ for(Resource selection : graph.getObjects(session, L0X.Session_HasRoleSelection)) {
+ Resource selectionModel = graph.getPossibleObject(selection, USER.RoleSelection_HasModel);
+ if(selectionModel.equals(model)) {
+ graph.deny(selection, USER.RoleSelection_HasRole);
+ graph.claim(selection, USER.RoleSelection_HasRole, role);
+ return;
+ }
+ }
+ }
+
+ Resource selection = graph.newResource();
+ graph.claim(selection, L0.InstanceOf, null, USER.RoleSelection);
+ graph.claim(selection, USER.RoleSelection_HasModel, model);
+ graph.claim(selection, USER.RoleSelection_HasRole, role);
+ graph.claim(session, L0X.Session_HasRoleSelection, selection);
+
+ }
+
+}