-
Notifications
You must be signed in to change notification settings - Fork 275
Expand file tree
/
Copy pathInitializer.java
More file actions
70 lines (62 loc) · 3.01 KB
/
Copy pathInitializer.java
File metadata and controls
70 lines (62 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package subway.Controller;
import java.util.Arrays;
import java.util.List;
import subway.domain.DistanceWeightRepository;
import subway.domain.Line;
import subway.domain.LineRepository;
import subway.domain.Station;
import subway.domain.StationRepository;
import subway.domain.TimeWeightRepository;
public class Initializer {
private static List<String> INITIALSTATION = Arrays
.asList("교대역", "강남역", "역삼역", "남부터미널역", "양재역", "양재시민의숲역", "매봉역");
private static List<String> INITIALLINE = Arrays.asList("2호선", "3호선", "신분당선");
private static List<String> LINETWO = Arrays.asList("교대역", "강남역", "역삼역");
private static int[] LINETWOTIME = {2, 3};
private static int[] LINETWODISTANCE = {3, 3};
private static List<String> LINETHREE = Arrays.asList("교대역", "남부터미널역", "양재역", "매봉역");
private static int[] LINETHREETIME = {3, 6, 1};
private static int[] LINETHREEDISTANCE = {2, 5, 1};
private static List<String> LINESHINBUNDANG = Arrays.asList("강남역", "양재역", "양재시민의숲역");
private static int[] LINESHINBUNDANGTIME = {2, 10};
private static int[] LINESHINBUNDANGDISTANCE = {8, 3};
private static List<List<String>> INITIALLINESTATION = Arrays
.asList(LINETWO, LINETHREE, LINESHINBUNDANG);
public static void setInitializeBaseSetting() {
setInitializeLine(INITIALLINE);
setInitializeStation(INITIALSTATION);
setInitialVertex(INITIALSTATION);
setInitialWeight(LINETWO, LINETWOTIME, LINETWODISTANCE);
setInitialWeight(LINETHREE, LINETHREETIME, LINETHREEDISTANCE);
setInitialWeight(LINESHINBUNDANG, LINESHINBUNDANGTIME, LINESHINBUNDANGDISTANCE);
}
private static void setInitializeStation(List<String> INITIALSTATION) {
for (String stationName : INITIALSTATION) {
Station station = new Station(stationName);
StationRepository.addStation(station);
}
}
private static void setInitializeLine(List<String> INITIALLINE) {
for (int i = 0; i < INITIALLINE.size(); i++) {
Line line = new Line(INITIALLINE.get(i));
line.addLineStation(INITIALLINESTATION.get(i));
LineRepository.addLine(line);
}
}
private static void setInitialVertex(List<String> stationNames) {
for (String stationName : stationNames) {
TimeWeightRepository.addStation(stationName);
DistanceWeightRepository.addStation(stationName);
}
}
private static void setInitialWeight(List<String> lineNumber, int[] timeWeight,
int[] distanceWeight) {
for (int i = 0; i < lineNumber.size() - 1; i++) {
TimeWeightRepository
.setStationEdgeTime(lineNumber.get(i), lineNumber.get(i + 1), timeWeight[i]);
DistanceWeightRepository
.setStationEdgeDistance(lineNumber.get(i), lineNumber.get(i + 1),
distanceWeight[i]);
}
}
}