$
This commit is contained in:
parent
3e172218a6
commit
5d7acefae2
12
Makefile
12
Makefile
@ -3,7 +3,7 @@ JAVA = java
|
|||||||
JAVAC = javac
|
JAVAC = javac
|
||||||
JAVADOC = javadoc
|
JAVADOC = javadoc
|
||||||
OPTIONSDOCS = -d docs -noqualifier all
|
OPTIONSDOCS = -d docs -noqualifier all
|
||||||
OPTIONS = -d build/fr/sae/JSonInspector -Xlint:unchecked -Xlint:deprecation
|
JAVAC_OPTIONS = -d build -cp build:$$CLASSPATH -implicit:none
|
||||||
EXT = .java
|
EXT = .java
|
||||||
|
|
||||||
# CHEMINS
|
# CHEMINS
|
||||||
@ -19,7 +19,11 @@ SETTINGS = ${SRCFULLPATH}/Settings
|
|||||||
STORAGE = ${SRCFULLPATH}/Storage
|
STORAGE = ${SRCFULLPATH}/Storage
|
||||||
MAIN = ${SRCFULLPATH}/Main.java
|
MAIN = ${SRCFULLPATH}/Main.java
|
||||||
|
|
||||||
.PHONY: clean docs
|
.PHONY: clean docs run
|
||||||
|
|
||||||
|
run:
|
||||||
|
mkdir build
|
||||||
|
mkdir -p $(src)/
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf ${BUILD} && rm -rf ${DOCS}
|
rm -rf ${BUILD} && rm -rf ${DOCS}
|
||||||
@ -29,6 +33,6 @@ docs:
|
|||||||
${JAVADOC} ${OPTIONSDOCS} ${ALL}
|
${JAVADOC} ${OPTIONSDOCS} ${ALL}
|
||||||
|
|
||||||
# COMPILATION
|
# COMPILATION
|
||||||
${build}/Exception/JsonSyntaxException.class : ${EXCEPTION}/JsonSyntaxException.java
|
|
||||||
${JAVAC} ${JAVAC_OPTIONS} ${EXCEPTION}/JsonSyntaxException.java
|
|
||||||
|
|
||||||
|
${build}/Exception/JsonSyntaxException.class : ${EXCEPTION}/JsonSyntaxException.java
|
||||||
|
${JAVAC} ${JAVAC_OPTIONS} ${EXCEPTION}/JsonSyntaxException.java
|
@ -1,4 +1,4 @@
|
|||||||
package JsonInspector.Exception;
|
package fr.sae.JSonInspector.Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Exception lever lorsqu'une erreur de syntaxe est rencontrée
|
* Exception lever lorsqu'une erreur de syntaxe est rencontrée
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
package JsonInspector.Graphics;
|
package fr.sae.JSonInspector.Graphics;
|
||||||
|
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.MouseListener;
|
import java.awt.event.MouseListener;
|
||||||
@ -7,10 +7,9 @@ public class ArrayObjectListener implements MouseListener {
|
|||||||
private final Line line;
|
private final Line line;
|
||||||
private final Frame frame;
|
private final Frame frame;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param line La ligne écoutée
|
* @param line La ligne écoutée
|
||||||
* @param frame la frame contenant la ligne écoutée
|
* @param frame la frame contenant la ligne écoutée
|
||||||
*/
|
*/
|
||||||
public ArrayObjectListener(Line line, Frame frame) {
|
public ArrayObjectListener(Line line, Frame frame) {
|
||||||
@ -20,6 +19,7 @@ public class ArrayObjectListener implements MouseListener {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Change le statut d'affichage de la ligne
|
* Change le statut d'affichage de la ligne
|
||||||
|
*
|
||||||
* @param e the event to be processed
|
* @param e the event to be processed
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@ -33,14 +33,18 @@ public class ArrayObjectListener implements MouseListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mousePressed(MouseEvent e) {}
|
public void mousePressed(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseReleased(MouseEvent e) {}
|
public void mouseReleased(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseEntered(MouseEvent e) {}
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseExited(MouseEvent e) {}
|
public void mouseExited(MouseEvent e) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package JsonInspector.Graphics;
|
package fr.sae.JSonInspector.Graphics;
|
||||||
|
|
||||||
import JsonInspector.Exception.JsonSyntaxException;
|
import fr.sae.JSonInspector.Exception.JsonSyntaxException;
|
||||||
import JsonInspector.Main;
|
import fr.sae.JSonInspector.Main;
|
||||||
import JsonInspector.Settings.Parameters;
|
import fr.sae.JSonInspector.Settings.Parameters;
|
||||||
import JsonInspector.Storage.Tree;
|
import fr.sae.JSonInspector.Storage.Tree;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@ -20,27 +20,25 @@ public class Frame extends JFrame {
|
|||||||
private GraphicFile file;
|
private GraphicFile file;
|
||||||
private Tree tree;
|
private Tree tree;
|
||||||
|
|
||||||
|
|
||||||
public Frame() {
|
public Frame() {
|
||||||
super("Inspecteur JSON");
|
super("Inspecteur JSON");
|
||||||
init();
|
init();
|
||||||
this.setVisible(true);
|
this.setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void init() {
|
private void init() {
|
||||||
this.setSize(DEFAULT_FRAME_SIZE);
|
this.setSize(DEFAULT_FRAME_SIZE);
|
||||||
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
|
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
|
||||||
this.setMinimumSize(MINIMUM_FRAME_SIZE);
|
this.setMinimumSize(MINIMUM_FRAME_SIZE);
|
||||||
this.setLayout(cards);
|
this.setLayout(cards);
|
||||||
this.add(firstCard());
|
this.add(firstCard());
|
||||||
//this.add(secondCard());
|
// this.add(secondCard());
|
||||||
cards.first(this.getContentPane());
|
cards.first(this.getContentPane());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer le premier panel où l'on entre l'URL du fichier
|
* Créer le premier panel où l'on entre l'URL du fichier
|
||||||
|
*
|
||||||
* @return le panel créé
|
* @return le panel créé
|
||||||
*/
|
*/
|
||||||
private JPanel firstCard() {
|
private JPanel firstCard() {
|
||||||
@ -53,8 +51,8 @@ public class Frame extends JFrame {
|
|||||||
panel.setLayout(layout);
|
panel.setLayout(layout);
|
||||||
|
|
||||||
gbc.insets = new Insets(10, 10, 10, 10);
|
gbc.insets = new Insets(10, 10, 10, 10);
|
||||||
gbc.gridx = 0;
|
gbc.gridx = 0;
|
||||||
gbc.gridy = 0;
|
gbc.gridy = 0;
|
||||||
JLabel label = new JLabel("URL :");
|
JLabel label = new JLabel("URL :");
|
||||||
label.setForeground(Parameters.DEFAULT_TEXT_COLOR);
|
label.setForeground(Parameters.DEFAULT_TEXT_COLOR);
|
||||||
panel.add(label, gbc);
|
panel.add(label, gbc);
|
||||||
@ -62,8 +60,8 @@ public class Frame extends JFrame {
|
|||||||
gbc.gridx = 1;
|
gbc.gridx = 1;
|
||||||
panel.add(textField, gbc);
|
panel.add(textField, gbc);
|
||||||
|
|
||||||
gbc.gridx = 0;
|
gbc.gridx = 0;
|
||||||
gbc.gridy = 1;
|
gbc.gridy = 1;
|
||||||
gbc.gridwidth = 2;
|
gbc.gridwidth = 2;
|
||||||
panel.add(button, gbc);
|
panel.add(button, gbc);
|
||||||
|
|
||||||
@ -71,9 +69,9 @@ public class Frame extends JFrame {
|
|||||||
return panel;
|
return panel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer le deuxième panel où l'on voit le fichier
|
* Créer le deuxième panel où l'on voit le fichier
|
||||||
|
*
|
||||||
* @return le panel créé
|
* @return le panel créé
|
||||||
*/
|
*/
|
||||||
private JPanel secondCard() {
|
private JPanel secondCard() {
|
||||||
@ -81,9 +79,9 @@ public class Frame extends JFrame {
|
|||||||
return initSecondCard(file);
|
return initSecondCard(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer le deuxième panel où l'on voit le fichier
|
* Créer le deuxième panel où l'on voit le fichier
|
||||||
|
*
|
||||||
* @return le panel créé
|
* @return le panel créé
|
||||||
*/
|
*/
|
||||||
private JPanel secondCard(GraphicFile file) {
|
private JPanel secondCard(GraphicFile file) {
|
||||||
@ -91,7 +89,6 @@ public class Frame extends JFrame {
|
|||||||
return initSecondCard(file);
|
return initSecondCard(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private JPanel initSecondCard(GraphicFile file) {
|
private JPanel initSecondCard(GraphicFile file) {
|
||||||
JButton unfoldButton = new JButton("Tout déplier");
|
JButton unfoldButton = new JButton("Tout déplier");
|
||||||
JButton retreatButton = new JButton("Tout replier");
|
JButton retreatButton = new JButton("Tout replier");
|
||||||
@ -125,7 +122,6 @@ public class Frame extends JFrame {
|
|||||||
return mainPanel;
|
return mainPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passe de la version PHP du fichier à la version JSON et vice-versa
|
* Passe de la version PHP du fichier à la version JSON et vice-versa
|
||||||
*/
|
*/
|
||||||
@ -139,7 +135,6 @@ public class Frame extends JFrame {
|
|||||||
repaintFile();
|
repaintFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Déplit l'élément cliqué
|
* Déplit l'élément cliqué
|
||||||
*/
|
*/
|
||||||
@ -148,7 +143,6 @@ public class Frame extends JFrame {
|
|||||||
repaintFile();
|
repaintFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replit l'élément cliqué
|
* Replit l'élément cliqué
|
||||||
*/
|
*/
|
||||||
@ -157,7 +151,6 @@ public class Frame extends JFrame {
|
|||||||
repaintFile();
|
repaintFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Met à jour le fichier
|
* Met à jour le fichier
|
||||||
*/
|
*/
|
||||||
@ -169,9 +162,9 @@ public class Frame extends JFrame {
|
|||||||
cards.last(this.getContentPane());
|
cards.last(this.getContentPane());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passe du premier panel au second
|
* Passe du premier panel au second
|
||||||
|
*
|
||||||
* @param field le champ contenant l'URL
|
* @param field le champ contenant l'URL
|
||||||
*/
|
*/
|
||||||
private void validationAction(JTextField field) {
|
private void validationAction(JTextField field) {
|
||||||
@ -199,10 +192,10 @@ public class Frame extends JFrame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Passe du second panel au premier
|
* Passe du second panel au premier
|
||||||
* @param panel
|
*
|
||||||
|
* @param panel
|
||||||
*/
|
*/
|
||||||
private void backAction(JPanel panel) {
|
private void backAction(JPanel panel) {
|
||||||
this.remove(panel);
|
this.remove(panel);
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package JsonInspector.Graphics;
|
package fr.sae.JSonInspector.Graphics;
|
||||||
|
|
||||||
import JsonInspector.Settings.Parameters;
|
import fr.sae.JSonInspector.Settings.Parameters;
|
||||||
import JsonInspector.Storage.Node;
|
import fr.sae.JSonInspector.Storage.Node;
|
||||||
import JsonInspector.Storage.Tree;
|
import fr.sae.JSonInspector.Storage.Tree;
|
||||||
import JsonInspector.Storage.Type;
|
import fr.sae.JSonInspector.Storage.Type;
|
||||||
import JsonInspector.Storage.Value;
|
import fr.sae.JSonInspector.Storage.Value;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@ -18,7 +18,6 @@ public class GraphicFile extends JPanel {
|
|||||||
private boolean php = false;
|
private boolean php = false;
|
||||||
private Node firstNode;
|
private Node firstNode;
|
||||||
|
|
||||||
|
|
||||||
public GraphicFile(Frame frame, Tree tree, boolean php) {
|
public GraphicFile(Frame frame, Tree tree, boolean php) {
|
||||||
super();
|
super();
|
||||||
this.php = php;
|
this.php = php;
|
||||||
@ -30,13 +29,12 @@ public class GraphicFile extends JPanel {
|
|||||||
displayLines();
|
displayLines();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public GraphicFile(Frame frame, ArrayList<Line> lines) {
|
public GraphicFile(Frame frame, ArrayList<Line> lines) {
|
||||||
super();
|
super();
|
||||||
init();
|
init();
|
||||||
this.frame = frame;
|
this.frame = frame;
|
||||||
this.lines = lines;
|
this.lines = lines;
|
||||||
//displayAllLines();
|
// displayAllLines();
|
||||||
displayLines();
|
displayLines();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,11 +50,11 @@ public class GraphicFile extends JPanel {
|
|||||||
this.add(alignementPanel);
|
this.add(alignementPanel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* parcours de manière récursive l'arbre pour créer les lignes
|
* parcours de manière récursive l'arbre pour créer les lignes
|
||||||
* @param node le noeud à afficher
|
*
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param node le noeud à afficher
|
||||||
|
* @param depth la profondeur dans l'arbre
|
||||||
* @param virgule détermine si une virgule doit être affichée à la fin
|
* @param virgule détermine si une virgule doit être affichée à la fin
|
||||||
*/
|
*/
|
||||||
private void createFileRecursive(Node node, int depth, boolean virgule) {
|
private void createFileRecursive(Node node, int depth, boolean virgule) {
|
||||||
@ -77,13 +75,13 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créé une ligne de type 'PAIR'
|
* Créé une ligne de type 'PAIR'
|
||||||
* @param node le noeud a afficher
|
*
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param node le noeud a afficher
|
||||||
|
* @param depth la profondeur dans l'arbre
|
||||||
* @param indentation l'indentation du père
|
* @param indentation l'indentation du père
|
||||||
* @param virgule détermine si une virgule doit être affichée à la fin
|
* @param virgule détermine si une virgule doit être affichée à la fin
|
||||||
*/
|
*/
|
||||||
private void createPair(Node node, int depth, String indentation, boolean virgule) {
|
private void createPair(Node node, int depth, String indentation, boolean virgule) {
|
||||||
Line line = new Line(node, depth);
|
Line line = new Line(node, depth);
|
||||||
@ -95,11 +93,10 @@ public class GraphicFile extends JPanel {
|
|||||||
line.add(" => ");
|
line.add(" => ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (node.getSize() != 0) {
|
if (node.getSize() != 0) {
|
||||||
createValue(line, node.get(0));
|
createValue(line, node.get(0));
|
||||||
} else {
|
} else {
|
||||||
line.add("null" , Parameters.OTHER_COLOR);
|
line.add("null", Parameters.OTHER_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virgule) {
|
if (virgule) {
|
||||||
@ -109,13 +106,13 @@ public class GraphicFile extends JPanel {
|
|||||||
lines.add(line);
|
lines.add(line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créé une ligne de type 'OBJECT' ou 'ELEMENT'
|
* Créé une ligne de type 'OBJECT' ou 'ELEMENT'
|
||||||
* @param node le noeud a afficher
|
*
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param node le noeud a afficher
|
||||||
|
* @param depth la profondeur dans l'arbre
|
||||||
* @param indentation l'indentation du père
|
* @param indentation l'indentation du père
|
||||||
* @param virgule détermine si une virgule doit être affichée à la fin
|
* @param virgule détermine si une virgule doit être affichée à la fin
|
||||||
*/
|
*/
|
||||||
private void createObjectElement(Node node, int depth, String indentation, boolean virgule) {
|
private void createObjectElement(Node node, int depth, String indentation, boolean virgule) {
|
||||||
Line line = new Line(node, depth);
|
Line line = new Line(node, depth);
|
||||||
@ -182,13 +179,13 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créé une ligne de type 'ARRAY'
|
* Créé une ligne de type 'ARRAY'
|
||||||
* @param node le noeud a afficher
|
*
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param node le noeud a afficher
|
||||||
|
* @param depth la profondeur dans l'arbre
|
||||||
* @param indentation l'indentation du père
|
* @param indentation l'indentation du père
|
||||||
* @param virgule détermine si une virgule doit être affichée à la fin
|
* @param virgule détermine si une virgule doit être affichée à la fin
|
||||||
*/
|
*/
|
||||||
private void createArray(Node node, int depth, String indentation, boolean virgule) {
|
private void createArray(Node node, int depth, String indentation, boolean virgule) {
|
||||||
Line line = new Line(node, depth);
|
Line line = new Line(node, depth);
|
||||||
@ -205,7 +202,6 @@ public class GraphicFile extends JPanel {
|
|||||||
line.add(" => (");
|
line.add(" => (");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (node.getSize() == 0) {
|
if (node.getSize() == 0) {
|
||||||
if (virgule) {
|
if (virgule) {
|
||||||
if (!php) {
|
if (!php) {
|
||||||
@ -260,10 +256,10 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Affiche la valeur d'un noeud
|
* Affiche la valeur d'un noeud
|
||||||
* @param line la ligne sur laquelle afficher la valeur
|
*
|
||||||
|
* @param line la ligne sur laquelle afficher la valeur
|
||||||
* @param value la valeur à afficher
|
* @param value la valeur à afficher
|
||||||
*/
|
*/
|
||||||
private void createValue(Line line, Value value) {
|
private void createValue(Line line, Value value) {
|
||||||
@ -276,10 +272,10 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Appelle les fils d'un noeud père
|
* Appelle les fils d'un noeud père
|
||||||
* @param node le noeud père
|
*
|
||||||
|
* @param node le noeud père
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param depth la profondeur dans l'arbre
|
||||||
*/
|
*/
|
||||||
private void callNextNodes(Node node, int depth) {
|
private void callNextNodes(Node node, int depth) {
|
||||||
@ -296,9 +292,9 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Affiche les lignes dans l'ordre en prenant compte de leur statut de visibilité
|
* Affiche les lignes dans l'ordre en prenant compte de leur statut de
|
||||||
|
* visibilité
|
||||||
*/
|
*/
|
||||||
private void displayLines() {
|
private void displayLines() {
|
||||||
boolean inArrayObject = false, array, object;
|
boolean inArrayObject = false, array, object;
|
||||||
@ -310,7 +306,8 @@ public class GraphicFile extends JPanel {
|
|||||||
array = lines.get(i).getNode().isArray();
|
array = lines.get(i).getNode().isArray();
|
||||||
object = lines.get(i).getNode().isObject();
|
object = lines.get(i).getNode().isObject();
|
||||||
|
|
||||||
// Vérifie si le noeud est du type ARRAY ou du type OBJECT et s'il doit être affiché
|
// Vérifie si le noeud est du type ARRAY ou du type OBJECT et s'il doit être
|
||||||
|
// affiché
|
||||||
if ((array || object) && !lines.get(i).isShow()) {
|
if ((array || object) && !lines.get(i).isShow()) {
|
||||||
inArrayObject = true;
|
inArrayObject = true;
|
||||||
openedArrayObject = lines.get(i).getNode();
|
openedArrayObject = lines.get(i).getNode();
|
||||||
@ -321,7 +318,7 @@ public class GraphicFile extends JPanel {
|
|||||||
displayOneHidedLine(i, Parameters.OBJECT_ELEMENT_CLOSING);
|
displayOneHidedLine(i, Parameters.OBJECT_ELEMENT_CLOSING);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Sinon affiche la ligne normalement
|
// Sinon affiche la ligne normalement
|
||||||
} else {
|
} else {
|
||||||
displayOneLine(i);
|
displayOneLine(i);
|
||||||
}
|
}
|
||||||
@ -332,9 +329,9 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Affiche une ligne normalement
|
* Affiche une ligne normalement
|
||||||
|
*
|
||||||
* @param index le numéro de la ligne
|
* @param index le numéro de la ligne
|
||||||
*/
|
*/
|
||||||
private void displayOneLine(int index) {
|
private void displayOneLine(int index) {
|
||||||
@ -344,10 +341,10 @@ public class GraphicFile extends JPanel {
|
|||||||
alignementPanel.add(lines.get(index), gbc);
|
alignementPanel.add(lines.get(index), gbc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Affiche un ligne cacher
|
* Affiche un ligne cacher
|
||||||
* @param index le numéro de la ligne
|
*
|
||||||
|
* @param index le numéro de la ligne
|
||||||
* @param endOfLine le texte à afficher en fin de ligne
|
* @param endOfLine le texte à afficher en fin de ligne
|
||||||
*/
|
*/
|
||||||
private void displayOneHidedLine(int index, String endOfLine) {
|
private void displayOneHidedLine(int index, String endOfLine) {
|
||||||
@ -358,7 +355,6 @@ public class GraphicFile extends JPanel {
|
|||||||
alignementPanel.add(lines.get(index), gbc);
|
alignementPanel.add(lines.get(index), gbc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change tous les statuts de visibilités à vrai
|
* Change tous les statuts de visibilités à vrai
|
||||||
*/
|
*/
|
||||||
@ -371,9 +367,9 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change tous les statuts de visibilité à faux pour les éléments que l'on peut cacher
|
* Change tous les statuts de visibilité à faux pour les éléments que l'on peut
|
||||||
|
* cacher
|
||||||
*/
|
*/
|
||||||
public void retreatAll() {
|
public void retreatAll() {
|
||||||
for (Line line : lines) {
|
for (Line line : lines) {
|
||||||
@ -385,17 +381,15 @@ public class GraphicFile extends JPanel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enlève tous les caractères fermants
|
* Enlève tous les caractères fermants
|
||||||
*/
|
*/
|
||||||
private void removeAllClosingLabel() {
|
private void removeAllClosingLabel() {
|
||||||
for(Line line : lines) {
|
for (Line line : lines) {
|
||||||
line.removeClosingLabel();
|
line.removeClosingLabel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return la liste des lignes du fichier
|
* @return la liste des lignes du fichier
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package JsonInspector.Graphics;
|
package fr.sae.JSonInspector.Graphics;
|
||||||
|
|
||||||
import JsonInspector.Storage.Node;
|
import fr.sae.JSonInspector.Storage.Node;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
@ -14,10 +14,9 @@ public class Line extends MyJPanel {
|
|||||||
private MyJLabel lastElement;
|
private MyJLabel lastElement;
|
||||||
private boolean closingElement = false;
|
private boolean closingElement = false;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param node le noeud représenté par cette ligne
|
* @param node le noeud représenté par cette ligne
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param depth la profondeur dans l'arbre
|
||||||
*/
|
*/
|
||||||
public Line(Node node, int depth) {
|
public Line(Node node, int depth) {
|
||||||
@ -26,11 +25,10 @@ public class Line extends MyJPanel {
|
|||||||
this.depth = depth;
|
this.depth = depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param node le noeud représenté par cette ligne
|
* @param node le noeud représenté par cette ligne
|
||||||
* @param str le texte à afficher sur la ligne
|
* @param str le texte à afficher sur la ligne
|
||||||
* @param depth profondeur dans l'arbre
|
* @param depth profondeur dans l'arbre
|
||||||
*/
|
*/
|
||||||
public Line(Node node, String str, int depth) {
|
public Line(Node node, String str, int depth) {
|
||||||
@ -40,9 +38,9 @@ public class Line extends MyJPanel {
|
|||||||
this.depth = depth;
|
this.depth = depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute du texte sur la ligne
|
* Ajoute du texte sur la ligne
|
||||||
|
*
|
||||||
* @param string le texte à ajouter
|
* @param string le texte à ajouter
|
||||||
*/
|
*/
|
||||||
public void add(String string) {
|
public void add(String string) {
|
||||||
@ -50,33 +48,29 @@ public class Line extends MyJPanel {
|
|||||||
this.add(lastElement);
|
this.add(lastElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute du texte sur la ligne
|
* Ajoute du texte sur la ligne
|
||||||
|
*
|
||||||
* @param string le texte à ajouter
|
* @param string le texte à ajouter
|
||||||
* @param color la couleur du texte
|
* @param color la couleur du texte
|
||||||
*/
|
*/
|
||||||
public void add(String string, Color color) {
|
public void add(String string, Color color) {
|
||||||
lastElement = new MyJLabel(string, color);
|
lastElement = new MyJLabel(string, color);
|
||||||
this.add(lastElement);
|
this.add(lastElement);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Node getNode() {
|
public Node getNode() {
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int getDepth() {
|
public int getDepth() {
|
||||||
return depth;
|
return depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isShow() {
|
public boolean isShow() {
|
||||||
return show;
|
return show;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change le statut de visibilité de la ligne à 'vrai'
|
* Change le statut de visibilité de la ligne à 'vrai'
|
||||||
*/
|
*/
|
||||||
@ -84,7 +78,6 @@ public class Line extends MyJPanel {
|
|||||||
show = true;
|
show = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change le statut de visibilité de la ligne à 'faux'
|
* Change le statut de visibilité de la ligne à 'faux'
|
||||||
*/
|
*/
|
||||||
@ -92,7 +85,6 @@ public class Line extends MyJPanel {
|
|||||||
show = false;
|
show = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Définit si la ligne représente la fin d'un noeud
|
* Définit si la ligne représente la fin d'un noeud
|
||||||
*/
|
*/
|
||||||
@ -100,16 +92,15 @@ public class Line extends MyJPanel {
|
|||||||
closingElement = true;
|
closingElement = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test si la ligne représente la fin d'un noeud
|
* Test si la ligne représente la fin d'un noeud
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean isClosingElement() {
|
public boolean isClosingElement() {
|
||||||
return closingElement;
|
return closingElement;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enlève le dernier élément de la ligne
|
* Enlève le dernier élément de la ligne
|
||||||
*/
|
*/
|
||||||
@ -119,7 +110,7 @@ public class Line extends MyJPanel {
|
|||||||
this.remove(lastElement);
|
this.remove(lastElement);
|
||||||
}
|
}
|
||||||
} catch (NullPointerException e) {
|
} catch (NullPointerException e) {
|
||||||
//System.out.println("La ligne est vide");
|
// System.out.println("La ligne est vide");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package JsonInspector.Graphics;
|
package fr.sae.JSonInspector.Graphics;
|
||||||
|
|
||||||
import JsonInspector.Settings.Parameters;
|
import fr.sae.JSonInspector.Settings.Parameters;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@ -8,7 +8,7 @@ import java.awt.*;
|
|||||||
public class MyJLabel extends JLabel {
|
public class MyJLabel extends JLabel {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param text le texte à afficher
|
* @param text le texte à afficher
|
||||||
* @param color la couleur du texte
|
* @param color la couleur du texte
|
||||||
*/
|
*/
|
||||||
public MyJLabel(String text, Color color) {
|
public MyJLabel(String text, Color color) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package JsonInspector.Graphics;
|
package fr.sae.JSonInspector.Graphics;
|
||||||
|
|
||||||
import JsonInspector.Settings.Parameters;
|
import fr.sae.JSonInspector.Settings.Parameters;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@ -8,6 +8,7 @@ import java.awt.*;
|
|||||||
public class MyJPanel extends JPanel {
|
public class MyJPanel extends JPanel {
|
||||||
/**
|
/**
|
||||||
* Construit un JPanel qui aligne tous ses éléments sur la gauche
|
* Construit un JPanel qui aligne tous ses éléments sur la gauche
|
||||||
|
*
|
||||||
* @param color la couleur de fond du panel
|
* @param color la couleur de fond du panel
|
||||||
*/
|
*/
|
||||||
public MyJPanel(Color color) {
|
public MyJPanel(Color color) {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package JsonInspector.Settings;
|
package fr.sae.JSonInspector.Settings;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contient uniquement les paramètres de l'application
|
* Contient uniquement les paramètres de l'application
|
||||||
*/
|
*/
|
||||||
|
@ -1,15 +1,13 @@
|
|||||||
package JsonInspector.Storage;
|
package fr.sae.JSonInspector.Storage;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
public class Node {
|
public class Node {
|
||||||
private final List<Value> values = new ArrayList<>();
|
private final List<Value> values = new ArrayList<>();
|
||||||
private final String name;
|
private final String name;
|
||||||
private final Type type;
|
private final Type type;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param name le nom du noeud
|
* @param name le nom du noeud
|
||||||
@ -24,13 +22,13 @@ public class Node {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Détermine le type de la chaîne de caractère passé en argument
|
* Détermine le type de la chaîne de caractère passé en argument
|
||||||
|
*
|
||||||
* @param value la valeur à classifier
|
* @param value la valeur à classifier
|
||||||
*/
|
*/
|
||||||
private void findType(String value) {
|
private void findType(String value) {
|
||||||
if (value.charAt(0) == '"' && value.charAt(value.length()-1) == '"') {
|
if (value.charAt(0) == '"' && value.charAt(value.length() - 1) == '"') {
|
||||||
values.add(new Value<String>(Tree.cleanOpeningExpression(value)));
|
values.add(new Value<String>(Tree.cleanOpeningExpression(value)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -46,11 +44,11 @@ public class Node {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ajoute une valeur au noeud
|
* Ajoute une valeur au noeud
|
||||||
|
*
|
||||||
* @param value la valeur à ajouter
|
* @param value la valeur à ajouter
|
||||||
* @param <T> le type de la valeur à ajouter
|
* @param <T> le type de la valeur à ajouter
|
||||||
*/
|
*/
|
||||||
public <T> void add(T value) {
|
public <T> void add(T value) {
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
@ -62,7 +60,6 @@ public class Node {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return le type du noeud
|
* @return le type du noeud
|
||||||
@ -71,7 +68,6 @@ public class Node {
|
|||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return le nom du noeud
|
* @return le nom du noeud
|
||||||
@ -80,9 +76,9 @@ public class Node {
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la valeur contenue à l'index spécifié
|
* Retourne la valeur contenue à l'index spécifié
|
||||||
|
*
|
||||||
* @param index l'index de la valeur
|
* @param index l'index de la valeur
|
||||||
* @return la valeur trouvée
|
* @return la valeur trouvée
|
||||||
*/
|
*/
|
||||||
@ -90,36 +86,34 @@ public class Node {
|
|||||||
return values.get(index);
|
return values.get(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* retourne le nombre de valeurs du noeud
|
* retourne le nombre de valeurs du noeud
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public int getSize() {
|
public int getSize() {
|
||||||
return values.size();
|
return values.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isObject() {
|
public boolean isObject() {
|
||||||
return type == Type.OBJECT;
|
return type == Type.OBJECT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isArray() {
|
public boolean isArray() {
|
||||||
return type == Type.ARRAY;
|
return type == Type.ARRAY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isElement() {
|
public boolean isElement() {
|
||||||
return type == Type.ELEMENT;
|
return type == Type.ELEMENT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isPair() {
|
public boolean isPair() {
|
||||||
return type == Type.PAIR;
|
return type == Type.PAIR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test si l'objet est du type 'ELEMENT' ou 'OBJECT'
|
* Test si l'objet est du type 'ELEMENT' ou 'OBJECT'
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public boolean isArrayObjectElement() {
|
public boolean isArrayObjectElement() {
|
||||||
@ -134,7 +128,6 @@ public class Node {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
String string = name + " : ";
|
String string = name + " : ";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package JsonInspector.Storage;
|
package fr.sae.JSonInspector.Storage;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Un type créé pour les valeurs qui ne sont pas de type String, Double ou Integer (e type est un String dans les faits).
|
* Un type créé pour les valeurs qui ne sont pas de type String, Double ou
|
||||||
|
* Integer (e type est un String dans les faits).
|
||||||
*/
|
*/
|
||||||
public class Other {
|
public class Other {
|
||||||
String value;
|
String value;
|
||||||
@ -11,7 +11,6 @@ public class Other {
|
|||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return value;
|
return value;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package JsonInspector.Storage;
|
package fr.sae.JSonInspector.Storage;
|
||||||
|
|
||||||
import JsonInspector.Exception.JsonSyntaxException;
|
import fr.sae.JSonInspector.Exception.JsonSyntaxException;
|
||||||
import JsonInspector.Settings.Parameters;
|
import fr.sae.JSonInspector.Settings.Parameters;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -9,9 +9,9 @@ import java.util.List;
|
|||||||
public class Tree {
|
public class Tree {
|
||||||
private final Node firstNode;
|
private final Node firstNode;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Construit un objet de type 'Tree'
|
* Construit un objet de type 'Tree'
|
||||||
|
*
|
||||||
* @param file le fichier complet sur une ligne
|
* @param file le fichier complet sur une ligne
|
||||||
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
||||||
*/
|
*/
|
||||||
@ -19,9 +19,9 @@ public class Tree {
|
|||||||
firstNode = parseElement(file);
|
firstNode = parseElement(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Détermine le type de l'élément passer en argument et le transforme en noeud
|
* Détermine le type de l'élément passer en argument et le transforme en noeud
|
||||||
|
*
|
||||||
* @param element
|
* @param element
|
||||||
* @return le noeud correspondant à "element"
|
* @return le noeud correspondant à "element"
|
||||||
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
||||||
@ -48,7 +48,7 @@ public class Tree {
|
|||||||
|
|
||||||
} else if (keyValue[0].equals("")) {
|
} else if (keyValue[0].equals("")) {
|
||||||
|
|
||||||
if (keyValue[0].charAt(0) == '{' && keyValue[0].charAt(keyValue[0].length()-1) == '}') {
|
if (keyValue[0].charAt(0) == '{' && keyValue[0].charAt(keyValue[0].length() - 1) == '}') {
|
||||||
return parseElement(keyValue[0]);
|
return parseElement(keyValue[0]);
|
||||||
} else {
|
} else {
|
||||||
throw new JsonSyntaxException();
|
throw new JsonSyntaxException();
|
||||||
@ -59,10 +59,10 @@ public class Tree {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer un noeud de type tableau
|
* Créer un noeud de type tableau
|
||||||
* @param name le nom du tableau
|
*
|
||||||
|
* @param name le nom du tableau
|
||||||
* @param rawValues l'ensemble des caractères contenu entre les crochets
|
* @param rawValues l'ensemble des caractères contenu entre les crochets
|
||||||
* @return le noeud correspondant couple clé/valeur fournie
|
* @return le noeud correspondant couple clé/valeur fournie
|
||||||
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
||||||
@ -89,10 +89,10 @@ public class Tree {
|
|||||||
return array;
|
return array;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer un noeud de type objet
|
* Créer un noeud de type objet
|
||||||
* @param name nom de l'objet
|
*
|
||||||
|
* @param name nom de l'objet
|
||||||
* @param rawValues l'ensemble des éléments contenu entre les accolades
|
* @param rawValues l'ensemble des éléments contenu entre les accolades
|
||||||
* @return le noeud correspondant couple clé/valeur fournie
|
* @return le noeud correspondant couple clé/valeur fournie
|
||||||
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
||||||
@ -108,10 +108,10 @@ public class Tree {
|
|||||||
return object;
|
return object;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer un noeud de type pair
|
* Créer un noeud de type pair
|
||||||
* @param name nom du couple
|
*
|
||||||
|
* @param name nom du couple
|
||||||
* @param value valeur
|
* @param value valeur
|
||||||
* @return le noeud correspondant couple clé/valeur fournie
|
* @return le noeud correspondant couple clé/valeur fournie
|
||||||
*/
|
*/
|
||||||
@ -122,9 +122,9 @@ public class Tree {
|
|||||||
return pair;
|
return pair;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Créer un noeud de type element (meme chose que le type object mais sans nom)
|
* Créer un noeud de type element (meme chose que le type object mais sans nom)
|
||||||
|
*
|
||||||
* @param rawValues l'ensemble des éléments contenu entre les accolades
|
* @param rawValues l'ensemble des éléments contenu entre les accolades
|
||||||
* @return le noeud correspondant couple clé/valeur fournie
|
* @return le noeud correspondant couple clé/valeur fournie
|
||||||
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
* @throws JsonSyntaxException exception lever en cas d'erreur de syntaxe
|
||||||
@ -140,22 +140,22 @@ public class Tree {
|
|||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enlève les caractères ouvrant et fermant
|
* Enlève les caractères ouvrant et fermant
|
||||||
|
*
|
||||||
* @param strToClean chaîne de caractères à nettoyer
|
* @param strToClean chaîne de caractères à nettoyer
|
||||||
* @return chaîne de caractères nettoyée
|
* @return chaîne de caractères nettoyée
|
||||||
*/
|
*/
|
||||||
public static String cleanOpeningExpression(String strToClean) {
|
public static String cleanOpeningExpression(String strToClean) {
|
||||||
StringBuilder cleanedString = new StringBuilder(strToClean);
|
StringBuilder cleanedString = new StringBuilder(strToClean);
|
||||||
cleanedString.deleteCharAt(0);
|
cleanedString.deleteCharAt(0);
|
||||||
cleanedString.deleteCharAt(cleanedString.length()-1);
|
cleanedString.deleteCharAt(cleanedString.length() - 1);
|
||||||
return cleanedString.toString();
|
return cleanedString.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sépare l'ensemble des éléments contenu dans la chaîne de caractères
|
* Sépare l'ensemble des éléments contenu dans la chaîne de caractères
|
||||||
|
*
|
||||||
* @param listToSplit la liste à trier
|
* @param listToSplit la liste à trier
|
||||||
* @return l'ensemble des éléments séparé
|
* @return l'ensemble des éléments séparé
|
||||||
*/
|
*/
|
||||||
@ -183,9 +183,9 @@ public class Tree {
|
|||||||
return elements;
|
return elements;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sépare la clé de sa valeur
|
* Sépare la clé de sa valeur
|
||||||
|
*
|
||||||
* @param expressionToSplit l'expression à diviser
|
* @param expressionToSplit l'expression à diviser
|
||||||
* @return le couple clé/valeur créé
|
* @return le couple clé/valeur créé
|
||||||
*/
|
*/
|
||||||
@ -212,21 +212,21 @@ public class Tree {
|
|||||||
}
|
}
|
||||||
value = buffer;
|
value = buffer;
|
||||||
|
|
||||||
return new String[] {key, value};
|
return new String[] { key, value };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Affiche l'arbre de manière récursive
|
* Affiche l'arbre de manière récursive
|
||||||
* @param node le noeud a afficher
|
*
|
||||||
|
* @param node le noeud a afficher
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param depth la profondeur dans l'arbre
|
||||||
* @return le noeud convertit en chaîne de caractères
|
* @return le noeud convertit en chaîne de caractères
|
||||||
*/
|
*/
|
||||||
public static String printTree(Node node, int depth) {
|
public static String printTree(Node node, int depth) {
|
||||||
String line = "", indentation = "";
|
String line = "", indentation = "";
|
||||||
|
|
||||||
//créé l'indentation de la bonne taille en fonction de la
|
// créé l'indentation de la bonne taille en fonction de la
|
||||||
//profondeur dans l'arbre
|
// profondeur dans l'arbre
|
||||||
for (int i = 0; i < depth; i++) {
|
for (int i = 0; i < depth; i++) {
|
||||||
indentation += Parameters.CONSOLE_INDENTATION;
|
indentation += Parameters.CONSOLE_INDENTATION;
|
||||||
}
|
}
|
||||||
@ -237,24 +237,23 @@ public class Tree {
|
|||||||
line += indentation + node.getName();
|
line += indentation + node.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (node.isObject() || node.isElement()) {
|
if (node.isObject() || node.isElement()) {
|
||||||
line += printObjectElement(node, depth, indentation);
|
line += printObjectElement(node, depth, indentation);
|
||||||
|
|
||||||
} else if (node.isPair()){
|
} else if (node.isPair()) {
|
||||||
line += printPair(node);
|
line += printPair(node);
|
||||||
|
|
||||||
} else if (node.isArray()){
|
} else if (node.isArray()) {
|
||||||
line += printArray(node, depth, indentation);
|
line += printArray(node, depth, indentation);
|
||||||
}
|
}
|
||||||
|
|
||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Appel les fils suivants d'un noeud père
|
* Appel les fils suivants d'un noeud père
|
||||||
* @param node le noeud père
|
*
|
||||||
|
* @param node le noeud père
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param depth la profondeur dans l'arbre
|
||||||
* @return l'ensemble des noeuds fils convertit en chaîne de caractères
|
* @return l'ensemble des noeuds fils convertit en chaîne de caractères
|
||||||
*/
|
*/
|
||||||
@ -274,9 +273,9 @@ public class Tree {
|
|||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convertit en chaîne de caractères un noeud de type 'PAIR'
|
* Convertit en chaîne de caractères un noeud de type 'PAIR'
|
||||||
|
*
|
||||||
* @param node le noeud a afficher
|
* @param node le noeud a afficher
|
||||||
* @return le noeud convertit en chaîne de caractères
|
* @return le noeud convertit en chaîne de caractères
|
||||||
*/
|
*/
|
||||||
@ -297,11 +296,11 @@ public class Tree {
|
|||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convertit en chaîne de caractères un noeud de type 'OBJECT' ou 'ELEMENT'
|
* Convertit en chaîne de caractères un noeud de type 'OBJECT' ou 'ELEMENT'
|
||||||
* @param node le noeud à afficher
|
*
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param node le noeud à afficher
|
||||||
|
* @param depth la profondeur dans l'arbre
|
||||||
* @param indentation l'indentation du noeud père
|
* @param indentation l'indentation du noeud père
|
||||||
* @return le noeud convertit en chaîne de caractères
|
* @return le noeud convertit en chaîne de caractères
|
||||||
*/
|
*/
|
||||||
@ -324,11 +323,11 @@ public class Tree {
|
|||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convertit en chaîne de caractères un noeud de type 'ARRAY'
|
* Convertit en chaîne de caractères un noeud de type 'ARRAY'
|
||||||
* @param node le noeud à afficher
|
*
|
||||||
* @param depth la profondeur dans l'arbre
|
* @param node le noeud à afficher
|
||||||
|
* @param depth la profondeur dans l'arbre
|
||||||
* @param indentation l'indentation du noeud père
|
* @param indentation l'indentation du noeud père
|
||||||
* @return le noeud convertit en chaîne de caractères
|
* @return le noeud convertit en chaîne de caractères
|
||||||
*/
|
*/
|
||||||
@ -348,11 +347,11 @@ public class Tree {
|
|||||||
line += "\n" + printTree((Node) node.get(i).getValue(), depth + 1);
|
line += "\n" + printTree((Node) node.get(i).getValue(), depth + 1);
|
||||||
} else {
|
} else {
|
||||||
line += "\n" + indentation + Parameters.CONSOLE_INDENTATION;
|
line += "\n" + indentation + Parameters.CONSOLE_INDENTATION;
|
||||||
if (node.get(i).isString()) {
|
if (node.get(i).isString()) {
|
||||||
line += "\"" + node.get(i).getValue() + "\"";
|
line += "\"" + node.get(i).getValue() + "\"";
|
||||||
} else {
|
} else {
|
||||||
line += node.get(i).getValue();
|
line += node.get(i).getValue();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// si la valeur n'est pas la dernière alors on lui ajoute une virgule
|
// si la valeur n'est pas la dernière alors on lui ajoute une virgule
|
||||||
@ -367,15 +366,14 @@ public class Tree {
|
|||||||
return line;
|
return line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return printTree(firstNode, 0);
|
return printTree(firstNode, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* retourne le noeud d'entrer dans l'arbre
|
* retourne le noeud d'entrer dans l'arbre
|
||||||
|
*
|
||||||
* @return le premier noeud de l'arbre
|
* @return le premier noeud de l'arbre
|
||||||
*/
|
*/
|
||||||
public Node getFirstNode() {
|
public Node getFirstNode() {
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
package JsonInspector.Storage;
|
package fr.sae.JSonInspector.Storage;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Un type énuméré contenant tous les types possibles de noeud
|
* Un type énuméré contenant tous les types possibles de noeud
|
||||||
|
@ -1,23 +1,21 @@
|
|||||||
package JsonInspector.Storage;
|
package fr.sae.JSonInspector.Storage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Représente une valeur
|
* Représente une valeur
|
||||||
|
*
|
||||||
* @param <T> le type de la valeur
|
* @param <T> le type de la valeur
|
||||||
*/
|
*/
|
||||||
public class Value <T> {
|
public class Value<T> {
|
||||||
private T value;
|
private T value;
|
||||||
|
|
||||||
|
|
||||||
public Value(T value) {
|
public Value(T value) {
|
||||||
this.value = value;
|
this.value = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public T getValue() {
|
public T getValue() {
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isObjectOrArray() {
|
public boolean isObjectOrArray() {
|
||||||
if (value.getClass().equals(Node.class)) {
|
if (value.getClass().equals(Node.class)) {
|
||||||
Node node = (Node) value;
|
Node node = (Node) value;
|
||||||
@ -31,17 +29,14 @@ public class Value <T> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isNode() {
|
public boolean isNode() {
|
||||||
return value.getClass().equals(Node.class);
|
return value.getClass().equals(Node.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isString() {
|
||||||
public boolean isString () {
|
|
||||||
return value.getClass().equals(String.class);
|
return value.getClass().equals(String.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isNumber() {
|
public boolean isNumber() {
|
||||||
return value.getClass().equals(Integer.class) || value.getClass().equals(Double.class);
|
return value.getClass().equals(Integer.class) || value.getClass().equals(Double.class);
|
||||||
}
|
}
|
||||||
|
8566
toFormat.json
8566
toFormat.json
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user