Nantes Université

Skip to content
Extraits de code Groupes Projets
Modele.java 4,22 ko
Newer Older
Sunye's avatar
Sunye a validé
package fr.alma.modele;

import java.util.Date;
import java.util.List;

import fr.alma.ihm.vues.generale.arbre.ArbreGTD;
import fr.alma.modele.gestionnaire.GestionnaireTaches;
import fr.alma.modele.gestionnaire.IGestionnaireTaches;
import fr.alma.modele.noyau.Contact;
import fr.alma.modele.noyau.Frequence;
import fr.alma.modele.noyau.IContact;
import fr.alma.modele.noyau.IProjet;
import fr.alma.modele.noyau.ITache;
import fr.alma.modele.noyau.Projet;
import fr.alma.modele.noyau.Tache;
Julien DURILLON's avatar
Julien DURILLON a validé
import java.util.logging.Level;
import java.util.logging.Logger;
Sunye's avatar
Sunye a validé

/**
 * Classe faisant office de façade.
 * @author Université de Nantes
 * @since 2009
 * @version 1.0
 */
Julien DURILLON's avatar
Julien DURILLON a validé
public class Modele extends AbstractModele {
Sunye's avatar
Sunye a validé

	/** Composant qui gère les tâches */
	private IGestionnaireTaches gestionnaireTaches;

	
	public Modele() {
		this.gestionnaireTaches = new GestionnaireTaches();
	}

	//**************************************************
	//				METHODES DE CLASSES
	//**************************************************

	@Override
	public Long existeUtilisateur(String login, char[] mdp) {
		return (gestionnaireTaches.getBd().existeUtilisateur(login, mdp));
	}

	@Override
	public void creerCompte(String login, char[] password, String email) {
Julien DURILLON's avatar
Julien DURILLON a validé
		Logger.getAnonymousLogger().log(Level.INFO, "Création du compte...");
Sunye's avatar
Sunye a validé
		gestionnaireTaches.getBd().creerCompte(login, password, email);
	}
	
	@Override
	public IContact creerContact(String nom, String email, String adresse, String tel) {
Julien DURILLON's avatar
Julien DURILLON a validé
		IContact contact = new Contact(nom, email, adresse, tel);
		((Contact) contact).setIdUtilisateur(AbstractModele.getIdUtilisateur());
		gestionnaireTaches.getBd().ajouterContactBD(contact);
		return contact;
Sunye's avatar
Sunye a validé
	}

	@Override
	public Long creerProjet(String nom, String contexte, String notes, IProjet projetPere) {
Julien DURILLON's avatar
Julien DURILLON a validé
		Projet projet = new Projet(nom, contexte, notes);
Sunye's avatar
Sunye a validé
		Long idProjet;
		if (projetPere == null) {
Julien DURILLON's avatar
Julien DURILLON a validé
			idProjet = gestionnaireTaches.getBd().ajouterProjetBD(projet, null);
Sunye's avatar
Sunye a validé
		} else {
Julien DURILLON's avatar
Julien DURILLON a validé
			projetPere.ajouterSousProjet(projet);
			idProjet = gestionnaireTaches.getBd().ajouterProjetBD(projet, projetPere.getId());
Sunye's avatar
Sunye a validé
		}
Julien DURILLON's avatar
Julien DURILLON a validé
		ArbreGTD.getInstance().addObject(projet);
Sunye's avatar
Sunye a validé
		notifyObserver(this);
		return idProjet;
	}

	@Override
	public void creerTache(String nom, IProjet projet, String contexte, String notes, Date dDebut, Date dEcheance, Integer priorite, 
			Integer tauxEffort, IContact[] contacts, Frequence frequence, Date dArretFrequenceRep, List<String> urls, List<String> tags) {
Julien DURILLON's avatar
Julien DURILLON a validé
		Tache tache = new Tache(nom, contexte, notes, dDebut, dEcheance, priorite, tauxEffort, contacts, frequence, dArretFrequenceRep, urls, tags);
		gestionnaireTaches.getBd().ajouterTacheBD(tache, projet);
		ArbreGTD.getInstance().addObject(tache);
Sunye's avatar
Sunye a validé
		notifyObserver(this);
	}

	@Override
Julien DURILLON's avatar
Julien DURILLON a validé
	public void editerTache(ITache tache) {
		gestionnaireTaches.getBd().modifierTache(tache);
Sunye's avatar
Sunye a validé
	}

	@Override
Julien DURILLON's avatar
Julien DURILLON a validé
	public void editerProjet(IProjet projet) {
		gestionnaireTaches.getBd().modifierProjet(projet);
Sunye's avatar
Sunye a validé
	}


	@Override
	public void supprimerContact(IContact contact){
		gestionnaireTaches.getBd().supprimerContact(contact);
	}

	@Override
	public void commit() {
Julien DURILLON's avatar
Julien DURILLON a validé
                Logger.getAnonymousLogger().log(Level.INFO, "Commit !!!");
Sunye's avatar
Sunye a validé
	}

	@Override
	public void update() {
Julien DURILLON's avatar
Julien DURILLON a validé
                Logger.getAnonymousLogger().log(Level.INFO, "Update !!!");

Sunye's avatar
Sunye a validé
	}

	@Override
	public void synchro() {
Julien DURILLON's avatar
Julien DURILLON a validé
		Logger.getAnonymousLogger().log(Level.INFO, "Synchronisation !!!");
Sunye's avatar
Sunye a validé
	}

	@Override
Julien DURILLON's avatar
Julien DURILLON a validé
	public void mettreDansCorbeille(Object object) {
		if (object instanceof IProjet) {
			gestionnaireTaches.getBd().mettreDansCorbeille((IProjet) object);
		} else if (object instanceof ITache) {
			gestionnaireTaches.getBd().mettreDansCorbeille((ITache) object);
Sunye's avatar
Sunye a validé
		}
	}
	
	@Override
	public void viderCorbeille(IProjet corbeille) {
		gestionnaireTaches.getBd().viderCorbeille(corbeille);
	}

	//**************************************************
	//		         GETTERS AND SETTERS
	//**************************************************

	public void setGestionnaireTaches(IGestionnaireTaches gestionnaireTaches) {
		this.gestionnaireTaches = gestionnaireTaches;
	}

	public IGestionnaireTaches getGestionnaireTaches() {
		return gestionnaireTaches;
	}
}