diff --git a/models/designPattern/Chain-of-responsibility.Json b/models/designPattern/Chain-of-responsibility.Json index 28a66b5..78c4119 100644 --- a/models/designPattern/Chain-of-responsibility.Json +++ b/models/designPattern/Chain-of-responsibility.Json @@ -4,10 +4,9 @@ { "relations": [], "transfer": { - "src": "Main", - "dst": "Main.OrcKing.{ConcreteOrcRequestHandler}", + "src": "Main.Request", + "dst": "Main.{ConcreteOrcRequestHandler}.Request", "data": { - "type": "Request", "name": "request" }, "style": "PUSH", diff --git a/models/designPattern/Command2.Json b/models/designPattern/Command2.Json index 972e4ac..a4b5779 100644 --- a/models/designPattern/Command2.Json +++ b/models/designPattern/Command2.Json @@ -4,10 +4,9 @@ { "relations": [], "transfer": { - "src": "Main", - "dst": "Main.Wizard", + "src": "Main.Goblin", + "dst": "Main.Wizard.Goblin", "data": { - "type": "Goblin", "name": "goblin" }, "style": "PUSH", @@ -17,10 +16,9 @@ { "relations": [], "transfer": { - "src": "Main.Wizard", - "dst": "Main.Goblin", + "src": "Main.Data", + "dst": "Main.Wizard.Goblin.Data", "data": { - "type": "data", "name": "data" }, "style": "PUSH", diff --git a/models/designPattern/Observer.Json b/models/designPattern/Observer.Json index 769a19e..d439ae5 100644 --- a/models/designPattern/Observer.Json +++ b/models/designPattern/Observer.Json @@ -2,18 +2,11 @@ "name": "Observer", "contexts": [ { - "relations": [ - { - "src": "Main", - "dst": "Main.Weather.{ConcreteObserver}", - "multiplicity": "1:1" - } - ], + "relations": [], "transfer": { - "src": "Main.Weather", - "dst": "Main.Weather.{ConcreteObserver}", + "src": "Main.Data", + "dst": "Main.{ConcreteObserver}.Data", "data": { - "type": "Data", "name": "data" }, "style": "PUSH", @@ -23,14 +16,13 @@ { "relations": [], "transfer": { - "src": "Main", - "dst": "Main.Weather", + "src": "Main.ConcreteObserver", + "dst": "Main.Weather.{ConcreteObserver}", "data": { - "type": "ConcreteObserver", "name": "concreteObserver" }, "style": "PUSH", - "multiplicity": "1:*" + "multiplicity": "1:1" } } ] diff --git a/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java b/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java index 96e423c..0ae79f0 100644 --- a/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java +++ b/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java @@ -18,15 +18,15 @@ DataSynchronizationDesign design = ModelLoader.load("models/designPattern/Chain-of-responsibility.Json"); DataSynchronizationContext dtc = design.getSynchronizationContexts().getFirst(); ObjectNode main = dtc.getSrcTopObject(); - ObjectNode concreteOrcRequestHandler = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(1).getDestination(); + ObjectNode concreteOrcRequestHandler = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(0).getDestination(); //ObjectNode concreteOrcRequestHandler = (ObjectNode) dtc.getDstResource().getEdge(0).getDestination(); InterfaceNode requestHandler = new InterfaceNode(concreteOrcRequestHandler, "RequestHandler"); DependencyInversion di = new DependencyInversion(concreteOrcRequestHandler, requestHandler); design.addDependencyInversion(di); -// MediatorInsertion mi = new MediatorInsertion(main, concreteOrcRequestHandler, new ObjectNode("OrcKing"), PushPullValue.PUSH); -// design.addMediatorInsertion(mi); + MediatorInsertion mi = new MediatorInsertion(main, concreteOrcRequestHandler, new ObjectNode("OrcKing"), PushPullValue.PUSH); + design.addMediatorInsertion(mi); return design; } diff --git a/src/main/java/designPatternExtensions/designPattern/Command.java b/src/main/java/designPatternExtensions/designPattern/Command.java index 8882594..069a338 100644 --- a/src/main/java/designPatternExtensions/designPattern/Command.java +++ b/src/main/java/designPatternExtensions/designPattern/Command.java @@ -31,10 +31,11 @@ public DataSynchronizationDesign create() throws IllegalRelationException { DataSynchronizationDesign design = ModelLoader.load("models/designPattern/Command2.Json"); DataSynchronizationContext dtc = design.getSynchronizationContexts().getFirst(); - //ObjectNode main = dtc.getSrcFirstResource(); - ObjectNode goblin = dtc.getSrcObjectHierarchy().getBottom(); + ObjectNode main = dtc.getDstTopObject(); + ObjectNode wizard = (ObjectNode) dtc.getDstObjectHierarchy().getEdges().get(0).getDestination(); + ObjectNode goblin = dtc.getDstBottomObject(); -// MediatorInsertion mi = new MediatorInsertion(main, goblin, new ObjectNode("Wizard"), dtc.getTransferStyle(), false); +// MediatorInsertion mi = new MediatorInsertion(main, goblin, new ObjectNode("wizard"), dtc.getTransferStyle()); // design.addMediatorInsertion(mi); DependencyInversion di = new DependencyInversion(goblin, new InterfaceNode(goblin, "Target")); diff --git a/src/main/java/designPatternExtensions/designPattern/Observer.java b/src/main/java/designPatternExtensions/designPattern/Observer.java index 89d0c6d..c0fde19 100644 --- a/src/main/java/designPatternExtensions/designPattern/Observer.java +++ b/src/main/java/designPatternExtensions/designPattern/Observer.java @@ -1,6 +1,7 @@ package designPatternExtensions.designPattern; import designPatternExtensions.DependencyInversion; import designPatternExtensions.InterfaceNode; +import designPatternExtensions.MediatorInsertion; import designPatternExtensions.ModelLoader; import models.deltaAlgebra.MultiplicityValue; import models.deltaAlgebra.ObjectNode; @@ -17,7 +18,11 @@ public DataSynchronizationDesign create() throws IllegalRelationException { DataSynchronizationDesign design = ModelLoader.load("models/designPattern/"+this.getClass().getSimpleName()+".Json"); DataSynchronizationContext dtc = design.getSynchronizationContexts().getFirst(); - ObjectNode concreteObserver = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(1).getDestination(); + ObjectNode main = dtc.getDstTopObject(); + ObjectNode concreteObserver = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(0).getDestination(); + +// MediatorInsertion mi = new MediatorInsertion(main, concreteObserver, new ObjectNode("Weather"), dtc.getTransferStyle()); +// design.addMediatorInsertion(mi); DependencyInversion di1 = new DependencyInversion(concreteObserver, new InterfaceNode(concreteObserver, "WeatherObserver")); design.addDependencyInversion(di1);