1 package org.simantics.db.layer0.variable;
\r
3 import org.simantics.databoard.binding.Binding;
\r
4 import org.simantics.databoard.binding.error.BindingException;
\r
5 import org.simantics.db.common.utils.Logger;
\r
6 import org.simantics.db.service.ExternalOperation;
\r
7 import org.simantics.simulator.variable.NodeManager;
\r
8 import org.simantics.simulator.variable.exceptions.NodeManagerException;
\r
10 public class ExternalSetValue implements ExternalOperation {
\r
12 @SuppressWarnings("rawtypes")
\r
13 final private NodeManager manager;
\r
14 final private Object node;
\r
15 final private Object oldValue;
\r
16 final private Object newValue;
\r
17 final private Binding binding;
\r
19 public ExternalSetValue(@SuppressWarnings("rawtypes") NodeManager manager, Object node, Object oldValue, Object newValue, Binding binding) {
\r
20 this.manager = manager;
\r
22 this.oldValue = oldValue;
\r
23 this.newValue = newValue;
\r
24 this.binding = binding;
\r
27 @SuppressWarnings("unchecked")
\r
29 public void undo() {
\r
31 manager.setValue(node, oldValue, binding);
\r
32 } catch (NodeManagerException | BindingException e) {
\r
33 Logger.defaultLogError(e);
\r
37 @SuppressWarnings("unchecked")
\r
39 public void redo() {
\r
41 manager.setValue(node, newValue, binding);
\r
42 } catch (NodeManagerException | BindingException e) {
\r
43 Logger.defaultLogError(e);
\r
48 public boolean isDisposed() {
\r