Merge branch 'feature/factory_impl' into develop
This commit is contained in:
commit
3aaa5c72e6
@ -1,21 +1,19 @@
|
||||
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.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.TransactionType;
|
||||
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.ProductType;
|
||||
import cz.cvut.fel.sit.omo.foodchain.scenario.*;
|
||||
|
||||
import javax.money.Monetary;
|
||||
import javax.money.MonetaryAmount;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.LinkedList;
|
||||
import java.util.Objects;
|
||||
import java.util.List;
|
||||
|
||||
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);
|
||||
List<ScenarioStep> scenarioSteps = new LinkedList<>();
|
||||
ScenarioStep scenarioStep = null;
|
||||
for (String step : steps) {
|
||||
for (String step : steps)
|
||||
{
|
||||
String[] parts = step.strip().split(" ");
|
||||
switch (parts[0]) {
|
||||
switch (parts[0])
|
||||
{
|
||||
case "generate":
|
||||
scenarioStep = new GenerateProductStep((Farmer) node);
|
||||
break;
|
||||
@ -49,10 +49,12 @@ public class ScenarioFactory
|
||||
scenarioStep = new ConsumeProductStep((Customer) node);
|
||||
break;
|
||||
case "doaction":
|
||||
if (parts.length == 2) {
|
||||
if (parts.length == 2)
|
||||
{
|
||||
scenarioStep = new DoActionStep(node, ProductOperationType.valueOf(parts[1]));
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
Product p = FoodChain.getFactoryManager().getPoolDatabaseInstance().getProductPoolInstance().findAll().stream()
|
||||
.filter(pr -> pr.getName().equals(parts[2])).findFirst().orElse(null);
|
||||
scenarioStep = new DoActionStep(node, ProductOperationType.valueOf(parts[1]), p);
|
||||
@ -71,11 +73,11 @@ public class ScenarioFactory
|
||||
}
|
||||
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)
|
||||
{
|
||||
System.err.println("! Fatal error in ProductFactory: " + e);
|
||||
System.err.println("! Fatal error in ScenarioFactory: " + e);
|
||||
}
|
||||
|
||||
return s;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user