From fadc4732a97c01b045d65a786f3dc74a87c4889d Mon Sep 17 00:00:00 2001 From: Nikita Iryupin Date: Sun, 27 Dec 2020 19:01:40 +0100 Subject: [PATCH] [Draft] Work on visitors (need some renovation) --- conf/scenarios.xml | 1 - .../cvut/fel/sit/omo/foodchain/FoodChain.java | 5 ++++ .../sit/omo/foodchain/node/base/NodeBase.java | 4 +++ .../reporting/ReportTextVisitor.java | 29 ++++++++++--------- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/conf/scenarios.xml b/conf/scenarios.xml index d08dd00..6f78563 100644 --- a/conf/scenarios.xml +++ b/conf/scenarios.xml @@ -18,7 +18,6 @@ pass generate - pass sell FRUIT jablko diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/FoodChain.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/FoodChain.java index d5e7717..e69f752 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/FoodChain.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/FoodChain.java @@ -7,6 +7,7 @@ import cz.cvut.fel.sit.omo.foodchain.parser.ConfigurationParser; import cz.cvut.fel.sit.omo.foodchain.parser.ParserResult; import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement; import cz.cvut.fel.sit.omo.foodchain.product.Product; +import cz.cvut.fel.sit.omo.foodchain.reporting.ReportingManager; import cz.cvut.fel.sit.omo.foodchain.scenario.Scenario; import cz.cvut.fel.sit.omo.foodchain.util.Ticker; import org.xml.sax.SAXException; @@ -34,6 +35,10 @@ public class FoodChain Ticker.start(); while (Ticker.getTimer().isRunning()); + + ReportingManager reportingManager = new ReportingManager(); + + System.out.println(reportingManager.acceptAllObjects()); } public static FactoryManager getFactoryManager() 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 dd8fbca..59ceb27 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 @@ -205,6 +205,10 @@ public class NodeBase implements ChannelObserver { return money; } + public NodeType getNodeType() { + return nodeType; + } + public Map getSubscribedChannels() { return subscribedChannels; } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/reporting/ReportTextVisitor.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/reporting/ReportTextVisitor.java index 9cd0815..da76e51 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/reporting/ReportTextVisitor.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/reporting/ReportTextVisitor.java @@ -11,32 +11,33 @@ import cz.cvut.fel.sit.omo.foodchain.product.Product; public class ReportTextVisitor { private static final String ln = System.lineSeparator(); - public String visit(NodeBase node){ + public String visit(NodeBase node) { StringBuilder result = new StringBuilder(); - result.append("Node info: ").append(ln) - .append("Allowed seller: ").append(node.getAllowedSeller()).append(ln) - .append("Allowed purchaser: ").append(node.getAllowedPurchaser()).append(ln) - .append("Money: ").append(node.getMoney()).append(ln) - .append("Refused transactions: "); + result.append("Node type: ").append(node.getNodeType()).append(ln) + .append("Allowed seller: ").append(node.getAllowedSeller()).append(ln) + .append("Allowed purchaser: ").append(node.getAllowedPurchaser()).append(ln) + .append("Money: ").append(node.getMoney()).append(ln) + .append("Refused transactions: "); node.getRefusedTransactions().forEach(tr -> result.append(tr.accept(this))); + result.append(ln).append(ln); return result.toString(); } - public String visit(ChannelBase channel){ + public String visit(ChannelBase channel) { - return null; + return ""; } - public String visit(Product product){ - return null; + public String visit(Product product) { + return ""; } - public String visit(ProductTransaction transaction){ - return null; + public String visit(ProductTransaction transaction) { + return ""; } - public String visit(FinancialTransaction transaction){ - return null; + public String visit(FinancialTransaction transaction) { + return ""; } } \ No newline at end of file