package les_tests;
import les_classes.Ville;
import les_classes.Capitale;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import les_classes.Capitale;
public class tests {
public static void main(String[] args) {
List<Ville> listVille = new ArrayList<Ville>();
// TODO Auto-generated method stub
// Ville uneVille = new Ville("Allonnes",1);
// Ville uneVille2 = new Ville("Allon");
// Capitale uneVille3 = new Capitale("Allonnes","France");
// Capitale uneVille4 = new Capitale("Allonnes",1,"France");
// System.out.println(uneVille);
// System.out.println(uneVille2);
// System.out.println(uneVille3);
// System.out.println(uneVille4);
/*
try {
Class.forName("org.postgresql.Driver");
Connection maConnexion = DriverManager.getConnection("jdbc:postgresql://postgresql.bts-malraux72.net:5432/c.jousse","c.jousse","P@ssword");
Statement maRequete = maConnexion.createStatement();
ResultSet curseurResultatV = maRequete.executeQuery("select p.relname, v.* from slam4.ville v inner join pg_class p on p.oid=v.tableoid;");
//ResultSet curseurResultatC = maRequete.executeQuery("SELECT p.relname, v.nom, capitale.nompays FROM villes v, pg_class p INNER JOIN pg_class p ON p.oid=v.tableoid");
List<Ville> lesvilles = new ArrayList<Ville>();
while(curseurResultatV.next()){
if (curseurResultatV.getString("relname").equals("ville"))
lesvilles.add(new Ville(curseurResultatV.getString("nom"), curseurResultatV.getInt("nbhabitants")));
else
{
Statement maRequete2 = maConnexion.createStatement();
ResultSet curseurResultatC = maRequete2.executeQuery("SELECT * FROM slam4.capitale where nom='"+curseurResultatV.getString("nom")+"';");
if (curseurResultatC.next())
lesvilles.add(new Capitale(curseurResultatV.getString("nom"), curseurResultatV.getInt("nbhabitants"),curseurResultatC.getString("nompays")));
curseurResultatC.close();
}
}
curseurResultatV.close();
for(Ville laville : lesvilles) {
System.out.println(laville);
}
}catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
*/
DocumentBuilderFactory ObjetXML = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder unDB = ObjetXML.newDocumentBuilder();
Document leDocument= unDB.parse(new File("eleve.xml"));
Element racine = leDocument.getDocumentElement();
NodeList racineNoeuds = racine.getChildNodes();
org.jdom2.Element racineC = new org.jdom2.Element("test");
org.jdom2.Document leDoc = new org.jdom2.Document(racineC);
org.jdom2.Element uneVilleC = new org.jdom2.Element("test");
racineC.addContent(uneVilleC);
org.jdom2.Element nomC = new org.jdom2.Element("nomC");
nomC.setText("JOUSSECITY");
uneVilleC.addContent(nomC);
org.jdom2.Element nbHabitantsC = new org.jdom2.Element("nbHabitantsC");
nbHabitantsC.setText(String.valueOf(45644666));
uneVilleC.addContent(nbHabitantsC);
try
{
XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
sortie.output((org.jdom2.Document) leDoc, new FileOutputStream("/home/etudiant/villeC.xml"));
}
catch (java.io.IOException e){
System.err.println("erreur - écriture fichier xml");
}
for (int i=0; i<racineNoeuds.getLength(); i++) {
if(racineNoeuds.item(i).getNodeType() == Node.ELEMENT_NODE) {
Element uneVille = (Element) racineNoeuds.item(i);
Element nom = (Element) uneVille.getElementsByTagName("nom").item(0);
Element nbHabitants = (Element) uneVille.getElementsByTagName("nbHabitants").item(0);
Element nomPays = (Element) uneVille.getElementsByTagName("nomPays").item(0);
if (nomPays.getTextContent().equals(null)) {
listVille.add(new Ville(nom.getTextContent(),Integer.parseInt(nbHabitants.getTextContent())));
}
else {
listVille.add(new Capitale(nom.getTextContent(),Integer.parseInt(nbHabitants.getTextContent()), nomPays.getTextContent()));
}
System.out.println("nom de la ville : " + nom.getTextContent() +
"- nbHabitants : " + nbHabitants.getTextContent() +
"- nomPays : " + nomPays.getTextContent());
}
}
} catch (ParserConfigurationException | SAXException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}