From 6059edc115c1a8ef968e448045e2a4206d7f8992 Mon Sep 17 00:00:00 2001 From: mq007 Date: Thu, 1 Jun 2017 12:56:11 +0200 Subject: [PATCH 1/8] Have made stacking DraggableNodes in list and connected to each DraggableNode linkers --- src/netKnow/Class/routing/DraggableNode.java | 3 ++- src/netKnow/DatabaseConnection.java | 4 ++-- src/netKnow/controller/RoutingController.java | 15 +++++++++++++++ src/netKnow/controller/RoutingTypeController.java | 11 +++++++++++ src/netKnow/scene/RoutingTypeScene.java | 1 + 5 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/netKnow/Class/routing/DraggableNode.java b/src/netKnow/Class/routing/DraggableNode.java index b630ce2..7264329 100644 --- a/src/netKnow/Class/routing/DraggableNode.java +++ b/src/netKnow/Class/routing/DraggableNode.java @@ -25,7 +25,7 @@ public class DraggableNode extends AnchorPane{ @FXML AnchorPane root_pane; @FXML AnchorPane nodeBody; - @FXML Label titleBar; + @FXML public Label titleBar; @FXML Label closeButton; @FXML AnchorPane leftLinkHandle; @FXML AnchorPane rightLinkHandle; @@ -36,6 +36,7 @@ public class DraggableNode extends AnchorPane{ private final DraggableNode self; public final List mLinkIds = new ArrayList(); + public List nodeLinks = new ArrayList<>(); private EventHandler mContextDragOver; private EventHandler mContextDragDropped; diff --git a/src/netKnow/DatabaseConnection.java b/src/netKnow/DatabaseConnection.java index 6cc169e..9d134b9 100644 --- a/src/netKnow/DatabaseConnection.java +++ b/src/netKnow/DatabaseConnection.java @@ -14,8 +14,8 @@ public class DatabaseConnection { public static Connection getConenction(){ try { - connection = DriverManager.getConnection(DBURL, DBUSER, DBPASS); - //connection = DriverManager.getConnection(DBURL2, DBUSER2, DBPASS); + //connection = DriverManager.getConnection(DBURL, DBUSER, DBPASS); + connection = DriverManager.getConnection(DBURL2, DBUSER2, DBPASS); if(connection != null){ System.out.println("Connected to the datebase :D"); return connection; diff --git a/src/netKnow/controller/RoutingController.java b/src/netKnow/controller/RoutingController.java index c530753..ef606ce 100644 --- a/src/netKnow/controller/RoutingController.java +++ b/src/netKnow/controller/RoutingController.java @@ -57,12 +57,25 @@ private void initialize() { goBackButton.setOnAction(e -> new MainOptionsScene(scene)); routingTypeButton.setOnAction(e -> { + // sciaganie nodow do listy nodow List nodes = new ArrayList<>(); for(int i=0; i nodeList; @FXML @@ -50,4 +58,7 @@ void initialize(){ public void setScene(Scene scene){ this.scene = scene; } + public void setDraggableNodesList(List nodeList){ + this.nodeList = nodeList; + } } diff --git a/src/netKnow/scene/RoutingTypeScene.java b/src/netKnow/scene/RoutingTypeScene.java index a036ba5..ab35511 100644 --- a/src/netKnow/scene/RoutingTypeScene.java +++ b/src/netKnow/scene/RoutingTypeScene.java @@ -41,5 +41,6 @@ private void setScene() { private void setController() { routingTypeController = loader.getController(); routingTypeController.setScene(scene); + routingTypeController.setDraggableNodesList(nodelist); } } From 57feb3ae0cfc41c9fca6b39613eeb1c952f5cf07 Mon Sep 17 00:00:00 2001 From: mq007 Date: Mon, 5 Jun 2017 17:45:02 +0200 Subject: [PATCH 2/8] Deleted Chodar option from labelList --- src/netKnow/controller/RoutingController.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/netKnow/controller/RoutingController.java b/src/netKnow/controller/RoutingController.java index ef606ce..5a24546 100644 --- a/src/netKnow/controller/RoutingController.java +++ b/src/netKnow/controller/RoutingController.java @@ -77,19 +77,17 @@ private void initialize() { } } new RoutingTypeScene(scene, nodes); - }); //Add one icon that will be used for the drag-drop process //This is added as a child to the root anchorpane so it can be visible //on both sides of the split pane. mDragOverIcon = new DragIcon(); - mDragOverIcon.setVisible(false); mDragOverIcon.setOpacity(0.65); root_pane.getChildren().add(mDragOverIcon); - String [] labels = {"Komputer", "Router", "Switch", "Chodar"}; + String [] labels = {"Komputer", "Router", "Switch"}; //populate left pane with multiple colored icons for testing for (int i = 0; i < 3; i++) { From df3c0686921f1dbb91aa217216f2e65a1e5feef7 Mon Sep 17 00:00:00 2001 From: mq007 Date: Mon, 5 Jun 2017 17:50:09 +0200 Subject: [PATCH 3/8] Deleted labelIco from DraggableNode and DragIcon --- src/netKnow/Class/routing/DragIcon.java | 3 --- src/netKnow/Class/routing/DraggableNode.java | 4 ---- 2 files changed, 7 deletions(-) diff --git a/src/netKnow/Class/routing/DragIcon.java b/src/netKnow/Class/routing/DragIcon.java index a4f077c..b541e66 100644 --- a/src/netKnow/Class/routing/DragIcon.java +++ b/src/netKnow/Class/routing/DragIcon.java @@ -55,9 +55,6 @@ public void setType(DragIconType type) { case switchIco: getStyleClass().add("icon-switch"); break; - case labelIco: - getStyleClass().add("icon-label"); - break; default: break; } diff --git a/src/netKnow/Class/routing/DraggableNode.java b/src/netKnow/Class/routing/DraggableNode.java index 7264329..6efb295 100644 --- a/src/netKnow/Class/routing/DraggableNode.java +++ b/src/netKnow/Class/routing/DraggableNode.java @@ -279,10 +279,6 @@ public void setType(DragIconType type) { case switchIco: nodeBody.getStyleClass().add("icon-switch"); break; - case labelIco: - nodeBody.getStyleClass().add("icon-label"); - break; - default: break; } From 38ee8b0af6c3ecd957ba18a2b07a6ebc84a9402f Mon Sep 17 00:00:00 2001 From: mq007 Date: Mon, 5 Jun 2017 23:48:40 +0200 Subject: [PATCH 4/8] BellmanFord for RIP --- src/netKnow/Class/routing/DraggableNode.java | 5 ++ src/netKnow/Class/routing/NodeLink.java | 6 ++ src/netKnow/Main.java | 1 + .../controller/RoutingTypeController.java | 90 +++++++++++++++++++ src/netKnow/scene/RoutingTypeScene.java | 1 + 5 files changed, 103 insertions(+) diff --git a/src/netKnow/Class/routing/DraggableNode.java b/src/netKnow/Class/routing/DraggableNode.java index 6efb295..661e752 100644 --- a/src/netKnow/Class/routing/DraggableNode.java +++ b/src/netKnow/Class/routing/DraggableNode.java @@ -71,6 +71,11 @@ public DraggableNode() { setId(UUID.randomUUID().toString()); } + public DraggableNode(String id){ + self = this; + setId(id); + } + public void setTitleBar(String titleBarText) { titleBar.setText(titleBarText); } diff --git a/src/netKnow/Class/routing/NodeLink.java b/src/netKnow/Class/routing/NodeLink.java index cb8ca58..4cdd5d2 100644 --- a/src/netKnow/Class/routing/NodeLink.java +++ b/src/netKnow/Class/routing/NodeLink.java @@ -48,6 +48,12 @@ public NodeLink() { this.getChildren().add(infoLabel); } + public NodeLink(String id, String startID, String endID){ + setId(id); + startIDNode = startID; + endIDNode = endID; + } + @FXML private void initialize(){ } diff --git a/src/netKnow/Main.java b/src/netKnow/Main.java index 017a14b..f20c12e 100644 --- a/src/netKnow/Main.java +++ b/src/netKnow/Main.java @@ -6,6 +6,7 @@ import javafx.scene.layout.VBox; import javafx.stage.Stage; import netKnow.scene.LoginScene; +import netKnow.scene.MainOptionsScene; import netKnow.scene.RoutingScene; import netKnow.Class.IP; import netKnow.Code.NetworkAggregation; diff --git a/src/netKnow/controller/RoutingTypeController.java b/src/netKnow/controller/RoutingTypeController.java index eeabeb7..ac78df9 100644 --- a/src/netKnow/controller/RoutingTypeController.java +++ b/src/netKnow/controller/RoutingTypeController.java @@ -10,9 +10,11 @@ import javafx.scene.control.ChoiceBox; import javafx.scene.control.ComboBox; import javafx.scene.layout.AnchorPane; +import netKnow.Class.routing.DragIconType; import netKnow.Class.routing.DraggableNode; import netKnow.Class.routing.NodeLink; +import java.util.ArrayList; import java.util.List; /** @@ -31,14 +33,24 @@ public class RoutingTypeController { @FXML private Button simulationButton; private List nodeList; + private List routersList; @FXML void initialize(){ generateCodeButton.setOnAction(e ->{ + for(int i=0; i { + for(int i=0; i nodeList){ this.nodeList = nodeList; + setRoutersList(); + } + private void setRoutersList(){ + routersList = new ArrayList<>(); + for(int i=0; i(); + System.out.println("Aktualny size to: "+routersList.size()); + routersList.add(new DraggableNode("R1")); // 0 + routersList.add(new DraggableNode("R2")); // 1 + routersList.add(new DraggableNode("R3")); // 2 + routersList.add(new DraggableNode("R4")); // 3 + routersList.add(new DraggableNode("R5")); // 4 + routersList.get(0).nodeLinks.add(new NodeLink("r1-connect1", "R1", "R2")); + routersList.get(0).nodeLinks.add(new NodeLink("r1-connect2", "R1", "R3")); + routersList.get(0).nodeLinks.add(new NodeLink("r1-connect3", "R1", "R4")); + routersList.get(1).nodeLinks.add(new NodeLink("r2-connect1", "R2", "R1")); + routersList.get(1).nodeLinks.add(new NodeLink("r2-connect2", "R2", "R4")); + routersList.get(2).nodeLinks.add(new NodeLink("r3-connect1", "R3", "R1")); + routersList.get(2).nodeLinks.add(new NodeLink("r3-connect2", "R3", "R4")); + routersList.get(3).nodeLinks.add(new NodeLink("r4-connect1", "R4", "R1")); + routersList.get(3).nodeLinks.add(new NodeLink("r4-connect2", "R4", "R2")); + routersList.get(3).nodeLinks.add(new NodeLink("r4-connect3", "R4", "R3")); + routersList.get(3).nodeLinks.add(new NodeLink("r4-connect4", "R4", "R5")); + routersList.get(4).nodeLinks.add(new NodeLink("r5-connect1", "R5", "R4")); + + } + private void countRIPPaths(int v){ + //setMyOwnRoutersAndLinkers(); + + int [] distance = new int[routersList.size()]; + DraggableNode [] previous = new DraggableNode[routersList.size()]; + + for(int i=0; i distance[l] + 1){ + distance[index] = distance[l] + 1; + previous[index] = routersList.get(l); + } + } + } + } + + /*for(int i=0; i Date: Tue, 6 Jun 2017 01:09:36 +0200 Subject: [PATCH 5/8] Saving path to router via RIPInfo and RIPWay class --- src/netKnow/Class/routing/DraggableNode.java | 1 + src/netKnow/Class/routing/RIPInfo.java | 72 +++++++++++++++++++ src/netKnow/Class/routing/RIPWay.java | 37 ++++++++++ src/netKnow/controller/RoutingController.java | 2 - .../controller/RoutingTypeController.java | 8 ++- 5 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 src/netKnow/Class/routing/RIPInfo.java create mode 100644 src/netKnow/Class/routing/RIPWay.java diff --git a/src/netKnow/Class/routing/DraggableNode.java b/src/netKnow/Class/routing/DraggableNode.java index 661e752..117b790 100644 --- a/src/netKnow/Class/routing/DraggableNode.java +++ b/src/netKnow/Class/routing/DraggableNode.java @@ -52,6 +52,7 @@ public class DraggableNode extends AnchorPane{ private DragIconType mType = null; private Point2D mDragOffset = new Point2D(0.0, 0.0); public DraggableNodeData draggableNodeData; + public RIPInfo ripInfo; public DraggableNode() { self = this; diff --git a/src/netKnow/Class/routing/RIPInfo.java b/src/netKnow/Class/routing/RIPInfo.java new file mode 100644 index 0000000..5f50e59 --- /dev/null +++ b/src/netKnow/Class/routing/RIPInfo.java @@ -0,0 +1,72 @@ +package netKnow.Class.routing; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by MQ on 2017-06-05. + */ +public class RIPInfo { + + private DraggableNode routerFrom; + private List ripWayList; + private DraggableNode[] prev; + private List orderedRouters; + + public RIPInfo(DraggableNode[] prev, List orderedRouters){ + routerFrom = orderedRouters.get(0); + this.prev = prev; + this.orderedRouters = orderedRouters; + ripWayList = new ArrayList<>(); + fillWayList(); + showWayList(); + } + + public void showWayList(){ + System.out.println("Way for: " + routerFrom.titleBar.getText()); + for(int i=0; i way; + + public RIPWay(DraggableNode dest){ + destination = dest; + way = new ArrayList<>(); + } + + public void addToEnd(DraggableNode x){ + way.add(x); + } + + public void addToStart(DraggableNode x){ + way.add(0, x); + } + + public DraggableNode getDestination() { + return destination; + } + + public void setDestination(DraggableNode destination) { + this.destination = destination; + } + + public List getWay() { + return way; + } +} diff --git a/src/netKnow/controller/RoutingController.java b/src/netKnow/controller/RoutingController.java index 5a24546..dc21d78 100644 --- a/src/netKnow/controller/RoutingController.java +++ b/src/netKnow/controller/RoutingController.java @@ -165,8 +165,6 @@ private void buildDragHandlers() { }; mIconDragDropped = event -> { - System.out.println("drag dropped"); - DragContainer container = (DragContainer) event.getDragboard().getContent(DragContainer.AddNode); container.addData("scene_coords", new Point2D(event.getSceneX(), event.getSceneY())); diff --git a/src/netKnow/controller/RoutingTypeController.java b/src/netKnow/controller/RoutingTypeController.java index ac78df9..3120c53 100644 --- a/src/netKnow/controller/RoutingTypeController.java +++ b/src/netKnow/controller/RoutingTypeController.java @@ -13,6 +13,7 @@ import netKnow.Class.routing.DragIconType; import netKnow.Class.routing.DraggableNode; import netKnow.Class.routing.NodeLink; +import netKnow.Class.routing.RIPInfo; import java.util.ArrayList; import java.util.List; @@ -39,8 +40,9 @@ public class RoutingTypeController { @FXML void initialize(){ generateCodeButton.setOnAction(e ->{ + List tmpRouterList = routersList; for(int i=0; i Date: Tue, 6 Jun 2017 16:38:46 +0200 Subject: [PATCH 6/8] Generating code - version without next-hops --- .../CiscoConfigurationCodeGenerator.java | 7 ++ src/netKnow/Class/routing/DraggableNode.java | 1 + .../JuniperConfigurationCodeGenerator.java | 112 ++++++++++++++++++ src/netKnow/Class/routing/NodeLinkData.java | 8 ++ src/netKnow/controller/RoutingController.java | 2 + .../controller/RoutingTypeController.java | 43 ++++--- src/netKnow/fxml/routing_type_layout.fxml | 1 - 7 files changed, 154 insertions(+), 20 deletions(-) create mode 100644 src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java create mode 100644 src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java diff --git a/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java b/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java new file mode 100644 index 0000000..5594200 --- /dev/null +++ b/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java @@ -0,0 +1,7 @@ +package netKnow.Class.routing; + +/** + * Created by MQ on 2017-06-06. + */ +public class CiscoConfigurationCodeGenerator { +} diff --git a/src/netKnow/Class/routing/DraggableNode.java b/src/netKnow/Class/routing/DraggableNode.java index 117b790..717e3fb 100644 --- a/src/netKnow/Class/routing/DraggableNode.java +++ b/src/netKnow/Class/routing/DraggableNode.java @@ -37,6 +37,7 @@ public class DraggableNode extends AnchorPane{ private final DraggableNode self; public final List mLinkIds = new ArrayList(); public List nodeLinks = new ArrayList<>(); + public List nodePCLink = new ArrayList<>(); private EventHandler mContextDragOver; private EventHandler mContextDragDropped; diff --git a/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java b/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java new file mode 100644 index 0000000..06fb72f --- /dev/null +++ b/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java @@ -0,0 +1,112 @@ +package netKnow.Class.routing; + +import java.util.List; + +/** + * Created by MQ on 2017-06-06. + */ +public class JuniperConfigurationCodeGenerator { + + List routersList; + + public JuniperConfigurationCodeGenerator(List routersList){ + this.routersList = routersList; + } + + public String getConfiguration(){ + String out = ""; + + for(int i=0; i typeOfDeviceChoiceBox; @FXML - private ComboBox typeOfRoutingChoiceBox; - @FXML private Button generateCodeButton; @FXML private Button simulationButton; @@ -40,33 +35,26 @@ public class RoutingTypeController { @FXML void initialize(){ generateCodeButton.setOnAction(e ->{ - List tmpRouterList = routersList; + JuniperConfigurationCodeGenerator juniper = new JuniperConfigurationCodeGenerator(routersList); + String out = juniper.getConfiguration(); + System.out.println(out); + System.out.println("Tu bedzie generowanie kodu!"); + }); + simulationButton.setOnAction(e -> { for(int i=0; i { - for(int i=0; i(); diff --git a/src/netKnow/fxml/routing_type_layout.fxml b/src/netKnow/fxml/routing_type_layout.fxml index d8b4db1..b7fb73e 100644 --- a/src/netKnow/fxml/routing_type_layout.fxml +++ b/src/netKnow/fxml/routing_type_layout.fxml @@ -47,7 +47,6 @@ - From 8a6e12d6ddd7ea6359d181ba80a640d2683c49ef Mon Sep 17 00:00:00 2001 From: mq007 Date: Tue, 6 Jun 2017 19:08:50 +0200 Subject: [PATCH 7/8] Generating code - full version --- src/netKnow/Class/routing/DraggableNode.java | 1 + .../Class/routing/DraggableNodeData.java | 13 ++++- .../JuniperConfigurationCodeGenerator.java | 51 +++++++++++++------ .../controller/RoutingTypeController.java | 34 ++++++++++++- 4 files changed, 81 insertions(+), 18 deletions(-) diff --git a/src/netKnow/Class/routing/DraggableNode.java b/src/netKnow/Class/routing/DraggableNode.java index 717e3fb..784cef0 100644 --- a/src/netKnow/Class/routing/DraggableNode.java +++ b/src/netKnow/Class/routing/DraggableNode.java @@ -38,6 +38,7 @@ public class DraggableNode extends AnchorPane{ public final List mLinkIds = new ArrayList(); public List nodeLinks = new ArrayList<>(); public List nodePCLink = new ArrayList<>(); + public List pcList = new ArrayList<>(); private EventHandler mContextDragOver; private EventHandler mContextDragDropped; diff --git a/src/netKnow/Class/routing/DraggableNodeData.java b/src/netKnow/Class/routing/DraggableNodeData.java index db2c07f..3b8bb9f 100644 --- a/src/netKnow/Class/routing/DraggableNodeData.java +++ b/src/netKnow/Class/routing/DraggableNodeData.java @@ -7,10 +7,15 @@ public class DraggableNodeData { private String name; private String host; + private String ip; - public DraggableNodeData(String name, String host){ + public DraggableNodeData(String name, String x){ this.name = name; - this.host = host; + if(x.length() > 3){ + this.ip = x; + }else{ + this.host = x; + } } public String getName(){ @@ -20,4 +25,8 @@ public String getName(){ public String getHost(){ return host; } + + public String getIp() { + return ip; + } } diff --git a/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java b/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java index 06fb72f..5372935 100644 --- a/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java +++ b/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java @@ -1,4 +1,4 @@ -package netKnow.Class.routing; + package netKnow.Class.routing; import java.util.List; @@ -8,14 +8,15 @@ public class JuniperConfigurationCodeGenerator { List routersList; + List nodes; - public JuniperConfigurationCodeGenerator(List routersList){ + public JuniperConfigurationCodeGenerator(List routersList, List nodes){ this.routersList = routersList; + this.nodes = nodes; } public String getConfiguration(){ String out = ""; - for(int i=0; i 0){ + NodeLinkData data = connectedToInterfaceNode.nodeLinks.get(i).nodeLinkData; + for(int j=0; j{ - JuniperConfigurationCodeGenerator juniper = new JuniperConfigurationCodeGenerator(routersList); + JuniperConfigurationCodeGenerator juniper = new JuniperConfigurationCodeGenerator(routersList, nodeList); String out = juniper.getConfiguration(); System.out.println(out); System.out.println("Tu bedzie generowanie kodu!"); @@ -60,10 +60,14 @@ void initialize(){ public void setScene(Scene scene){ this.scene = scene; } + public void setDraggableNodesList(List nodeList){ this.nodeList = nodeList; setRoutersList(); + setNodePCLink(); + setPCConnectedToRouters(); } + private void setRoutersList(){ routersList = new ArrayList<>(); for(int i=0; i(); System.out.println("Aktualny size to: "+routersList.size()); From 3754b4a14c02452f68b18c43ec977605d77f4ff9 Mon Sep 17 00:00:00 2001 From: mq007 Date: Tue, 6 Jun 2017 23:06:10 +0200 Subject: [PATCH 8/8] Generated code is displayed in new scene --- .../CiscoConfigurationCodeGenerator.java | 125 ++++++++++++++++++ .../Class/routing/DraggableNodeData.java | 17 +++ .../JuniperConfigurationCodeGenerator.java | 5 +- src/netKnow/Class/routing/NodeLinkData.java | 8 ++ .../controller/CodeGeneratorController.java | 49 +++++++ .../controller/RoutingTypeController.java | 12 +- src/netKnow/fxml/code_generator_scene.fxml | 38 ++++++ src/netKnow/scene/CodeGeneratorScene.java | 61 +++++++++ 8 files changed, 309 insertions(+), 6 deletions(-) create mode 100644 src/netKnow/controller/CodeGeneratorController.java create mode 100644 src/netKnow/fxml/code_generator_scene.fxml create mode 100644 src/netKnow/scene/CodeGeneratorScene.java diff --git a/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java b/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java index 5594200..7b54c35 100644 --- a/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java +++ b/src/netKnow/Class/routing/CiscoConfigurationCodeGenerator.java @@ -1,7 +1,132 @@ package netKnow.Class.routing; +import java.util.List; + /** * Created by MQ on 2017-06-06. */ public class CiscoConfigurationCodeGenerator { + List routersList; + List nodes; + + public CiscoConfigurationCodeGenerator(List routersList, List nodes){ + this.routersList = routersList; + this.nodes = nodes; + } + + public String getConfiguration(){ + String out = ""; + for(int i=0; i 0){ + NodeLinkData data = connectedToInterfaceNode.nodeLinks.get(i).nodeLinkData; + for(int j=0; j 3){ this.ip = x; + System.out.println("IP: " + this.ip); }else{ this.host = x; + System.out.println("host: " + this.host); } } @@ -29,4 +31,19 @@ public String getHost(){ public String getIp() { return ip; } + + public String getIpWithoutMask(){ + String [] pp = ip.split("/"); + return pp[0]; + } + + public String getMask(){ + System.out.println("MY IP IS: " + ip); + String [] pp = ip.split("/"); + int cidrMask = Integer.parseInt(pp[1]); + long bits = 0; + bits = 0xffffffff ^ (1 << 32 - cidrMask) - 1; + String mask = String.format("%d.%d.%d.%d", (bits & 0x0000000000ff000000L) >> 24, (bits & 0x0000000000ff0000) >> 16, (bits & 0x0000000000ff00) >> 8, bits & 0xff); + return mask; + } } diff --git a/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java b/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java index 5372935..b788562 100644 --- a/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java +++ b/src/netKnow/Class/routing/JuniperConfigurationCodeGenerator.java @@ -1,4 +1,4 @@ - package netKnow.Class.routing; +package netKnow.Class.routing; import java.util.List; @@ -18,7 +18,7 @@ public JuniperConfigurationCodeGenerator(List routersList, List> 24, (bits & 0x0000000000ff0000) >> 16, (bits & 0x0000000000ff00) >> 8, bits & 0xff); + return mask; + } } diff --git a/src/netKnow/controller/CodeGeneratorController.java b/src/netKnow/controller/CodeGeneratorController.java new file mode 100644 index 0000000..3a862c0 --- /dev/null +++ b/src/netKnow/controller/CodeGeneratorController.java @@ -0,0 +1,49 @@ +package netKnow.controller; + +/** + * Created by MQ on 2017-06-06. + */ +import javafx.fxml.FXML; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TextArea; +import javafx.scene.layout.GridPane; +import netKnow.Class.routing.CiscoConfigurationCodeGenerator; +import netKnow.Class.routing.DraggableNode; +import netKnow.Class.routing.JuniperConfigurationCodeGenerator; +import netKnow.scene.MainOptionsScene; + +import java.util.List; + +public class CodeGeneratorController { + + private Scene scene; + @FXML + private TextArea textAreaField; + @FXML + private GridPane buttons; + @FXML + private Button menuButton; + @FXML + private Button jakisButton; + List routersList; + List nodeList; + String code; + String typeOfDevice; + + + @FXML + void initialize(){ + menuButton.setOnAction(e-> new MainOptionsScene(scene)); + } + + public void setScene(Scene scene){ + this.scene = scene; + } + + public void setDevicesLists(String code, List routersList, List nodeList){ + this.routersList = routersList; + this.nodeList = nodeList; + textAreaField.setText(code); + } +} diff --git a/src/netKnow/controller/RoutingTypeController.java b/src/netKnow/controller/RoutingTypeController.java index 64ad089..a140b0b 100644 --- a/src/netKnow/controller/RoutingTypeController.java +++ b/src/netKnow/controller/RoutingTypeController.java @@ -11,6 +11,7 @@ import javafx.scene.control.ComboBox; import javafx.scene.layout.AnchorPane; import netKnow.Class.routing.*; +import netKnow.scene.CodeGeneratorScene; import java.util.ArrayList; import java.util.List; @@ -35,10 +36,13 @@ public class RoutingTypeController { @FXML void initialize(){ generateCodeButton.setOnAction(e ->{ - JuniperConfigurationCodeGenerator juniper = new JuniperConfigurationCodeGenerator(routersList, nodeList); - String out = juniper.getConfiguration(); - System.out.println(out); - System.out.println("Tu bedzie generowanie kodu!"); + String typeOfConnection = typeOfDeviceChoiceBox.getValue(); + new CodeGeneratorScene(scene, typeOfConnection, routersList, nodeList); + //new CodeGeneratorScene(scene); + //JuniperConfigurationCodeGenerator juniper = new JuniperConfigurationCodeGenerator(routersList, nodeList); + //String out = juniper.getConfiguration(); + //System.out.println(out); + //System.out.println("Tu bedzie generowanie kodu!"); }); simulationButton.setOnAction(e -> { for(int i=0; i + + + + + + + +
+ +
+ + + + + + + + + + + +