diff --git a/src/main/java/designPatternExtensions/DependencyInversion.java b/src/main/java/designPatternExtensions/DependencyInversion.java index 32a397b..0a54c13 100644 --- a/src/main/java/designPatternExtensions/DependencyInversion.java +++ b/src/main/java/designPatternExtensions/DependencyInversion.java @@ -12,6 +12,7 @@ this.dst = dst; this.interfaceNode = interfaceNode; this.targetSrc = null; + interfaceNode.setImplementSideNode(dst); } // Reverse the dependency for a single ObjectNode @@ -19,6 +20,7 @@ this.dst = dst; this.interfaceNode = interfaceNode; this.targetSrc = targetSrc; + interfaceNode.setImplementSideNode(dst); } public ObjectNode getDst() { diff --git a/src/main/java/designPatternExtensions/InterfaceNode.java b/src/main/java/designPatternExtensions/InterfaceNode.java index 397d69a..224fe56 100644 --- a/src/main/java/designPatternExtensions/InterfaceNode.java +++ b/src/main/java/designPatternExtensions/InterfaceNode.java @@ -6,33 +6,18 @@ import java.util.Set; public class InterfaceNode extends ObjectNode { - private Set dependencySideNodes = new HashSet<>(); private ObjectNode implementSideNode = null; - public InterfaceNode(ObjectNode implementSideNode, String name) { + public InterfaceNode(String name) { super(name); - this.implementSideNode = implementSideNode; - } - - public InterfaceNode(ObjectNode dependencySideNode, ObjectNode implementSideNode, String name) { - super(name); - this.dependencySideNodes.add(dependencySideNode); - this.implementSideNode = implementSideNode; - } - - public Set getDependencySideNodes() { - return dependencySideNodes; - } - - public void addDependencySideNode(ObjectNode node) { - dependencySideNodes.add(node); } public ObjectNode getImplementSideNode() { return implementSideNode; } - public void setImplementSideNode(ObjectNode implementSideNode) { + void setImplementSideNode(ObjectNode implementSideNode) { this.implementSideNode = implementSideNode; } + } \ No newline at end of file diff --git a/src/main/java/designPatternExtensions/designPattern/AbstractFactory.java b/src/main/java/designPatternExtensions/designPattern/AbstractFactory.java index 2dc4349..b348953 100644 --- a/src/main/java/designPatternExtensions/designPattern/AbstractFactory.java +++ b/src/main/java/designPatternExtensions/designPattern/AbstractFactory.java @@ -16,18 +16,6 @@ ObjectNode concreteCastle = dtc.getSrcTopObject(); ObjectNode app = dtc.getDstTopObject(); -// ObjectNode concreteKingdomFactory = new ObjectNode("ConcreteKingdomFactory"); -// MediatorInsertion mi = new MediatorInsertion(app, concreteCastle, concreteKingdomFactory, dtc); -// design.addMediatorInsertion(mi); -// -// DependencyInversion di1 = new DependencyInversion( -// concreteKingdomFactory, new InterfaceNode(concreteKingdomFactory, "KingdomFactory")); -// design.addDependencyInversion(di1); -// -// DependencyInversion di2 = new DependencyInversion( -// concreteCastle, new InterfaceNode(concreteCastle, "Castle")); -// design.addDependencyInversion(di2); - return design; } } \ No newline at end of file diff --git a/src/main/java/designPatternExtensions/designPattern/Adapter.java b/src/main/java/designPatternExtensions/designPattern/Adapter.java index ed96ad5..626bb83 100644 --- a/src/main/java/designPatternExtensions/designPattern/Adapter.java +++ b/src/main/java/designPatternExtensions/designPattern/Adapter.java @@ -17,7 +17,7 @@ design.addMediatorInsertion(mi); DependencyInversion di = new DependencyInversion( - adapter, new InterfaceNode(adapter, "RowingBoat")); + adapter, new InterfaceNode("RowingBoat")); design.addDependencyInversion(di); return design; diff --git a/src/main/java/designPatternExtensions/designPattern/Bridge.java b/src/main/java/designPatternExtensions/designPattern/Bridge.java index b653766..08369c0 100644 --- a/src/main/java/designPatternExtensions/designPattern/Bridge.java +++ b/src/main/java/designPatternExtensions/designPattern/Bridge.java @@ -16,10 +16,10 @@ ObjectNode concreteEnchant = (ObjectNode) design.getSynchronizationContexts().getFirst().getSrcObjectHierarchy().getEdge(0).getDestination(); ObjectNode concreteWeapon = (ObjectNode) design.getSynchronizationContexts().getFirst().getDstObjectHierarchy().getEdge(0).getDestination(); - DependencyInversion di1 = new DependencyInversion(concreteWeapon, new InterfaceNode(concreteWeapon, "Weapon")); + DependencyInversion di1 = new DependencyInversion(concreteWeapon, new InterfaceNode("Weapon")); design.addDependencyInversion(di1); - DependencyInversion di2 = new DependencyInversion(concreteEnchant, new InterfaceNode(concreteEnchant, "Enchantment")); + DependencyInversion di2 = new DependencyInversion(concreteEnchant, new InterfaceNode( "Enchantment")); design.addDependencyInversion(di2); return design; diff --git a/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java b/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java index d3ade28..1d11d4e 100644 --- a/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java +++ b/src/main/java/designPatternExtensions/designPattern/Chain_of_Responsibility.java @@ -19,8 +19,7 @@ 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); + DependencyInversion di = new DependencyInversion(concreteOrcRequestHandler, new InterfaceNode("RequestHandler")); design.addDependencyInversion(di); MediatorInsertion mi = new MediatorInsertion(main, concreteOrcRequestHandler, new ObjectNode("OrcKing"), TransferStyle.PUSH); diff --git a/src/main/java/designPatternExtensions/designPattern/Command.java b/src/main/java/designPatternExtensions/designPattern/Command.java index 069a338..2f819aa 100644 --- a/src/main/java/designPatternExtensions/designPattern/Command.java +++ b/src/main/java/designPatternExtensions/designPattern/Command.java @@ -11,21 +11,6 @@ //Stackで状態を元に戻したり、やり直したりする //Mainで制御の移譲を行う必要あり? -//public class Command implements DesignPattern { -// -// public DataTransferDesign create() throws IllegalRelationException { -// DataTransferDesign design = ModelLoader.load("models/designPattern/Command2.Json"); -// DataTransferContext dtc = design.getTransferContexts().getFirst(); -// ObjectNode wizard = dtc.getSrcFirstResource(); -// ObjectNode goblin = (ObjectNode) dtc.getDstResource().getEdges().get(0).getDestination(); -// -// DependencyInversion di = new DependencyInversion(goblin, new InterfaceNode(goblin, "Target")); -// design.addDependencyInversion(di); -// -// return design; -// } -//} - public class Command implements DesignPattern { public DataSynchronizationDesign create() throws IllegalRelationException { @@ -35,32 +20,9 @@ ObjectNode wizard = (ObjectNode) dtc.getDstObjectHierarchy().getEdges().get(0).getDestination(); ObjectNode goblin = dtc.getDstBottomObject(); -// MediatorInsertion mi = new MediatorInsertion(main, goblin, new ObjectNode("wizard"), dtc.getTransferStyle()); -// design.addMediatorInsertion(mi); - - DependencyInversion di = new DependencyInversion(goblin, new InterfaceNode(goblin, "Target")); + DependencyInversion di = new DependencyInversion(goblin, new InterfaceNode("Target")); design.addDependencyInversion(di); return design; } - } - -//public class Command implements DesignPattern { -// -// public DataTransferDesign create() throws IllegalRelationException { -// DataTransferDesign design = ModelLoader.load2("models/designPattern/"+this.getClass().getSimpleName()+".Json"); -// DataTransferContext dtc = design.getTransferContexts().getFirst(); -// ObjectNode main = dtc.getSrcFirstResource(); -// ObjectNode wizard = (ObjectNode) dtc.getDstResource().getEdges().get(0).getDestination(); -// ObjectNode goblin = dtc.getDataType(); -// -//// ObjectNode wizard = new ObjectNode("Wizard"); -//// MediatorInsertion mi = new MediatorInsertion(main, goblin, wizard, dtc.getTransferStyle()); -//// design.addMediatorInsertion(mi); -// -// DependencyInversion di = new DependencyInversion(goblin, new InterfaceNode(goblin, "Target")); -// design.addDependencyInversion(di); -// -// return design; -// } -//} \ No newline at end of file + } \ No newline at end of file diff --git a/src/main/java/designPatternExtensions/designPattern/Composite.java b/src/main/java/designPatternExtensions/designPattern/Composite.java index abe40bb..3cce7af 100644 --- a/src/main/java/designPatternExtensions/designPattern/Composite.java +++ b/src/main/java/designPatternExtensions/designPattern/Composite.java @@ -19,7 +19,7 @@ ObjectNode letter = dtc3.getSrcTopObject(); ObjectNode word = dtc3.getDstTopObject(); - InterfaceNode LetterComposite = new InterfaceNode(sentence, "LetterComposite"); + InterfaceNode LetterComposite = new InterfaceNode("LetterComposite"); DependencyInversion di = new DependencyInversion(sentence, LetterComposite, main); design.addDependencyInversion(di); diff --git a/src/main/java/designPatternExtensions/designPattern/Decorator.java b/src/main/java/designPatternExtensions/designPattern/Decorator.java index 25cb064..655e77b 100644 --- a/src/main/java/designPatternExtensions/designPattern/Decorator.java +++ b/src/main/java/designPatternExtensions/designPattern/Decorator.java @@ -8,10 +8,6 @@ import designPatternExtensions.ModelLoader; //https://github.com/iluwatar/java-design-patterns/tree/master/decorator -//SimpleTrollを用いてClubbedTrollを作成しないとDecoratorとは言えない? -//仲介者オブジェクトM A->M->B M作成時にに、MにBを参照先を引数とするコンストラクタをつける -// public ClubbedTroll(SimpleTroll simpleTroll) { -// this.simpleTroll = simpleTroll; } public class Decorator implements DesignPattern { public DataSynchronizationDesign create() throws IllegalRelationException { @@ -24,7 +20,7 @@ MediatorInsertion mi = new MediatorInsertion(simpleTroll, client, clubbedTroll, dtc); design.addMediatorInsertion(mi); - InterfaceNode troll = new InterfaceNode(clubbedTroll, "Troll"); + InterfaceNode troll = new InterfaceNode("Troll"); DependencyInversion di1 = new DependencyInversion(clubbedTroll, troll); design.addDependencyInversion(di1); diff --git a/src/main/java/designPatternExtensions/designPattern/Facade.java b/src/main/java/designPatternExtensions/designPattern/Facade.java index 0562122..b446b22 100644 --- a/src/main/java/designPatternExtensions/designPattern/Facade.java +++ b/src/main/java/designPatternExtensions/designPattern/Facade.java @@ -22,7 +22,7 @@ MediatorInsertion mi = new MediatorInsertion(main, concreteDwarvenDigger, facade, dtc.getTransferStyle()); design.addMediatorInsertion(mi); - DependencyInversion di = new DependencyInversion(concreteDwarvenDigger, new InterfaceNode(concreteDwarvenDigger, "DwarvenMineWorker")); + DependencyInversion di = new DependencyInversion(concreteDwarvenDigger, new InterfaceNode("DwarvenMineWorker")); design.addDependencyInversion(di); return design; diff --git a/src/main/java/designPatternExtensions/designPattern/Factory_method.java b/src/main/java/designPatternExtensions/designPattern/Factory_method.java index 46eacf4..3123901 100644 --- a/src/main/java/designPatternExtensions/designPattern/Factory_method.java +++ b/src/main/java/designPatternExtensions/designPattern/Factory_method.java @@ -16,7 +16,7 @@ ObjectNode concreteBlacksmith = (ObjectNode) dtc.getSrcObjectHierarchy().getEdge(0).getDestination(); ObjectNode main = dtc.getDstTopObject(); - InterfaceNode blackSmith = new InterfaceNode(concreteBlacksmith, "Blacksmith"); + InterfaceNode blackSmith = new InterfaceNode("Blacksmith"); DependencyInversion di = new DependencyInversion(concreteBlacksmith, blackSmith); design.addDependencyInversion(di); diff --git a/src/main/java/designPatternExtensions/designPattern/Flyweight.java b/src/main/java/designPatternExtensions/designPattern/Flyweight.java index f098c92..8f3be58 100644 --- a/src/main/java/designPatternExtensions/designPattern/Flyweight.java +++ b/src/main/java/designPatternExtensions/designPattern/Flyweight.java @@ -15,29 +15,7 @@ public DataSynchronizationDesign create() throws IllegalRelationException { DataSynchronizationDesign design = ModelLoader.load("models/designPattern/"+this.getClass().getSimpleName()+".Json"); DataSynchronizationContext dtc = design.getSynchronizationContexts().getLast(); -// ObjectNode potion = (ObjectNode) dtc.getSrcResource().getEdge(0).getDestination(); -// ObjectNode alchemistShop = dtc.getDstFirstResource(); -// -// ObjectNode potionFactory = new ObjectNode("PotionFactory"); -// MediatorInsertion mi = new MediatorInsertion(potion, alchemistShop, potionFactory, dtc.getTransferStyle()); -// design.addMediatorInsertion(mi); return design; } -} - -//public class Flyweight implements DesignPattern { -// -// public DataTransferDesign create() throws IllegalRelationException { -// DataTransferDesign design = ModelLoader.load("models/designPattern/"+this.getClass().getSimpleName()+".Json"); -// DataTransferContext dtc = design.getTransferContexts().getLast(); -// ObjectNode potion = (ObjectNode) dtc.getSrcResource().getEdge(0).getDestination(); -// ObjectNode alchemistShop = dtc.getDstFirstResource(); -// -// ObjectNode potionFactory = new ObjectNode("PotionFactory"); -// MediatorInsertion mi = new MediatorInsertion(potion, alchemistShop, potionFactory, dtc.getTransferStyle()); -// design.addMediatorInsertion(mi); -// -// return design; -// } -//} \ No newline at end of file +} \ No newline at end of file diff --git a/src/main/java/designPatternExtensions/designPattern/Interpreter.java b/src/main/java/designPatternExtensions/designPattern/Interpreter.java index b46f65e..16e3963 100644 --- a/src/main/java/designPatternExtensions/designPattern/Interpreter.java +++ b/src/main/java/designPatternExtensions/designPattern/Interpreter.java @@ -16,8 +16,7 @@ ObjectNode main = dtc.getSrcTopObject(); ObjectNode concreteExpression = dtc.getDstTopObject(); - InterfaceNode expression = new InterfaceNode(concreteExpression, "Expression"); - DependencyInversion di = new DependencyInversion(concreteExpression, expression); + DependencyInversion di = new DependencyInversion(concreteExpression, new InterfaceNode("Expression")); design.addDependencyInversion(di); return design; diff --git a/src/main/java/designPatternExtensions/designPattern/Iterator.java b/src/main/java/designPatternExtensions/designPattern/Iterator.java index 92a4e3c..e1f50b7 100644 --- a/src/main/java/designPatternExtensions/designPattern/Iterator.java +++ b/src/main/java/designPatternExtensions/designPattern/Iterator.java @@ -22,13 +22,6 @@ ObjectNode app = (ObjectNode) dtc.getDstTopObject(); ObjectNode client = dtc.getDstTopObject(); -// MediatorInsertion mi = new MediatorInsertion(app, item, new ObjectNode("TreasureChest"), dtc); -// design.addMediatorInsertion(mi); - -// DependencyInversion di = new DependencyInversion( -// iterator, new InterfaceNode(iterator, "Iterator")); -// design.addDependencyInversion(di); - return design; } } \ No newline at end of file diff --git a/src/main/java/designPatternExtensions/designPattern/Mediator.java b/src/main/java/designPatternExtensions/designPattern/Mediator.java index 1333d5f..24c3f10 100644 --- a/src/main/java/designPatternExtensions/designPattern/Mediator.java +++ b/src/main/java/designPatternExtensions/designPattern/Mediator.java @@ -23,15 +23,15 @@ ObjectNode partyImpl = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(0).getDestination(); ObjectNode concretePartyMember = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(1).getDestination(); - InterfaceNode partyMemberBase = new InterfaceNode(concretePartyMember, "PartyMemberBase"); + InterfaceNode partyMemberBase = new InterfaceNode("PartyMemberBase"); DependencyInversion di = new DependencyInversion(concretePartyMember, partyMemberBase); design.addDependencyInversion(di); - InterfaceNode partyMember = new InterfaceNode(partyMemberBase, "PartyMember"); + InterfaceNode partyMember = new InterfaceNode("PartyMember"); DependencyInversion di2 = new DependencyInversion(partyMemberBase, partyMember); design.addDependencyInversion(di2); - InterfaceNode party = new InterfaceNode(partyImpl, "Party"); + InterfaceNode party = new InterfaceNode("Party"); DependencyInversion di3 = new DependencyInversion(partyImpl, party); design.addDependencyInversion(di3); diff --git a/src/main/java/designPatternExtensions/designPattern/Memento.java b/src/main/java/designPatternExtensions/designPattern/Memento.java index 7be572c..f1c5e39 100644 --- a/src/main/java/designPatternExtensions/designPattern/Memento.java +++ b/src/main/java/designPatternExtensions/designPattern/Memento.java @@ -13,22 +13,13 @@ ObjectNode star = dtc.getSrcTopObject(); ObjectNode states = dtc.getDstTopObject(); -// ObjectNode presenter = new ObjectNode("Main"); -// PresenterInsertion main = new PresenterInsertion(star, states, -// presenter, dtc.getTransferStyle(), true); -// design.addPresenterInsertion(main); - DataSynchronizationContext dtc2 = design.getSynchronizationContexts().getLast(); ObjectNode states2 = dtc2.getSrcTopObject(); ObjectNode star2 = dtc2.getDstTopObject(); -// PresenterInsertion main2 = new PresenterInsertion(states2, star2, -// presenter, dtc2.getTransferStyle(), true); -// design.addPresenterInsertion(main2); - ObjectNode starMementoInternal = new ObjectNode("StarMementoInternal"); DependencyInversion di = new DependencyInversion( - starMementoInternal, new InterfaceNode(starMementoInternal, "StarMemento") + starMementoInternal, new InterfaceNode("StarMemento") ); design.addDependencyInversion(di); diff --git a/src/main/java/designPatternExtensions/designPattern/Observer.java b/src/main/java/designPatternExtensions/designPattern/Observer.java index ddd9acf..8490a1f 100644 --- a/src/main/java/designPatternExtensions/designPattern/Observer.java +++ b/src/main/java/designPatternExtensions/designPattern/Observer.java @@ -21,10 +21,7 @@ ObjectNode main = dtc.getDstTopObject(); ObjectNode concreteObserver = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(1).getDestination(); -// MediatorInsertion mi = new MediatorInsertion(main, concreteObserver, new ObjectNode("Weather"), dtc.getTransferStyle()); -// design.addMediatorInsertion(mi); - - DependencyInversion di1 = new DependencyInversion(concreteObserver, new InterfaceNode(concreteObserver, "WeatherObserver")); + DependencyInversion di1 = new DependencyInversion(concreteObserver, new InterfaceNode("WeatherObserver")); design.addDependencyInversion(di1); return design; diff --git a/src/main/java/designPatternExtensions/designPattern/Prototype.java b/src/main/java/designPatternExtensions/designPattern/Prototype.java index 10de1a5..eaba8e6 100644 --- a/src/main/java/designPatternExtensions/designPattern/Prototype.java +++ b/src/main/java/designPatternExtensions/designPattern/Prototype.java @@ -16,19 +16,19 @@ public DataSynchronizationDesign create() throws IllegalRelationException { DataSynchronizationDesign design = ModelLoader.load("models/designPattern/"+this.getClass().getSimpleName()+".Json"); DataSynchronizationContext dtc = design.getSynchronizationContexts().getFirst(); - ObjectNode factoryImpl = dtc.getSrcTopObject(); + ObjectNode factoryImpl = dtc.getDstTopObject(); ObjectNode orcConcreteHero = dtc.getSrcObjectHierarchy().getBottom(); //factoryImplとorcConcreteHeroの依存関係のみ逆転 - InterfaceNode concreteHero = new InterfaceNode(orcConcreteHero, "ConcreteHero"); + InterfaceNode concreteHero = new InterfaceNode("ConcreteHero"); DependencyInversion di = new DependencyInversion(orcConcreteHero, concreteHero, factoryImpl); design.addDependencyInversion(di); - InterfaceNode heroFactory = new InterfaceNode(factoryImpl, "HeroFactory"); + InterfaceNode heroFactory = new InterfaceNode("HeroFactory"); DependencyInversion di2 = new DependencyInversion(factoryImpl, heroFactory); design.addDependencyInversion(di2); - InterfaceNode prototype = new InterfaceNode(concreteHero, "Prototype"); + InterfaceNode prototype = new InterfaceNode("Prototype"); DependencyInversion di3 = new DependencyInversion(concreteHero, prototype); design.addDependencyInversion(di3); diff --git a/src/main/java/designPatternExtensions/designPattern/Proxy.java b/src/main/java/designPatternExtensions/designPattern/Proxy.java index bd68ebc..cae8de9 100644 --- a/src/main/java/designPatternExtensions/designPattern/Proxy.java +++ b/src/main/java/designPatternExtensions/designPattern/Proxy.java @@ -21,7 +21,7 @@ MediatorInsertion mi = new MediatorInsertion(client, ivoryTower, proxy, dtc); design.addMediatorInsertion(mi); - InterfaceNode wizardTower = new InterfaceNode(proxy, "WizardTower"); + InterfaceNode wizardTower = new InterfaceNode("WizardTower"); DependencyInversion di = new DependencyInversion(proxy, wizardTower); design.addDependencyInversion(di); DependencyInversion di2 = new DependencyInversion(ivoryTower, wizardTower); diff --git a/src/main/java/designPatternExtensions/designPattern/State.java b/src/main/java/designPatternExtensions/designPattern/State.java index 6c14af4..92888f3 100644 --- a/src/main/java/designPatternExtensions/designPattern/State.java +++ b/src/main/java/designPatternExtensions/designPattern/State.java @@ -16,7 +16,7 @@ ObjectNode concreteState = (ObjectNode) design.getSynchronizationContexts().getFirst().getSrcObjectHierarchy().getEdge(1).getDestination(); DependencyInversion di = new DependencyInversion( - concreteState, new InterfaceNode(concreteState, "State")); + concreteState, new InterfaceNode("State")); design.addDependencyInversion(di); return design; diff --git a/src/main/java/designPatternExtensions/designPattern/Strategy.java b/src/main/java/designPatternExtensions/designPattern/Strategy.java index bae2d63..580a660 100644 --- a/src/main/java/designPatternExtensions/designPattern/Strategy.java +++ b/src/main/java/designPatternExtensions/designPattern/Strategy.java @@ -17,36 +17,9 @@ ObjectNode concreteStrategy = (ObjectNode) design.getSynchronizationContexts().getFirst().getDstObjectHierarchy().getEdge(0).getDestination(); DependencyInversion di = new DependencyInversion( - concreteStrategy, new InterfaceNode(concreteStrategy, "DragonSlayingStrategy")); + concreteStrategy, new InterfaceNode("DragonSlayingStrategy")); design.addDependencyInversion(di); return design; } } - -//public class Strategy implements DesignPattern{ -// -// public DataTransferDesign create() throws IllegalRelationException { -// List srcEdges = new ArrayList<>(); -// List dstEdges = new ArrayList<>(); -// ObjectNode main = new ObjectNode("Main"); -// ObjectNode dragonSlayer = new ObjectNode("DragonSlayer"); -// ObjectNode meleeStrategy = new ObjectNode("MeleeStrategy"); -// ObjectNode data = new ObjectNode("BattleExecute"); -// srcEdges.add(new ReferenceEdge(main, dragonSlayer, "dragonSlayer")); -// dstEdges.add(new ReferenceEdge(main, meleeStrategy, "meleeStrategy", "Integer")); -// List relations = new ArrayList<>(); -// relations.add(new Relation(main, dstEdges, MultiplicityValue.OneToOne)); -// Relation transferRelation = new Relation(srcEdges, dstEdges, MultiplicityValue.OneToOne); -// DataTransferContext context = new DataTransferContext(relations, transferRelation, data, "battleExecute", PushPullValue.PUSH); -// DataTransferDesign design = new DataTransferDesign(context); -// -// DependencyInversion di = new DependencyInversion( -// meleeStrategy, new InterfaceNode(meleeStrategy, "DragonSlayingStrategy"), dragonSlayer -// ); -// design.addDependencyInversion(di); -// -// return design; -// } -// -//} diff --git a/src/main/java/designPatternExtensions/designPattern/TemplateMethod.java b/src/main/java/designPatternExtensions/designPattern/TemplateMethod.java index a4f77f2..55af81d 100644 --- a/src/main/java/designPatternExtensions/designPattern/TemplateMethod.java +++ b/src/main/java/designPatternExtensions/designPattern/TemplateMethod.java @@ -18,7 +18,7 @@ ObjectNode halflingThief = (ObjectNode) dtc.getSrcObjectHierarchy().getEdge(0).getDestination(); ObjectNode concreteMethod = (ObjectNode) dtc.getDstObjectHierarchy().getEdge(0).getDestination(); - InterfaceNode stealingMethod = new InterfaceNode(concreteMethod, "StealingMethod"); + InterfaceNode stealingMethod = new InterfaceNode("StealingMethod"); DependencyInversion di = new DependencyInversion(concreteMethod, stealingMethod); design.addDependencyInversion(di); diff --git a/src/main/java/designPatternExtensions/designPattern/Visitor.java b/src/main/java/designPatternExtensions/designPattern/Visitor.java index 6a7f6f3..1429f59 100644 --- a/src/main/java/designPatternExtensions/designPattern/Visitor.java +++ b/src/main/java/designPatternExtensions/designPattern/Visitor.java @@ -25,7 +25,7 @@ ObjectNode commander = dtc.getSrcTopObject(); DependencyInversion di = new DependencyInversion( - visitor, new InterfaceNode(visitor, "UnitVisitor"), commander + visitor, new InterfaceNode( "UnitVisitor"), commander ); design.addDependencyInversion(di); diff --git a/src/main/java/generators/MediatorInsertionWeaver.java b/src/main/java/generators/MediatorInsertionWeaver.java index fe31af3..cf03000 100644 --- a/src/main/java/generators/MediatorInsertionWeaver.java +++ b/src/main/java/generators/MediatorInsertionWeaver.java @@ -34,8 +34,9 @@ this.mediatorFieldName = toVariableName(mediatorName); this.dstFieldName = toVariableName(dstName); this.dstType = codebase.getComponentType(dstName); - this.mediatorType = codebase.getComponentType(mediatorName); + this.mediatorClass = createClass(codebase, mediatorName); + this.mediatorType = codebase.getComponentType(mediatorName); this.srcClass = createClass(codebase, srcName); this.dstClass = createClass(codebase, dstName); }