diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 84b42f2..0040c85 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,55 +1,33 @@ -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileReader; import java.util.ArrayList; import java.util.List; import generators.ASTGenerator; import models.objectOrientedTransfer.*; -import parser.Parser; -import parser.Value; -import parser.exceptions.ExpectedArrayValue; -import parser.exceptions.ExpectedJsonValue; -import parser.exceptions.ExpectedStringValue; public class Main { public static void main(String[] args) { -// List srcEdges = new ArrayList<>(); -// List dstEdges = new ArrayList<>(); -// ObjectNode companies = new ObjectNode("Companies"); -// ObjectNode company = new ObjectNode("Company"); -// ObjectNode customers = new ObjectNode("Customers"); -// ObjectNode customer = new ObjectNode("Customer"); -// ObjectNode address = new ObjectNode("String"); -// ReferenceEdge srcEdge = new ReferenceEdge(companies, company, "company", "String"); -// srcEdges.add(srcEdge); -// ReferenceEdge dstEdge = new ReferenceEdge(customers, customer, "customer", "String"); -// dstEdges.add(dstEdge); -// List relations = new ArrayList<>(); + List srcEdges = new ArrayList<>(); + List dstEdges = new ArrayList<>(); + ObjectNode companies = new ObjectNode("Companies"); + ObjectNode company = new ObjectNode("Company"); + ObjectNode customers = new ObjectNode("Customers"); + ObjectNode customer = new ObjectNode("Customer"); + ObjectNode address = new ObjectNode("String"); + ReferenceEdge srcEdge = new ReferenceEdge(companies, company, "company", "String"); + srcEdges.add(srcEdge); + ReferenceEdge dstEdge = new ReferenceEdge(customers, customer, "customer", "String"); + dstEdges.add(dstEdge); + List relations = new ArrayList<>(); // Relation transferRelation = new Relation(company, customer, MultiplicityValue.OneToOne); -// DataTransferContext context = new DataTransferContext(relations, transferRelation, address, "address", PushPullValue.PULL); -// DataTransferDesign design; -// try { -// design = new DataTransferDesign(context); -// System.out.println(ASTGenerator.generate(design)); -// } catch (IllegalRelationException e) { -// e.printStackTrace(); -// } - File file = new File("models/CustomerManagement.Json"); + Relation transferRelation = new Relation(srcEdges, dstEdges, MultiplicityValue.OneToMany); + DataTransferContext context = new DataTransferContext(relations, transferRelation, address, "address", PushPullValue.PULL); + + DataTransferDesign design; try { - Parser parser = new Parser(new BufferedReader(new FileReader(file))); - Value jsonValue = parser.getValue(); - DataTransferContext context = new DataTransferContext(jsonValue); - DataTransferDesign design; - try { - design = new DataTransferDesign(context); - System.out.println(ASTGenerator.generate(design)); - } catch (IllegalRelationException e) { - e.printStackTrace(); - } - } catch (ExpectedArrayValue | ExpectedStringValue | ExpectedJsonValue | FileNotFoundException e) { + design = new DataTransferDesign(context); + System.out.println(ASTGenerator.generate(design)); + } catch (IllegalRelationException e) { e.printStackTrace(); } } diff --git a/src/test/java/parser/TestParser.java b/src/test/java/parser/TestParser.java new file mode 100644 index 0000000..c950e0c --- /dev/null +++ b/src/test/java/parser/TestParser.java @@ -0,0 +1,37 @@ +package parser; + +import generators.ASTGenerator; +import models.objectOrientedTransfer.DataTransferContext; +import models.objectOrientedTransfer.DataTransferDesign; +import models.objectOrientedTransfer.IllegalRelationException; +import org.junit.jupiter.api.Test; +import parser.exceptions.ExpectedArrayValue; +import parser.exceptions.ExpectedJsonValue; +import parser.exceptions.ExpectedStringValue; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; + +public class TestParser { + + @Test + void testCustomerManagement(){ + File file = new File("models/CustomerManagement.Json"); + try { + Parser parser = new Parser(new BufferedReader(new FileReader(file))); + Value jsonValue = parser.getValue(); + DataTransferContext context = new DataTransferContext(jsonValue); + DataTransferDesign design; + try { + design = new DataTransferDesign(context); + System.out.println(ASTGenerator.generate(design)); + } catch (IllegalRelationException e) { + e.printStackTrace(); + } + } catch (ExpectedArrayValue | ExpectedStringValue | ExpectedJsonValue | FileNotFoundException e) { + e.printStackTrace(); + } + } +}