|
|
|
@ -6,10 +6,7 @@ import model.Ride;
|
|
|
|
import model.Route;
|
|
|
|
import model.Route;
|
|
|
|
import model.Stop;
|
|
|
|
import model.Stop;
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.io.*;
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
|
|
|
import java.io.Reader;
|
|
|
|
|
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
|
|
|
|
import java.lang.reflect.Constructor;
|
|
|
|
import java.lang.reflect.Constructor;
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
|
import java.lang.reflect.Type;
|
|
|
|
import java.lang.reflect.Type;
|
|
|
|
@ -36,6 +33,22 @@ public class DataManagerSerialiser extends Serialiser {
|
|
|
|
return (serialRidesSuccess && serialStopsSuccess && serialRoutesSuccess);
|
|
|
|
return (serialRidesSuccess && serialStopsSuccess && serialRoutesSuccess);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public boolean serialise(ArrayList<Route> routes, String filepath){
|
|
|
|
|
|
|
|
for (Route route: routes){
|
|
|
|
|
|
|
|
route.serialise();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
try{
|
|
|
|
|
|
|
|
String path = getClass().getClassLoader().getResource(filepath).getPath();
|
|
|
|
|
|
|
|
Writer writer = new OutputStreamWriter(new FileOutputStream(path), "UTF-8");
|
|
|
|
|
|
|
|
gson.toJson(routes, writer);
|
|
|
|
|
|
|
|
writer.close();
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public DataManager load() throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
|
|
|
|
public DataManager load() throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
|
|
|
|
Reader reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/rides.json"), "UTF-8");
|
|
|
|
Reader reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/rides.json"), "UTF-8");
|
|
|
|
ArrayList<Ride> rides = gson.fromJson(reader, new TypeToken<ArrayList<Ride>>(){}.getType());
|
|
|
|
ArrayList<Ride> rides = gson.fromJson(reader, new TypeToken<ArrayList<Ride>>(){}.getType());
|
|
|
|
@ -49,6 +62,10 @@ public class DataManagerSerialiser extends Serialiser {
|
|
|
|
ArrayList<Route> routes = gson.fromJson(reader3, new TypeToken<ArrayList<Route>>(){}.getType());
|
|
|
|
ArrayList<Route> routes = gson.fromJson(reader3, new TypeToken<ArrayList<Route>>(){}.getType());
|
|
|
|
reader3.close();
|
|
|
|
reader3.close();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (Route route: routes){
|
|
|
|
|
|
|
|
route.deserialise();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Constructor c = DataManager.class.getDeclaredConstructor(List.class, List.class, List.class);
|
|
|
|
// Constructor c = DataManager.class.getDeclaredConstructor(List.class, List.class, List.class);
|
|
|
|
// DataManager dataManager = (DataManager) c.newInstance(rides, stops, routes);
|
|
|
|
// DataManager dataManager = (DataManager) c.newInstance(rides, stops, routes);
|
|
|
|
// return dataManager;
|
|
|
|
// return dataManager;
|
|
|
|
|