parent
1f28bf2471
commit
63ac196488
@ -0,0 +1,60 @@
|
||||
package utils;
|
||||
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
import model.DataManager;
|
||||
import model.Ride;
|
||||
import model.Route;
|
||||
import model.Stop;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by Gondr on 19/05/2017.
|
||||
*/
|
||||
public class DataManagerSerialiser extends Serialiser {
|
||||
|
||||
public DataManagerSerialiser(){
|
||||
|
||||
}
|
||||
|
||||
public boolean serialise(DataManager dataManager){
|
||||
ArrayList<Ride> rides = new ArrayList<>(dataManager.getRides());
|
||||
ArrayList<Stop> stops = new ArrayList<>(dataManager.getStops());
|
||||
ArrayList<Route> routes = new ArrayList<>(dataManager.getRoutes());
|
||||
boolean serialRidesSuccess = serialise(rides, "serialisation/rides.json");
|
||||
boolean serialStopsSuccess = serialise(stops, "serialisation/stops.json");
|
||||
boolean serialRoutesSuccess = serialise(routes, "serialisation/routes.json");
|
||||
return (serialRidesSuccess && serialStopsSuccess && serialRoutesSuccess);
|
||||
}
|
||||
|
||||
public DataManager load() throws IOException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
|
||||
Reader reader = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/rides.json"), "UTF-8");
|
||||
ArrayList<Ride> rides = gson.fromJson(reader, new TypeToken<ArrayList<Ride>>(){}.getType());
|
||||
reader.close();
|
||||
|
||||
Reader reader2 = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/stops.json"), "UTF-8");
|
||||
ArrayList<Stop> stops = gson.fromJson(reader2, new TypeToken<ArrayList<Stop>>(){}.getType());
|
||||
reader2.close();
|
||||
|
||||
Reader reader3 = new InputStreamReader(getClass().getClassLoader().getResourceAsStream("serialisation/routes.json"), "UTF-8");
|
||||
ArrayList<Route> routes = gson.fromJson(reader3, new TypeToken<ArrayList<Route>>(){}.getType());
|
||||
reader3.close();
|
||||
|
||||
// Constructor c = DataManager.class.getDeclaredConstructor(List.class, List.class, List.class);
|
||||
// DataManager dataManager = (DataManager) c.newInstance(rides, stops, routes);
|
||||
// return dataManager;
|
||||
|
||||
return new DataManager(rides, stops, routes);
|
||||
// return new DataManager();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package utils;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.GsonBuilder;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.io.*;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* Created by Gondr on 19/05/2017.
|
||||
*/
|
||||
public abstract class Serialiser {
|
||||
protected static Gson gson = new GsonBuilder().create();
|
||||
|
||||
protected boolean serialise(List list, String filepath){
|
||||
try{
|
||||
String path = getClass().getClassLoader().getResource(filepath).getPath();
|
||||
Writer writer = new OutputStreamWriter(new FileOutputStream(path), "UTF-8");
|
||||
gson.toJson(list, writer);
|
||||
writer.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1 @@
|
||||
{"rides":[],"stops":[{"address":"a"}],"routes":[]}
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1 @@
|
||||
{"rides":[],"stops":[{"address":"a"}],"routes":[]}
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1 @@
|
||||
[]
|
||||
@ -0,0 +1 @@
|
||||
[{"address":"a"},{"address":"b"}]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,5 @@
|
||||
#Generated by Maven
|
||||
#Fri May 19 15:51:59 NZST 2017
|
||||
version=1.0-SNAPSHOT
|
||||
groupId=ride-sharing-system
|
||||
artifactId=ride-sharing-system
|
||||
@ -0,0 +1,25 @@
|
||||
controllers\HomeController.class
|
||||
controllers\Main.class
|
||||
controllers\MyStopsController.class
|
||||
controllers\AddTripController$2.class
|
||||
model\Session.class
|
||||
model\Ride.class
|
||||
model\Route.class
|
||||
model\TripStop.class
|
||||
controllers\MyRidesController.class
|
||||
controllers\AddRouteController.class
|
||||
controllers\AddRideController.class
|
||||
model\ButtonSets.class
|
||||
model\Trip.class
|
||||
controllers\BaseController.class
|
||||
model\SceneCode.class
|
||||
controllers\AddTripController.class
|
||||
model\DataManager.class
|
||||
controllers\MyRoutesController.class
|
||||
controllers\AddStopsController.class
|
||||
controllers\MyRoutesController$1.class
|
||||
controllers\MainController.class
|
||||
model\Stop.class
|
||||
controllers\AddTripController$1.class
|
||||
controllers\Controller.class
|
||||
model\ButtonTypes.class
|
||||
@ -0,0 +1,22 @@
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\AddTripController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\HomeController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\Ride.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\Stop.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\MyRoutesController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\AddStopsController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\Session.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\AddRideController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\MyRidesController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\BaseController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\Trip.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\DataManager.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\Main.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\TripStop.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\Controller.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\MainController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\ButtonTypes.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\Route.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\AddRouteController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\ButtonSets.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\controllers\MyStopsController.java
|
||||
D:\Programming\Workspace\SENG301\src\main\java\model\SceneCode.java
|
||||
@ -0,0 +1,4 @@
|
||||
RunCucumberTests.class
|
||||
steps\PlaceholderSteps.class
|
||||
model\DataManagerTest.class
|
||||
controllers\MainControllerTest.class
|
||||
@ -0,0 +1,4 @@
|
||||
D:\Programming\Workspace\SENG301\src\test\java\steps\PlaceholderSteps.java
|
||||
D:\Programming\Workspace\SENG301\src\test\java\RunCucumberTests.java
|
||||
D:\Programming\Workspace\SENG301\src\test\java\model\DataManagerTest.java
|
||||
D:\Programming\Workspace\SENG301\src\test\java\controllers\MainControllerTest.java
|
||||
Binary file not shown.
@ -0,0 +1,67 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<testsuite tests="1" failures="0" name="controllers.MainControllerTest" time="0.008" errors="0" skipped="0">
|
||||
<properties>
|
||||
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
|
||||
<property name="sun.boot.library.path" value="H:\Programs\Java\jdk1.8.0_102\jre\bin"/>
|
||||
<property name="java.vm.version" value="25.102-b14"/>
|
||||
<property name="java.vm.vendor" value="Oracle Corporation"/>
|
||||
<property name="maven.multiModuleProjectDirectory" value="D:\Programming\Workspace\SENG301"/>
|
||||
<property name="java.vendor.url" value="http://java.oracle.com/"/>
|
||||
<property name="path.separator" value=";"/>
|
||||
<property name="guice.disable.misplaced.annotation.check" value="true"/>
|
||||
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
|
||||
<property name="file.encoding.pkg" value="sun.io"/>
|
||||
<property name="user.script" value=""/>
|
||||
<property name="user.country" value="NZ"/>
|
||||
<property name="sun.java.launcher" value="SUN_STANDARD"/>
|
||||
<property name="sun.os.patch.level" value=""/>
|
||||
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
|
||||
<property name="user.dir" value="D:\Programming\Workspace\SENG301"/>
|
||||
<property name="java.runtime.version" value="1.8.0_102-b14"/>
|
||||
<property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
|
||||
<property name="java.endorsed.dirs" value="H:\Programs\Java\jdk1.8.0_102\jre\lib\endorsed"/>
|
||||
<property name="os.arch" value="amd64"/>
|
||||
<property name="java.io.tmpdir" value="C:\Users\Gondr\AppData\Local\Temp\"/>
|
||||
<property name="line.separator" value="
|
||||
"/>
|
||||
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="user.variant" value=""/>
|
||||
<property name="os.name" value="Windows 10"/>
|
||||
<property name="classworlds.conf" value="H:\Programs\apache-maven-3.3.9\bin\m2.conf"/>
|
||||
<property name="sun.jnu.encoding" value="Cp1252"/>
|
||||
<property name="java.library.path" value="H:\Programs\Java\jdk1.8.0_102\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Razer Chroma SDK\bin;H:\Programs\Razer Chroma SDK\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;H:\Programs\Git\cmd;H:\Programs\Python;C:\TDM-GCC-64\bin;H:\Programs\apache-maven-3.3.9\bin;C:\Program Files (x86)\Skype\Phone\;."/>
|
||||
<property name="java.specification.name" value="Java Platform API Specification"/>
|
||||
<property name="java.class.version" value="52.0"/>
|
||||
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
|
||||
<property name="os.version" value="10.0"/>
|
||||
<property name="user.home" value="C:\Users\Gondr"/>
|
||||
<property name="user.timezone" value="Pacific/Auckland"/>
|
||||
<property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
|
||||
<property name="java.specification.version" value="1.8"/>
|
||||
<property name="file.encoding" value="Cp1252"/>
|
||||
<property name="user.name" value="Gondr"/>
|
||||
<property name="java.class.path" value="H:\Programs\apache-maven-3.3.9\boot\plexus-classworlds-2.5.2.jar"/>
|
||||
<property name="java.vm.specification.version" value="1.8"/>
|
||||
<property name="sun.arch.data.model" value="64"/>
|
||||
<property name="java.home" value="H:\Programs\Java\jdk1.8.0_102\jre"/>
|
||||
<property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher clean package"/>
|
||||
<property name="java.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="user.language" value="en"/>
|
||||
<property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
|
||||
<property name="java.vm.info" value="mixed mode"/>
|
||||
<property name="java.version" value="1.8.0_102"/>
|
||||
<property name="java.ext.dirs" value="H:\Programs\Java\jdk1.8.0_102\jre\lib\ext;C:\Windows\Sun\Java\lib\ext"/>
|
||||
<property name="sun.boot.class.path" value="H:\Programs\Java\jdk1.8.0_102\jre\lib\resources.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\rt.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\sunrsasign.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\jsse.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\jce.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\charsets.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\jfr.jar;H:\Programs\Java\jdk1.8.0_102\jre\classes"/>
|
||||
<property name="sun.stderr.encoding" value="cp850"/>
|
||||
<property name="java.vendor" value="Oracle Corporation"/>
|
||||
<property name="maven.home" value="H:\Programs\apache-maven-3.3.9"/>
|
||||
<property name="file.separator" value="\"/>
|
||||
<property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
|
||||
<property name="sun.cpu.endian" value="little"/>
|
||||
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
|
||||
<property name="sun.stdout.encoding" value="cp850"/>
|
||||
<property name="sun.desktop" value="windows"/>
|
||||
<property name="sun.cpu.isalist" value="amd64"/>
|
||||
</properties>
|
||||
<testcase classname="controllers.MainControllerTest" name="testLogin" time="0.008"/>
|
||||
</testsuite>
|
||||
@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<testsuite tests="3" failures="0" name="model.DataManagerTest" time="0.049" errors="0" skipped="0">
|
||||
<properties>
|
||||
<property name="java.runtime.name" value="Java(TM) SE Runtime Environment"/>
|
||||
<property name="sun.boot.library.path" value="H:\Programs\Java\jdk1.8.0_102\jre\bin"/>
|
||||
<property name="java.vm.version" value="25.102-b14"/>
|
||||
<property name="java.vm.vendor" value="Oracle Corporation"/>
|
||||
<property name="maven.multiModuleProjectDirectory" value="D:\Programming\Workspace\SENG301"/>
|
||||
<property name="java.vendor.url" value="http://java.oracle.com/"/>
|
||||
<property name="path.separator" value=";"/>
|
||||
<property name="guice.disable.misplaced.annotation.check" value="true"/>
|
||||
<property name="java.vm.name" value="Java HotSpot(TM) 64-Bit Server VM"/>
|
||||
<property name="file.encoding.pkg" value="sun.io"/>
|
||||
<property name="user.script" value=""/>
|
||||
<property name="user.country" value="NZ"/>
|
||||
<property name="sun.java.launcher" value="SUN_STANDARD"/>
|
||||
<property name="sun.os.patch.level" value=""/>
|
||||
<property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>
|
||||
<property name="user.dir" value="D:\Programming\Workspace\SENG301"/>
|
||||
<property name="java.runtime.version" value="1.8.0_102-b14"/>
|
||||
<property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>
|
||||
<property name="java.endorsed.dirs" value="H:\Programs\Java\jdk1.8.0_102\jre\lib\endorsed"/>
|
||||
<property name="os.arch" value="amd64"/>
|
||||
<property name="java.io.tmpdir" value="C:\Users\Gondr\AppData\Local\Temp\"/>
|
||||
<property name="line.separator" value="
|
||||
"/>
|
||||
<property name="java.vm.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="user.variant" value=""/>
|
||||
<property name="os.name" value="Windows 10"/>
|
||||
<property name="classworlds.conf" value="H:\Programs\apache-maven-3.3.9\bin\m2.conf"/>
|
||||
<property name="sun.jnu.encoding" value="Cp1252"/>
|
||||
<property name="java.library.path" value="H:\Programs\Java\jdk1.8.0_102\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\Razer Chroma SDK\bin;H:\Programs\Razer Chroma SDK\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;H:\Programs\Git\cmd;H:\Programs\Python;C:\TDM-GCC-64\bin;H:\Programs\apache-maven-3.3.9\bin;C:\Program Files (x86)\Skype\Phone\;."/>
|
||||
<property name="java.specification.name" value="Java Platform API Specification"/>
|
||||
<property name="java.class.version" value="52.0"/>
|
||||
<property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>
|
||||
<property name="os.version" value="10.0"/>
|
||||
<property name="user.home" value="C:\Users\Gondr"/>
|
||||
<property name="user.timezone" value="Pacific/Auckland"/>
|
||||
<property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>
|
||||
<property name="java.specification.version" value="1.8"/>
|
||||
<property name="file.encoding" value="Cp1252"/>
|
||||
<property name="user.name" value="Gondr"/>
|
||||
<property name="java.class.path" value="H:\Programs\apache-maven-3.3.9\boot\plexus-classworlds-2.5.2.jar"/>
|
||||
<property name="java.vm.specification.version" value="1.8"/>
|
||||
<property name="sun.arch.data.model" value="64"/>
|
||||
<property name="java.home" value="H:\Programs\Java\jdk1.8.0_102\jre"/>
|
||||
<property name="sun.java.command" value="org.codehaus.plexus.classworlds.launcher.Launcher clean package"/>
|
||||
<property name="java.specification.vendor" value="Oracle Corporation"/>
|
||||
<property name="user.language" value="en"/>
|
||||
<property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>
|
||||
<property name="java.vm.info" value="mixed mode"/>
|
||||
<property name="java.version" value="1.8.0_102"/>
|
||||
<property name="java.ext.dirs" value="H:\Programs\Java\jdk1.8.0_102\jre\lib\ext;C:\Windows\Sun\Java\lib\ext"/>
|
||||
<property name="sun.boot.class.path" value="H:\Programs\Java\jdk1.8.0_102\jre\lib\resources.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\rt.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\sunrsasign.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\jsse.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\jce.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\charsets.jar;H:\Programs\Java\jdk1.8.0_102\jre\lib\jfr.jar;H:\Programs\Java\jdk1.8.0_102\jre\classes"/>
|
||||
<property name="sun.stderr.encoding" value="cp850"/>
|
||||
<property name="java.vendor" value="Oracle Corporation"/>
|
||||
<property name="maven.home" value="H:\Programs\apache-maven-3.3.9"/>
|
||||
<property name="file.separator" value="\"/>
|
||||
<property name="java.vendor.url.bug" value="http://bugreport.sun.com/bugreport/"/>
|
||||
<property name="sun.cpu.endian" value="little"/>
|
||||
<property name="sun.io.unicode.encoding" value="UnicodeLittle"/>
|
||||
<property name="sun.stdout.encoding" value="cp850"/>
|
||||
<property name="sun.desktop" value="windows"/>
|
||||
<property name="sun.cpu.isalist" value="amd64"/>
|
||||
</properties>
|
||||
<testcase classname="model.DataManagerTest" name="addRoute" time="0.049"/>
|
||||
<testcase classname="model.DataManagerTest" name="addRide" time="0"/>
|
||||
<testcase classname="model.DataManagerTest" name="addStop" time="0"/>
|
||||
</testsuite>
|
||||
@ -0,0 +1,4 @@
|
||||
-------------------------------------------------------------------------------
|
||||
Test set: controllers.MainControllerTest
|
||||
-------------------------------------------------------------------------------
|
||||
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.061 sec
|
||||
@ -0,0 +1,4 @@
|
||||
-------------------------------------------------------------------------------
|
||||
Test set: model.DataManagerTest
|
||||
-------------------------------------------------------------------------------
|
||||
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.05 sec
|
||||
Loading…
Reference in new issue