analyseWriter/src/baseEvaluations/recupeNodeBaseEvaluations.java

131 lines
4.4 KiB
Java

package baseEvaluations;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.nio.file.Paths;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import MEPTL.commandes;
import cXML.node;
/**
* Récupère la base des évaluations qui se trouve indiqué par commandes.<br>
* PathBaseEvaluationDefaut ou commandes.PathBaseEvaluations.
*/
public class recupeNodeBaseEvaluations {
private boolean HasEvaluation = false;
/**
* Récupère la base des évaluations qui se trouve indiqué par commandes.<br>
* PathBaseEvaluationDefaut ou commandes.PathBaseEvaluations.
*/
public recupeNodeBaseEvaluations() {
String directoryName = "";
File file = null;
if(commandes.PathBaseEvaluationDefaut) {
directoryName = Paths.get("").toAbsolutePath().toString();
}else {
directoryName = commandes.PathBaseEvaluations;
}
if(commandes.os.contains("Win")) {
file = new File(directoryName + "\\" + commandes.NameBaseEvaluations);
}else {
file = new File(directoryName + "/" + commandes.NameBaseEvaluations);
}
if(file!=null) {
BufferedReader br;
try {
br = new BufferedReader(
new InputStreamReader(
new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
String line;
StringBuilder targetString = new StringBuilder();
while ((line = br.readLine()) != null) {
targetString.append(line);
}
node evaluations = new node();
evaluations = evaluations.allFirstNodesEvaluationFichierOnly(targetString.toString().replace("\t","").replace("\r", "").replace("\n", ""));
if(evaluations!=null) commandes.evaluationsBase = evaluations;
if(evaluations.getNodes().size()>0) HasEvaluation=true;
}catch (Exception e) {
JLabel texte = new JLabel("<html><p>La base de données des évaluations n'est pas située dans le même répertoire que celui de l'application.</p><br>"
+"<p>Vous pouvez charger ou créer une base de données depuis la fenêtre \"<b>base de données d'évaluation</b>\".</p></html>");
JOptionPane.showMessageDialog(null, texte);
}
}
}
/**
* * Récupère la base des évaluations qui se trouve indiqué par commandes.<br>
* directoryName et NameNewBase.
* @param directoryName
* @param NameNewBase
*/
public recupeNodeBaseEvaluations(String directoryName, String NameNewBase) {
File file = null;
if(commandes.os.contains("Win")) {
file = new File(directoryName + "\\" + NameNewBase);
}else {
file = new File(directoryName + "/" + NameNewBase);
}
if(file!=null) {
BufferedReader br;
try {
br = new BufferedReader(
new InputStreamReader(
new FileInputStream(file.getAbsoluteFile()), "UTF-8"));
String line;
StringBuilder targetString = new StringBuilder();
while ((line = br.readLine()) != null) {
targetString.append(line);
}
String codeTexte = targetString.toString().replace("\t","").replace("\r", "").replace("\n", "");
if(codeTexte.contains("<evaluations ")&&codeTexte.contains("</evaluations>")) {
node evaluations = new node();
evaluations = evaluations.allFirstNodesEvaluationFichierOnly(codeTexte);
if(evaluations!=null) {
if(evaluations.getNodes().size()>0) {
if(evaluations.getNomElt().equals("evaluations")) {
commandes.evaluationsBase = evaluations;
commandes.PathBaseEvaluations = (directoryName);
commandes.NameBaseEvaluations = NameNewBase;
commandes.PathBaseEvaluationDefaut = false;
}
}
}
}else {
JLabel texte = new JLabel("<html><p>Ce fichier n'est pas une base de données des évaluations d'analyseWriter.</p></html>");
JOptionPane.showMessageDialog(null, texte);JOptionPane.showMessageDialog(null, texte);
}
}catch (Exception e) {
JLabel texte = new JLabel("<html><p>La base de données n'est pas située dans le même répertoire que celui de l'application.</p><br>"
+"<p>Vous pouvez charger ou créer une base de données depuis la fenêtre \"<b>base de données d'évaluation</b>\" de l'application.</p></html>");
JOptionPane.showMessageDialog(null, texte);JOptionPane.showMessageDialog(null, texte);
}
}
}
public boolean isHasEvaluation() {
return HasEvaluation;
}
}