From 4193fdade4a8e92e046faff3b8c10698f5bd2513 Mon Sep 17 00:00:00 2001 From: Nikita Iryupin Date: Tue, 22 Dec 2020 19:57:22 +0100 Subject: [PATCH 1/7] Initialize branch --- .../cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java index f957a3f..755418c 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java @@ -6,7 +6,7 @@ import cz.cvut.fel.sit.omo.foodchain.util.Singleton; import java.lang.reflect.InvocationTargetException; public class FactoryManager { - + //todo public NodeFactory getNodeFactoryInstance() { try { return Singleton.getInstance(NodeFactory.class); From 43eb9a24644cc87178749ec4c871a14409b7250d Mon Sep 17 00:00:00 2001 From: Daniel Poustka Date: Fri, 25 Dec 2020 15:53:17 +0100 Subject: [PATCH 2/7] Added nothing in fact... --- .../omo/foodchain/factory/ChannelFactory.java | 26 ++++++++- .../omo/foodchain/factory/FactoryManager.java | 54 +++++++++++++------ .../omo/foodchain/factory/NodeFactory.java | 4 +- .../omo/foodchain/factory/ProductFactory.java | 10 +++- .../foodchain/factory/ScenarioFactory.java | 3 +- 5 files changed, 76 insertions(+), 21 deletions(-) diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java index bdf9c73..4e4d700 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java @@ -1,4 +1,28 @@ package cz.cvut.fel.sit.omo.foodchain.factory; -public class ChannelFactory { + +import cz.cvut.fel.sit.omo.foodchain.channel.*; + +public class ChannelFactory +{ + public enum ChannelType + { + Fruit, Vegetable, Meat, Other; + } + + public ChannelBase makeChannel(ChannelType typeOfChannel) + { + switch (typeOfChannel) + { + case Fruit: + return new FruitChannel(); + case Vegetable: + return new VegetableChannel(); + case Meat: + return new MeatChannel(); + case Other: + return new OtherChannel(); + } + return null; + } } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java index 755418c..ef15aab 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/FactoryManager.java @@ -5,48 +5,68 @@ import cz.cvut.fel.sit.omo.foodchain.util.Singleton; import java.lang.reflect.InvocationTargetException; -public class FactoryManager { - //todo - public NodeFactory getNodeFactoryInstance() { - try { +public class FactoryManager +{ + public NodeFactory getNodeFactoryInstance() + { + try + { return Singleton.getInstance(NodeFactory.class); - } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { + } + catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) + { e.printStackTrace(); } return null; } - public ChannelFactory getChannelFactoryInstance() { - try { + public ChannelFactory getChannelFactoryInstance() + { + try + { return Singleton.getInstance(ChannelFactory.class); - } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { + } + catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) + { e.printStackTrace(); } return null; } - public ScenarioFactory getScenarioFactoryInstance() { - try { + public ScenarioFactory getScenarioFactoryInstance() + { + try + { return Singleton.getInstance(ScenarioFactory.class); - } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { + } + catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) + { e.printStackTrace(); } return null; } - public ProductFactory getProductFactoryInstance() { - try { + public ProductFactory getProductFactoryInstance() + { + try + { return Singleton.getInstance(ProductFactory.class); - } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { + } + catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) + { e.printStackTrace(); } return null; } - public PoolDatabase getPoolDatabaseInstance() { - try { + public PoolDatabase getPoolDatabaseInstance() + { + try + { return Singleton.getInstance(PoolDatabase.class); - } catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) { + } + catch (IllegalAccessException | InstantiationException | NoSuchMethodException | InvocationTargetException e) + { e.printStackTrace(); } return null; diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java index 0e9286b..b02fade 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java @@ -1,4 +1,6 @@ package cz.cvut.fel.sit.omo.foodchain.factory; -public class NodeFactory { +public class NodeFactory +{ + //make } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java index c2c7a8e..eaa3822 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java @@ -1,4 +1,12 @@ package cz.cvut.fel.sit.omo.foodchain.factory; -public class ProductFactory { +import cz.cvut.fel.sit.omo.foodchain.product.Product; +import cz.cvut.fel.sit.omo.foodchain.product.ProductType; + +public class ProductFactory +{ + public Product makeProduct(String name, ProductType productType) + { + return new Product(name, productType); + } } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java index 1a04f18..c92ad3f 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java @@ -1,4 +1,5 @@ package cz.cvut.fel.sit.omo.foodchain.factory; -public class ScenarioFactory { +public class ScenarioFactory +{ } From bce2b74ef2ace5f27f47cb6dc3765231878621e1 Mon Sep 17 00:00:00 2001 From: Daniel Poustka Date: Fri, 25 Dec 2020 16:33:25 +0100 Subject: [PATCH 3/7] Added ChannelFactory and ProductFactory make methods --- .../omo/foodchain/factory/ChannelFactory.java | 30 +++++++++++++++++-- .../omo/foodchain/factory/ProductFactory.java | 29 ++++++++++++++++-- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java index 4e4d700..b878d65 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java @@ -2,15 +2,41 @@ package cz.cvut.fel.sit.omo.foodchain.factory; import cz.cvut.fel.sit.omo.foodchain.channel.*; +import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement; public class ChannelFactory { - public enum ChannelType + private enum ChannelType { Fruit, Vegetable, Meat, Other; } - public ChannelBase makeChannel(ChannelType typeOfChannel) + /** + * Creates channel based on channel type (Fruit, Vegetable, Meat, Other) + * @param input data from channel is created + * @return created Channel (FruitChannel, VegetableChannel, MeatChannel, OtherChannel) + */ + public ChannelBase makeChannel(ParserResultElement input) + { + ChannelBase c = null; + try + { + ChannelType channelType = ChannelType.valueOf(input.getAttribute("channel_type")); + c = makeChannelFromChannelType(channelType); + + } + catch (IllegalArgumentException e) + { + System.err.println("! Wrong type of enum in ChannelFactory: " + e); + } + catch (Exception e) + { + System.err.println("! Fatal error in ChannelFactory: " + e); + } + return c; + } + + private ChannelBase makeChannelFromChannelType(ChannelType typeOfChannel) { switch (typeOfChannel) { diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java index eaa3822..f15564e 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java @@ -1,12 +1,37 @@ package cz.cvut.fel.sit.omo.foodchain.factory; +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.product.ProductState; import cz.cvut.fel.sit.omo.foodchain.product.ProductType; + public class ProductFactory { - public Product makeProduct(String name, ProductType productType) + /** + * Creates Product based on input ParserResultElement + * @param input data from Product is created + * @return created Product + */ + public Product makeProduct(ParserResultElement input) { - return new Product(name, productType); + Product p = null; + try + { + String name = input.getAttribute("name"); + ProductType productType = ProductType.valueOf(input.getAttribute("product_type")); + ProductState productState = ProductState.valueOf(input.getAttribute("product_state")); + + p = new Product(name, productType, productState); + } + catch (IllegalArgumentException e) + { + System.err.println("! Wrong type of enum in ProductFactory: " + e); + } + catch (Exception e) + { + System.err.println("! Fatal error in ProductFactory: " + e); + } + return p; } } From 71ef11f7e229344a4aaa3dfaddb9a53003888ef2 Mon Sep 17 00:00:00 2001 From: Daniel Poustka Date: Fri, 25 Dec 2020 17:21:42 +0100 Subject: [PATCH 4/7] Added NodeFactory --- .../omo/foodchain/factory/ChannelFactory.java | 18 ++--- .../omo/foodchain/factory/NodeFactory.java | 74 ++++++++++++++++++- .../foodchain/factory/ScenarioFactory.java | 22 ++++++ 3 files changed, 102 insertions(+), 12 deletions(-) diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java index b878d65..6e456bb 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java @@ -3,14 +3,10 @@ package cz.cvut.fel.sit.omo.foodchain.factory; import cz.cvut.fel.sit.omo.foodchain.channel.*; import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement; +import cz.cvut.fel.sit.omo.foodchain.product.ProductType; public class ChannelFactory { - private enum ChannelType - { - Fruit, Vegetable, Meat, Other; - } - /** * Creates channel based on channel type (Fruit, Vegetable, Meat, Other) * @param input data from channel is created @@ -21,7 +17,7 @@ public class ChannelFactory ChannelBase c = null; try { - ChannelType channelType = ChannelType.valueOf(input.getAttribute("channel_type")); + ProductType channelType = ProductType.valueOf(input.getAttribute("channel_type")); c = makeChannelFromChannelType(channelType); } @@ -36,17 +32,17 @@ public class ChannelFactory return c; } - private ChannelBase makeChannelFromChannelType(ChannelType typeOfChannel) + private ChannelBase makeChannelFromChannelType(ProductType typeOfChannel) { switch (typeOfChannel) { - case Fruit: + case FRUIT: return new FruitChannel(); - case Vegetable: + case VEGETABLE: return new VegetableChannel(); - case Meat: + case MEAT: return new MeatChannel(); - case Other: + case OTHER: return new OtherChannel(); } return null; diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java index b02fade..c318975 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java @@ -1,6 +1,78 @@ package cz.cvut.fel.sit.omo.foodchain.factory; +import cz.cvut.fel.sit.omo.foodchain.FoodChain; +import cz.cvut.fel.sit.omo.foodchain.node.*; +import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement; +import cz.cvut.fel.sit.omo.foodchain.pool.ChannelPool; + +import javax.money.Monetary; +import javax.money.MonetaryAmount; +import java.util.Objects; + public class NodeFactory { - //make + + private enum NodeType + { + Farmer, Processor, Distributor, Seller, Customer; + } + + /** + * Creates Node based on input ParserResultElement + * @param input data from Node is created + * @return created Node + */ + public NodeBase makeNode(ParserResultElement input) + { + NodeBase n = null; + NodeType nodeType = null; + String subsChannels = ""; + MonetaryAmount startMoney = null; + try + { + nodeType = NodeType.valueOf(input.getAttribute("node_type")); + subsChannels = input.getAttribute("subscribed_channels"); + double money = Double.parseDouble(input.getAttribute("money")); + startMoney = Monetary.getDefaultAmountFactory().setCurrency("USD").setNumber(money).create(); + + } + catch (IllegalArgumentException e) + { + System.err.println("! Wrong type of enum in NodeFactory: " + e); + } + catch (Exception e) + { + System.err.println("! Fatal error in NodeFactory: " + e); + } + + switch (Objects.requireNonNull(nodeType)) + { + case Farmer: + n = new Farmer(); + break; + case Processor: + n = new Processor(); + break; + case Distributor: + n = new Distributor(); + break; + case Seller: + n = new Seller(); + break; + case Customer: + n = new Customer(); + break; + } + + String[] subs = subsChannels.split(";"); + //todo Node subscription to channels by parser data + + for (String s : subs) + { + ChannelPool temp = FoodChain.getFactoryManager().getPoolDatabaseInstance().getChannelPoolInstance(); + n.subscribeToChannel(temp.findByName(s)); + } + + return n; + } } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java index c92ad3f..7dcb2a1 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ScenarioFactory.java @@ -1,5 +1,27 @@ package cz.cvut.fel.sit.omo.foodchain.factory; +import cz.cvut.fel.sit.omo.foodchain.FoodChain; +import cz.cvut.fel.sit.omo.foodchain.node.*; +import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement; +import cz.cvut.fel.sit.omo.foodchain.pool.ChannelPool; +import cz.cvut.fel.sit.omo.foodchain.scenario.Scenario; + +import javax.money.Monetary; +import javax.money.MonetaryAmount; +import java.util.Objects; + public class ScenarioFactory { + /** + * Creates Scenario based on input ParserResultElement + * @param input data from Scenario is created + * @return created Scenario + */ + public Scenario makeScenario(ParserResultElement input) + { + Scenario s = null; + + + return s; + } } From 7a92d623ac8c17d4ea060738654827fd6f2471cb Mon Sep 17 00:00:00 2001 From: Daniel Poustka Date: Fri, 25 Dec 2020 17:46:55 +0100 Subject: [PATCH 5/7] Added config parse of channels to the FoodChain Fixed stuff in factories --- .../cvut/fel/sit/omo/foodchain/FoodChain.java | 45 +++++++++++++++++-- .../omo/foodchain/factory/ChannelFactory.java | 2 +- .../omo/foodchain/factory/NodeFactory.java | 26 +++++------ .../omo/foodchain/factory/ProductFactory.java | 4 +- 4 files changed, 57 insertions(+), 20 deletions(-) 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 7da3e5d..74e68b5 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 @@ -1,16 +1,55 @@ package cz.cvut.fel.sit.omo.foodchain; +import cz.cvut.fel.sit.omo.foodchain.channel.ChannelBase; +import cz.cvut.fel.sit.omo.foodchain.factory.ChannelFactory; import cz.cvut.fel.sit.omo.foodchain.factory.FactoryManager; +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 org.xml.sax.SAXException; -public class FoodChain { +import javax.xml.parsers.ParserConfigurationException; +import java.io.IOException; +import java.util.List; + +public class FoodChain +{ private static FactoryManager factoryManager; - public static void main(String[] args) { + public static void main(String[] args) + { + //todo static factories??? + ChannelFactory channelFactory = new ChannelFactory(); + + try + { + // parse channel configuration + ConfigurationParser.parseDocument("channels"); + ParserResult parserResult = ConfigurationParser.getElements("channels"); + //todo need getter for elemtens... + List elements = parserResult.getElements(); + for (ParserResultElement el : elements) + { + ChannelBase c = getFactoryManager().getChannelFactoryInstance().makeChannel(el); + getFactoryManager().getPoolDatabaseInstance().getChannelPoolInstance().add(c); + } + + } + catch (ParserConfigurationException | SAXException | IOException e) + { + System.err.println(e.getMessage()); + } + catch (Exception e) + { + System.err.println(e.getMessage()); + } + } - public static FactoryManager getFactoryManager() { + public static FactoryManager getFactoryManager() + { return factoryManager; } } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java index 6e456bb..7523c00 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ChannelFactory.java @@ -17,7 +17,7 @@ public class ChannelFactory ChannelBase c = null; try { - ProductType channelType = ProductType.valueOf(input.getAttribute("channel_type")); + ProductType channelType = ProductType.valueOf(input.getAttribute("type")); c = makeChannelFromChannelType(channelType); } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java index c318975..e113986 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/NodeFactory.java @@ -5,8 +5,6 @@ import cz.cvut.fel.sit.omo.foodchain.node.*; import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement; import cz.cvut.fel.sit.omo.foodchain.pool.ChannelPool; -import javax.money.Monetary; -import javax.money.MonetaryAmount; import java.util.Objects; public class NodeFactory @@ -27,40 +25,40 @@ public class NodeFactory NodeBase n = null; NodeType nodeType = null; String subsChannels = ""; - MonetaryAmount startMoney = null; + int startMoney = 0; + try { - nodeType = NodeType.valueOf(input.getAttribute("node_type")); - subsChannels = input.getAttribute("subscribed_channels"); - double money = Double.parseDouble(input.getAttribute("money")); - startMoney = Monetary.getDefaultAmountFactory().setCurrency("USD").setNumber(money).create(); + nodeType = NodeType.valueOf(input.getAttribute("type")); + subsChannels = input.getChild("subscribed_channels"); + startMoney = Integer.getInteger(input.getChild("money")); } catch (IllegalArgumentException e) { - System.err.println("! Wrong type of enum in NodeFactory: " + e); + System.err.println("! Wrong type of enum in NodeFactory: " + e.getMessage()); } catch (Exception e) { - System.err.println("! Fatal error in NodeFactory: " + e); + System.err.println("! Fatal error in NodeFactory: " + e.getMessage()); } switch (Objects.requireNonNull(nodeType)) { case Farmer: - n = new Farmer(); + n = new Farmer(startMoney); break; case Processor: - n = new Processor(); + n = new Processor(startMoney); break; case Distributor: - n = new Distributor(); + n = new Distributor(startMoney); break; case Seller: - n = new Seller(); + n = new Seller(startMoney); break; case Customer: - n = new Customer(); + n = new Customer(startMoney); break; } diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java index f15564e..9eee034 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java @@ -19,8 +19,8 @@ public class ProductFactory try { String name = input.getAttribute("name"); - ProductType productType = ProductType.valueOf(input.getAttribute("product_type")); - ProductState productState = ProductState.valueOf(input.getAttribute("product_state")); + ProductType productType = ProductType.valueOf(input.getChild("type")); + ProductState productState = ProductState.valueOf(input.getChild("state")); p = new Product(name, productType, productState); } From 76ca92e6762b025761050ac936b6d7d8c9c86a99 Mon Sep 17 00:00:00 2001 From: Daniel Poustka Date: Fri, 25 Dec 2020 17:48:46 +0100 Subject: [PATCH 6/7] Removed stuff --- src/main/java/cz/cvut/fel/sit/omo/foodchain/FoodChain.java | 3 --- 1 file changed, 3 deletions(-) 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 74e68b5..1896695 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 @@ -19,9 +19,6 @@ public class FoodChain public static void main(String[] args) { - //todo static factories??? - ChannelFactory channelFactory = new ChannelFactory(); - try { // parse channel configuration From 8aa2c490c1bf1ca1724a3adf5a9174011b826a19 Mon Sep 17 00:00:00 2001 From: Daniel Poustka Date: Fri, 25 Dec 2020 18:45:57 +0100 Subject: [PATCH 7/7] Fixed Product constructor usage --- .../cvut/fel/sit/omo/foodchain/factory/ProductFactory.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java index 9eee034..4dcbfce 100644 --- a/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java +++ b/src/main/java/cz/cvut/fel/sit/omo/foodchain/factory/ProductFactory.java @@ -20,9 +20,11 @@ public class ProductFactory { String name = input.getAttribute("name"); ProductType productType = ProductType.valueOf(input.getChild("type")); - ProductState productState = ProductState.valueOf(input.getChild("state")); + //ProductState productState = ProductState.valueOf(input.getChild("state")); + int price = Integer.getInteger(input.getChild("price")); - p = new Product(name, productType, productState); + //p = new Product(name, price, productType, productState); + p = new Product(name, productType, price); } catch (IllegalArgumentException e) {