From 0fb3dde6f69ab1558da363cb5953d8720d64c952 Mon Sep 17 00:00:00 2001 From: Dimitris Anyfadakis Date: Sun, 15 Oct 2023 10:49:22 +0200 Subject: [PATCH] update --- README.md | 21 +- src/main/java/controller/Controller.java | 55 +-- .../java/controller/ControllerFactory.java | 3 +- src/main/java/controller/ControllerType.java | 4 + src/main/java/manager/DiagramManager.java | 48 +-- .../java/manager/DiagramManagerFactory.java | 12 +- src/main/java/manager/DiagramType.java | 5 +- .../java/model/diagram/ShadowCleaner.java | 11 +- .../ClassDiagramArrangementManager.java | 6 +- .../DiagramArrangementManagerInterface.java | 6 +- .../algorithms/LayoutAlgorithm.java | 5 +- .../ClassifierVertexSerializer.java | 49 ++- .../diagram/exportation/DiagramExporter.java | 6 + .../PlantUMLClassDiagramImageExporter.java | 7 +- .../PlantUMLClassDiagramTextExporter.java | 7 +- .../PlantUMLPackageDiagramImageExporter.java | 7 +- .../PlantUMLPackageDiagramTextExporter.java | 7 +- .../graphml/GraphMLClassifierVertex.java | 24 +- .../graphml/GraphMLClassifierVertexArc.java | 9 +- .../diagram/graphml/GraphMLPackageVertex.java | 8 +- .../graphml/GraphMLPackageVertexArc.java | 9 +- .../javafx/ClassifierVertexDeserializer.java | 6 +- .../javafx/JavaFXClassDiagramLoader.java | 14 +- .../javafx/JavaFXClassVisualization.java | 14 +- .../javafx/JavaFXPackageDiagramLoader.java | 14 +- .../javafx/JavaFXPackageVisualization.java | 16 +- .../diagram/javafx/JavaFXVisualization.java | 7 + .../javafx/PackageVertexDeserializer.java | 6 +- .../plantuml/PlantUMLClassifierVertex.java | 24 +- .../plantuml/PlantUMLClassifierVertexArc.java | 31 +- .../plantuml/PlantUMLPackageVertex.java | 5 +- .../plantuml/PlantUMLPackageVertexArc.java | 31 +- src/main/java/model/graph/ArcType.java | 23 +- src/main/java/model/graph/ModifierType.java | 7 +- src/main/java/model/graph/VertexType.java | 4 + src/main/java/parser/factory/Parser.java | 7 +- .../javaparser/JavaparserFileVisitor.java | 9 +- src/main/java/parser/jdt/JDTFileVisitor.java | 12 +- src/main/java/parser/jdt/JDTLeafNode.java | 5 +- .../java/parser/jdt/JDTProjectParser.java | 3 +- src/main/java/parser/tree/LeafNode.java | 21 +- src/main/java/parser/tree/ModifierType.java | 4 + src/main/java/parser/tree/NodeType.java | 6 +- src/main/java/parser/tree/PackageNode.java | 2 +- .../parser/tree/RelationshipIdentifier.java | 7 +- .../java/parser/tree/RelationshipType.java | 6 +- src/main/java/view/TreeViewResizer.java | 1 + .../JavaFXClassDiagramExporterTest.java | 114 +++--- .../JavaFXPackageDiagramExporterTest.java | 332 +++++++++--------- 49 files changed, 543 insertions(+), 497 deletions(-) diff --git a/README.md b/README.md index a038ef8..bd33db0 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ The purpose of this project is to develop an independent software tool that prod 1. Run ```bash - mvn compile + ./mvnw compile ``` to build the project. @@ -77,7 +77,7 @@ to build the project. 1. Run ```bash - mvn package + ./mvnw package ``` to create the jar **ObjectOrientedArchitectureDiagrammer-0.0.1-SNAPSHOT-jar-with-dependencies.jar** @@ -93,7 +93,7 @@ Check the [User Documentation][userDocumentation-url] regarding more about the u To run the tests simply run ```bash - mvn test + ./mvnw test ``` ## Contributing / Reporting issues @@ -102,22 +102,25 @@ To run the tests simply run Any contributions you make are **greatly appreciated**. -If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star! +If you want to contribute to the development of our tool, please fork the repo and create a pull request.
+[!IMPORTANT] +Please adhere to the current code style.
+Don't forget to give the project a star! :star: -1. Fork the Project -2. Create your Feature Branch +1. Fork the Project. +2. Create your Feature Branch. ```bash git checkout -b feature/NewFeature ``` -3. Commit your Changes +3. Commit your Changes. ```bash git commit -m 'Add some NewFeature' ``` -4. Push to the Branch +4. Push to the Branch. ```bash git push origin feature/NewFeature ``` -5. Open a Pull Request +5. Open a Pull Request. ### Issues diff --git a/src/main/java/controller/Controller.java b/src/main/java/controller/Controller.java index a9e45d5..bef78d6 100644 --- a/src/main/java/controller/Controller.java +++ b/src/main/java/controller/Controller.java @@ -10,22 +10,24 @@ public interface Controller { /** - * This method creates the tree of the project by calling the DiagramManager's createTree method - * @param sourcePackagePath the project's source package path - * @return the SourceProject created + * This method creates the tree of the project by calling the DiagramManager's createTree method. + * + * @param sourcePackagePath the project's source package path + * @return the SourceProject created */ SourceProject createTree(Path sourcePackagePath); /** * This method converts the created tree to a diagram, by creating the corresponding DiagramManager * based on the type of the graph, i.e. package or class and then calling the createDiagram method - * of the DiagramManager - * @param chosenFileNames the names of the files selected by the designer to be included in the diagram + * of the DiagramManager. + * + * @param chosenFileNames the names of the files selected by the designer to be included in the diagram */ void convertTreeToDiagram(List chosenFileNames); /** - * This method arranges the diagram by calling the DiagramManager's arrangeDiagram method + * This method arranges the diagram by calling the DiagramManager's arrangeDiagram method. */ void arrangeDiagram(); @@ -36,49 +38,56 @@ public interface Controller { SmartGraphPanel applySpecificLayout(String choice); /** - * This method exports the diagram to a GraphML file by calling the DiagramManager's exportDiagramToGraphML method - * @param graphMLSavePath the selected path by the designer where the diagram will be saved - * @return the created File in which the diagram was saved + * This method exports the diagram to a GraphML file by calling the DiagramManager's exportDiagramToGraphML method. + * + * @param graphMLSavePath the selected path by the designer where the diagram will be saved + * @return the created File in which the diagram was saved */ File exportDiagramToGraphML(Path graphMLSavePath); /** - * This method saves the diagram to a text file by calling the DiagramManager's saveDiagram method - * @param graphSavePath the selected path by the designer where the diagram will be saved - * @return the created File in which the diagram was saved + * This method saves the diagram to a text file by calling the DiagramManager's saveDiagram method. + * + * @param graphSavePath the selected path by the designer where the diagram will be saved + * @return the created File in which the diagram was saved */ File saveDiagram(Path graphSavePath); /** - * This method loads a diagram from a text file by calling the DiagramManager's loadDiagram method - * @param graphSavePath the file's path where the diagram is saved + * This method loads a diagram from a text file by calling the DiagramManager's loadDiagram method. + * + * @param graphSavePath the file's path where the diagram is saved */ void loadDiagram(Path graphSavePath); /** - * This method creates the JavaFX graphView by calling the DiagramManager's visualizeJavaFXGraph method - * @return the created graphView + * This method creates the JavaFX graphView by calling the DiagramManager's visualizeJavaFXGraph method. + * + * @return the created graphView {@link SmartGraphPanel} */ SmartGraphPanel visualizeJavaFXGraph(); /** - * This method creates the Loaded Diagram's JavaFX graphView by calling the DiagramManager's visualizeLoadedJavaFXGraph method + * This method creates the Loaded Diagram's JavaFX graphView by calling the DiagramManager's visualizeLoadedJavaFXGraph method. + * * @return the created graphView */ SmartGraphPanel visualizeLoadedJavaFXGraph(); /** * This method exports the diagram as an image with the help of PlantUML by calling the DiagramManager's - * exportPlantUMLDiagram method - * @param graphSavePath the selected path by the designer where the diagram's image will be saved - * @return the created PlantUML diagram + * exportPlantUMLDiagram method. + * + * @param graphSavePath the selected path by the designer where the diagram's image will be saved + * @return the created PlantUML diagram */ File exportPlantUMLDiagram(Path graphSavePath); /** - * This method saves the PlantUML code to a text file by calling the DiagramManager's exportPlantUMLText method - * @param textSavePath the selected path by the designer where the text file will be saved - * @return the created PlantUML text file + * This method saves the PlantUML code to a text file by calling the DiagramManager's exportPlantUMLText method. + * + * @param textSavePath the selected path by the designer where the text file will be saved + * @return the created PlantUML text file */ File exportPlantUMLText(Path textSavePath); diff --git a/src/main/java/controller/ControllerFactory.java b/src/main/java/controller/ControllerFactory.java index 840fd46..9a8510f 100644 --- a/src/main/java/controller/ControllerFactory.java +++ b/src/main/java/controller/ControllerFactory.java @@ -3,8 +3,7 @@ public class ControllerFactory { public static Controller createController(String controllerType, String diagramType) { - ControllerType controllerTypeEnum = ControllerType.get(controllerType); - if (controllerTypeEnum == ControllerType.UML) { + if (ControllerType.get(controllerType) == ControllerType.UML) { return new DiagramController(diagramType); }else { throw new RuntimeException(); diff --git a/src/main/java/controller/ControllerType.java b/src/main/java/controller/ControllerType.java index a80156d..df9a9a8 100644 --- a/src/main/java/controller/ControllerType.java +++ b/src/main/java/controller/ControllerType.java @@ -20,4 +20,8 @@ public enum ControllerType { public static ControllerType get(String controllerType) { return CONTROLLER_TYPE.get(controllerType.toLowerCase()); } + + public String toString() { + return super.toString().toLowerCase(); + } } diff --git a/src/main/java/manager/DiagramManager.java b/src/main/java/manager/DiagramManager.java index 13f9190..ead8dfb 100644 --- a/src/main/java/manager/DiagramManager.java +++ b/src/main/java/manager/DiagramManager.java @@ -9,67 +9,75 @@ public interface DiagramManager { /** - * This method creates the tree of the project by parsing the project's source package that the designer has loaded - * @param sourcePackagePath the project's source package path - * @return the SourceProject created, representing the model of the tree + * This method creates the tree of the project by parsing the project's source package that the designer has loaded. + * + * @param sourcePackagePath the project's source package path + * @return the {@link SourceProject} created, representing the model of the tree */ SourceProject createSourceProject(Path sourcePackagePath); /** * This method converts the tree created by the Parser to a Diagram, based on the files(classes or packages) selected * by the designer. The type of the Diagram depends on the type of files the designer has chosen and the Controller - * is responsible for creating the corresponding GraphDiagramManager that implements the createDiagram method + * is responsible for creating the corresponding GraphDiagramManager that implements the createDiagram method. * - * @param chosenFilesNames the names of the files selected by the designer + * @param chosenFilesNames the names of the files selected by the designer */ void convertTreeToDiagram(List chosenFilesNames); /** * This method arranges the createdDiagram's node geometry by creating a Jung Graph and then applying the SpringLayout - * algorithm, implemented by the Jung library + * algorithm, implemented by the Jung library. */ void arrangeDiagram(); /** * This method exports the created diagram to a file, to the path selected by the designer, in GraphMLFormat, by - * converting the nodes and edges to GraphML syntax - * @param graphMLSavePath the selected path by the designer where the diagram will be saved - * @return the created File in which the diagram was saved + * converting the nodes and edges to GraphML syntax. + * + * @param graphMLSavePath the selected path by the designer where the diagram will be saved + * @return the created File in which the diagram was saved */ File exportDiagramToGraphML(Path graphMLSavePath); /** * This method saves the created JavaFX diagram to a text file, to the path selected by the designer, by implementing - * a Map that stores the diagrams' nodes as keys and a Map of their edges and the relationship type as their values + * a Map that stores the diagrams' nodes as keys and a Map of their edges and the relationship type as their values. + * * @param graphSavePath the selected path by the designer where the diagram will be saved - * @return the created File in which the diagram was saved + * @return the created File in which the diagram was saved */ File saveDiagram(Path graphSavePath); /** * This method loads a JavaFX diagram from a file, selected by the designer, by creating an object of the class * Diagram and populating the createdDiagram Collection with the contents of the file. The createdDiagram is a Map - * as described in the method above + * as described in the method above. + * * @param graphSavePath the file's path where the diagram is saved */ void loadDiagram(Path graphSavePath); - /**This method creates the JavaFX graphView that will be rendered by view in the JavaFX Pane - * @return the created graphView + /** + * This method creates the JavaFX graphView that will be rendered by view in the JavaFX Pane. + * + * @return the created graphView {@link SmartGraphPanel} */ SmartGraphPanel visualizeJavaFXGraph(); /** - * This method is responsible for exporting the diagram to a PlantUML image diagram - * @param plantUMLSavePath the selected path by the designer where the exported diagram will be saved - * @return the exported file + * This method is responsible for exporting the diagram to a PlantUML image diagram. + * + * @param plantUMLSavePath the selected path by the designer where the exported diagram will be saved + * @return the exported file */ File exportPlantUMLImage(Path plantUMLSavePath); /** - * This method is responsible for exporting the diagram to a PlantUML text file - * @param textSavePath the selected path by the designer where the exported diagram will be saved - * @return the exported file + * This method is responsible for exporting the diagram to a PlantUML text file. + * + * @param textSavePath the selected path by the designer where the exported diagram will be saved + * @return the exported file */ File exportPlantUMLText(Path textSavePath); diff --git a/src/main/java/manager/DiagramManagerFactory.java b/src/main/java/manager/DiagramManagerFactory.java index 0d76a58..fd6242d 100644 --- a/src/main/java/manager/DiagramManagerFactory.java +++ b/src/main/java/manager/DiagramManagerFactory.java @@ -3,14 +3,10 @@ public class DiagramManagerFactory { public static DiagramManager createDiagramManager(String diagramType) { - DiagramType diagramEnumType = DiagramType.get(diagramType); - if (diagramEnumType == DiagramType.CLASS) { - return new ClassDiagramManager(); - }else if (diagramEnumType == DiagramType.PACKAGE) { - return new PackageDiagramManager(); - }else { - throw new RuntimeException(); - } + return switch (DiagramType.get(diagramType)) { + case CLASS -> new ClassDiagramManager(); + case PACKAGE -> new PackageDiagramManager(); + }; } } diff --git a/src/main/java/manager/DiagramType.java b/src/main/java/manager/DiagramType.java index b21d867..e0166b8 100644 --- a/src/main/java/manager/DiagramType.java +++ b/src/main/java/manager/DiagramType.java @@ -19,7 +19,10 @@ public enum DiagramType { } public static DiagramType get(String diagramType) { - return DIAGRAM_TYPE.get(diagramType.toLowerCase()); + return DIAGRAM_TYPE.get(diagramType.toLowerCase().trim()); } + public String toString() { + return super.toString().toLowerCase(); + } } diff --git a/src/main/java/model/diagram/ShadowCleaner.java b/src/main/java/model/diagram/ShadowCleaner.java index 2211d49..923d3bf 100644 --- a/src/main/java/model/diagram/ShadowCleaner.java +++ b/src/main/java/model/diagram/ShadowCleaner.java @@ -9,13 +9,10 @@ public class ShadowCleaner { // TODO Replace with the new ArcType Map - private static final List strongerToWeakerArcTypes = - List.of( - ArcType.EXTENSION, - ArcType.IMPLEMENTATION, - ArcType.AGGREGATION, - ArcType.ASSOCIATION - ); + private static final List strongerToWeakerArcTypes = List.of(ArcType.EXTENSION, + ArcType.IMPLEMENTATION, + ArcType.AGGREGATION, + ArcType.ASSOCIATION); private final ClassDiagram classDiagram; diff --git a/src/main/java/model/diagram/arrangement/ClassDiagramArrangementManager.java b/src/main/java/model/diagram/arrangement/ClassDiagramArrangementManager.java index a8968d0..6517965 100644 --- a/src/main/java/model/diagram/arrangement/ClassDiagramArrangementManager.java +++ b/src/main/java/model/diagram/arrangement/ClassDiagramArrangementManager.java @@ -23,9 +23,9 @@ public class ClassDiagramArrangementManager implements DiagramArrangementManagerInterface{ - public static final LayoutAlgorithmType LAYOUT_ALGORITHM_TYPE = LayoutAlgorithmType.SUGIYAMA; - private final ClassDiagram classDiagram; - private final Graph graph; + public static final LayoutAlgorithmType LAYOUT_ALGORITHM_TYPE = LayoutAlgorithmType.SUGIYAMA; + private final ClassDiagram classDiagram; + private final Graph graph; public ClassDiagramArrangementManager(ClassDiagram classDiagram) { this.classDiagram = classDiagram; diff --git a/src/main/java/model/diagram/arrangement/DiagramArrangementManagerInterface.java b/src/main/java/model/diagram/arrangement/DiagramArrangementManagerInterface.java index b4b2152..0ffefa1 100644 --- a/src/main/java/model/diagram/arrangement/DiagramArrangementManagerInterface.java +++ b/src/main/java/model/diagram/arrangement/DiagramArrangementManagerInterface.java @@ -10,7 +10,7 @@ public interface DiagramArrangementManagerInterface { /** * This method is responsible for the arrangement of the graph by creating a graph of the Jung library - * and using the SpringLayout algorithm + * and using the SpringLayout algorithm. * * @return a Map with the nodes' id as key and geometry(x,y) as value */ @@ -18,9 +18,9 @@ public interface DiagramArrangementManagerInterface { /** * This method is responsible for the arrangement of the graph by creating a graph of the Jung library - * and using different layout algorithms + * and using different layout algorithms. * - * @return a Map with the nodes' id as key and geometry(x,y) as value + * @return a {@link DiagramGeometry} object which represents the diagram's geometry */ DiagramGeometry arrangeDiagram(); diff --git a/src/main/java/model/diagram/arrangement/algorithms/LayoutAlgorithm.java b/src/main/java/model/diagram/arrangement/algorithms/LayoutAlgorithm.java index 613dff3..09d3081 100644 --- a/src/main/java/model/diagram/arrangement/algorithms/LayoutAlgorithm.java +++ b/src/main/java/model/diagram/arrangement/algorithms/LayoutAlgorithm.java @@ -7,11 +7,12 @@ public interface LayoutAlgorithm { int MIN_X_WINDOW_VALUE = 25; int MIN_Y_WINDOW_VALUE = 25; + // TODO Update JavaDoc /** * This method is responsible for the arrangement of the graph by creating a graph of the Jung library - * and using this graph's coordinates in our front end + * and using this graph's coordinates in our front end. * - * @return a Map with the nodes' names as key and geometry(x,y) as value + * @return a {@link DiagramGeometry} object which represents the diagram's geometry */ DiagramGeometry arrangeDiagram(); diff --git a/src/main/java/model/diagram/exportation/ClassifierVertexSerializer.java b/src/main/java/model/diagram/exportation/ClassifierVertexSerializer.java index c0b0ac5..e90ee09 100644 --- a/src/main/java/model/diagram/exportation/ClassifierVertexSerializer.java +++ b/src/main/java/model/diagram/exportation/ClassifierVertexSerializer.java @@ -21,11 +21,9 @@ public JsonElement serialize(ClassifierVertex classifierVertex, Type type, JsonSerializationContext jsonSerializationContext) { JsonObject jsonObject = new JsonObject(); - String name = classifierVertex.getName(); Path path = classifierVertex.getPath(); String vertexType = classifierVertex.getVertexType().toString(); - jsonObject.addProperty("name", name); jsonObject.addProperty("path", path.toString()); jsonObject.addProperty("vertexType", vertexType); @@ -39,17 +37,16 @@ public JsonElement serialize(ClassifierVertex classifierVertex, } private JsonArray serializeMethods(ClassifierVertex classifierVertex) { - Gson gson = new Gson(); - List methods = classifierVertex.getMethods(); - JsonArray methodsArray = new JsonArray(methods.size()); + Gson gson = new Gson(); + List methods = classifierVertex.getMethods(); + JsonArray methodsArray = new JsonArray(methods.size()); for (ClassifierVertex.Method method: methods) { - JsonObject methodObject = new JsonObject(); - String methodName = method.name(); - String returnType = method.returnType(); - String modifier = method.modifier().toString(); - Map parameters = method.parameters(); - String json = gson.toJson(parameters); - + JsonObject methodObject = new JsonObject(); + String methodName = method.name(); + String returnType = method.returnType(); + String modifier = method.modifier().toString(); + Map parameters = method.parameters(); + String json = gson.toJson(parameters); methodObject.addProperty("name", methodName); methodObject.addProperty("returnType", returnType); methodObject.addProperty("modifier", modifier); @@ -61,38 +58,34 @@ private JsonArray serializeMethods(ClassifierVertex classifierVertex) { } private JsonArray serializeFields(ClassifierVertex classifierVertex) { - List fields = classifierVertex.getFields(); - JsonArray fieldsArray = new JsonArray(fields.size()); + List fields = classifierVertex.getFields(); + JsonArray fieldsArray = new JsonArray(fields.size()); + for (ClassifierVertex.Field field: fields) { JsonObject fieldObject = new JsonObject(); - - String fieldName = field.name(); - String returnType = field.type(); - String modifier = field.modifier().toString(); - + String fieldName = field.name(); + String returnType = field.type(); + String modifier = field.modifier().toString(); fieldObject.addProperty("name", fieldName); fieldObject.addProperty("returnType", returnType); fieldObject.addProperty("modifier", modifier); - fieldsArray.add(fieldObject); } return fieldsArray; } private JsonArray serializeArcs(ClassifierVertex classifierVertex) { - List> arcs = classifierVertex.getArcs(); - JsonArray arcsArray = new JsonArray(arcs.size()); + List> arcs = classifierVertex.getArcs(); + JsonArray arcsArray = new JsonArray(arcs.size()); + for (Arc sinkVertexArc : arcs) { JsonObject arcObject = new JsonObject(); - - String source = sinkVertexArc.sourceVertex().getName(); - String target = sinkVertexArc.targetVertex().getName(); - String arcType = sinkVertexArc.arcType().toString(); - + String source = sinkVertexArc.sourceVertex().getName(); + String target = sinkVertexArc.targetVertex().getName(); + String arcType = sinkVertexArc.arcType().toString(); arcObject.addProperty("source", source); arcObject.addProperty("target", target); arcObject.addProperty("arcType", arcType); - arcsArray.add(arcObject); } return arcsArray; diff --git a/src/main/java/model/diagram/exportation/DiagramExporter.java b/src/main/java/model/diagram/exportation/DiagramExporter.java index bed6ca5..e9bbded 100644 --- a/src/main/java/model/diagram/exportation/DiagramExporter.java +++ b/src/main/java/model/diagram/exportation/DiagramExporter.java @@ -5,5 +5,11 @@ public interface DiagramExporter { + /** + * This method is responsible for exporting the corresponding diagram type. + * + * @param exportPath the path of the exported file + * @return the created File + */ File exportDiagram(Path exportPath); } diff --git a/src/main/java/model/diagram/exportation/PlantUMLClassDiagramImageExporter.java b/src/main/java/model/diagram/exportation/PlantUMLClassDiagramImageExporter.java index 60f5801..e5c9773 100644 --- a/src/main/java/model/diagram/exportation/PlantUMLClassDiagramImageExporter.java +++ b/src/main/java/model/diagram/exportation/PlantUMLClassDiagramImageExporter.java @@ -23,10 +23,9 @@ public PlantUMLClassDiagramImageExporter(ClassDiagram diagram) { StringBuilder plantUMLNodeBuffer = plantUMLClassifierVertex.convertSinkVertex(); PlantUMLClassifierVertexArc plantUMLEdge = new PlantUMLClassifierVertexArc(diagram); StringBuilder plantUMLEdgeBuffer = plantUMLEdge.convertSinkVertexArc(); - this.bufferBody = plantUMLNodeBuffer - .append("\n\n") - .append(plantUMLEdgeBuffer) - .append("\n @enduml"); + this.bufferBody = plantUMLNodeBuffer.append("\n\n") + .append(plantUMLEdgeBuffer) + .append("\n @enduml"); } @Override diff --git a/src/main/java/model/diagram/exportation/PlantUMLClassDiagramTextExporter.java b/src/main/java/model/diagram/exportation/PlantUMLClassDiagramTextExporter.java index d410bc7..e84e6a9 100644 --- a/src/main/java/model/diagram/exportation/PlantUMLClassDiagramTextExporter.java +++ b/src/main/java/model/diagram/exportation/PlantUMLClassDiagramTextExporter.java @@ -19,10 +19,9 @@ public PlantUMLClassDiagramTextExporter(ClassDiagram diagram) { StringBuilder plantUMLNodeBuffer = plantUMLClassifierVertex.convertSinkVertex(); PlantUMLClassifierVertexArc plantUMLEdge = new PlantUMLClassifierVertexArc(diagram); StringBuilder plantUMLEdgeBuffer = plantUMLEdge.convertSinkVertexArc(); - this.bufferBody = plantUMLNodeBuffer - .append("\n\n") - .append(plantUMLEdgeBuffer) - .append("\n @enduml"); + this.bufferBody = plantUMLNodeBuffer.append("\n\n") + .append(plantUMLEdgeBuffer) + .append("\n @enduml"); } @Override diff --git a/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramImageExporter.java b/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramImageExporter.java index c9423a0..bc598d5 100644 --- a/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramImageExporter.java +++ b/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramImageExporter.java @@ -23,10 +23,9 @@ public PlantUMLPackageDiagramImageExporter(PackageDiagram diagram) { StringBuilder plantUMLNodeBuffer = plantUMLPackageVertex.convertVertex(); PlantUMLPackageVertexArc plantUMLEdge = new PlantUMLPackageVertexArc(diagram); StringBuilder plantUMLEdgeBuffer = plantUMLEdge.convertVertexArc(); - this.bufferBody = plantUMLNodeBuffer - .append("\n\n") - .append(plantUMLEdgeBuffer) - .append("\n @enduml"); + this.bufferBody = plantUMLNodeBuffer.append("\n\n") + .append(plantUMLEdgeBuffer) + .append("\n @enduml"); } @Override diff --git a/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramTextExporter.java b/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramTextExporter.java index 44485e7..af55915 100644 --- a/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramTextExporter.java +++ b/src/main/java/model/diagram/exportation/PlantUMLPackageDiagramTextExporter.java @@ -19,10 +19,9 @@ public PlantUMLPackageDiagramTextExporter(PackageDiagram diagram) { StringBuilder plantUMLNodeBuffer = plantUMLPackageVertex.convertVertex(); PlantUMLPackageVertexArc plantUMLEdge = new PlantUMLPackageVertexArc(diagram); StringBuilder plantUMLEdgeBuffer = plantUMLEdge.convertVertexArc(); - this.bufferBody = plantUMLNodeBuffer - .append("\n\n") - .append(plantUMLEdgeBuffer) - .append("\n @enduml"); + this.bufferBody = plantUMLNodeBuffer.append("\n\n") + .append(plantUMLEdgeBuffer) + .append("\n @enduml"); } @Override diff --git a/src/main/java/model/diagram/graphml/GraphMLClassifierVertex.java b/src/main/java/model/diagram/graphml/GraphMLClassifierVertex.java index 52fbd9d..493178c 100644 --- a/src/main/java/model/diagram/graphml/GraphMLClassifierVertex.java +++ b/src/main/java/model/diagram/graphml/GraphMLClassifierVertex.java @@ -25,26 +25,26 @@ public GraphMLClassifierVertex(ClassDiagram classDiagram) { public StringBuilder convertSinkVertex() { for (Map.Entry sinkVertex: this.classDiagram.getGraphNodes().entrySet()) { - this.graphMLBuffer.append( - GraphMLSyntax.getInstance().getGraphMLSinkVertexSyntax( - getSinkVertexDescription(sinkVertex.getKey(), sinkVertex.getValue(), this.classDiagram.getGraphMLDiagramGeometry().get(sinkVertex.getValue()))) - ); + this.graphMLBuffer.append(GraphMLSyntax.getInstance() + .getGraphMLSinkVertexSyntax(getSinkVertexDescription(sinkVertex.getKey(), + sinkVertex.getValue(), + this.classDiagram.getGraphMLDiagramGeometry().get(sinkVertex.getValue())))); } return this.graphMLBuffer; } private List getSinkVertexDescription(ClassifierVertex classifierVertex, int nodeId, Pair nodeGeometry) { - return Arrays.asList( - String.valueOf(nodeId), getSinkVertexColor(classifierVertex), classifierVertex.getName(), getSinkVertexFields(classifierVertex), - getSinkVertexMethods(classifierVertex), String.valueOf(nodeGeometry.getValue0()), String.valueOf(nodeGeometry.getValue1()) - ); + return Arrays.asList(String.valueOf(nodeId), getSinkVertexColor(classifierVertex), classifierVertex.getName(), getSinkVertexFields(classifierVertex), + getSinkVertexMethods(classifierVertex), String.valueOf(nodeGeometry.getValue0()), String.valueOf(nodeGeometry.getValue1())); } private String getSinkVertexMethods(ClassifierVertex classifierVertex) { if (classifierVertex.getMethods().isEmpty()) { return ""; } - return classifierVertex.getMethods().stream() + return + classifierVertex.getMethods() + .stream() .map(method -> method.returnType() + " " + method.name()) .collect(Collectors.joining("\n")); } @@ -53,8 +53,10 @@ private String getSinkVertexFields(ClassifierVertex classifierVertex) { if (classifierVertex.getFields().isEmpty()) { return ""; } - return classifierVertex.getFields().stream() - .map(field -> field.type() + " " + field.name()) + return + classifierVertex.getFields() + .stream() + .map(field -> String.join(" ", field.type(), field.name())) .collect(Collectors.joining("\n")); } diff --git a/src/main/java/model/diagram/graphml/GraphMLClassifierVertexArc.java b/src/main/java/model/diagram/graphml/GraphMLClassifierVertexArc.java index f034d3a..8e63767 100644 --- a/src/main/java/model/diagram/graphml/GraphMLClassifierVertexArc.java +++ b/src/main/java/model/diagram/graphml/GraphMLClassifierVertexArc.java @@ -38,11 +38,10 @@ public StringBuilder convertSinkVertexArc() { } private List getEdgesProperties(Arc relationship, Integer edgeId) { - return Arrays.asList( - String.valueOf(edgeId), String.valueOf(this.classDiagram.getGraphNodes().get(relationship.sourceVertex())), - String.valueOf(this.classDiagram.getGraphNodes().get(relationship.targetVertex())), identifyEdgeType(relationship).get(EDGE_TYPE), - identifyEdgeType(relationship).get(EDGES_SOURCE_TYPE), identifyEdgeType(relationship).get(EDGES_TARGET_TYPE) - ); + return + Arrays.asList(String.valueOf(edgeId), String.valueOf(this.classDiagram.getGraphNodes().get(relationship.sourceVertex())), + String.valueOf(this.classDiagram.getGraphNodes().get(relationship.targetVertex())), identifyEdgeType(relationship).get(EDGE_TYPE), + identifyEdgeType(relationship).get(EDGES_SOURCE_TYPE), identifyEdgeType(relationship).get(EDGES_TARGET_TYPE)); } private List identifyEdgeType(Arc relationship){ diff --git a/src/main/java/model/diagram/graphml/GraphMLPackageVertex.java b/src/main/java/model/diagram/graphml/GraphMLPackageVertex.java index 5449862..fd2d618 100644 --- a/src/main/java/model/diagram/graphml/GraphMLPackageVertex.java +++ b/src/main/java/model/diagram/graphml/GraphMLPackageVertex.java @@ -20,10 +20,10 @@ public GraphMLPackageVertex(PackageDiagram packageDiagram) { public StringBuilder convertVertex() { for (Map.Entry entry: this.packageDiagram.getGraphNodes().entrySet()) { - this.graphMLBuffer.append( - GraphMLSyntax.getInstance().getGraphMLVertexSyntax(getVertexDescription(entry.getKey(), - entry.getValue(), this.packageDiagram.getGraphMLDiagramGeometry().get(entry.getValue()))) - ); + this.graphMLBuffer.append(GraphMLSyntax.getInstance() + .getGraphMLVertexSyntax(getVertexDescription(entry.getKey(), + entry.getValue(), + this.packageDiagram.getGraphMLDiagramGeometry().get(entry.getValue())))); } return this.graphMLBuffer; } diff --git a/src/main/java/model/diagram/graphml/GraphMLPackageVertexArc.java b/src/main/java/model/diagram/graphml/GraphMLPackageVertexArc.java index a4a250d..83ef893 100644 --- a/src/main/java/model/diagram/graphml/GraphMLPackageVertexArc.java +++ b/src/main/java/model/diagram/graphml/GraphMLPackageVertexArc.java @@ -32,11 +32,10 @@ public StringBuilder convertVertexArc() { } private List getVertexArcProperties(Arc relationship, Integer edgeId) { - return Arrays.asList( - String.valueOf(edgeId), - String.valueOf(this.packageDiagram.getGraphNodes().get(relationship.sourceVertex())), - String.valueOf(this.packageDiagram.getGraphNodes().get(relationship.targetVertex())) - ); + return + Arrays.asList(String.valueOf(edgeId), + String.valueOf(this.packageDiagram.getGraphNodes().get(relationship.sourceVertex())), + String.valueOf(this.packageDiagram.getGraphNodes().get(relationship.targetVertex()))); } } diff --git a/src/main/java/model/diagram/javafx/ClassifierVertexDeserializer.java b/src/main/java/model/diagram/javafx/ClassifierVertexDeserializer.java index c4d12ad..78234d2 100644 --- a/src/main/java/model/diagram/javafx/ClassifierVertexDeserializer.java +++ b/src/main/java/model/diagram/javafx/ClassifierVertexDeserializer.java @@ -33,7 +33,7 @@ public ClassifierVertex deserialize(JsonElement jsonElement, if (VertexType.get(vertexType).equals(VertexType.PACKAGE)) { throw new JsonParseException("Wrong diagram type"); } - this.classifierVertex = new ClassifierVertex(Path.of(path), name, VertexType.valueOf(vertexType)); + this.classifierVertex = new ClassifierVertex(Path.of(path), name, VertexType.get(vertexType)); if (jsonObject.has("coordinate_x") && jsonObject.has("coordinate_x")) { double coordinateX = jsonObject.get("coordinate_x").getAsDouble(); double coordinateY = jsonObject.get("coordinate_y").getAsDouble(); @@ -57,7 +57,7 @@ private void deserializeMethods(JsonObject jsonObject) { String parameters = method.get("parameters").getAsString(); this.classifierVertex.addMethod(methodName, returnType, - ModifierType.valueOf(modifier), + ModifierType.get(modifier), gson.fromJson(parameters, new TypeToken<>() {}.getType()) ); @@ -73,7 +73,7 @@ private void deserializeFields(JsonObject jsonObject) { String modifierType = fieldObject.get("modifier").getAsString(); this.classifierVertex.addField(fieldName, returnType, - ModifierType.valueOf(modifierType) + ModifierType.get(modifierType) ); } } diff --git a/src/main/java/model/diagram/javafx/JavaFXClassDiagramLoader.java b/src/main/java/model/diagram/javafx/JavaFXClassDiagramLoader.java index 0b912c3..4f66d3a 100644 --- a/src/main/java/model/diagram/javafx/JavaFXClassDiagramLoader.java +++ b/src/main/java/model/diagram/javafx/JavaFXClassDiagramLoader.java @@ -26,13 +26,13 @@ public JavaFXClassDiagramLoader(Path graphSavePath) { } public Set loadDiagram() throws JsonParseException { - Set sinkVertices = new HashSet<>(); + Set sinkVertices = new HashSet<>(); try { - byte[] encodedBytes = Files.readAllBytes(this.graphSavePath); - String json = new String(encodedBytes, StandardCharsets.ISO_8859_1); - Gson gson = new GsonBuilder().registerTypeAdapter(ClassifierVertex.class, - new ClassifierVertexDeserializer()) - .create(); + byte[] encodedBytes = Files.readAllBytes(this.graphSavePath); + String json = new String(encodedBytes, StandardCharsets.ISO_8859_1); + Gson gson = new GsonBuilder().registerTypeAdapter(ClassifierVertex.class, + new ClassifierVertexDeserializer()) + .create(); ClassifierVertex[] sinkVerticesArray = gson.fromJson(json, ClassifierVertex[].class); Collections.addAll(sinkVertices, sinkVerticesArray); deserializeArcs(sinkVertices); @@ -57,7 +57,7 @@ private void deserializeArcs(Set sinkVertices) { if (sourceVertex.isEmpty() || targetVertex.isEmpty()) { continue; } - classifierVertex.addArc(sourceVertex.get(), targetVertex.get(), ArcType.valueOf(arc.getValue2())); + classifierVertex.addArc(sourceVertex.get(), targetVertex.get(), ArcType.get(arc.getValue2())); } } } diff --git a/src/main/java/model/diagram/javafx/JavaFXClassVisualization.java b/src/main/java/model/diagram/javafx/JavaFXClassVisualization.java index bb0a84f..5217551 100644 --- a/src/main/java/model/diagram/javafx/JavaFXClassVisualization.java +++ b/src/main/java/model/diagram/javafx/JavaFXClassVisualization.java @@ -53,15 +53,13 @@ private void insertSinkVertexArcs(Digraph directedGraph){ for (Set> arcs : this.classDiagram.getDiagram().values()) { for (Arc arc: arcs) { if (arc.arcType().equals(ArcType.AGGREGATION)) { - directedGraph.insertEdge( - arc.targetVertex().getName(), - arc.sourceVertex().getName(), - arc.targetVertex().getName() + "_" + arc.sourceVertex().getName() + "_" + arc.arcType().toString().toLowerCase()); + directedGraph.insertEdge(arc.targetVertex().getName(), + arc.sourceVertex().getName(), + arc.targetVertex().getName() + "_" + arc.sourceVertex().getName() + "_" + arc.arcType()); }else { - directedGraph.insertEdge( - arc.sourceVertex().getName(), - arc.targetVertex().getName(), - arc.sourceVertex().getName() + "_" + arc.targetVertex().getName() + "_" + arc.arcType().toString().toLowerCase()); + directedGraph.insertEdge(arc.sourceVertex().getName(), + arc.targetVertex().getName(), + arc.sourceVertex().getName() + "_" + arc.targetVertex().getName() + "_" + arc.arcType()); } } } diff --git a/src/main/java/model/diagram/javafx/JavaFXPackageDiagramLoader.java b/src/main/java/model/diagram/javafx/JavaFXPackageDiagramLoader.java index f270d65..d677bc1 100644 --- a/src/main/java/model/diagram/javafx/JavaFXPackageDiagramLoader.java +++ b/src/main/java/model/diagram/javafx/JavaFXPackageDiagramLoader.java @@ -26,13 +26,13 @@ public JavaFXPackageDiagramLoader(Path graphSavePath) { } public Set loadDiagram() throws JsonParseException { - Set vertices = new HashSet<>(); + Set vertices = new HashSet<>(); try { - byte[] encodedBytes = Files.readAllBytes(this.graphSavePath); - String json = new String(encodedBytes, StandardCharsets.ISO_8859_1); - Gson gson = new GsonBuilder().registerTypeAdapter(PackageVertex.class, - new PackageVertexDeserializer()) - .create(); + byte[] encodedBytes = Files.readAllBytes(this.graphSavePath); + String json = new String(encodedBytes, StandardCharsets.ISO_8859_1); + Gson gson = new GsonBuilder().registerTypeAdapter(PackageVertex.class, + new PackageVertexDeserializer()) + .create(); PackageVertex[] verticesArray = gson.fromJson(json, PackageVertex[].class); Collections.addAll(vertices, verticesArray); deserializeArcs(vertices); @@ -57,7 +57,7 @@ private void deserializeArcs(Set vertices) { if (sourceVertex.isEmpty() || targetVertex.isEmpty()) { continue; } - vertex.addArc(sourceVertex.get(), targetVertex.get(), ArcType.valueOf(arc.getValue2())); + vertex.addArc(sourceVertex.get(), targetVertex.get(), ArcType.get(arc.getValue2())); } } } diff --git a/src/main/java/model/diagram/javafx/JavaFXPackageVisualization.java b/src/main/java/model/diagram/javafx/JavaFXPackageVisualization.java index 3b5ee11..e480442 100644 --- a/src/main/java/model/diagram/javafx/JavaFXPackageVisualization.java +++ b/src/main/java/model/diagram/javafx/JavaFXPackageVisualization.java @@ -56,17 +56,13 @@ private void insertVertexArcs(Digraph directedGraph){ for (Set> arcs : this.packageDiagram.getDiagram().values()) { for (Arc arc: arcs) { if (arc.arcType().equals(ArcType.AGGREGATION)) { - directedGraph.insertEdge( - arc.targetVertex().getName(), - arc.sourceVertex().getName(), - arc.targetVertex().getName() + "_" + arc.sourceVertex().getName() + "_" + arc.arcType().toString().toLowerCase() - ); + directedGraph.insertEdge(arc.targetVertex().getName(), + arc.sourceVertex().getName(), + arc.targetVertex().getName() + "_" + arc.sourceVertex().getName() + "_" + arc.arcType()); }else { - directedGraph.insertEdge( - arc.sourceVertex().getName(), - arc.targetVertex().getName(), - arc.sourceVertex().getName() + "_" +arc.targetVertex().getName() + "_" + arc.arcType().toString().toLowerCase() - ); + directedGraph.insertEdge(arc.sourceVertex().getName(), + arc.targetVertex().getName(), + arc.sourceVertex().getName() + "_" +arc.targetVertex().getName() + "_" + arc.arcType()); } } } diff --git a/src/main/java/model/diagram/javafx/JavaFXVisualization.java b/src/main/java/model/diagram/javafx/JavaFXVisualization.java index 5d3089f..b7b83ff 100644 --- a/src/main/java/model/diagram/javafx/JavaFXVisualization.java +++ b/src/main/java/model/diagram/javafx/JavaFXVisualization.java @@ -7,9 +7,16 @@ public interface JavaFXVisualization { + /** + * This method is responsible for create the GraphView object that will be rendered in the front-end. + * + * @return the {@link SmartGraphPanel} created + */ SmartGraphPanel createGraphView(); + // TODO Add Javadoc Collection> getVertexCollection(); + // TODO Add Javadoc SmartGraphPanel getLoadedGraph(); } diff --git a/src/main/java/model/diagram/javafx/PackageVertexDeserializer.java b/src/main/java/model/diagram/javafx/PackageVertexDeserializer.java index f5d8e19..8da9f5f 100644 --- a/src/main/java/model/diagram/javafx/PackageVertexDeserializer.java +++ b/src/main/java/model/diagram/javafx/PackageVertexDeserializer.java @@ -36,7 +36,7 @@ public PackageVertex deserialize(JsonElement jsonElement, JsonObject parent = jsonObject.get("parent").getAsJsonObject(); String parentName = parent.get("name").getAsString(); - this.packageVertex = new PackageVertex(Path.of(path), VertexType.valueOf(vertexType), parentName); + this.packageVertex = new PackageVertex(Path.of(path), VertexType.get(vertexType), parentName); if (jsonObject.has("coordinate_x") && jsonObject.has("coordinate_x")) { double coordinateX = jsonObject.get("coordinate_x").getAsDouble(); double coordinateY = jsonObject.get("coordinate_y").getAsDouble(); @@ -69,7 +69,9 @@ private void deserializeNeighbourVertices(JsonObject jsonObject) { String path = vertexObject.get("path").getAsString(); String vertexType = vertexObject.get("vertexType").getAsString(); String parentName = vertexObject.get("parentName").getAsString(); - this.packageVertex.addNeighbourVertex(new PackageVertex(Path.of(path), VertexType.valueOf(vertexType), parentName)); + this.packageVertex.addNeighbourVertex(new PackageVertex(Path.of(path), + VertexType.get(vertexType), + parentName)); } } diff --git a/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertex.java b/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertex.java index d69871a..66176ad 100644 --- a/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertex.java +++ b/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertex.java @@ -19,12 +19,11 @@ public PlantUMLClassifierVertex(ClassDiagram diagram) { public StringBuilder convertSinkVertex() { return new StringBuilder( this.classDiagram.getDiagram().keySet() - .stream() - .map(sinkVertex -> - sinkVertex.getVertexType().toString().toLowerCase() + " " + sinkVertex.getName() + " {\n" + - convertFields(sinkVertex) + convertMethods(sinkVertex) + "}") - .collect(Collectors.joining("\n\n")) - ); + .stream() + .map(sinkVertex -> + sinkVertex.getVertexType() + " " + sinkVertex.getName() + " {\n" + + convertFields(sinkVertex) + convertMethods(sinkVertex) + "}") + .collect(Collectors.joining("\n\n"))); } private String convertFields(ClassifierVertex classifierVertex) { @@ -33,9 +32,8 @@ private String convertFields(ClassifierVertex classifierVertex) { } return classifierVertex.getFields() .stream() - .map(field -> - getVisibility(field.modifier()) + field.name() + ": " + field.type()) - .collect(Collectors.joining("\n")) + "\n"; + .map(field -> getVisibility(field.modifier()) + field.name() + ": " + field.type()) + .collect(Collectors.joining("\n")) + "\n"; } private String convertMethods(ClassifierVertex classifierVertex) { @@ -69,10 +67,10 @@ private void convertMethod(StringBuilder plantUMLMethods, List "-"; - case PUBLIC -> "+"; - case PROTECTED -> "#"; - default -> "~"; + case PRIVATE -> "-"; + case PUBLIC -> "+"; + case PROTECTED -> "#"; + default -> "~"; }; } diff --git a/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertexArc.java b/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertexArc.java index 6266c10..b0cee52 100644 --- a/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertexArc.java +++ b/src/main/java/model/diagram/plantuml/PlantUMLClassifierVertexArc.java @@ -19,29 +19,24 @@ public PlantUMLClassifierVertexArc(ClassDiagram diagram) { } public StringBuilder convertSinkVertexArc() { - List> arcs = new ArrayList<>(); - for (Set> arcSet: this.classDiagram.getDiagram().values()) { - arcs.addAll(arcSet); - } - - return - new StringBuilder(arcs - .stream() - .map(sinkVertexArc -> - sinkVertexArc.sourceVertex().getName() + " " + getRelationship(sinkVertexArc.arcType()) + " " + - sinkVertexArc.targetVertex().getName()) - .collect(Collectors.joining("\n")) - ); + return new StringBuilder(this.classDiagram.getDiagram().values() + .stream().flatMap(sinkVertexStream -> sinkVertexStream + .stream() + .map(sinkVertexArc -> String.join(" ", + sinkVertexArc.sourceVertex().getName(), + getRelationship(sinkVertexArc.arcType()), + sinkVertexArc.targetVertex().getName()))) + .collect(Collectors.joining("\n"))); } private String getRelationship(ArcType relationshipType) { return switch (relationshipType) { - case EXTENSION -> "--|>"; - case AGGREGATION -> "o--"; - case DEPENDENCY -> "..>"; - case IMPLEMENTATION -> "..|>"; + case EXTENSION -> "--|>"; + case AGGREGATION -> "o--"; + case DEPENDENCY -> "..>"; + case IMPLEMENTATION -> "..|>"; // ASSOCIATION - default -> "-->"; + default -> "-->"; }; } diff --git a/src/main/java/model/diagram/plantuml/PlantUMLPackageVertex.java b/src/main/java/model/diagram/plantuml/PlantUMLPackageVertex.java index f501b4b..b48cf47 100644 --- a/src/main/java/model/diagram/plantuml/PlantUMLPackageVertex.java +++ b/src/main/java/model/diagram/plantuml/PlantUMLPackageVertex.java @@ -15,9 +15,8 @@ public PlantUMLPackageVertex(PackageDiagram diagram) { public StringBuilder convertVertex() { return new StringBuilder(this.packageDiagram.getDiagram().keySet() .stream() - .map(vertex -> vertex.getVertexType().toString().toLowerCase() + " " + vertex.getName() + " {\n" + "}\n") - .collect(Collectors.joining("\n")) - ); + .map(vertex -> vertex.getVertexType() + " " + vertex.getName() + " {\n" + "}\n") + .collect(Collectors.joining("\n"))); } } diff --git a/src/main/java/model/diagram/plantuml/PlantUMLPackageVertexArc.java b/src/main/java/model/diagram/plantuml/PlantUMLPackageVertexArc.java index 6d34325..c50c969 100644 --- a/src/main/java/model/diagram/plantuml/PlantUMLPackageVertexArc.java +++ b/src/main/java/model/diagram/plantuml/PlantUMLPackageVertexArc.java @@ -19,28 +19,27 @@ public PlantUMLPackageVertexArc(PackageDiagram diagram) { } public StringBuilder convertVertexArc() { - List> arcs = new ArrayList<>(); - for (Set> arcSet: this.packageDiagram.getDiagram().values()) { - arcs.addAll(arcSet); - } - - return new StringBuilder(arcs - .stream() - .map(vertexArc -> - vertexArc.sourceVertex().getName() + " " + getRelationship(vertexArc.arcType()) + " " + - vertexArc.targetVertex().getName()) - .collect(Collectors.joining("\n")) - ); + + return new StringBuilder(this.packageDiagram.getDiagram().values() + .stream() + .flatMap(vertexArcStream -> vertexArcStream + .stream() + .map(vertexArc -> + String.join(" ", + vertexArc.sourceVertex().getName(), + getRelationship(vertexArc.arcType()), + vertexArc.targetVertex().getName()))) + .collect(Collectors.joining("\n"))); } private String getRelationship(ArcType relationshipType) { return switch (relationshipType) { - case EXTENSION -> "--|>"; - case AGGREGATION -> "o--"; - case DEPENDENCY -> "..>"; + case EXTENSION -> "--|>"; + case AGGREGATION -> "o--"; + case DEPENDENCY -> "..>"; case IMPLEMENTATION -> "..|>"; // ASSOCIATION - default -> "-->"; + default -> "-->"; }; } diff --git a/src/main/java/model/graph/ArcType.java b/src/main/java/model/graph/ArcType.java index 33048ca..9ecbcd2 100644 --- a/src/main/java/model/graph/ArcType.java +++ b/src/main/java/model/graph/ArcType.java @@ -1,24 +1,26 @@ package model.graph; import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; import java.util.Map; -public enum ArcType { +public enum ArcType implements Comparator +{ DEPENDENCY(0), EXTENSION(1), IMPLEMENTATION(2), AGGREGATION(3), ASSOCIATION(4); - private static final Map DEGREE_MAP; + private static final Map DEGREE_MAP; private final int degree; static { - Map map = new HashMap<>(); + Map map = new HashMap<>(); for (ArcType arcType: ArcType.values()) { - map.put(arcType.toString().toLowerCase(), arcType.degree); + map.put(arcType.toString().toLowerCase(), arcType); } DEGREE_MAP = Collections.unmodifiableMap(map); } @@ -27,11 +29,16 @@ public enum ArcType { this.degree = degree; } - public static Integer get(String arcTypeName) { - return DEGREE_MAP.get(arcTypeName.toLowerCase()); + public static ArcType get(String arcTypeName) { + return DEGREE_MAP.get(arcTypeName.toLowerCase().trim()); } - public int getDegree() { - return degree; + public String toString() { + return super.toString().toLowerCase(); + } + + public int compare(ArcType o1, ArcType o2) + { + return Integer.compare(o1.degree, o2.degree); } } diff --git a/src/main/java/model/graph/ModifierType.java b/src/main/java/model/graph/ModifierType.java index c6befb3..4adc75e 100644 --- a/src/main/java/model/graph/ModifierType.java +++ b/src/main/java/model/graph/ModifierType.java @@ -20,6 +20,11 @@ public enum ModifierType { MODIFIER_TYPE = Collections.unmodifiableMap(temp); } public static ModifierType get(String modifier) { - return MODIFIER_TYPE.get(modifier.toLowerCase()); + return MODIFIER_TYPE.get(modifier.toLowerCase().trim()); + } + + + public String toString() { + return super.toString().toLowerCase(); } } diff --git a/src/main/java/model/graph/VertexType.java b/src/main/java/model/graph/VertexType.java index 55dcae4..f5289f7 100644 --- a/src/main/java/model/graph/VertexType.java +++ b/src/main/java/model/graph/VertexType.java @@ -23,4 +23,8 @@ public enum VertexType { public static VertexType get(String vertexType) { return VERTEX_TYPE.get(vertexType.toLowerCase().trim()); } + + public String toString() { + return super.toString().toLowerCase(); + } } diff --git a/src/main/java/parser/factory/Parser.java b/src/main/java/parser/factory/Parser.java index 16ab133..855e33a 100644 --- a/src/main/java/parser/factory/Parser.java +++ b/src/main/java/parser/factory/Parser.java @@ -10,10 +10,11 @@ public interface Parser { /** * This method creates the root of the tree, from the path of the source package, calls the * parseFolder method, that's responsible for the parsing of the source's folder and creates an object - * of the RelationshipIdentifier class with the created nodes in order to create the Relationships + * of the RelationshipIdentifier class with the created nodes in order to create the Relationships. * - * @param sourcePackagePath the path of the project's source folder - * @return a Map with the internal nodes of the tree, i.e. the valid source packages that contain java source files + * @param sourcePackagePath the path of the project's source folder + * @return a Map with the internal nodes of the tree, i.e. the valid source packages that contain + * java source files */ Map parseSourcePackage(Path sourcePackagePath); diff --git a/src/main/java/parser/javaparser/JavaparserFileVisitor.java b/src/main/java/parser/javaparser/JavaparserFileVisitor.java index fb05ab3..8b5e85d 100644 --- a/src/main/java/parser/javaparser/JavaparserFileVisitor.java +++ b/src/main/java/parser/javaparser/JavaparserFileVisitor.java @@ -31,7 +31,7 @@ /** * This class is responsible for the creation of the AST of a Java source file using Javaparser. * Using the different visitors, it parses the file's inheritance declarations, constructor, methods parameters, - * return types, field & local variable declarations as well as the instantiated objects that aren't assigned to a variable + * return types, field & local variable declarations as well as the instantiated objects that aren't assigned to a variable. */ public class JavaparserFileVisitor { @@ -44,9 +44,10 @@ public JavaparserFileVisitor(){ } /** - * This method is responsible for the creation of the AST - * @param file the Java source file - * @param leafNode the leaf node representing the Java source file + * This method is responsible for the creation of the AST. + * + * @param file the Java source file + * @param leafNode the leaf node representing the Java source file */ public void createAST(File file, LeafNode leafNode) { diff --git a/src/main/java/parser/jdt/JDTFileVisitor.java b/src/main/java/parser/jdt/JDTFileVisitor.java index 9e85ac8..5127a89 100644 --- a/src/main/java/parser/jdt/JDTFileVisitor.java +++ b/src/main/java/parser/jdt/JDTFileVisitor.java @@ -31,17 +31,19 @@ /** * This class is responsible for the creation of the AST of a Java source file using JDT. - * The ASTNode API parses the files methods parameters, return types and field declarations + * The ASTNode API parses the files methods parameters, return types and field declarations. + * */ public class JDTFileVisitor { private CompilationUnit unit; - private String sourceFile []; + private String[] sourceFile; /** - * This method is responsible for the creation of the AST - * @param file the Java source file - * @param leafNode the leaf node representing the Java source file + * This method is responsible for the creation of the AST. + * + * @param file the Java source file + * @param leafNode the leaf node representing the Java source file */ public void createAST(File file, LeafNode leafNode) { try { diff --git a/src/main/java/parser/jdt/JDTLeafNode.java b/src/main/java/parser/jdt/JDTLeafNode.java index b2cd654..bded0d5 100644 --- a/src/main/java/parser/jdt/JDTLeafNode.java +++ b/src/main/java/parser/jdt/JDTLeafNode.java @@ -15,8 +15,9 @@ public JDTLeafNode(Path path) { /** * This method is responsible for setting the nodes line that contains the declaration - * of the source file - * @param inheritanceLine the Java source file's line holding the information regarding its inheritance + * of the source file. + * + * @param inheritanceLine the Java source file's line holding the information regarding its inheritance */ public void setInheritanceLine(String[] inheritanceLine) { this.inheritanceLine = inheritanceLine; diff --git a/src/main/java/parser/jdt/JDTProjectParser.java b/src/main/java/parser/jdt/JDTProjectParser.java index 0945c52..3660c75 100644 --- a/src/main/java/parser/jdt/JDTProjectParser.java +++ b/src/main/java/parser/jdt/JDTProjectParser.java @@ -17,7 +17,8 @@ /** * This class is responsible for the parsing of a Java project. While parsing the project * it creates a tree where nodes are the packages and leafs are the Java source files. - * In order to create the tree it uses the ASTNode API from the JDT library + * In order to create the tree it uses the ASTNode API from the JDT library. + * */ public class JDTProjectParser implements Parser { private final Map packageNodes; diff --git a/src/main/java/parser/tree/LeafNode.java b/src/main/java/parser/tree/LeafNode.java index 5203a33..1caeb46 100644 --- a/src/main/java/parser/tree/LeafNode.java +++ b/src/main/java/parser/tree/LeafNode.java @@ -12,7 +12,7 @@ /** * This class is responsible for the implementation of a leaf node in the tree. * Each node has a parent node(the parent package), the path of the source file, - * the branches that start from that node and also the field/method/method parameter types + * the branches that start from that node and also the field/method/method parameter types. */ public abstract class LeafNode { private final Map, Map> methods; @@ -32,11 +32,12 @@ public LeafNode(Path path) { /** * This method is responsible for adding the nodes' method's name, return type, modifier type & its parameters - * that include the name and the type - * @param name the method's name - * @param returnType the method's return type - * @param modifierType the method's modifier type - * @param parameters the method's parameters + * that include the name and the type. + * + * @param name the method's name + * @param returnType the method's return type + * @param modifierType the method's modifier type + * @param parameters the method's parameters */ public void addMethod(String name, String returnType, @@ -53,10 +54,10 @@ public void addMethod(String name, } /** - * This method is responsible for adding the nodes' field's name, type & modifier type - * @param fieldName the field's name - * @param fieldType the field's type - * @param modifierType the field's modifier type + * This method is responsible for adding the nodes' field's name, type & modifier type. + * @param fieldName the field's name + * @param fieldType the field's type + * @param modifierType the field's modifier type */ public void addField(String fieldName, String fieldType, diff --git a/src/main/java/parser/tree/ModifierType.java b/src/main/java/parser/tree/ModifierType.java index 7ecde14..2de7dcd 100644 --- a/src/main/java/parser/tree/ModifierType.java +++ b/src/main/java/parser/tree/ModifierType.java @@ -23,4 +23,8 @@ public enum ModifierType { public static ModifierType get(String modifierType) { return MODIFIER_TYPE.get(modifierType.toLowerCase().trim()); } + + public String toString() { + return super.toString().toLowerCase(); + } } diff --git a/src/main/java/parser/tree/NodeType.java b/src/main/java/parser/tree/NodeType.java index b6269e0..3718046 100644 --- a/src/main/java/parser/tree/NodeType.java +++ b/src/main/java/parser/tree/NodeType.java @@ -4,5 +4,9 @@ public enum NodeType { CLASS, INTERFACE, ENUM, - PACKAGE + PACKAGE; + + public String toString() { + return super.toString().toLowerCase(); + } } diff --git a/src/main/java/parser/tree/PackageNode.java b/src/main/java/parser/tree/PackageNode.java index 20cd45d..4da4cbc 100644 --- a/src/main/java/parser/tree/PackageNode.java +++ b/src/main/java/parser/tree/PackageNode.java @@ -11,7 +11,7 @@ * This class is responsible for the implementation of a package node in the tree. * Each has node has a parent node(the parent package), the path of the package folder, * the nodes children(the sub packages), the nodes leafs(the Java source files inside the - * current package), a flag to identify if a package is empty or not + * current package), a flag to identify if a package is empty or not. */ public class PackageNode { private final Map subNodes; diff --git a/src/main/java/parser/tree/RelationshipIdentifier.java b/src/main/java/parser/tree/RelationshipIdentifier.java index 92c5ab5..0b51f0a 100644 --- a/src/main/java/parser/tree/RelationshipIdentifier.java +++ b/src/main/java/parser/tree/RelationshipIdentifier.java @@ -8,7 +8,7 @@ /** * This class is responsible for the creation of the branches between the Java * source files. The branches have a type, e.g., inheritance, implementation. - * The branches are also directed with a starting and an ending node + * The branches are also directed with a starting and an ending node. */ public abstract class RelationshipIdentifier { private final Map packageNodes; @@ -17,8 +17,9 @@ public abstract class RelationshipIdentifier { /** * This method is responsible for retrieving the leaf nodes that have been created - * and then creating the branches between them - * @param packageNodes a collection with the package nodes created by the parser + * and then creating the branches between them. + * + * @param packageNodes a collection with the package nodes created by the parser */ public RelationshipIdentifier(Map packageNodes) { this.packageNodes = packageNodes; diff --git a/src/main/java/parser/tree/RelationshipType.java b/src/main/java/parser/tree/RelationshipType.java index c1fbfad..59372af 100644 --- a/src/main/java/parser/tree/RelationshipType.java +++ b/src/main/java/parser/tree/RelationshipType.java @@ -5,5 +5,9 @@ public enum RelationshipType { AGGREGATION, ASSOCIATION, EXTENSION, - IMPLEMENTATION + IMPLEMENTATION; + + public String toString() { + return super.toString().toLowerCase(); + } } diff --git a/src/main/java/view/TreeViewResizer.java b/src/main/java/view/TreeViewResizer.java index 6d7d8f2..3e7f04b 100644 --- a/src/main/java/view/TreeViewResizer.java +++ b/src/main/java/view/TreeViewResizer.java @@ -5,6 +5,7 @@ import javafx.scene.input.MouseEvent; import javafx.scene.layout.Region; +// TODO Add Javadoc public class TreeViewResizer { private static final int MIN_TREEVIEW_WIDTH = 100; diff --git a/src/test/java/model/exportation/JavaFXClassDiagramExporterTest.java b/src/test/java/model/exportation/JavaFXClassDiagramExporterTest.java index 5248914..a594939 100644 --- a/src/test/java/model/exportation/JavaFXClassDiagramExporterTest.java +++ b/src/test/java/model/exportation/JavaFXClassDiagramExporterTest.java @@ -36,65 +36,65 @@ void exportDiagramTest() { String expectedJsonString = "[{" + "\"name\":\"MainWindow\",\"path\":\"C:\\\\Users\\\\user\\\\IntelliJProjects\\\\ObjectOrientedArchitectureDiagrammerDaintiness\\\\src\\\\test\\\\resources\\\\LatexEditor\\\\src\\\\view\\\\MainWindow.java\"," + - "\"vertexType\":\"CLASS\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"methods\":[{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"editContents\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"type\\\":\\\"String\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"initialize\",\"returnType\":\"void\",\"modifier\":\"PRIVATE\",\"parameters\":\"{}\"}," + - "{\"name\":\"MainWindow\",\"returnType\":\"Constructor\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"latexEditorView\\\":\\\"LatexEditorView\\\"}\"}]," + - "\"fields\":[{\"name\":\"frame\",\"returnType\":\"JFrame\",\"modifier\":\"PRIVATE\"}," + - "{\"name\":\"editorPane\",\"returnType\":\"JEditorPane\",\"modifier\":\"PRIVATE\"}," + - "{\"name\":\"latexEditorView\",\"returnType\":\"LatexEditorView\",\"modifier\":\"PRIVATE\"}],\"arcs\":[{\"source\":\"MainWindow\",\"target\":\"LatexEditorView\",\"arcType\":\"DEPENDENCY\"}," + - "{\"source\":\"MainWindow\",\"target\":\"LatexEditorView\",\"arcType\":\"ASSOCIATION\"},{\"source\":\"MainWindow\",\"target\":\"ChooseTemplate\",\"arcType\":\"DEPENDENCY\"}]}," + + "\"vertexType\":\"class\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"methods\":[{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"arg0\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"editContents\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"type\\\":\\\"String\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"initialize\",\"returnType\":\"void\",\"modifier\":\"private\",\"parameters\":\"{}\"}," + + "{\"name\":\"MainWindow\",\"returnType\":\"Constructor\",\"modifier\":\"public\",\"parameters\":\"{\\\"latexEditorView\\\":\\\"LatexEditorView\\\"}\"}]," + + "\"fields\":[{\"name\":\"frame\",\"returnType\":\"JFrame\",\"modifier\":\"private\"}," + + "{\"name\":\"editorPane\",\"returnType\":\"JEditorPane\",\"modifier\":\"private\"}," + + "{\"name\":\"latexEditorView\",\"returnType\":\"LatexEditorView\",\"modifier\":\"private\"}],\"arcs\":[{\"source\":\"MainWindow\",\"target\":\"LatexEditorView\",\"arcType\":\"dependency\"}," + + "{\"source\":\"MainWindow\",\"target\":\"LatexEditorView\",\"arcType\":\"association\"},{\"source\":\"MainWindow\",\"target\":\"ChooseTemplate\",\"arcType\":\"dependency\"}]}," + "{\"name\":\"OpeningWindow\",\"path\":\"C:\\\\Users\\\\user\\\\IntelliJProjects\\\\ObjectOrientedArchitectureDiagrammerDaintiness\\\\src\\\\test\\\\resources\\\\LatexEditor\\\\src\\\\view\\\\OpeningWindow.java\"," + - "\"vertexType\":\"CLASS\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"methods\":[{\"name\":\"OpeningWindow\",\"returnType\":\"Constructor\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"main\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"args\\\":\\\"String[]\\\"}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"},{\"name\":\"run\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + - "{\"name\":\"initialize\",\"returnType\":\"void\",\"modifier\":\"PRIVATE\",\"parameters\":\"{}\"}],\"fields\":[{\"name\":\"frame\",\"returnType\":\"JFrame\",\"modifier\":\"PRIVATE\"}," + - "{\"name\":\"latexEditorView\",\"returnType\":\"LatexEditorView\",\"modifier\":\"PRIVATE\"}],\"arcs\":[{\"source\":\"OpeningWindow\",\"target\":\"LatexEditorController\",\"arcType\":\"DEPENDENCY\"}," + - "{\"source\":\"OpeningWindow\",\"target\":\"VersionsManager\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"OpeningWindow\",\"target\":\"LatexEditorView\",\"arcType\":\"ASSOCIATION\"}," + - "{\"source\":\"OpeningWindow\",\"target\":\"ChooseTemplate\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"OpeningWindow\",\"target\":\"VersionsStrategy\",\"arcType\":\"DEPENDENCY\"}," + - "{\"source\":\"OpeningWindow\",\"target\":\"VolatileVersionsStrategy\",\"arcType\":\"DEPENDENCY\"}]}," + + "\"vertexType\":\"class\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"methods\":[{\"name\":\"OpeningWindow\",\"returnType\":\"Constructor\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"main\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"args\\\":\\\"String[]\\\"}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"},{\"name\":\"run\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"actionPerformed\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"e\\\":\\\"ActionEvent\\\"}\"}," + + "{\"name\":\"initialize\",\"returnType\":\"void\",\"modifier\":\"private\",\"parameters\":\"{}\"}],\"fields\":[{\"name\":\"frame\",\"returnType\":\"JFrame\",\"modifier\":\"private\"}," + + "{\"name\":\"latexEditorView\",\"returnType\":\"LatexEditorView\",\"modifier\":\"private\"}],\"arcs\":[{\"source\":\"OpeningWindow\",\"target\":\"LatexEditorController\",\"arcType\":\"dependency\"}," + + "{\"source\":\"OpeningWindow\",\"target\":\"VersionsManager\",\"arcType\":\"dependency\"},{\"source\":\"OpeningWindow\",\"target\":\"LatexEditorView\",\"arcType\":\"association\"}," + + "{\"source\":\"OpeningWindow\",\"target\":\"ChooseTemplate\",\"arcType\":\"dependency\"},{\"source\":\"OpeningWindow\",\"target\":\"VersionsStrategy\",\"arcType\":\"dependency\"}," + + "{\"source\":\"OpeningWindow\",\"target\":\"VolatileVersionsStrategy\",\"arcType\":\"dependency\"}]}," + "{\"name\":\"LatexEditorView\",\"path\":\"C:\\\\Users\\\\user\\\\IntelliJProjects\\\\ObjectOrientedArchitectureDiagrammerDaintiness\\\\src\\\\test\\\\resources\\\\LatexEditor\\\\src\\\\view\\\\LatexEditorView.java\"," + - "\"vertexType\":\"CLASS\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"methods\":[{\"name\":\"getStrategy\",\"returnType\":\"String\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"getController\",\"returnType\":\"LatexEditorController\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"setVersionsManager\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"versionsManager\\\":\\\"VersionsManager\\\"}\"}," + - "{\"name\":\"getType\",\"returnType\":\"String\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"},{\"name\":\"setController\"," + - "\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"controller\\\":\\\"LatexEditorController\\\"}\"},{\"name\":\"getFilename\",\"returnType\":\"String\"," + - "\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"},{\"name\":\"setType\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"type\\\":\\\"String\\\"}\"}," + - "{\"name\":\"loadFromFile\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"getCurrentDocument\",\"returnType\":\"Document\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"getText\",\"returnType\":\"String\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"setCurrentDocument\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"currentDocument\\\":\\\"Document\\\"}\"}," + - "{\"name\":\"getVersionsManager\",\"returnType\":\"VersionsManager\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"setText\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"text\\\":\\\"String\\\"}\"}," + - "{\"name\":\"saveContents\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"setFilename\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"filename\\\":\\\"String\\\"}\"}," + - "{\"name\":\"saveToFile\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{}\"}," + - "{\"name\":\"setStrategy\",\"returnType\":\"void\",\"modifier\":\"PUBLIC\",\"parameters\":\"{\\\"strategy\\\":\\\"String\\\"}\"}]," + - "\"fields\":[{\"name\":\"controller\",\"returnType\":\"LatexEditorController\",\"modifier\":\"PRIVATE\"}," + - "{\"name\":\"currentDocument\",\"returnType\":\"Document\",\"modifier\":\"PRIVATE\"}," + - "{\"name\":\"type\",\"returnType\":\"String\",\"modifier\":\"PRIVATE\"},{\"name\":\"text\",\"returnType\":\"String\",\"modifier\":\"PRIVATE\"}," + - "{\"name\":\"filename\",\"returnType\":\"String\",\"modifier\":\"PRIVATE\"},{\"name\":\"strategy\",\"returnType\":\"String\",\"modifier\":\"PRIVATE\"},{\"name\":\"versionsManager\"," + - "\"returnType\":\"VersionsManager\",\"modifier\":\"PRIVATE\"}],\"arcs\":[{\"source\":\"LatexEditorView\",\"target\":\"LatexEditorController\",\"arcType\":\"DEPENDENCY\"}," + - "{\"source\":\"LatexEditorView\",\"target\":\"LatexEditorController\",\"arcType\":\"ASSOCIATION\"},{\"source\":\"LatexEditorView\",\"target\":\"VersionsManager\",\"" + - "arcType\":\"DEPENDENCY\"},{\"source\":\"LatexEditorView\",\"target\":\"VersionsManager\",\"arcType\":\"ASSOCIATION\"},{\"source\":\"LatexEditorView\",\"target\":\"Document\"," + - "\"arcType\":\"DEPENDENCY\"},{\"source\":\"LatexEditorView\",\"target\":\"Document\",\"arcType\":\"ASSOCIATION\"}]}]"; + "\"vertexType\":\"class\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"methods\":[{\"name\":\"getStrategy\",\"returnType\":\"String\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"getController\",\"returnType\":\"LatexEditorController\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"setVersionsManager\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"versionsManager\\\":\\\"VersionsManager\\\"}\"}," + + "{\"name\":\"getType\",\"returnType\":\"String\",\"modifier\":\"public\",\"parameters\":\"{}\"},{\"name\":\"setController\"," + + "\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"controller\\\":\\\"LatexEditorController\\\"}\"},{\"name\":\"getFilename\",\"returnType\":\"String\"," + + "\"modifier\":\"public\",\"parameters\":\"{}\"},{\"name\":\"setType\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"type\\\":\\\"String\\\"}\"}," + + "{\"name\":\"loadFromFile\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"getCurrentDocument\",\"returnType\":\"Document\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"getText\",\"returnType\":\"String\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"setCurrentDocument\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"currentDocument\\\":\\\"Document\\\"}\"}," + + "{\"name\":\"getVersionsManager\",\"returnType\":\"VersionsManager\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"setText\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"text\\\":\\\"String\\\"}\"}," + + "{\"name\":\"saveContents\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"setFilename\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"filename\\\":\\\"String\\\"}\"}," + + "{\"name\":\"saveToFile\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{}\"}," + + "{\"name\":\"setStrategy\",\"returnType\":\"void\",\"modifier\":\"public\",\"parameters\":\"{\\\"strategy\\\":\\\"String\\\"}\"}]," + + "\"fields\":[{\"name\":\"controller\",\"returnType\":\"LatexEditorController\",\"modifier\":\"private\"}," + + "{\"name\":\"currentDocument\",\"returnType\":\"Document\",\"modifier\":\"private\"}," + + "{\"name\":\"type\",\"returnType\":\"String\",\"modifier\":\"private\"},{\"name\":\"text\",\"returnType\":\"String\",\"modifier\":\"private\"}," + + "{\"name\":\"filename\",\"returnType\":\"String\",\"modifier\":\"private\"},{\"name\":\"strategy\",\"returnType\":\"String\",\"modifier\":\"private\"},{\"name\":\"versionsManager\"," + + "\"returnType\":\"VersionsManager\",\"modifier\":\"private\"}],\"arcs\":[{\"source\":\"LatexEditorView\",\"target\":\"LatexEditorController\",\"arcType\":\"dependency\"}," + + "{\"source\":\"LatexEditorView\",\"target\":\"LatexEditorController\",\"arcType\":\"association\"},{\"source\":\"LatexEditorView\",\"target\":\"VersionsManager\",\"" + + "arcType\":\"dependency\"},{\"source\":\"LatexEditorView\",\"target\":\"VersionsManager\",\"arcType\":\"association\"},{\"source\":\"LatexEditorView\",\"target\":\"Document\"," + + "\"arcType\":\"dependency\"},{\"source\":\"LatexEditorView\",\"target\":\"Document\",\"arcType\":\"association\"}]}]"; JsonArray expectedJsonArray = JsonParser.parseString(expectedJsonString).getAsJsonArray(); JsonArray actualJsonArray = JsonParser.parseString(Files.readAllLines(actualFile.toPath()).get(0)).getAsJsonArray(); assertEquals(expectedJsonArray.size(), actualJsonArray.size()); diff --git a/src/test/java/model/exportation/JavaFXPackageDiagramExporterTest.java b/src/test/java/model/exportation/JavaFXPackageDiagramExporterTest.java index 3f1bbdf..3b1fec3 100644 --- a/src/test/java/model/exportation/JavaFXPackageDiagramExporterTest.java +++ b/src/test/java/model/exportation/JavaFXPackageDiagramExporterTest.java @@ -145,188 +145,188 @@ public static void setUp(){ os = System.getProperty("os.name"); expectedJsonString = "[{\"name\":\"src.view\",\"path\":\"" - + relativePath + "\\\\view\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":362.0,\"coordinate_y\":25.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"LatexEditorView\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\view\\\\\\\\LatexEditorView.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"getStrategy\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getController\\\",\\\"returnType\\\":\\\"LatexEditorController\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getFilename\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getVersionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setController\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"controller\\\\\\\":\\\\\\\"LatexEditorController\\\\\\\"}\\\"},{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setType\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"setCurrentDocument\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"currentDocument\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"setFilename\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getText\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setVersionsManager\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"setText\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"text\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getCurrentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"controller\\\",\\\"returnType\\\":\\\"LatexEditorController\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"currentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"type\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"text\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"filename\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"}]}\",\"{\\\"name\\\":\\\"MainWindow\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\view\\\\\\\\MainWindow.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"editContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"MainWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"editorPane\\\",\\\"returnType\\\":\\\"JEditorPane\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\view\\\\\\\\ChooseTemplate.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"diselectRadioButtons\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{\\\\\\\"radioButton3\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton4\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton1\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton2\\\\\\\":\\\\\\\"JRadioButton\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"previous\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"previous\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"MainWindow\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"OpeningWindow\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"OpeningWindow\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\view\\\\\\\\OpeningWindow.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"main\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"args\\\\\\\":\\\\\\\"String[]\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"OpeningWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"run\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VolatileVersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" - + relativePath + "\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.view\",\"target\":\"src.controller\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.view\",\"target\":\"src.model\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.view\",\"target\":\"src.model.strategies\",\"arcType\":\"DEPENDENCY\"}]},{\"name\":\"src.controller\",\"path\":\"" - + relativePath + "\\\\controller\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":72.0,\"coordinate_y\":70.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"LatexEditorController\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\LatexEditorController.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"LatexEditorController\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"enact\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"command\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"commands\\\",\\\"returnType\\\":\\\"HashMap[String,Command]\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LatexEditorController\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorController\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"AGGREGATION\\\"},{\\\"source\\\":\\\"LatexEditorController\\\",\\\"target\\\":\\\"CommandFactory\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" - + relativePath + "\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[{\"name\":\"src.controller.commands\",\"path\":\"\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\",\"vertexType\":\"PACKAGE\",\"parentName\":\"src.controller\"}],\"arcs\":[{\"source\":\"src.controller\",\"target\":\"src.model\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.controller\",\"target\":\"src.controller.commands\",\"arcType\":\"DEPENDENCY\"}]},{\"name\":\"src.controller.commands\",\"path\":\"" - + relativePath + "\\\\controller\\\\commands\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":25.0,\"coordinate_y\":140.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"CreateCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\CreateCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"CreateCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"documentManager\\\\\\\":\\\\\\\"DocumentManager\\\\\\\",\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"documentManager\\\",\\\"returnType\\\":\\\"DocumentManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"DocumentManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"DocumentManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"AddLatexCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\AddLatexCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"AddLatexCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"AddLatexCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"AddLatexCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"AddLatexCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"SaveCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\SaveCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"SaveCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"SaveCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"SaveCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"SaveCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\ChangeVersionsStrategyCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"Command\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\Command.java\\\",\\\"vertexType\\\":\\\"INTERFACE\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[],\\\"arcs\\\":[]}\",\"{\\\"name\\\":\\\"DisableVersionsManagementCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\DisableVersionsManagementCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"DisableVersionsManagementCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"DisableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"DisableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"DisableVersionsManagementCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"LoadCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\LoadCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"LoadCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"getVersionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setVersionsManager\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LoadCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LoadCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"LoadCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"CommandFactory\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\CommandFactory.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"CommandFactory\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"createCommand\\\",\\\"returnType\\\":\\\"Command\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"documentManager\\\",\\\"returnType\\\":\\\"DocumentManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"DocumentManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"CreateCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"AddLatexCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"SaveCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"DisableVersionsManagementCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"LoadCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"EnableVersionsManagementCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"EditCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"EnableVersionsManagementCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\EnableVersionsManagementCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"EnableVersionsManagementCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"EnableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"EnableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"EnableVersionsManagementCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"EditCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\EditCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"EditCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"EditCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"EditCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"EditCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\RollbackToPreviousVersionCommand.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\"],\"parent\":{\"name\":\"src.controller\",\"path\":\"" - + relativePath + "\\\\\\\\controller\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.controller.commands\",\"target\":\"src.model\",\"arcType\":\"DEPENDENCY\"}]},{\"name\":\"src.model\",\"path\":\"" - + relativePath + "\\\\model\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":217.0,\"coordinate_y\":210.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"VersionsManager\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\VersionsManager.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"setStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"},{\\\"name\\\":\\\"setCurrentVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"changeStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"rollback\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"isEnabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setPreviousVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getStrategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"enable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"VersionsManager\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\",\\\\\\\"versionsStrategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"},{\\\"name\\\":\\\"enableStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"disable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"rollbackToPreviousVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"enabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"}]}\",\"{\\\"name\\\":\\\"DocumentManager\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\DocumentManager.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"createDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"DocumentManager\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getContents\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"templates\\\",\\\"returnType\\\":\\\"HashMap[String,Document]\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"DocumentManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"DocumentManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"AGGREGATION\\\"}]}\",\"{\\\"name\\\":\\\"Document\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\Document.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"clone\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"changeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"save\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"setContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"contents\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getContents\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersionID\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"date\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"copyright\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"versionID\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"contents\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"author\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"author\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"date\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"copyright\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"versionID\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"contents\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" - + relativePath + "\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[{\"name\":\"src.model.strategies\",\"path\":\"\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\strategies\",\"vertexType\":\"PACKAGE\",\"parentName\":\"src.model\"}],\"arcs\":[{\"source\":\"src.model\",\"target\":\"src.view\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.model\",\"target\":\"src.model.strategies\",\"arcType\":\"DEPENDENCY\"}]},{\"name\":\"src.model.strategies\",\"path\":\"" - + relativePath + "\\\\model\\\\strategies\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":362.0,\"coordinate_y\":280.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"VersionsStrategy\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\VersionsStrategy.java\\\",\\\"vertexType\\\":\\\"INTERFACE\\\",\\\"methods\\\":[{\\\"name\\\":\\\"removeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setEntireHistory\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"documents\\\\\\\":\\\\\\\"List[Document]\\\\\\\"}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getEntireHistory\\\",\\\"returnType\\\":\\\"List[Document]\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[],\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"VolatileVersionsStrategy\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\VolatileVersionsStrategy.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"VolatileVersionsStrategy\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setEntireHistory\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"documents\\\\\\\":\\\\\\\"List[Document]\\\\\\\"}\\\"},{\\\"name\\\":\\\"removeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getEntireHistory\\\",\\\"returnType\\\":\\\"List[Document]\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"history\\\",\\\"returnType\\\":\\\"ArrayList[Document]\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"VolatileVersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"VolatileVersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"AGGREGATION\\\"},{\\\"source\\\":\\\"VolatileVersionsStrategy\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\",\"{\\\"name\\\":\\\"VersionsStrategyFactory\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\VersionsStrategyFactory.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"VersionsStrategyFactory\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"createStrategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"strategies\\\",\\\"returnType\\\":\\\"HashMap[String,VersionsStrategy]\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"AGGREGATION\\\"},{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"VolatileVersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"StableVersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"StableVersionsStrategy\\\",\\\"path\\\":\\\"" - + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\StableVersionsStrategy.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"methods\\\":[{\\\"name\\\":\\\"removeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setEntireHistory\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"documents\\\\\\\":\\\\\\\"List[Document]\\\\\\\"}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getEntireHistory\\\",\\\"returnType\\\":\\\"List[Document]\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionID\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"StableVersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"StableVersionsStrategy\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"IMPLEMENTATION\\\"}]}\"],\"parent\":{\"name\":\"src.model\",\"path\":\"" - + relativePath + "\\\\\\\\model\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.model.strategies\",\"target\":\"src.model\",\"arcType\":\"DEPENDENCY\"}]}]"; + + relativePath + "\\\\view\",\"vertexType\":\"package\",\"coordinate_x\":362.0,\"coordinate_y\":25.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"LatexEditorView\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\view\\\\\\\\LatexEditorView.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"getStrategy\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getController\\\",\\\"returnType\\\":\\\"LatexEditorController\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getFilename\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getVersionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setController\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"controller\\\\\\\":\\\\\\\"LatexEditorController\\\\\\\"}\\\"},{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setType\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"setCurrentDocument\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"currentDocument\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"setFilename\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getText\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setVersionsManager\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"setText\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"text\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getCurrentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"controller\\\",\\\"returnType\\\":\\\"LatexEditorController\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"currentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"type\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"text\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"filename\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"association\\\"}]}\",\"{\\\"name\\\":\\\"MainWindow\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\view\\\\\\\\MainWindow.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"editContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"MainWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"editorPane\\\",\\\"returnType\\\":\\\"JEditorPane\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\view\\\\\\\\ChooseTemplate.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"diselectRadioButtons\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{\\\\\\\"radioButton3\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton4\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton1\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton2\\\\\\\":\\\\\\\"JRadioButton\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"previous\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"previous\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"MainWindow\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"OpeningWindow\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"OpeningWindow\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\view\\\\\\\\OpeningWindow.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"main\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"args\\\\\\\":\\\\\\\"String[]\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"OpeningWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"run\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VolatileVersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + + relativePath + "\",\"vertexType\":\"package_private\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.view\",\"target\":\"src.controller\",\"arcType\":\"dependency\"},{\"source\":\"src.view\",\"target\":\"src.model\",\"arcType\":\"dependency\"},{\"source\":\"src.view\",\"target\":\"src.model.strategies\",\"arcType\":\"dependency\"}]},{\"name\":\"src.controller\",\"path\":\"" + + relativePath + "\\\\controller\",\"vertexType\":\"package\",\"coordinate_x\":72.0,\"coordinate_y\":70.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"LatexEditorController\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\LatexEditorController.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"LatexEditorController\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"enact\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"command\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"commands\\\",\\\"returnType\\\":\\\"HashMap[String,Command]\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LatexEditorController\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorController\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"aggregation\\\"},{\\\"source\\\":\\\"LatexEditorController\\\",\\\"target\\\":\\\"CommandFactory\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + + relativePath + "\",\"vertexType\":\"package_private\"},\"neighbours\":[{\"name\":\"src.controller.commands\",\"path\":\"\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\",\"vertexType\":\"package\",\"parentName\":\"src.controller\"}],\"arcs\":[{\"source\":\"src.controller\",\"target\":\"src.model\",\"arcType\":\"dependency\"},{\"source\":\"src.controller\",\"target\":\"src.controller.commands\",\"arcType\":\"dependency\"}]},{\"name\":\"src.controller.commands\",\"path\":\"" + + relativePath + "\\\\controller\\\\commands\",\"vertexType\":\"package\",\"coordinate_x\":25.0,\"coordinate_y\":140.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"CreateCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\CreateCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"CreateCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"documentManager\\\\\\\":\\\\\\\"DocumentManager\\\\\\\",\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"documentManager\\\",\\\"returnType\\\":\\\"DocumentManager\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"DocumentManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"DocumentManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"CreateCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"AddLatexCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\AddLatexCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"AddLatexCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"AddLatexCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"AddLatexCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"AddLatexCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"SaveCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\SaveCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"SaveCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"SaveCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"SaveCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"SaveCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\ChangeVersionsStrategyCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"Command\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\Command.java\\\",\\\"vertexType\\\":\\\"interface\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[],\\\"arcs\\\":[]}\",\"{\\\"name\\\":\\\"DisableVersionsManagementCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\DisableVersionsManagementCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"DisableVersionsManagementCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"DisableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"DisableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"DisableVersionsManagementCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"LoadCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\LoadCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"LoadCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"getVersionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setVersionsManager\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LoadCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LoadCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"LoadCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"CommandFactory\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\CommandFactory.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"CommandFactory\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"createCommand\\\",\\\"returnType\\\":\\\"Command\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"documentManager\\\",\\\"returnType\\\":\\\"DocumentManager\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"DocumentManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"CreateCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"AddLatexCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"SaveCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"ChangeVersionsStrategyCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"DisableVersionsManagementCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"LoadCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"EnableVersionsManagementCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"EditCommand\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"CommandFactory\\\",\\\"target\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"EnableVersionsManagementCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\EnableVersionsManagementCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"EnableVersionsManagementCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"EnableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"EnableVersionsManagementCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"EnableVersionsManagementCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"EditCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\EditCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"EditCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"EditCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"EditCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"EditCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\controller\\\\\\\\commands\\\\\\\\RollbackToPreviousVersionCommand.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"},{\\\"name\\\":\\\"execute\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"RollbackToPreviousVersionCommand\\\",\\\"target\\\":\\\"Command\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\"],\"parent\":{\"name\":\"src.controller\",\"path\":\"" + + relativePath + "\\\\\\\\controller\",\"vertexType\":\"package_private\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.controller.commands\",\"target\":\"src.model\",\"arcType\":\"dependency\"}]},{\"name\":\"src.model\",\"path\":\"" + + relativePath + "\\\\model\",\"vertexType\":\"package\",\"coordinate_x\":217.0,\"coordinate_y\":210.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"VersionsManager\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\VersionsManager.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"setStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"},{\\\"name\\\":\\\"setCurrentVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"changeStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"rollback\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"isEnabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setPreviousVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getStrategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"enable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"VersionsManager\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\",\\\\\\\"versionsStrategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"},{\\\"name\\\":\\\"enableStrategy\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"disable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"rollbackToPreviousVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"enabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"association\\\"}]}\",\"{\\\"name\\\":\\\"DocumentManager\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\DocumentManager.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"createDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"DocumentManager\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getContents\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"templates\\\",\\\"returnType\\\":\\\"HashMap[String,Document]\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"DocumentManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"DocumentManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"aggregation\\\"}]}\",\"{\\\"name\\\":\\\"Document\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\Document.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"clone\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"changeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"save\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"setContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"contents\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getContents\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersionID\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"date\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"copyright\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"versionID\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"contents\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"author\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"author\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"date\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"copyright\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"versionID\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"contents\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + + relativePath + "\",\"vertexType\":\"package_private\"},\"neighbours\":[{\"name\":\"src.model.strategies\",\"path\":\"\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\strategies\",\"vertexType\":\"package\",\"parentName\":\"src.model\"}],\"arcs\":[{\"source\":\"src.model\",\"target\":\"src.view\",\"arcType\":\"dependency\"},{\"source\":\"src.model\",\"target\":\"src.model.strategies\",\"arcType\":\"dependency\"}]},{\"name\":\"src.model.strategies\",\"path\":\"" + + relativePath + "\\\\model\\\\strategies\",\"vertexType\":\"package\",\"coordinate_x\":362.0,\"coordinate_y\":280.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"VersionsStrategy\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\VersionsStrategy.java\\\",\\\"vertexType\\\":\\\"interface\\\",\\\"methods\\\":[{\\\"name\\\":\\\"removeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setEntireHistory\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"documents\\\\\\\":\\\\\\\"List[Document]\\\\\\\"}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getEntireHistory\\\",\\\"returnType\\\":\\\"List[Document]\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[],\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"VolatileVersionsStrategy\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\VolatileVersionsStrategy.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"VolatileVersionsStrategy\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setEntireHistory\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"documents\\\\\\\":\\\\\\\"List[Document]\\\\\\\"}\\\"},{\\\"name\\\":\\\"removeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getEntireHistory\\\",\\\"returnType\\\":\\\"List[Document]\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"history\\\",\\\"returnType\\\":\\\"ArrayList[Document]\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"VolatileVersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"VolatileVersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"aggregation\\\"},{\\\"source\\\":\\\"VolatileVersionsStrategy\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\",\"{\\\"name\\\":\\\"VersionsStrategyFactory\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\VersionsStrategyFactory.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"VersionsStrategyFactory\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"createStrategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"strategies\\\",\\\"returnType\\\":\\\"HashMap[String,VersionsStrategy]\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"aggregation\\\"},{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"VolatileVersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"VersionsStrategyFactory\\\",\\\"target\\\":\\\"StableVersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"StableVersionsStrategy\\\",\\\"path\\\":\\\"" + + relativePath + "\\\\\\\\model\\\\\\\\strategies\\\\\\\\StableVersionsStrategy.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"methods\\\":[{\\\"name\\\":\\\"removeVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setEntireHistory\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"documents\\\\\\\":\\\\\\\"List[Document]\\\\\\\"}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getEntireHistory\\\",\\\"returnType\\\":\\\"List[Document]\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"versionID\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"StableVersionsStrategy\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"StableVersionsStrategy\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"implementation\\\"}]}\"],\"parent\":{\"name\":\"src.model\",\"path\":\"" + + relativePath + "\\\\\\\\model\",\"vertexType\":\"package_private\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.model.strategies\",\"target\":\"src.model\",\"arcType\":\"dependency\"}]}]"; expectedString2 = "[{\"name\":\"src.model\",\"path\":\"" + - relativePath + "model\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"VersionsManager\\\",\\\"path\\\":\\\"" + - relativePath + "/model/VersionsManager.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + - "\\\"methods\\\":[{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"enable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"rollbackToPreviousVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"disable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + relativePath + "model\",\"vertexType\":\"package\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"VersionsManager\\\",\\\"path\\\":\\\"" + + relativePath + "/model/VersionsManager.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + + "\\\"methods\\\":[{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"enable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"rollbackToPreviousVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"disable\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"putVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"enableStrategy\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"changeStrategy\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setStrategy\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"setCurrentVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"changeStrategy\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setStrategy\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"setCurrentVersion\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"document\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"getStrategy\\\"," + - "\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}," + - "{\\\"name\\\":\\\"rollback\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}," + - "{\\\"name\\\":\\\"isEnabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}," + - "{\\\"name\\\":\\\"VersionsManager\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}," + + "{\\\"name\\\":\\\"rollback\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}," + + "{\\\"name\\\":\\\"isEnabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}," + + "{\\\"name\\\":\\\"VersionsManager\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\",\\\\\\\"versionsStrategy\\\\\\\":\\\\\\\"VersionsStrategy\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"setPreviousVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}" + - ",{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}," + - "{\\\"name\\\":\\\"saveContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}]," + - "\\\"fields\\\":[{\\\"name\\\":\\\"enabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}," + - "{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}," + - "{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}]," + - "\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}," + - "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"}," + - "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}," + - "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"}," + - "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\"," + + "{\\\"name\\\":\\\"setPreviousVersion\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}" + + ",{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}," + + "{\\\"name\\\":\\\"saveContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}]," + + "\\\"fields\\\":[{\\\"name\\\":\\\"enabled\\\",\\\"returnType\\\":\\\"boolean\\\",\\\"modifier\\\":\\\"private\\\"}," + + "{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"VersionsStrategy\\\",\\\"modifier\\\":\\\"private\\\"}," + + "{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"}]," + + "\\\"arcs\\\":[{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"dependency\\\"}," + + "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"}," + + "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"}," + + "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"association\\\"}," + + "{\\\"source\\\":\\\"VersionsManager\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\"," + "\"{\\\"name\\\":\\\"DocumentManager\\\",\\\"path\\\":\\\"" + - relativePath + "/model/DocumentManager.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + - "\\\"methods\\\":[{\\\"name\\\":\\\"createDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + relativePath + "/model/DocumentManager.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + + "\\\"methods\\\":[{\\\"name\\\":\\\"createDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getContents\\\",\\\"returnType\\\":\\\"String\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"DocumentManager\\\"," + - "\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"templates\\\"," + - "\\\"returnType\\\":\\\"HashMap[String,Document]\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"DocumentManager\\\"," + - "\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"DocumentManager\\\",\\\"target\\\":\\\"Document\\\"," + - "\\\"arcType\\\":\\\"AGGREGATION\\\"}]}\",\"{\\\"name\\\":\\\"Document\\\",\\\"path\\\":\\\"" + - relativePath + "/model/Document.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + - "\\\"methods\\\":[{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"DocumentManager\\\"," + + "\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"templates\\\"," + + "\\\"returnType\\\":\\\"HashMap[String,Document]\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"DocumentManager\\\"," + + "\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"DocumentManager\\\",\\\"target\\\":\\\"Document\\\"," + + "\\\"arcType\\\":\\\"aggregation\\\"}]}\",\"{\\\"name\\\":\\\"Document\\\",\\\"path\\\":\\\"" + + relativePath + "/model/Document.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + + "\\\"methods\\\":[{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"Document\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"date\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"copyright\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"versionID\\\\\\\":\\\\\\\"String\\\\\\\"," + "\\\\\\\"contents\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"author\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"clone\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "{\\\"name\\\":\\\"clone\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"save\\\",\\\"returnType\\\":\\\"void\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"setContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"setContents\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"contents\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"changeVersion\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersionID\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getContents\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"author\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"date\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}," + - "{\\\"name\\\":\\\"copyright\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"versionID\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"contents\\\",\\\"returnType\\\":\\\"String\\\"," + - "\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + - relativePath + "\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[{\"name\":\"src.model.strategies\",\"path\":\"" + - relativePath + "/model/strategies\",\"vertexType\":\"PACKAGE\",\"parentName\":\"src.model\"}],\"arcs\":[{\"source\":\"src.model\"," + - "\"target\":\"src.view\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.model\",\"target\":\"src.model.strategies\",\"arcType\":\"DEPENDENCY\"}]},{\"name\":\"src.view\",\"path\":\"" + - relativePath + "/view\",\"vertexType\":\"PACKAGE\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"LatexEditorView\\\",\\\"path\\\":\\\"" + - relativePath + "/view/LatexEditorView.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0,\\\"methods\\\":[{\\\"name\\\":\\\"getText\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setType\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getVersionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getCurrentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveContents\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setCurrentDocument\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{\\\\\\\"currentDocument\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"setText\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{\\\\\\\"text\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + - "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setFilename\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getVersionID\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getContents\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"author\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"date\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"}," + + "{\\\"name\\\":\\\"copyright\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"versionID\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"contents\\\",\\\"returnType\\\":\\\"String\\\"," + + "\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + + relativePath + "\",\"vertexType\":\"package_private\"},\"neighbours\":[{\"name\":\"src.model.strategies\",\"path\":\"" + + relativePath + "/model/strategies\",\"vertexType\":\"package\",\"parentName\":\"src.model\"}],\"arcs\":[{\"source\":\"src.model\"," + + "\"target\":\"src.view\",\"arcType\":\"dependency\"},{\"source\":\"src.model\",\"target\":\"src.model.strategies\",\"arcType\":\"dependency\"}]},{\"name\":\"src.view\",\"path\":\"" + + relativePath + "/view\",\"vertexType\":\"package\",\"coordinate_x\":0.0,\"coordinate_y\":0.0,\"sinkVertices\":[\"{\\\"name\\\":\\\"LatexEditorView\\\",\\\"path\\\":\\\"" + + relativePath + "/view/LatexEditorView.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0,\\\"methods\\\":[{\\\"name\\\":\\\"getText\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setType\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getVersionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getCurrentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"saveContents\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setCurrentDocument\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{\\\\\\\"currentDocument\\\\\\\":\\\\\\\"Document\\\\\\\"}\\\"},{\\\"name\\\":\\\"setText\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{\\\\\\\"text\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"saveToFile\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + + "\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setFilename\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"filename\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"loadFromFile\\\",\\\"returnType\\\":\\\"void\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setStrategy\\\",\\\"returnType\\\":\\\"void\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getStrategy\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getFilename\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setVersionsManager\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"setController\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"controller\\\\\\\":\\\\\\\"LatexEditorController\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getController\\\",\\\"returnType\\\":\\\"LatexEditorController\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"controller\\\",\\\"returnType\\\":\\\"LatexEditorController\\\"," + - "\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"currentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}," + - "{\\\"name\\\":\\\"type\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"text\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}," + - "{\\\"name\\\":\\\"filename\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"String\\\"," + - "\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\"," + - "\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\"," + - "\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"}," + - "{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\"," + - "\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"LatexEditorView\\\"," + - "\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"}]}\",\"{\\\"name\\\":\\\"MainWindow\\\",\\\"path\\\":\\\"" + - relativePath + "/view/MainWindow.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + - "\\\"methods\\\":[{\\\"name\\\":\\\"MainWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setStrategy\\\",\\\"returnType\\\":\\\"void\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"strategy\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"getStrategy\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getFilename\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"setVersionsManager\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"versionsManager\\\\\\\":\\\\\\\"VersionsManager\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"setController\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"controller\\\\\\\":\\\\\\\"LatexEditorController\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"getType\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"getController\\\",\\\"returnType\\\":\\\"LatexEditorController\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"controller\\\",\\\"returnType\\\":\\\"LatexEditorController\\\"," + + "\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"currentDocument\\\",\\\"returnType\\\":\\\"Document\\\",\\\"modifier\\\":\\\"private\\\"}," + + "{\\\"name\\\":\\\"type\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"text\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"}," + + "{\\\"name\\\":\\\"filename\\\",\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"strategy\\\",\\\"returnType\\\":\\\"String\\\"," + + "\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"versionsManager\\\",\\\"returnType\\\":\\\"VersionsManager\\\"," + + "\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\"," + + "\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"association\\\"}," + + "{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"Document\\\"," + + "\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"LatexEditorView\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"LatexEditorView\\\"," + + "\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"association\\\"}]}\",\"{\\\"name\\\":\\\"MainWindow\\\",\\\"path\\\":\\\"" + + relativePath + "/view/MainWindow.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0," + + "\\\"methods\\\":[{\\\"name\\\":\\\"MainWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"editContents\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\"," + - "\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"editorPane\\\",\\\"returnType\\\":\\\"JEditorPane\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}," + - "{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\"," + - "\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\"," + - "\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"path\\\":\\\"" + - relativePath + "/view/ChooseTemplate.java\\\",\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0,\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"returnType\\\":\\\"Constructor\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"previous\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"diselectRadioButtons\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{\\\\\\\"radioButton3\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton4\\\\\\\":\\\\\\\"JRadioButton\\\\\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"editContents\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"type\\\\\\\":\\\\\\\"String\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\"," + + "\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"editorPane\\\",\\\"returnType\\\":\\\"JEditorPane\\\",\\\"modifier\\\":\\\"private\\\"}," + + "{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\"," + + "\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"MainWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\"," + + "\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"path\\\":\\\"" + + relativePath + "/view/ChooseTemplate.java\\\",\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0,\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"initialize\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"ChooseTemplate\\\",\\\"returnType\\\":\\\"Constructor\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"previous\\\\\\\":\\\\\\\"String\\\\\\\",\\\\\\\"latexEditorView\\\\\\\":\\\\\\\"LatexEditorView\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"arg0\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"},{\\\"name\\\":\\\"diselectRadioButtons\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{\\\\\\\"radioButton3\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton4\\\\\\\":\\\\\\\"JRadioButton\\\\\\\"," + "\\\\\\\"radioButton1\\\\\\\":\\\\\\\"JRadioButton\\\\\\\",\\\\\\\"radioButton2\\\\\\\":\\\\\\\"JRadioButton\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\"," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\"," + "\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\"," + - "\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"latexEditorView\\\"," + - "\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"previous\\\"," + - "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"ChooseTemplate\\\"," + - "\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"LatexEditorView\\\"," + - "\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"MainWindow\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}," + - "{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"OpeningWindow\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\",\"{\\\"name\\\":\\\"OpeningWindow\\\"," + + "\\\"returnType\\\":\\\"JFrame\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"latexEditorView\\\"," + + "\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"previous\\\"," + + "\\\"returnType\\\":\\\"String\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"ChooseTemplate\\\"," + + "\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"LatexEditorView\\\"," + + "\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"MainWindow\\\",\\\"arcType\\\":\\\"dependency\\\"}," + + "{\\\"source\\\":\\\"ChooseTemplate\\\",\\\"target\\\":\\\"OpeningWindow\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\",\"{\\\"name\\\":\\\"OpeningWindow\\\"," + "\\\"path\\\":\\\"/home/dimitrios/IdeaProjects/GitHub/ObjectOrientedArchitectureDiagrammer/src/test/resources/LatexEditor/src/view/OpeningWindow.java\\\"," + - "\\\"vertexType\\\":\\\"CLASS\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0,\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\"," + - "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"OpeningWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"}," + - "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + - "{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PRIVATE\\\",\\\"parameters\\\":\\\"{}\\\"}," + - "{\\\"name\\\":\\\"run\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"main\\\",\\\"returnType\\\":\\\"void\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"args\\\\\\\":\\\\\\\"String[]\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\"," + - "\\\"modifier\\\":\\\"PUBLIC\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\"," + - "\\\"modifier\\\":\\\"PRIVATE\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"PRIVATE\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"OpeningWindow\\\"," + - "\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"ASSOCIATION\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\"," + - "\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VolatileVersionsStrategy\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\"," + - "\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"DEPENDENCY\\\"}]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + - relativePath + "\",\"vertexType\":\"PACKAGE_PRIVATE\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.view\"," + - "\"target\":\"src.model\",\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.view\",\"target\":\"src.controller\"," + - "\"arcType\":\"DEPENDENCY\"},{\"source\":\"src.view\",\"target\":\"src.model.strategies\",\"arcType\":\"DEPENDENCY\"}]}]"; + "\\\"vertexType\\\":\\\"class\\\",\\\"coordinate_x\\\":0.0,\\\"coordinate_y\\\":0.0,\\\"methods\\\":[{\\\"name\\\":\\\"actionPerformed\\\"," + + "\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"OpeningWindow\\\",\\\"returnType\\\":\\\"Constructor\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"}," + + "{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}," + + "{\\\"name\\\":\\\"initialize\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"private\\\",\\\"parameters\\\":\\\"{}\\\"}," + + "{\\\"name\\\":\\\"run\\\",\\\"returnType\\\":\\\"void\\\",\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{}\\\"},{\\\"name\\\":\\\"main\\\",\\\"returnType\\\":\\\"void\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"args\\\\\\\":\\\\\\\"String[]\\\\\\\"}\\\"},{\\\"name\\\":\\\"actionPerformed\\\",\\\"returnType\\\":\\\"void\\\"," + + "\\\"modifier\\\":\\\"public\\\",\\\"parameters\\\":\\\"{\\\\\\\"e\\\\\\\":\\\\\\\"ActionEvent\\\\\\\"}\\\"}],\\\"fields\\\":[{\\\"name\\\":\\\"frame\\\",\\\"returnType\\\":\\\"JFrame\\\"," + + "\\\"modifier\\\":\\\"private\\\"},{\\\"name\\\":\\\"latexEditorView\\\",\\\"returnType\\\":\\\"LatexEditorView\\\",\\\"modifier\\\":\\\"private\\\"}],\\\"arcs\\\":[{\\\"source\\\":\\\"OpeningWindow\\\"," + + "\\\"target\\\":\\\"LatexEditorView\\\",\\\"arcType\\\":\\\"association\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"ChooseTemplate\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\"," + + "\\\"target\\\":\\\"VersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"VolatileVersionsStrategy\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\"," + + "\\\"target\\\":\\\"VersionsManager\\\",\\\"arcType\\\":\\\"dependency\\\"},{\\\"source\\\":\\\"OpeningWindow\\\",\\\"target\\\":\\\"LatexEditorController\\\",\\\"arcType\\\":\\\"dependency\\\"}]}\"],\"parent\":{\"name\":\"src\",\"path\":\"" + + relativePath + "\",\"vertexType\":\"package_private\"},\"neighbours\":[],\"arcs\":[{\"source\":\"src.view\"," + + "\"target\":\"src.model\",\"arcType\":\"dependency\"},{\"source\":\"src.view\",\"target\":\"src.controller\"," + + "\"arcType\":\"dependency\"},{\"source\":\"src.view\",\"target\":\"src.model.strategies\",\"arcType\":\"dependency\"}]}]"; } private JsonArray getJsonArray() {