L3 Dunand Moreau

Sign in or create your account | Project List | Help

L3 Dunand Moreau Commit Details

Date:2010-01-15 00:00:05 (7 months 22 days ago)
Author:Aurélien Dunand
Commit:789e2f316db818894c1d2f068f1bf43857ebf43c
Message:Ajout de la sous-section : Construction du menuStation

Files: rapport/part/implantation.tex (1 diff)

Change Details

rapport/part/implantation.tex
5858    station_src.addDestinations(segment);
5959}
6060\end{lstlisting}
61On commence d'abord par supprimer les lignes qui commence par un ou plusieurs '\#', ce sont les noms de ligne et les stations qui n'existe plus.\\
62Étant donné que c'est le cas de la première ligne, on va récupérer le numéro, le sens de la ligne et la station source en alternant les délimiteurs, puis on passe tout les éléments du début pour récupérer juste le nom de la station de destination.\\
63Dans les autres cas, la station source devient la station destination puis on récupère juste le nom de la station de destination (en se servant des informations récupérer sur la première station de la ligne).\\
61On commence d'abord par supprimer les lignes qui commence par un ou plusieurs '\#', ce sont les noms de ligne et les stations qui n'existe plus.
62Étant donné que c'est le cas de la première ligne, on va récupérer le numéro, le sens de la ligne et la station source en alternant les délimiteurs, puis on passe tout les éléments du début pour récupérer juste le nom de la station de destination.
63
64Dans les autres cas, la station source devient la station destination puis on récupère juste le nom de la station de destination (en se servant des informations récupérer sur la première station de la ligne).
6465On ajoute ensuite le tout dans le \texttt{HashSet} \texttt{destinations} de la station source. On retrouve dans cette construction basé sur le couple source/destination la relation entre \texttt{Station} et \texttt{Segment} sur le diagramme de classe d'origine, qui à été adapté pour simplifier la réutilisation par l'algorithme.
6566
6667\section{Package vue}
6768
68% Construction du menuStation
69\subsection{Construction du menuStation}
70
71Le \texttt{menuStation} est l'élément qui va contenir les différentes contraintes que l'on applique à chacunes des stations du trajet. Il doit permettre de garder l'ordre des stations parcourus. Étant donné qu'en Java, les structures de type \texttt{List} ou \texttt{Set} ne conservent pas l'ordre dans lequel on ajoute les éléments. Nous avons donc décidé d'utiliser un \texttt{TreeMap} avec des index numérique qui représente l'ordre dans la station. On utilise deux constantes pour le départ et l'arrivée afin d'être sur
72\begin{lstlisting}
73/**
74 * Position de la station de depart
75 */
76private static final int DEPART = 0;
77
78/**
79 * Position de la station d'arrivee
80 */
81private static final int ARRIVEE = 9999;
82\end{lstlisting}
83
84A chaque station que l'on ajoute (autre que le départ ou l'arrivée), on incrémente l'index actuel et on l'attribut à la contrainte. Les index augmentent toujours, si on retire une station on ne pourra pas réutiliser son index pour des raisons pratique, mais on conservera l'ordre car l'index des prochaines stations sera forcément supérieur.
85\begin{lstlisting}
86else
87{
88  ++this.index;
89  ContrainteStation contrainte = new ContrainteStation(this, type, station, this.index);
90
91  this.contrainteStation.put(this.index, contrainte);
92}
93this.refresh();
94\end{lstlisting}
95
96La méthode refresh se charge d'enlever tout les éléments du Panel et de les y replacer dans l'ordre pour être sur que le nouvel ordre est bien respecté.
97\begin{lstlisting}
98private void refresh()
99{
100  this.removeAll();
101  for(ContrainteStation contrainte : this.contrainteStation.values())
102  this.add(contrainte);
103  this.updateUI();
104}
105
106\end{lstlisting}
107
108
69109% Construction de la requête (event)
70110
71111\section{Package controleur}

Archive Download the corresponding diff file

Branches:
master