Added small fixes in ScenarioFactory
This commit is contained in:
parent
cbfe3617f2
commit
6acad973fd
@ -1,21 +1,19 @@
|
|||||||
package cz.cvut.fel.sit.omo.foodchain.factory;
|
package cz.cvut.fel.sit.omo.foodchain.factory;
|
||||||
|
|
||||||
import cz.cvut.fel.sit.omo.foodchain.FoodChain;
|
import cz.cvut.fel.sit.omo.foodchain.FoodChain;
|
||||||
import cz.cvut.fel.sit.omo.foodchain.node.*;
|
import cz.cvut.fel.sit.omo.foodchain.node.Customer;
|
||||||
|
import cz.cvut.fel.sit.omo.foodchain.node.Farmer;
|
||||||
|
import cz.cvut.fel.sit.omo.foodchain.node.NodeBase;
|
||||||
import cz.cvut.fel.sit.omo.foodchain.operation.ProductOperationType;
|
import cz.cvut.fel.sit.omo.foodchain.operation.ProductOperationType;
|
||||||
import cz.cvut.fel.sit.omo.foodchain.operation.TransactionType;
|
import cz.cvut.fel.sit.omo.foodchain.operation.TransactionType;
|
||||||
import cz.cvut.fel.sit.omo.foodchain.parser.ParserResultElement;
|
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.product.Product;
|
import cz.cvut.fel.sit.omo.foodchain.product.Product;
|
||||||
import cz.cvut.fel.sit.omo.foodchain.product.ProductType;
|
import cz.cvut.fel.sit.omo.foodchain.product.ProductType;
|
||||||
import cz.cvut.fel.sit.omo.foodchain.scenario.*;
|
import cz.cvut.fel.sit.omo.foodchain.scenario.*;
|
||||||
|
|
||||||
import javax.money.Monetary;
|
|
||||||
import javax.money.MonetaryAmount;
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.Objects;
|
import java.util.List;
|
||||||
|
|
||||||
public class ScenarioFactory
|
public class ScenarioFactory
|
||||||
{
|
{
|
||||||
@ -39,9 +37,11 @@ public class ScenarioFactory
|
|||||||
String[] steps = Arrays.stream(input.getChild("steps").split("\n")).filter(st -> !st.strip().equals("")).toArray(String[]::new);
|
String[] steps = Arrays.stream(input.getChild("steps").split("\n")).filter(st -> !st.strip().equals("")).toArray(String[]::new);
|
||||||
List<ScenarioStep> scenarioSteps = new LinkedList<>();
|
List<ScenarioStep> scenarioSteps = new LinkedList<>();
|
||||||
ScenarioStep scenarioStep = null;
|
ScenarioStep scenarioStep = null;
|
||||||
for (String step : steps) {
|
for (String step : steps)
|
||||||
|
{
|
||||||
String[] parts = step.strip().split(" ");
|
String[] parts = step.strip().split(" ");
|
||||||
switch (parts[0]) {
|
switch (parts[0])
|
||||||
|
{
|
||||||
case "generate":
|
case "generate":
|
||||||
scenarioStep = new GenerateProductStep((Farmer) node);
|
scenarioStep = new GenerateProductStep((Farmer) node);
|
||||||
break;
|
break;
|
||||||
@ -49,10 +49,12 @@ public class ScenarioFactory
|
|||||||
scenarioStep = new ConsumeProductStep((Customer) node);
|
scenarioStep = new ConsumeProductStep((Customer) node);
|
||||||
break;
|
break;
|
||||||
case "doaction":
|
case "doaction":
|
||||||
if (parts.length == 2) {
|
if (parts.length == 2)
|
||||||
|
{
|
||||||
scenarioStep = new DoActionStep(node, ProductOperationType.valueOf(parts[1]));
|
scenarioStep = new DoActionStep(node, ProductOperationType.valueOf(parts[1]));
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
Product p = FoodChain.getFactoryManager().getPoolDatabaseInstance().getProductPoolInstance().findAll().stream()
|
Product p = FoodChain.getFactoryManager().getPoolDatabaseInstance().getProductPoolInstance().findAll().stream()
|
||||||
.filter(pr -> pr.getName().equals(parts[2])).findFirst().orElse(null);
|
.filter(pr -> pr.getName().equals(parts[2])).findFirst().orElse(null);
|
||||||
scenarioStep = new DoActionStep(node, ProductOperationType.valueOf(parts[1]), p);
|
scenarioStep = new DoActionStep(node, ProductOperationType.valueOf(parts[1]), p);
|
||||||
@ -68,11 +70,11 @@ public class ScenarioFactory
|
|||||||
}
|
}
|
||||||
catch (IllegalArgumentException e)
|
catch (IllegalArgumentException e)
|
||||||
{
|
{
|
||||||
System.err.println("! Wrong type of enum in ProductFactory: " + e);
|
System.err.println("! Wrong type of enum in ScenarioFactory: " + e);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
System.err.println("! Fatal error in ProductFactory: " + e);
|
System.err.println("! Fatal error in ScenarioFactory: " + e);
|
||||||
}
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user