Commit 69918100 authored by Glenn PLOUHINEC's avatar Glenn PLOUHINEC
Browse files

Fix #7 - Ajout d'une classe abstraite CommandeIdee pour supprimerles redondances

parent 46e8ec8d
......@@ -3,88 +3,48 @@ package fr.alma.gtd.commande;
import fr.alma.gtd.donneespartagees.IIdee;
import fr.alma.gtd.donneesserveur.Utilisateur;
import fr.alma.gtd.interfacedistante.CallBack;
import fr.alma.gtd.isessions.IIdeeServiceRemote;
import fr.alma.gtd.isessions.IUtilisateurServiceRemote;
import java.rmi.RemoteException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* Commande de creation d'une idee.
*
* @author Stephane Begaudeau, Benjamin Gosset, Alex Lagarde, Christophe Renaudineau.
* @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"));
}
}
}
public final class CommandeCreerIdee extends CommandeIdee {
/**
* Le callback.
*/
private final CallBack<IIdee> callback;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param id L'idee a creer.
* @param c Le callback.
*/
CommandeCreerIdee(final String i, final IIdee id, final CallBack<IIdee> c) {
super(i, id);
this.callback = c;
}
@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"));
}
}
}
}
......@@ -4,104 +4,64 @@ import fr.alma.gtd.donneespartagees.IIdee;
import fr.alma.gtd.donneesserveur.Utilisateur;
import fr.alma.gtd.interfacedistante.CallBack;
import fr.alma.gtd.interfacedistante.ModeDeMiseAJour;
import fr.alma.gtd.isessions.IIdeeServiceRemote;
import fr.alma.gtd.isessions.IUtilisateurServiceRemote;
import java.rmi.RemoteException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* Commande d'envoi d'une idee.
*
* @author Stephane Begaudeau, Benjamin Gosset, Alex Lagarde, Christophe Renaudineau.
* @version 1.0.0
*/
public final class CommandeEnvoyerIdee implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* L'idee a envoyer.
*/
private final IIdee idee;
/**
* Le mode de mise a jour.
*/
private final ModeDeMiseAJour mode;
/**
* 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 ii L'identifiant de l'utilisateur.
* @param i L'idee a envoyer.
* @param m Le mode de mise a jour.
* @param c Le callback.
*/
public CommandeEnvoyerIdee(final String ii, final IIdee i, final ModeDeMiseAJour m, final CallBack<IIdee> c) {
super();
this.identification = ii;
this.idee = i;
this.mode = m;
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();
}
}
public final class CommandeEnvoyerIdee extends CommandeIdee {
/**
* Le mode de mise a jour.
*/
private final ModeDeMiseAJour mode;
/**
* Le callback.
*/
private final CallBack<IIdee> callback;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param id L'idee a envoyer.
* @param m Le mode de mise a jour.
* @param c Le callback.
*/
CommandeEnvoyerIdee(final String i, final IIdee id, final ModeDeMiseAJour m, final CallBack<IIdee> c) {
super(i, id);
this.mode = m;
this.callback = c;
}
@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());
@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(uti.getIdentifiantServeur()))) {
if (this.mode == ModeDeMiseAJour.FORCE) {
this.callback.onSucces(this.ideeServiceRemote.updateIdee(this.idee.getIdentifiantServeur(), this.idee));
} else if (this.mode == ModeDeMiseAJour.WARNING) {
if (this.idee.getDateDeDerniereModification().before(
this.ideeServiceRemote.getIdeeById(this.idee.getIdentifiantServeur()).getDateDeDerniereModification())) {
this.callback.onFailure(new Exception("Idee existante mais version plus recente en ligne"));
} else {
this.callback.onSucces(this.ideeServiceRemote.updateIdee(this.idee.getIdentifiantServeur(), this.idee));
}
}
} else {
if (ide == null) {
this.callback.onFailure(new Exception("Idee inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
if ((ide != null) && (uti != null) && (this.identification.equalsIgnoreCase(uti.getIdentifiantServeur()))) {
if (this.mode == ModeDeMiseAJour.FORCE) {
this.callback.onSucces(this.ideeServiceRemote.updateIdee(this.idee.getIdentifiantServeur(), this.idee));
} else if (this.mode == ModeDeMiseAJour.WARNING) {
if (this.idee.getDateDeDerniereModification().before(
this.ideeServiceRemote.getIdeeById(this.idee.getIdentifiantServeur()).getDateDeDerniereModification())) {
this.callback.onFailure(new Exception("Idee existante mais version plus recente en ligne"));
} else {
this.callback.onSucces(this.ideeServiceRemote.updateIdee(this.idee.getIdentifiantServeur(), this.idee));
}
}
} else {
if (ide == null) {
this.callback.onFailure(new Exception("Idee inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
}
package fr.alma.gtd.commande;
import fr.alma.gtd.donneespartagees.IIdee;
import fr.alma.gtd.isessions.IIdeeServiceRemote;
import fr.alma.gtd.isessions.IUtilisateurServiceRemote;
import java.rmi.RemoteException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public abstract class CommandeIdee implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
protected final String identification;
/**
* L'idee.
*/
protected final IIdee idee;
/**
* Le service de gestion des idees.
*/
IIdeeServiceRemote ideeServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param id L'idee a creer.
*/
CommandeIdee(final String i, final IIdee id) {
this.identification = i;
this.idee = id;
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();
}
}
public abstract void execute() throws RemoteException;
}
......@@ -3,89 +3,49 @@ package fr.alma.gtd.commande;
import fr.alma.gtd.donneespartagees.IIdee;
import fr.alma.gtd.donneesserveur.Utilisateur;
import fr.alma.gtd.interfacedistante.CallBack;
import fr.alma.gtd.isessions.IIdeeServiceRemote;
import fr.alma.gtd.isessions.IUtilisateurServiceRemote;
import java.rmi.RemoteException;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
/**
* Commande de suppression d'une idee.
*
* @author Stephane Begaudeau, Benjamin Gosset, Alex Lagarde, Christophe Renaudineau.
* @version 1.0.0
*/
public final class CommandeSupprimerIdee implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* L'idee a supprimer.
*/
private final IIdee idee;
/**
* Le callback.
*/
private final CallBack<String> callback;
/**
* Le service de gestion d'idee.
*/
private IIdeeServiceRemote ideeServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
private IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
* @param ii L'identifiant de l'utilisateur.
* @param i L'idee a supprimer.
* @param c Le callback.
*/
public CommandeSupprimerIdee(final String ii, final IIdee i, final CallBack<String> c) {
super();
this.identification = ii;
this.idee = i;
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();
}
}
public final class CommandeSupprimerIdee extends CommandeIdee {
/**
* Le callback.
*/
private final CallBack<String> callback;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param id L'idee a supprimer.
* @param c Le callback.
*/
CommandeSupprimerIdee(final String i, final IIdee id, final CallBack<String> c) {
super(i, id);
this.callback = c;
}
@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());
@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(uti.getIdentifiantServeur()))) {
this.ideeServiceRemote.removeIdeeById(ide.getIdentifiantServeur());
this.callback.onSucces("Idee supprimee");
} else {
if (ide == null) {
this.callback.onFailure(new Exception("Idee inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
if ((ide != null) && (uti != null) && (this.identification.equalsIgnoreCase(uti.getIdentifiantServeur()))) {
this.ideeServiceRemote.removeIdeeById(ide.getIdentifiantServeur());
this.callback.onSucces("Idee supprimee");
} else {
if (ide == null) {
this.callback.onFailure(new Exception("Idee inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
}
#Thu Apr 12 15:50:54 CEST 2018
#Thu Apr 12 16:24:05 CEST 2018
>>>>>>>=a1dbf8c281633bc07dba6931845c1eb4990caf40
/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/reactor/ReactorCorba.java=1523456666000
=\=\=\=\=\=\=
/comptes/E146247P/Documents/S6/CEL/projet/GTDServer/JBoss/src/main/java/fr/alma/gtd/reactor/ReactorCorba.java=1523456303000
configuration*?=F894531AF957325040175B7EC7B8FAE5D3E12697
<<<<<<<=HEAD
configuration*?=F894531AF957325040175B7EC7B8FAE5D3E12697
/comptes/E146247P/Documents/S6/CEL/projet/GTDServer/JBoss/src/main/java/fr/alma/gtd/reactor/ReactorCorba.java=1523456303000
=\=\=\=\=\=\=
......@@ -28,34 +28,6 @@
if ((tac != null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {]]></codefragment>
</duplication>
<duplication lines="22" tokens="168">
<file line="66"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerIdee.java"/>
<file line="58"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerIdee.java"/>
<codefragment><![CDATA[ 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(uti.getIdentifiantServeur()))) {]]></codefragment>
</duplication>
<duplication lines="26" tokens="159">
<file line="54"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeCreerTache.java"/>
......@@ -88,36 +60,6 @@
if ((tac == null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {]]></codefragment>
</duplication>
<duplication lines="22" tokens="142">
<file line="58"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeCreerIdee.java"/>
<file line="66"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerIdee.java"/>
<file line="58"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerIdee.java"/>
<codefragment><![CDATA[ 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()))) {]]></codefragment>
</duplication>
<duplication lines="22" tokens="142">
<file line="58"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeCreerTache.java"/>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
<?xml version="1.0"?>
<javancss>
<date>2018-04-12</date>
<time>15:50:52</time>
<time>16:24:02</time>
<packages>
<package>
<name>fr.alma.gtd.commande</name>
<classes>41</classes>
<functions>145</functions>
<ncss>916</ncss>
<javadocs>96</javadocs>
<javadoc_lines>604</javadoc_lines>
<classes>42</classes>
<functions>147</functions>
<ncss>880</ncss>
<javadocs>97</javadocs>
<javadoc_lines>598</javadoc_lines>
<single_comment_lines>1</single_comment_lines>
<multi_comment_lines>153</multi_comment_lines>
<multi_comment_lines>147</multi_comment_lines>
</package>
<package>
<name>fr.alma.gtd.donneespartagees</name>
......@@ -84,20 +84,20 @@
<multi_comment_lines>155</multi_comment_lines>
</package>