diff --git a/models/CustomerManagement.Json b/models/CustomerManagement.Json new file mode 100644 index 0000000..eb7377e --- /dev/null +++ b/models/CustomerManagement.Json @@ -0,0 +1,10 @@ +{ + "relations": [], + "transfer": { + "src": "Companies.{company}", + "dst": "customers.{customer}", + "data": {"type": "String", "name": "address"}, + "style": "PULL", + "multiplicity": "1:*" + } +} \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 70613b6..84b42f2 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -1,36 +1,57 @@ +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<>(); + 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<>(); // Relation transferRelation = new Relation(company, customer, MultiplicityValue.OneToOne); - Relation transferRelation = new Relation(srcEdges, dstEdges, MultiplicityValue.OneToMany); - 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(); - } - - } +// 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"); + 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(); + } + } }