Commit 2dfc2325 authored by Glenn PLOUHINEC's avatar Glenn PLOUHINEC
Browse files

Fix #8 - Ajout d'une classe abstraite CommandeTache pour supprimer les redondances

parent 69918100
......@@ -3,87 +3,47 @@ package fr.alma.gtd.commande;
import fr.alma.gtd.donneespartagees.ITache;
import fr.alma.gtd.donneesserveur.Utilisateur;
import fr.alma.gtd.interfacedistante.CallBack;
import fr.alma.gtd.isessions.ITacheServiceRemote;
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 tache.
*
* @author Stephane Begaudeau, Benjamin Gosset, Alex Lagarde, Christophe Renaudineau.
* @version 1.0.0
*/
public final class CommandeCreerTache implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* La tache a creer.
*/
private final ITache tache;
/**
* Le callback.
*/
private final CallBack<ITache> callback;
/**
* Le service de gestion des taches.
*/
private ITacheServiceRemote tacheServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
private IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
* @param i L'identifiant de l'utilisateur.
* @param t La tache a creer.
* @param c Le callback.
*/
public CommandeCreerTache(final String i, final ITache t, final CallBack<ITache> c) {
super();
this.identification = i;
this.tache = t;
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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac == null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {
this.callback.onSucces(this.tacheServiceRemote.creerTache(this.tache));
} else {
if (tac != null) {
this.callback.onFailure(new Exception("Tache deja existante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
public final class CommandeCreerTache extends CommandeTache {
/**
* Le callback.
*/
private final CallBack<ITache> callback;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param t La tache a creer.
* @param c Le callback.
*/
CommandeCreerTache(final String i, final ITache t, final CallBack<ITache> c) {
super(i, t);
this.callback = c;
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac == null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {
this.callback.onSucces(this.tacheServiceRemote.creerTache(this.tache));
} else {
if (tac != null) {
this.callback.onFailure(new Exception("Tache deja existante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
}
......@@ -4,104 +4,64 @@ import fr.alma.gtd.donneespartagees.ITache;
import fr.alma.gtd.donneesserveur.Utilisateur;
import fr.alma.gtd.interfacedistante.CallBack;
import fr.alma.gtd.interfacedistante.ModeDeMiseAJour;
import fr.alma.gtd.isessions.ITacheServiceRemote;
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 tache.
*
* @author Stephane Begaudeau, Benjamin Gosset, Alex Lagarde, Christophe Renaudineau.
* @version 1.0.0
*/
public final class CommandeEnvoyerTache implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* La tache a envoyer.
*/
private final ITache tache;
/**
* Le mode de mise a jour.
*/
private final ModeDeMiseAJour mode;
/**
* Le callback.
*/
private final CallBack<ITache> callback;
/**
* Le service de gestion des taches.
*/
private ITacheServiceRemote tacheServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
private IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
* @param i L'identifiant de l'utilisateur.
* @param t La tache a envoyer.
* @param m Le mode de mise a jour.
* @param c Le callback.
*/
public CommandeEnvoyerTache(final String i, final ITache t, final ModeDeMiseAJour m, final CallBack<ITache> c) {
super();
this.identification = i;
this.tache = t;
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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
public final class CommandeEnvoyerTache extends CommandeTache {
/**
* Le mode de mise a jour.
*/
private final ModeDeMiseAJour mode;
/**
* Le callback.
*/
private final CallBack<ITache> callback;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param t La tache a envoyer.
* @param m Le mode de mise a jour.
* @param c Le callback.
*/
CommandeEnvoyerTache(final String i, final ITache t, final ModeDeMiseAJour m, final CallBack<ITache> c) {
super(i, t);
this.mode = m;
this.callback = c;
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac != null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {
if (this.mode == ModeDeMiseAJour.FORCE) {
this.callback.onSucces(this.tacheServiceRemote.updateTache(this.tache.getIdentifiantServeur(), this.tache));
} else if (this.mode == ModeDeMiseAJour.WARNING) {
if (this.tache.getDateDeDerniereModification().before(
this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur()).getDateDeDerniereModification())) {
this.callback.onFailure(new Exception("Tache existante mais version plus recente en ligne"));
} else {
this.callback.onSucces(this.tacheServiceRemote.updateTache(this.tache.getIdentifiantServeur(), this.tache));
}
}
} else {
if (tac == null) {
this.callback.onFailure(new Exception("Tache inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
if ((tac != null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {
if (this.mode == ModeDeMiseAJour.FORCE) {
this.callback.onSucces(this.tacheServiceRemote.updateTache(this.tache.getIdentifiantServeur(), this.tache));
} else if (this.mode == ModeDeMiseAJour.WARNING) {
if (this.tache.getDateDeDerniereModification().before(
this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur()).getDateDeDerniereModification())) {
this.callback.onFailure(new Exception("Tache existante mais version plus recente en ligne"));
} else {
this.callback.onSucces(this.tacheServiceRemote.updateTache(this.tache.getIdentifiantServeur(), this.tache));
}
}
} else {
if (tac == null) {
this.callback.onFailure(new Exception("Tache inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
}
......@@ -3,89 +3,49 @@ package fr.alma.gtd.commande;
import fr.alma.gtd.donneespartagees.ITache;
import fr.alma.gtd.donneesserveur.Utilisateur;
import fr.alma.gtd.interfacedistante.CallBack;
import fr.alma.gtd.isessions.ITacheServiceRemote;
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 tache.
*
* @author Stephane Begaudeau, Benjamin Gosset, Alex Lagarde, Christophe Renaudineau.
* @version 1.0.0
*/
public final class CommandeSupprimerTache implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
private final String identification;
/**
* La tache a supprimer.
*/
private final ITache tache;
/**
* Le callback.
*/
private final CallBack<String> callback;
/**
* Le service de gestion de taches.
*/
private ITacheServiceRemote tacheServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
private IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
* @param i L'identifiant de l'utilisateur.
* @param t La tache a supprimer.
* @param c Le callback.
*/
public CommandeSupprimerTache(final String i, final ITache t, final CallBack<String> c) {
super();
this.identification = i;
this.tache = t;
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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac != null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {
this.tacheServiceRemote.removeTacheById(tac.getIdentifiantServeur());
this.callback.onSucces("Tache supprimee");
} else {
if (tac == null) {
this.callback.onFailure(new Exception("Tache inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
public final class CommandeSupprimerTache extends CommandeTache {
/**
* Le callback.
*/
private final CallBack<String> callback;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param t La tache a supprimer.
* @param c Le callback.
*/
public CommandeSupprimerTache(final String i, final ITache t, final CallBack<String> c) {
super(i, t);
this.callback = c;
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac != null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {
this.tacheServiceRemote.removeTacheById(tac.getIdentifiantServeur());
this.callback.onSucces("Tache supprimee");
} else {
if (tac == null) {
this.callback.onFailure(new Exception("Tache inexistante"));
} else {
this.callback.onFailure(new Exception("Identifiant utilisateur invalide"));
}
}
}
}
package fr.alma.gtd.commande;
import fr.alma.gtd.donneespartagees.ITache;
import fr.alma.gtd.isessions.ITacheServiceRemote;
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 CommandeTache implements Commande {
/**
* L'identifiant de l'utilisateur.
*/
protected final String identification;
/**
* La tache.
*/
protected final ITache tache;
/**
* Le service de gestion des taches.
*/
ITacheServiceRemote tacheServiceRemote;
/**
* Le service de gestion d'utilisateurs.
*/
IUtilisateurServiceRemote utilisateurServiceRemote;
/**
* Le constructeur.
*
* @param i L'identifiant de l'utilisateur.
* @param t La tache a creer.
*/
CommandeTache(final String i, final ITache t) {
this.identification = i;
this.tache = t;
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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
public abstract void execute() throws RemoteException;
}
#Thu Apr 12 16:24:05 CEST 2018
#Thu Apr 12 16:40:38 CEST 2018
>>>>>>>=a1dbf8c281633bc07dba6931845c1eb4990caf40
/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/reactor/ReactorCorba.java=1523456666000
<<<<<<<=HEAD
configuration*?=F894531AF957325040175B7EC7B8FAE5D3E12697
/comptes/E146247P/Documents/S6/CEL/projet/GTDServer/JBoss/src/main/java/fr/alma/gtd/reactor/ReactorCorba.java=1523456303000
=\=\=\=\=\=\=
/comptes/E146247P/Documents/S6/CEL/projet/GTDServer/JBoss/src/main/java/fr/alma/gtd/reactor/ReactorCorba.java=1523456303000
configuration*?=F894531AF957325040175B7EC7B8FAE5D3E12697
<<<<<<<=HEAD
<?xml version="1.0" encoding="UTF-8"?>
<pmd-cpd>
<duplication lines="22" tokens="174">
<file line="66"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerTache.java"/>
<file line="58"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerTache.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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac != null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().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"/>
<file line="54"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeSupprimerTache.java"/>
<codefragment><![CDATA[ public CommandeCreerTache(final String i, final ITache t, final CallBack<ITache> c) {
super();
this.identification = i;
this.tache = t;
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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
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/CommandeCreerTache.java"/>
<file line="66"
path="/comptes/E149741M/Documents/L3/S6/Construction_evolution_logiciel/projetv2/GTDServer/JBoss/src/main/java/fr/alma/gtd/commande/CommandeEnvoyerTache.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.tacheServiceRemote = (ITacheServiceRemote) context.lookup("TacheService/local");
this.utilisateurServiceRemote = (IUtilisateurServiceRemote) context.lookup("UtilisateurService/local");
} catch (NamingException e) {
e.printStackTrace();
}
}
@Override
public void execute() throws RemoteException {
final ITache tac = this.tacheServiceRemote.getTacheById(this.tache.getIdentifiantServeur());
final Utilisateur uti = this.utilisateurServiceRemote.getUtilisateurById(this.tache.getCreateur().getIdentifiantServeur());
if ((tac == null) && (uti != null) && (this.identification.equalsIgnoreCase(this.tache.getCreateur().getIdentifiantServeur()))) {]]></codefragment>
</duplication>
</pmd-cpd>
\ No newline at end of file
<pmd-cpd/>
\ No newline at end of file
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>16:24:02</time>
<time>16:40:35</time>
<packages>
<package>