diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/node/base/NodeBase.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/node/base/NodeBase.java index 08df05d..08f340c 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/node/base/NodeBase.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/node/base/NodeBase.java @@ -164,7 +164,7 @@ public class NodeBase implements ChannelObserver { * @param action type of product operation to do * @param product product to proceed */ - public void doAction(ProductOperationType action, Product product) + public void doAction(ProductOperationType action, Product product) throws IllegalCallerException { if(action.getNode().equals(this.nodeType)) new Action(this, product, action); diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/scenario/DoActionStep.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/scenario/DoActionStep.java index 433376a..f934978 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/scenario/DoActionStep.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/scenario/DoActionStep.java @@ -22,11 +22,17 @@ public class DoActionStep extends ScenarioStep { @Override void execute() { - if (product != null){ - nodeBase.doAction(productOperationType, product); + //todo maybe do a better error handling + try { + if (product != null) { + nodeBase.doAction(productOperationType, product); + } + else { + nodeBase.doAction(productOperationType); + } } - else { - nodeBase.doAction(productOperationType); + catch (IllegalCallerException e) { + System.err.println(e.getMessage()); } } }