package Modele;
import Config.JDOM;
import Config.ProfJDOM;
import java.util.LinkedList;
import java.util.List;
import org.jdom2.Element;
/**
* Classe de gestion des couples professeur/cle publique.
*
*
* @author Tiphaine TEYSSIER
* @author Tan Phong HUYNH
*
*/
public class GestionKeyProf {
private LinkedList<KeyProf> KeysProf;
private static GestionKeyProf instance;
/**
* Constructeur Lis fichier + charge en memoire dans keysprof
*/
private GestionKeyProf() {
KeysProf = new LinkedList<KeyProf>();
loadFromXML();
}
/**
*
* @return
*/
public static GestionKeyProf getInstance() {
if (instance == null) {
instance = new GestionKeyProf();
}
return instance;
}
public LinkedList<KeyProf> getKeysProf() {
return KeysProf;
}
/**
* A voir si plusieurs get
*/
private void loadFromXML() {
JDOM jdom = ProfJDOM.getInstance();
List<Element> profs = jdom.getRootNode().getChildren("prof");
for (Element e : profs) {
KeyProf kp = new KeyProf(e.getChildText("libelle"), e.getChildText("cert"), Integer.valueOf(e.getAttributeValue("id")));
KeysProf.addLast(kp);
}
}
/**
* Creer un new prof et ajout dans la liste + enregistrer dans fichier xml
*
* @param libelle
* @param publicKey
*/
public void createKeyProf(String libelle, String cert) {
KeyProf kp = new KeyProf(libelle, cert);
KeysProf.addLast(kp);
kp.save();
}
/**
*
* @param kp
*/
public void deleteKeyProf(KeyProf kp) {
KeysProf.remove(kp);
kp.delete();
}
public KeyProf getKeyProfFromCertif(String certif){
for (KeyProf keyProf : KeysProf) {
if(keyProf.getCertificat().equals(certif)){
return keyProf;
}
}
return null;
}
}