Commit 61a26a85 authored by sunye's avatar sunye
Browse files

Simplify command behavior for Idea creation

parent 1f588028
......@@ -40,6 +40,7 @@ buildNumber.properties
.project
.idea
*.iml
.settings/
# MacOS
.java-version
\ No newline at end of file
package fr.alma.gtd.server.main.commande;
import fr.alma.gtd.server.main.donnees.Idee;
import fr.alma.gtd.server.persistence.data.Utilisateur;
import fr.alma.gtd.server.persistence.sessions.IIdeeServiceRemote;
import fr.alma.gtd.server.persistence.sessions.IUtilisateurServiceRemote;
......@@ -12,78 +13,57 @@ import java.rmi.RemoteException;
import java.util.Properties;
import fr.alma.gtd.server.core.CallBack;
/**
* Commande de creation d'une idee.
* author Nobody
* author Nobody
*
* @version 1.0.0
*/
public final class CommandeCreerIdee implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* L'idee.
*/
private final IIdee idee;
/**
* Le callback.
*/
private final CallBack<IIdee> callback;
/**
* Le service de gestion des idees.
*/
private IIdeeServiceRemote ideeServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
private IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
* @param i L'identifiant de l'utilisateur.
* @param id L'idee a creer.
* @param c Le callback.
*/
public CommandeCreerIdee(final String i, final IIdee id, final CallBack<IIdee> c) {
super();
this.identification = i;
this.idee = id;
this.callback = c;
final Properties env = new Properties();
env.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
env.setProperty("java.naming.provider.url", "localhost:1099");
env.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
try {
final Context context = new InitialContext(env);
this.ideeServiceRemote = (IIdeeServiceRemote) context.lookup("IdeeService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void execute() throws RemoteException {
final IIdee ide = this.ideeServiceRemote.getIdeeById(this.idee.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.idee.getCreateur().getIdentifiantServeur());
if ((ide == null) && (uti != null) && (this.identification.equalsIgnoreCase(this.idee.getCreateur().getIdentifiantServeur()))) {
this.callback.onSucces(this.ideeServiceRemote.creerIdee(this.idee));
} else {
if (ide != null) {
this.callback.onFailure(new Exception("Idee deja existante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* L'idee.
*/
private final IIdee idee;
/**
* Le callback.
*/
private final CallBack<IIdee> callback;
/**
* Le service de gestion des idees.
*/
private IIdeeServiceRemote ideeServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
private IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param id L'idee a creer.
* @param c Le callback.
*/
public CommandeCreerIdee(final String i, final IIdee id, final CallBack<IIdee> c) {
super();
this.identification = i;
this.idee = id;
this.callback = c;
}
@Override
public void execute() throws RemoteException {
IIdee nouvelleIdee = new Idee(this.idee);
}
}
package fr.alma.gtd.server.main.donnees;
import fr.alma.gtd.server.core.AbstractIdee;
import fr.alma.gtd.server.core.IIdee;
import fr.alma.gtd.server.core.IParticipant;
import java.util.Date;
public class Idee implements IIdee {
private String nom;
private String description;
private IParticipant createur;
private String idServeur;
public Idee(IIdee autre) {
this.nom = autre.getNom();
this.description = autre.getDescription();
this.idServeur = autre.getIdentifiantServeur();
}
@Override
public String getNom() {
return nom;
}
@Override
public void setNom(String n) {
nom = n;
}
@Override
public String getDescription() {
return description;
}
@Override
public void setDescription(String desc) {
description = desc;
}
@Override
public void mettreALaPoubelle() {
}
@Override
public void restaurer() {
}
@Override
public boolean isDansLaPoubelle() {
return false;
}
@Override
public void setDansLaPoubelle(boolean estDansArchive) {
}
@Override
public boolean isDansArchive() {
return false;
}
@Override
public void setDansArchive(boolean estDansArchive) {
}
@Override
public IParticipant getCreateur() {
return createur;
}
@Override
public void setCreateur(IParticipant c) {
createur = c;
}
@Override
public String getIdentifiantServeur() {
return idServeur;
}
@Override
public void setIdentifiantServeur(String idServeur) {
this.idServeur = idServeur;
}
@Override
public Date getDateDeDerniereModification() {
return null;
}
@Override
public void setDateDeDerniereModification(Date dateDerniereModification) {
}
}
......@@ -228,5 +228,4 @@ public final class Projet extends AbstractProjet {
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment