| src/controleur/Controleur.java |
| 149 | 149 | * pas d'erreur |
| 150 | 150 | * |
| 151 | 151 | * @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) |
| 153 | 153 | */ |
| 154 | | void verifierRequete(Requete requete) throws RequeteIncorrecte |
| 154 | private String verifierRequete(Requete requete) |
| 155 | 155 | { |
| 156 | | String erreur = new String(); |
| 157 | | int errCount = 0; |
| 156 | String erreur = new String(""); |
| 158 | 157 | |
| 159 | 158 | if(requete.getDepart() == null) |
| 160 | 159 | { |
| 161 | 160 | erreur += "Station de départ manquante\n"; |
| 162 | | ++errCount; |
| 163 | 161 | } |
| 164 | 162 | if(requete.getArrivee() == null) |
| 165 | 163 | { |
| 166 | 164 | erreur += "Station d'arrivée manquante\n"; |
| 167 | | ++errCount; |
| 168 | 165 | } |
| 169 | 166 | if((requete.getTypeItineraire() != Requete.CORRESPONDANCE) |
| 170 | 167 | && (requete.getTypeItineraire() != Requete.DUREE)) |
| 171 | 168 | { |
| 172 | 169 | erreur += "Type d'itinéraire non défini\n"; |
| 173 | | ++errCount; |
| 174 | 170 | } |
| 175 | 171 | |
| 176 | 172 | if((requete.getDepart() != null) && (requete.getArrivee() != null)) |
| ... | ... | |
| 181 | 177 | .getArrivee().getMinute() == 0))) |
| 182 | 178 | { |
| 183 | 179 | erreur += "Aucune borne de départ ou d'arrivée défini\n"; |
| 184 | | ++errCount; |
| 185 | 180 | } |
| 186 | 181 | else if(((requete.getDepart().getHeure() != 0) || (requete |
| 187 | 182 | .getDepart().getMinute() != 0)) |
| ... | ... | |
| 189 | 184 | .getArrivee().getMinute() != 0))) |
| 190 | 185 | { |
| 191 | 186 | erreur += "Impossible de définir à la fois une borne de départ et d'arrivée\n"; |
| 192 | | ++errCount; |
| 193 | 187 | } |
| 194 | 188 | if((requete.getDepart().getHeure() < 5) |
| 195 | 189 | && (requete.getDepart().getHeure() > 1)) |
| 196 | 190 | { |
| 197 | 191 | erreur += "Borne de départ en dehors des horaires d'activité du métro\n"; |
| 198 | | ++errCount; |
| 199 | 192 | } |
| 200 | 193 | if((requete.getArrivee().getHeure() < 5) |
| 201 | 194 | && (requete.getArrivee().getHeure() > 1)) |
| 202 | 195 | { |
| 203 | 196 | erreur += "Borne d'arrivée en dehors des horaires d'activité du métro\n"; |
| 204 | | ++errCount; |
| 205 | 197 | } |
| 206 | 198 | |
| 207 | 199 | HashMap<Integer, ContraintePosition> listeEtape = requete |
| ... | ... | |
| 243 | 235 | { |
| 244 | 236 | erreur += "Le total des temps d'arrêt aux étapes mène en" |
| 245 | 237 | + " dehors des horaires d'activité du métro\n"; |
| 246 | | ++errCount; |
| 247 | 238 | } |
| 248 | 239 | } |
| 249 | 240 | |
| ... | ... | |
| 277 | 268 | { |
| 278 | 269 | erreur += "Le total des temps d'arrêt aux étapes mène en" |
| 279 | 270 | + " dehors des horaires d'activité du métro\n"; |
| 280 | | ++errCount; |
| 281 | 271 | } |
| 282 | 272 | } |
| 283 | 273 | } |
| 284 | 274 | |
| 285 | | if(errCount > 0) |
| 286 | | throw new RequeteIncorrecte(erreur); |
| 275 | return erreur; |
| 287 | 276 | } |
| 288 | 277 | |
| 289 | 278 | /** |
| ... | ... | |
| 306 | 295 | */ |
| 307 | 296 | void recupRequete(Requete requete) |
| 308 | 297 | { |
| 309 | | try |
| 310 | | { |
| 311 | | this.verifierRequete(requete); |
| 298 | String erreur = this.verifierRequete(requete); |
| 299 | if(erreur.equals("")) |
| 312 | 300 | this.initialiserAlgorithme(requete); |
| 313 | | } |
| 314 | | catch(RequeteIncorrecte e) |
| 315 | | { |
| 316 | | this.fenetre.afficherErreurRequete(e.getErreur()); |
| 317 | | } |
| 301 | else |
| 302 | this.fenetre.afficherErreurRequete(erreur); |
| 318 | 303 | } |
| 319 | 304 | |
| 320 | 305 | /** |