L3 Dunand Moreau

Sign in or create your account | Project List | Help

L3 Dunand Moreau Commit Details

Date:2010-01-14 18:52:10 (7 months 21 days ago)
Author:Aurélien Dunand
Commit:353bd11cb774065433902ead7452923405a3ee44
Message:Simplification de la vérification de la requête

Files: src/controleur/Controleur.java (6 diffs)
src/controleur/RequeteIncorrecte.java (1 diff)

Change Details

src/controleur/Controleur.java
149149     * pas d'erreur
150150     *
151151     * @param requete {@link controleur.Requete Requête} à vérifier
152     * @throws RequeteIncorrecte si la requête est incorrecte
152     * @return Message d'erreur (si la requête est incorrecte)
153153     */
154    void verifierRequete(Requete requete) throws RequeteIncorrecte
154    private String verifierRequete(Requete requete)
155155    {
156        String erreur = new String();
157        int errCount = 0;
156        String erreur = new String("");
158157
159158        if(requete.getDepart() == null)
160159        {
161160            erreur += "Station de départ manquante\n";
162            ++errCount;
163161        }
164162        if(requete.getArrivee() == null)
165163        {
166164            erreur += "Station d'arrivée manquante\n";
167            ++errCount;
168165        }
169166        if((requete.getTypeItineraire() != Requete.CORRESPONDANCE)
170167                && (requete.getTypeItineraire() != Requete.DUREE))
171168        {
172169            erreur += "Type d'itinéraire non défini\n";
173            ++errCount;
174170        }
175171
176172        if((requete.getDepart() != null) && (requete.getArrivee() != null))
...... 
181177                            .getArrivee().getMinute() == 0)))
182178            {
183179                erreur += "Aucune borne de départ ou d'arrivée défini\n";
184                ++errCount;
185180            }
186181            else if(((requete.getDepart().getHeure() != 0) || (requete
187182                    .getDepart().getMinute() != 0))
...... 
189184                            .getArrivee().getMinute() != 0)))
190185            {
191186                erreur += "Impossible de définir à la fois une borne de départ et d'arrivée\n";
192                ++errCount;
193187            }
194188            if((requete.getDepart().getHeure() < 5)
195189                    && (requete.getDepart().getHeure() > 1))
196190            {
197191                erreur += "Borne de départ en dehors des horaires d'activité du métro\n";
198                ++errCount;
199192            }
200193            if((requete.getArrivee().getHeure() < 5)
201194                    && (requete.getArrivee().getHeure() > 1))
202195            {
203196                erreur += "Borne d'arrivée en dehors des horaires d'activité du métro\n";
204                ++errCount;
205197            }
206198
207199            HashMap<Integer, ContraintePosition> listeEtape = requete
...... 
243235                {
244236                    erreur += "Le total des temps d'arrêt aux étapes mène en"
245237                            + " dehors des horaires d'activité du métro\n";
246                    ++errCount;
247238                }
248239            }
249240
...... 
277268                {
278269                    erreur += "Le total des temps d'arrêt aux étapes mène en"
279270                            + " dehors des horaires d'activité du métro\n";
280                    ++errCount;
281271                }
282272            }
283273        }
284274
285        if(errCount > 0)
286            throw new RequeteIncorrecte(erreur);
275        return erreur;
287276    }
288277
289278    /**
...... 
306295     */
307296    void recupRequete(Requete requete)
308297    {
309        try
310        {
311            this.verifierRequete(requete);
298            String erreur = this.verifierRequete(requete);
299        if(erreur.equals(""))
312300            this.initialiserAlgorithme(requete);
313        }
314        catch(RequeteIncorrecte e)
315        {
316            this.fenetre.afficherErreurRequete(e.getErreur());
317        }
301        else
302            this.fenetre.afficherErreurRequete(erreur);
318303    }
319304
320305    /**
src/controleur/RequeteIncorrecte.java
1package controleur;
2
3/**
4 * Exception de requête incorrecte
5 *
6 * @author Aurélien Dunand
7 */
8@SuppressWarnings("serial")
9public class RequeteIncorrecte extends Exception
10{
11    String erreur;
12
13    public RequeteIncorrecte(String erreur)
14    {
15        super();
16        this.erreur = erreur;
17    }
18
19    public final String getErreur()
20    {
21        return this.erreur;
22    }
23
24}

Archive Download the corresponding diff file

Branches:
master