-package org.simantics.diagram.profile.view;\r
-\r
-import java.util.List;\r
-\r
-import org.eclipse.jface.viewers.ISelection;\r
-import org.simantics.Simantics;\r
-import org.simantics.browsing.ui.swt.ModelledActionImpl;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.WriteGraph;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.common.utils.OrderedSetUtils;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.SelectionHints;\r
-import org.simantics.diagram.stubs.DiagramResource;\r
-import org.simantics.utils.ui.ISelectionUtils;\r
-\r
-public class RemoveEntriesAction extends ModelledActionImpl<Resource> {\r
-\r
- public RemoveEntriesAction(Resource configuration) {\r
- super(configuration);\r
- }\r
- \r
- public void run(Resource runtimeDiagram) {\r
-\r
- ISelection selection = getParameter(DiagramResource.URIs.ProfilesView_SelectedEntries);\r
- final List<ResourcePair> selectedEntries = ISelectionUtils.getPossibleKeys(selection, SelectionHints.KEY_MAIN, ResourcePair.class);\r
- if(selectedEntries != null && !selectedEntries.isEmpty()) {\r
- System.err.println("RemoveEntriesAction has " + selection + " for " + runtimeDiagram);\r
- try {\r
- Simantics.getSession().syncRequest(new WriteRequest() {\r
-\r
- @Override\r
- public void perform(WriteGraph graph) throws DatabaseException {\r
- \r
- DiagramResource DIA = DiagramResource.getInstance(graph);\r
- for(ResourcePair entry : selectedEntries) {\r
- Resource list = graph.getPossibleObject(entry.getFirst(), DIA.HasEntries);\r
- OrderedSetUtils.remove(graph, list, entry.getSecond());\r
- }\r
- \r
- }\r
-\r
- });\r
- } catch (DatabaseException e) {\r
- e.printStackTrace();\r
- }\r
- }\r
-\r
- }\r
-\r
-}\r
+package org.simantics.diagram.profile.view;
+
+import java.util.List;
+
+import org.eclipse.jface.viewers.ISelection;
+import org.simantics.Simantics;
+import org.simantics.browsing.ui.swt.ModelledActionImpl;
+import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
+import org.simantics.db.common.request.WriteRequest;
+import org.simantics.db.common.utils.OrderedSetUtils;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.SelectionHints;
+import org.simantics.diagram.stubs.DiagramResource;
+import org.simantics.utils.ui.ISelectionUtils;
+
+public class RemoveEntriesAction extends ModelledActionImpl<Resource> {
+
+ public RemoveEntriesAction(Resource configuration) {
+ super(configuration);
+ }
+
+ public void run(Resource runtimeDiagram) {
+
+ ISelection selection = getParameter(DiagramResource.URIs.ProfilesView_SelectedEntries);
+ final List<ProfileTuple> selectedEntries = ISelectionUtils.getPossibleKeys(selection, SelectionHints.KEY_MAIN, ProfileTuple.class);
+ if(selectedEntries != null && !selectedEntries.isEmpty()) {
+ try {
+ Simantics.getSession().syncRequest(new WriteRequest() {
+
+ @Override
+ public void perform(WriteGraph graph) throws DatabaseException {
+
+ DiagramResource DIA = DiagramResource.getInstance(graph);
+ for(ProfileTuple entry : selectedEntries) {
+ Resource list = graph.getPossibleObject(entry.getBaseProfile(), DIA.HasEntries);
+ OrderedSetUtils.remove(graph, list, entry.getEntry());
+ }
+
+ }
+
+ });
+ } catch (DatabaseException e) {
+ e.printStackTrace();
+ }
+ }
+
+ }
+
+}