temp
This commit is contained in:
parent
cb1201c781
commit
6bd9f754f5
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,5 @@
|
|||||||
|
|
||||||
|
*.class
|
||||||
### IntelliJ IDEA ###
|
### IntelliJ IDEA ###
|
||||||
transport_data.json
|
transport_data.json
|
||||||
out/
|
out/
|
||||||
|
11
src/City.java
Normal file
11
src/City.java
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
public class City {
|
||||||
|
private String name;
|
||||||
|
private Station trainStation;
|
||||||
|
private Station busStation;
|
||||||
|
|
||||||
|
City(String name, Station train, Station bus) {
|
||||||
|
this.name = name;
|
||||||
|
this.trainStation = train;
|
||||||
|
this.busStation = bus;
|
||||||
|
}
|
||||||
|
}
|
@ -3,11 +3,11 @@ public class Departure {
|
|||||||
private String from;
|
private String from;
|
||||||
private String to;
|
private String to;
|
||||||
private int duration;
|
private int duration;
|
||||||
private int price;
|
private double price;
|
||||||
private int minTransferTime;
|
private int minTransferTime;
|
||||||
|
|
||||||
public Departure(
|
public Departure(
|
||||||
TransportType type, String from, String to, int duration, int price, int minTransferTime) {
|
TransportType type, String from, String to, int duration, double price, int minTransferTime) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.from = from;
|
this.from = from;
|
||||||
this.to = to;
|
this.to = to;
|
||||||
@ -32,7 +32,7 @@ public class Departure {
|
|||||||
return duration;
|
return duration;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPrice() {
|
public double getPrice() {
|
||||||
return price;
|
return price;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
62
src/JsonParser.java
Normal file
62
src/JsonParser.java
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileReader;
|
||||||
|
|
||||||
|
public class JsonParser {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
JsonParser.getValue("transport_data.json", "countryMap");
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Object getValue(String fileName, String key) {
|
||||||
|
StringBuilder json = new StringBuilder();
|
||||||
|
try {
|
||||||
|
BufferedReader reader = new BufferedReader(new FileReader(fileName));
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
json.append(line.trim());
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
String searchKey = "\"" + key + "\": [";
|
||||||
|
System.out.println(searchKey);
|
||||||
|
int keyIndex = json.indexOf(searchKey);
|
||||||
|
|
||||||
|
if (keyIndex == -1)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
String jsonString = json.toString();
|
||||||
|
int startIndex = keyIndex + searchKey.length() - 1;
|
||||||
|
|
||||||
|
int endIndex = findPair(jsonString, startIndex);
|
||||||
|
|
||||||
|
System.out.println("end index");
|
||||||
|
if (endIndex == -1)
|
||||||
|
return null;
|
||||||
|
|
||||||
|
System.out.println(jsonString.substring(startIndex, endIndex));
|
||||||
|
return jsonString.substring(startIndex, endIndex);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int findPair(String str, int startIndex) {
|
||||||
|
|
||||||
|
char open = str.charAt(startIndex);
|
||||||
|
System.out.println(open);
|
||||||
|
char closed = (open == '[') ? ']' : '}';
|
||||||
|
|
||||||
|
int depth = 0;
|
||||||
|
for (int i = startIndex; i < str.length(); i++) {
|
||||||
|
char c = str.charAt(i);
|
||||||
|
if (c == open) {
|
||||||
|
depth++;
|
||||||
|
} else if (c == closed) {
|
||||||
|
depth--;
|
||||||
|
if (depth == 0) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,20 @@
|
|||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class Station {
|
public class Station {
|
||||||
|
|
||||||
private List<Departure> departures = new ArrayList();
|
private TransportType type = TransportType.NOT_ASSIGNED;
|
||||||
|
private String name;
|
||||||
|
private List<Departure> departures = new ArrayList<Departure>();
|
||||||
|
|
||||||
|
Station() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
Station(TransportType type, String name, List<Departure> departures) {
|
||||||
|
this.type = type;
|
||||||
|
this.name = name;
|
||||||
|
this.departures = departures;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
32
src/TransportData.java
Normal file
32
src/TransportData.java
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TransportData {
|
||||||
|
private List<Station> busStations = new ArrayList<>();
|
||||||
|
private List<Station> trainStations = new ArrayList<>();
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
System.out.println(TransportData.readFileAsString("transport_data.json"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public TransportData loadData(String path) {
|
||||||
|
TransportData data = new TransportData();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String readFileAsString(String path) {
|
||||||
|
StringBuilder string = new StringBuilder();
|
||||||
|
try (BufferedReader reader = new BufferedReader(new FileReader(path))) {
|
||||||
|
|
||||||
|
String line;
|
||||||
|
while ((line = reader.readLine()) != null)
|
||||||
|
string.append(line).append("\n");
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return string.toString();
|
||||||
|
}
|
||||||
|
}
|
@ -7,11 +7,11 @@ public class TransportDataGenerator {
|
|||||||
private int n;
|
private int n;
|
||||||
private int m;
|
private int m;
|
||||||
|
|
||||||
private static final int DEPARTURES_PER_STATION = 15;
|
private static final int DEPARTURES_PER_STATION = 3;
|
||||||
private static final Random random = new Random();
|
private static final Random random = new Random();
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
TransportDataGenerator generator = new TransportDataGenerator(15, 10);
|
TransportDataGenerator generator = new TransportDataGenerator(3, 3);
|
||||||
TransportData data = generator.generateData();
|
TransportData data = generator.generateData();
|
||||||
generator.saveToJson(data, "transport_data.json");
|
generator.saveToJson(data, "transport_data.json");
|
||||||
System.out.println("Podaci su generisani i sacuvani kao transport_data.json");
|
System.out.println("Podaci su generisani i sacuvani kao transport_data.json");
|
||||||
@ -137,7 +137,7 @@ public class TransportDataGenerator {
|
|||||||
// pronalazak susjednih gradova
|
// pronalazak susjednih gradova
|
||||||
private List<String> getNeighbors(int x, int y) {
|
private List<String> getNeighbors(int x, int y) {
|
||||||
List<String> neighbors = new ArrayList<>();
|
List<String> neighbors = new ArrayList<>();
|
||||||
int[][] directions = {{-1, 0}, {1, 0}, {0, -1}, {0, 1}};
|
int[][] directions = { { -1, 0 }, { 1, 0 }, { 0, -1 }, { 0, 1 } };
|
||||||
|
|
||||||
for (int[] dir : directions) {
|
for (int[] dir : directions) {
|
||||||
int nx = x + dir[0];
|
int nx = x + dir[0];
|
||||||
@ -161,10 +161,12 @@ public class TransportDataGenerator {
|
|||||||
json.append(" [");
|
json.append(" [");
|
||||||
for (int j = 0; j < m; j++) {
|
for (int j = 0; j < m; j++) {
|
||||||
json.append("\"").append(data.countryMap[i][j]).append("\"");
|
json.append("\"").append(data.countryMap[i][j]).append("\"");
|
||||||
if (j < m - 1) json.append(", ");
|
if (j < m - 1)
|
||||||
|
json.append(", ");
|
||||||
}
|
}
|
||||||
json.append("]");
|
json.append("]");
|
||||||
if (i < n - 1) json.append(",");
|
if (i < n - 1)
|
||||||
|
json.append(",");
|
||||||
json.append("\n");
|
json.append("\n");
|
||||||
}
|
}
|
||||||
json.append(" ],\n");
|
json.append(" ],\n");
|
||||||
@ -180,7 +182,8 @@ public class TransportDataGenerator {
|
|||||||
.append("\", \"trainStation\": \"")
|
.append("\", \"trainStation\": \"")
|
||||||
.append(s.trainStation)
|
.append(s.trainStation)
|
||||||
.append("\"}");
|
.append("\"}");
|
||||||
if (i < data.stations.size() - 1) json.append(",");
|
if (i < data.stations.size() - 1)
|
||||||
|
json.append(",");
|
||||||
json.append("\n");
|
json.append("\n");
|
||||||
}
|
}
|
||||||
json.append(" ],\n");
|
json.append(" ],\n");
|
||||||
@ -204,7 +207,8 @@ public class TransportDataGenerator {
|
|||||||
.append(", \"minTransferTime\": ")
|
.append(", \"minTransferTime\": ")
|
||||||
.append(d.minTransferTime)
|
.append(d.minTransferTime)
|
||||||
.append("}");
|
.append("}");
|
||||||
if (i < data.departures.size() - 1) json.append(",");
|
if (i < data.departures.size() - 1)
|
||||||
|
json.append(",");
|
||||||
json.append("\n");
|
json.append("\n");
|
||||||
}
|
}
|
||||||
json.append(" ]\n");
|
json.append(" ]\n");
|
||||||
@ -216,4 +220,3 @@ public class TransportDataGenerator {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
src/TransportDataLoader.java
Normal file
13
src/TransportDataLoader.java
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.io.FileReader;
|
||||||
|
|
||||||
|
public class TransportDataLoader {
|
||||||
|
|
||||||
|
public static void loadData(String path) {
|
||||||
|
try {
|
||||||
|
FileReader file = new FileReader(path);
|
||||||
|
} catch (FileNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,16 @@
|
|||||||
public enum TransportType {
|
public enum TransportType {
|
||||||
BUS,
|
NOT_ASSIGNED("null"),
|
||||||
TRAIN
|
BUS("Bus"),
|
||||||
|
TRAIN("Train");
|
||||||
|
|
||||||
|
private final String type;
|
||||||
|
|
||||||
|
TransportType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.type;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user