From 314c3067ed9d19f64ef52d986e9d04ad5e1ce0cb Mon Sep 17 00:00:00 2001 From: Luca Corbatto Date: Fri, 12 May 2017 21:39:46 +0200 Subject: [PATCH 01/14] Changes from initial exercises --- .gitignore | 1 + bin/.gitignore | 4 + bin/admin.properties | 4 +- bin/application.properties | 6 +- bin/devices/test-devices.json | 88 +++++++++++++------ src/main/ressources/admin.properties | 4 +- src/main/ressources/application.properties | 6 +- src/main/ressources/devices/test-devices.json | 88 +++++++++++++------ 8 files changed, 135 insertions(+), 66 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d392f0e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.jar diff --git a/bin/.gitignore b/bin/.gitignore index c9d4125..e9f8d3b 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1 +1,5 @@ +/admin.properties +/application.properties +/com/ /devices/ +/maps/ diff --git a/bin/admin.properties b/bin/admin.properties index 601b2b8..36f7d9c 100644 --- a/bin/admin.properties +++ b/bin/admin.properties @@ -1,3 +1,3 @@ group.name = simulator -nr.of.cars = 5 -nr.of.ambulances = 3 \ No newline at end of file +nr.of.cars = 8 +nr.of.ambulances = 4 \ No newline at end of file diff --git a/bin/application.properties b/bin/application.properties index 0003cd3..3a1222d 100644 --- a/bin/application.properties +++ b/bin/application.properties @@ -1,7 +1,7 @@ #Credentials to access the IOT-Hub - INSERT the credentials of your IOT-instance here! -api-key = a-876fe7-6qjcxyvocx -api-token = mF3R7B)a!GC0My-Pad -orga-id = 876fe7 +api-key = a-jcq86q-hner51xsr4 +api-token = FJE3tMjGe2KpV&j!3F +orga-id = jcq86q #file where devices need to be configured to allow car-simulation - do not change this devices = devices/test-devices.json diff --git a/bin/devices/test-devices.json b/bin/devices/test-devices.json index 1f2b829..b6bd5a9 100644 --- a/bin/devices/test-devices.json +++ b/bin/devices/test-devices.json @@ -1,73 +1,105 @@ [{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car0", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car0", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car0", "typeId": "car-simulator", "deviceId": "car0", - "apiToken": "CAE8674A-8B27-4539-83F4-257466A2C5F8" + "apiToken": "03543868-E3EA-4B11-8DA1-5E7D7904849C" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car1", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car1", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car1", "typeId": "car-simulator", "deviceId": "car1", - "apiToken": "D4C4A59F-FCA6-4EAA-B07E-C77E3702BF7C" + "apiToken": "30702F18-B151-4F74-8C3A-F1FD7525CC6E" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car2", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car2", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car2", "typeId": "car-simulator", "deviceId": "car2", - "apiToken": "048CFDD6-02F3-4B9B-B3EB-7BC4BDB929E5" + "apiToken": "B9F3B6BF-D646-4113-8E91-6748BC25F6A8" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car3", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car3", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car3", "typeId": "car-simulator", "deviceId": "car3", - "apiToken": "1ED30408-5B03-4869-96F1-191050703335" + "apiToken": "3E7C67A7-D342-43C9-9C8B-43F0C27FE26C" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car4", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car4", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car4", "typeId": "car-simulator", "deviceId": "car4", - "apiToken": "8025B588-B5C3-47C7-AA82-5A95BD7577C8" + "apiToken": "3678BB64-1B46-4F4D-B901-F10B110F9D78" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", + "id": "car5", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car5", + "typeId": "car-simulator", + "deviceId": "car5", + "apiToken": "39B507A5-7A39-499B-AE40-01A72CCD773E" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", + "id": "car6", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car6", + "typeId": "car-simulator", + "deviceId": "car6", + "apiToken": "CEDC7CAE-F84C-40DB-A314-9CDB7245A6FE" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", + "id": "car7", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car7", + "typeId": "car-simulator", + "deviceId": "car7", + "apiToken": "EDB1CD9F-494F-460D-BE8C-FF0609147B01" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", "id": "ambulance0", - "orgId": "876fe7", - "clientId": "d:876fe7:ambulance-simulator:ambulance0", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance0", "typeId": "ambulance-simulator", "deviceId": "ambulance0", - "apiToken": "DFF2309A-3514-4736-9201-1EAC6C8FA60D" + "apiToken": "E3B40C78-9482-435B-8D34-EE897C705FEA" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", "id": "ambulance1", - "orgId": "876fe7", - "clientId": "d:876fe7:ambulance-simulator:ambulance1", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance1", "typeId": "ambulance-simulator", "deviceId": "ambulance1", - "apiToken": "5D3C8512-1BA4-4986-AF29-24A7CE01D9AA" + "apiToken": "49FEC597-0343-4869-88CA-330BC4103040" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", "id": "ambulance2", - "orgId": "876fe7", - "clientId": "d:876fe7:ambulance-simulator:ambulance2", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance2", "typeId": "ambulance-simulator", "deviceId": "ambulance2", - "apiToken": "5EC59625-C4CC-42D7-963F-4A93329752A4" + "apiToken": "AE6B40E4-D885-4F94-AB27-3FC412565452" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", + "id": "ambulance3", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance3", + "typeId": "ambulance-simulator", + "deviceId": "ambulance3", + "apiToken": "E2709B2D-88CA-476B-B6BE-B4C1B3D95933" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Hospital", "id": "hospital", - "orgId": "876fe7", - "clientId": "d:876fe7:hospital:hospital1", + "orgId": "jcq86q", + "clientId": "d:jcq86q:hospital:hospital1", "typeId": "hospital", "deviceId": "hospital1", - "apiToken": "3992129C-FE5F-4B37-A6B9-1BCFAD2C1984" -}] + "apiToken": "FF3E0C2B-38B9-4809-A5A1-C5BE812B5190" +}] \ No newline at end of file diff --git a/src/main/ressources/admin.properties b/src/main/ressources/admin.properties index 601b2b8..36f7d9c 100644 --- a/src/main/ressources/admin.properties +++ b/src/main/ressources/admin.properties @@ -1,3 +1,3 @@ group.name = simulator -nr.of.cars = 5 -nr.of.ambulances = 3 \ No newline at end of file +nr.of.cars = 8 +nr.of.ambulances = 4 \ No newline at end of file diff --git a/src/main/ressources/application.properties b/src/main/ressources/application.properties index 0003cd3..3a1222d 100644 --- a/src/main/ressources/application.properties +++ b/src/main/ressources/application.properties @@ -1,7 +1,7 @@ #Credentials to access the IOT-Hub - INSERT the credentials of your IOT-instance here! -api-key = a-876fe7-6qjcxyvocx -api-token = mF3R7B)a!GC0My-Pad -orga-id = 876fe7 +api-key = a-jcq86q-hner51xsr4 +api-token = FJE3tMjGe2KpV&j!3F +orga-id = jcq86q #file where devices need to be configured to allow car-simulation - do not change this devices = devices/test-devices.json diff --git a/src/main/ressources/devices/test-devices.json b/src/main/ressources/devices/test-devices.json index 1f2b829..b6bd5a9 100644 --- a/src/main/ressources/devices/test-devices.json +++ b/src/main/ressources/devices/test-devices.json @@ -1,73 +1,105 @@ [{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car0", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car0", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car0", "typeId": "car-simulator", "deviceId": "car0", - "apiToken": "CAE8674A-8B27-4539-83F4-257466A2C5F8" + "apiToken": "03543868-E3EA-4B11-8DA1-5E7D7904849C" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car1", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car1", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car1", "typeId": "car-simulator", "deviceId": "car1", - "apiToken": "D4C4A59F-FCA6-4EAA-B07E-C77E3702BF7C" + "apiToken": "30702F18-B151-4F74-8C3A-F1FD7525CC6E" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car2", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car2", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car2", "typeId": "car-simulator", "deviceId": "car2", - "apiToken": "048CFDD6-02F3-4B9B-B3EB-7BC4BDB929E5" + "apiToken": "B9F3B6BF-D646-4113-8E91-6748BC25F6A8" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car3", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car3", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car3", "typeId": "car-simulator", "deviceId": "car3", - "apiToken": "1ED30408-5B03-4869-96F1-191050703335" + "apiToken": "3E7C67A7-D342-43C9-9C8B-43F0C27FE26C" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", "id": "car4", - "orgId": "876fe7", - "clientId": "d:876fe7:car-simulator:car4", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car4", "typeId": "car-simulator", "deviceId": "car4", - "apiToken": "8025B588-B5C3-47C7-AA82-5A95BD7577C8" + "apiToken": "3678BB64-1B46-4F4D-B901-F10B110F9D78" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", + "id": "car5", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car5", + "typeId": "car-simulator", + "deviceId": "car5", + "apiToken": "39B507A5-7A39-499B-AE40-01A72CCD773E" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", + "id": "car6", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car6", + "typeId": "car-simulator", + "deviceId": "car6", + "apiToken": "CEDC7CAE-F84C-40DB-A314-9CDB7245A6FE" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Car", + "id": "car7", + "orgId": "jcq86q", + "clientId": "d:jcq86q:car-simulator:car7", + "typeId": "car-simulator", + "deviceId": "car7", + "apiToken": "EDB1CD9F-494F-460D-BE8C-FF0609147B01" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", "id": "ambulance0", - "orgId": "876fe7", - "clientId": "d:876fe7:ambulance-simulator:ambulance0", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance0", "typeId": "ambulance-simulator", "deviceId": "ambulance0", - "apiToken": "DFF2309A-3514-4736-9201-1EAC6C8FA60D" + "apiToken": "E3B40C78-9482-435B-8D34-EE897C705FEA" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", "id": "ambulance1", - "orgId": "876fe7", - "clientId": "d:876fe7:ambulance-simulator:ambulance1", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance1", "typeId": "ambulance-simulator", "deviceId": "ambulance1", - "apiToken": "5D3C8512-1BA4-4986-AF29-24A7CE01D9AA" + "apiToken": "49FEC597-0343-4869-88CA-330BC4103040" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", "id": "ambulance2", - "orgId": "876fe7", - "clientId": "d:876fe7:ambulance-simulator:ambulance2", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance2", "typeId": "ambulance-simulator", "deviceId": "ambulance2", - "apiToken": "5EC59625-C4CC-42D7-963F-4A93329752A4" + "apiToken": "AE6B40E4-D885-4F94-AB27-3FC412565452" +},{ + "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Ambulance", + "id": "ambulance3", + "orgId": "jcq86q", + "clientId": "d:jcq86q:ambulance-simulator:ambulance3", + "typeId": "ambulance-simulator", + "deviceId": "ambulance3", + "apiToken": "E2709B2D-88CA-476B-B6BE-B4C1B3D95933" },{ "simulatorClazz": "com.capgemini.hackathon.device.simulation.bo.Hospital", "id": "hospital", - "orgId": "876fe7", - "clientId": "d:876fe7:hospital:hospital1", + "orgId": "jcq86q", + "clientId": "d:jcq86q:hospital:hospital1", "typeId": "hospital", "deviceId": "hospital1", - "apiToken": "3992129C-FE5F-4B37-A6B9-1BCFAD2C1984" -}] + "apiToken": "FF3E0C2B-38B9-4809-A5A1-C5BE812B5190" +}] \ No newline at end of file From 4613ae050abbcbd202a7e6db64d60768a29f1ec4 Mon Sep 17 00:00:00 2001 From: Marcel Date: Fri, 12 May 2017 22:55:50 +0200 Subject: [PATCH 02/14] implemented route export --- bin/.gitignore | 4 ++ .../bo/Vehicle$FalseInterruption.class | Bin 787 -> 787 bytes .../device/simulation/bo/Vehicle.class | Bin 6061 -> 6587 bytes .../device/simulation/bo/Vehicle.java | 33 +++++++++++ .../device/simulation/model/Route.java | 54 ++++++++++++++++++ 5 files changed, 91 insertions(+) create mode 100644 src/main/java/com/capgemini/hackathon/device/simulation/model/Route.java diff --git a/bin/.gitignore b/bin/.gitignore index e9f8d3b..dc4655a 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,5 +1,9 @@ +<<<<<<< HEAD /admin.properties /application.properties /com/ /devices/ /maps/ +======= +/com/ +>>>>>>> dbe588a... herp de derp diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class index a7daf14d790f9badd6c22858ba6c0fd10aa1e5ad..6e24d0fa6e3f06a4c64777427367a68a8566ff6b 100644 GIT binary patch delta 25 gcmbQtHkoZhArs^2$wf?-jOQn>VX^_TUovR{0CY47BLDyZ delta 25 gcmbQtHkoZhArs@O$wf?-jO!+^VX^_TUovR{0B`dMzyJUM diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class index e6291df73dc9178677b704d9d3ce53fb7a56b33b..a146c7a99950abf6a019afe7565290692bdaaa2c 100644 GIT binary patch literal 6587 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 UWBBxND=!57?q;(p#N2%KKkh8~g8%>k literal 6061 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 diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java index 6c8311c..1b8439c 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java @@ -4,6 +4,7 @@ import com.capgemini.hackathon.device.simulation.DeviceClientConfig; import com.capgemini.hackathon.device.simulation.model.Location; +import com.capgemini.hackathon.device.simulation.model.Route; import com.capgemini.hackathon.device.simulation.model.VehicleLocation; import com.capgemini.hackathon.device.simulation.routing.MapCoordinatePoint; import com.capgemini.hackathon.device.simulation.routing.RouteCalculator; @@ -24,6 +25,15 @@ public abstract class Vehicle extends Simulation { private Location currentLocation; // destination Location private Location destination; + //route Information + private Route route; + + /* + * public List getAll() { + return pathWrappers; + } + * + */ public Vehicle(DeviceClientConfig deviceClientConfig, Location location, Object id) { super(deviceClientConfig, id); @@ -34,11 +44,23 @@ public Vehicle(DeviceClientConfig deviceClientConfig, Object id) { this(deviceClientConfig, Location.createRandomLocation(), id); } + protected void publishRoute(){ + try{ + JsonObject JsonRoute=route.asJson(); + getDeviceClient().publishEvent(Route.EVENT,JsonRoute); + + + }catch (Exception e){ + e.printStackTrace(); + } + } + protected void publishLocation() { try { VehicleLocation vl = new VehicleLocation(currentLocation.getLatitude(), currentLocation.getLongitude(), getId().toString()); + JsonObject event = vl.asJson(); addMetainformationWhenPublishLocation(event); // Publish event to IoT @@ -71,7 +93,9 @@ protected void driveToDestination(Location destination, Interruption interruptio GHResponse response = RouteCalculator.getInstance().calculateRoute(currentLocation.getLatitude(), currentLocation.getLongitude(), destination.getLatitude(), destination.getLongitude()); + + // in case of error, the vehicle seems to be stuck somewhere if (response.hasErrors()) { @@ -90,6 +114,15 @@ protected void driveToDestination(Location destination, Interruption interruptio return; } + + route = Route.fromGHRes(this.getId().toString(),response); + try { + this.publishRoute(); + + } catch (Exception e) { + e.printStackTrace(); + } + int i = 0; long millis = DateTime.now().getMillis(); diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/model/Route.java b/src/main/java/com/capgemini/hackathon/device/simulation/model/Route.java new file mode 100644 index 0000000..f63cda8 --- /dev/null +++ b/src/main/java/com/capgemini/hackathon/device/simulation/model/Route.java @@ -0,0 +1,54 @@ +package com.capgemini.hackathon.device.simulation.model; + +import java.util.ArrayList; +import java.util.List; + + +import com.google.gson.*; +import com.graphhopper.GHResponse; + +public class Route { + protected List nodes; + protected String vin; + + private static final String VIN="vin"; + private static final String NODES="nodes"; + public static final String EVENT = "route"; + + + public JsonObject asJson(){ + JsonObject json = new JsonObject(); + JsonArray Jarr=new JsonArray(); + + json.addProperty(VIN, vin); + for(int i = 0; i < nodes.size();i++) + { + Jarr.add(nodes.get(i).asJson()); + } + json.add(NODES, Jarr); + + return json; + } + + public Route(String vin) { + // TODO Auto-generated constructor stub + this.vin=vin; + nodes=new ArrayList(); + } + + public static Route fromGHRes(String vin,GHResponse res) + { + Route route = new Route(vin); + if(res.getPoints() != null){ + for(int i =0; i Date: Sat, 13 May 2017 00:05:14 +0200 Subject: [PATCH 03/14] added emergencyrequest for crashed cars --- bin/.gitignore | 6 ---- .../bo/Vehicle$FalseInterruption.class | Bin 787 -> 787 bytes .../device/simulation/bo/Vehicle.class | Bin 6587 -> 7214 bytes .../device/simulation/bo/Vehicle.java | 31 ++++++++++++++---- .../simulation/model/EmergencyRequest.java | 29 ++++++++++++++++ 5 files changed, 53 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/capgemini/hackathon/device/simulation/model/EmergencyRequest.java diff --git a/bin/.gitignore b/bin/.gitignore index dc4655a..810f8fd 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,9 +1,3 @@ -<<<<<<< HEAD /admin.properties /application.properties /com/ -/devices/ -/maps/ -======= -/com/ ->>>>>>> dbe588a... herp de derp diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class index 6e24d0fa6e3f06a4c64777427367a68a8566ff6b..9e5c2a2fc2a58e3029f89abd3449054dcf456354 100644 GIT binary patch delta 25 gcmbQtHkoZhArs@B$wf?-j1MNSVX^_TUovR{0Cr^wRsaA1 delta 25 gcmbQtHkoZhArs^2$wf?-jOQn>VX^_TUovR{0CY47BLDyZ diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class index a146c7a99950abf6a019afe7565290692bdaaa2c..8cab91df180aa9ec06e5f74a8ae4f7afd2c6c6cd 100644 GIT binary patch literal 7214 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 literal 6587 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 UWBBxND=!57?q;(p#N2%KKkh8~g8%>k diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java index 1b8439c..51f7a41 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java @@ -1,8 +1,11 @@ package com.capgemini.hackathon.device.simulation.bo; +import java.util.Random; + import org.joda.time.DateTime; import com.capgemini.hackathon.device.simulation.DeviceClientConfig; +import com.capgemini.hackathon.device.simulation.model.EmergencyRequest; import com.capgemini.hackathon.device.simulation.model.Location; import com.capgemini.hackathon.device.simulation.model.Route; import com.capgemini.hackathon.device.simulation.model.VehicleLocation; @@ -28,12 +31,9 @@ public abstract class Vehicle extends Simulation { //route Information private Route route; - /* - * public List getAll() { - return pathWrappers; - } - * - */ + private static final double CrashProb=0.1; + + public Vehicle(DeviceClientConfig deviceClientConfig, Location location, Object id) { super(deviceClientConfig, id); @@ -44,6 +44,15 @@ public Vehicle(DeviceClientConfig deviceClientConfig, Object id) { this(deviceClientConfig, Location.createRandomLocation(), id); } + protected void publishEmergencyRequest(double lat,double lon){ + try{ + JsonObject JsonEmergencyReq = new EmergencyRequest(lat,lon).asJson(); + getDeviceClient().publishEvent(EmergencyRequest.EVENT, JsonEmergencyReq); + }catch(Exception e){ + e.printStackTrace(); + } + } + protected void publishRoute(){ try{ JsonObject JsonRoute=route.asJson(); @@ -55,6 +64,14 @@ protected void publishRoute(){ } } + protected void tickCrash(){ + Random rn = new Random(); + if(rn.nextDouble() < CrashProb) + { + publishEmergencyRequest(currentLocation.getLatitude(),currentLocation.getLongitude()); + } + } + protected void publishLocation() { try { @@ -175,7 +192,7 @@ protected void driveToDestination(Location destination, Interruption interruptio distLat = nextPointLatitude - currentLocation.getLatitude(); distLong = nextpointLongitude - currentLocation.getLongitude(); - + tickCrash(); try { // whatever time has passed so far, wait until 1s has passed millis = DateTime.now().getMillis(); diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/model/EmergencyRequest.java b/src/main/java/com/capgemini/hackathon/device/simulation/model/EmergencyRequest.java new file mode 100644 index 0000000..e6dcc4b --- /dev/null +++ b/src/main/java/com/capgemini/hackathon/device/simulation/model/EmergencyRequest.java @@ -0,0 +1,29 @@ +package com.capgemini.hackathon.device.simulation.model; + +import com.google.gson.JsonObject; + +public class EmergencyRequest { + private static final String CMD="cmd"; + public static final String EVENT="icrashed"; + private static final String LAT="latitude"; + private static final String LON="longitude"; + + private double lat; + private double lon; + + public EmergencyRequest(double lat,double lon) { + // TODO Auto-generated constructor stub + this.lat = lat; + this.lon = lon; + } + + public JsonObject asJson() + { + JsonObject json = new JsonObject(); + json.addProperty(CMD, "emergency"); + json.addProperty(LAT, lat); + json.addProperty(LON, lon); + + return json; + } +} From 0e9dbc390042adc2dbc17bb7deaf034adf4169cb Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 13 May 2017 00:06:26 +0200 Subject: [PATCH 04/14] ignore class files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index d392f0e..9349221 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.jar +*.class From 5da89f130dc8179e45c58edd5cd2464628cc9efc Mon Sep 17 00:00:00 2001 From: Luca Corbatto Date: Sat, 13 May 2017 01:28:23 +0200 Subject: [PATCH 05/14] Tweaked ratio --- .../device/simulation/bo/Vehicle.class | Bin 7214 -> 7214 bytes .../device/simulation/bo/Vehicle.java | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class index 8cab91df180aa9ec06e5f74a8ae4f7afd2c6c6cd..a37435901000aae480a5c1b25064a1f16749c297 100644 GIT binary patch delta 20 ccmZ2yvCd+{bw>6?F5!BMqt2V}F$PEh090ZJl>h($ delta 20 ZcmZ2yvCd+{bw>7`GeKb1=6j3*QUGYH38(-7 diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java index 51f7a41..a28d167 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java @@ -31,7 +31,7 @@ public abstract class Vehicle extends Simulation { //route Information private Route route; - private static final double CrashProb=0.1; + private static final double CrashProb = 0.00208; // About 1 every minute (considering 8 cars are driving) From ba52e39d7249465a6488a1e4f8866495fd6c3dec Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 13 May 2017 01:34:45 +0200 Subject: [PATCH 06/14] mqtt incoming test --- bin/.gitignore | 1 + .../bo/Vehicle$FalseInterruption.class | Bin 787 -> 787 bytes .../device/simulation/bo/Vehicle.class | Bin 7214 -> 7764 bytes .../simulation/routing/RouteCalculator.class | Bin 2351 -> 2351 bytes .../device/simulation/bo/Vehicle.java | 42 +++++++++++++++++- .../simulation/routing/RouteCalculator.java | 7 +++ 6 files changed, 49 insertions(+), 1 deletion(-) diff --git a/bin/.gitignore b/bin/.gitignore index 810f8fd..cc5d6d3 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,3 +1,4 @@ /admin.properties /application.properties /com/ +/maps/ diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class index 9e5c2a2fc2a58e3029f89abd3449054dcf456354..c441a2019037f73100993c998337741c4dcab8f5 100644 GIT binary patch delta 25 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 F{tmSsCO-fG delta 3428 zcmZu!3w%@M75|?m%}s7@k~V4Dw7ij0nidKOl(Zm%ReTgwKoBn~U+nT1JFc;?- z&iUB%bBY7ei4$=u(qS5{_?+l;%uSKu_H)zC`PvKS=H_Iu|92D0V@rRz_vGB~obx~b zbI$kO?wj`L)S_38Joz+$Nz!PbKrl(gy;0TWFn2cf70Au%khfNyTbS^SwJ;3h1oQKn z67^|enQOd-A{47F&RHt#TIY#@P8tML>14d>5_h46X_&6|yOy|SXa_ZFiZRN0mf%c# z#VtlKI16X%Co@gV!fXrY;yl%BjB{OJp&4`3`^K!Y3kB}h<;i&W%ESs27h}GGd4ei+ z$XP}I3vh`#!`m%2%*Hp<(O@tMKIY8xym#0l6FDSs`%=7 zT~DgDy>4E-V@2l`Cfd-Ufs|{h%fgiyEigM0SEZUddzQ5)OvKP_A*I#cmPD#Ko@!0? ztg!W~Ev!-Rdcv-&Eu4v&>ab^=^Q(dxj5xzIA-LAU*KnO$V~!ZQ9vcjN;~0YWct=a! zh09hYmZvOSk8i4sIm&+xzNL}eC@34#)TEyChl&=OxCXPet6MC58{bi0Z?jBRmwMO9 zMzzm-nP;Uumd{{Ja!W1`B!(R5?5I0#gEhx z-*920esB+ZDIB4Mz{zi`3L33K$+go!SpKoG2{%+wP_*6|So@n4- z__u-2R9o?B^HTU+2Rg61$)x%}Y&Cpt;;4v08sWD|vfF4*Jhjr20&#G8_m#<%wrbK= zBAk=2pxjFnk0EaM#5v8TU23wJNG5x_Qf{%xcvG@n0otSyCcll?=Y_-XT?%jFD>99GWz=M#dUadlG@UF|uTw)Tu3@$*vliV97-F zR;Y@NEG2Pub;)w^skck&%R=y?9K{%kC<{`+udttLR5~0^*G6j}N8L_aU(Kr@4qmI^ z!Wddr+ZItcsk1Nv6M5It>6kY8b%y_wOPET-1>;f&*P zOxvn94G+fJL5Am+4g@g=f|$1J0y^VnkaxYA09|xl*^gO^tE&6Zl)*U-h0zSo56&$w z%;2I$+h8^nYH{IC8*2rIU=f4pEK8xga{~Nnrc}X5!^< z;)|3VB+0^3T*h_7`27;T%xj#M-13(iSmYv9_G}(%ng*Jo!O>k&U*uZ#=+<4DG8D?M*^VbM-Tn)}6bhA*cM8o}!fi)UAhGrqrIH_d2<W8rMy8qO}>^Y!h}X zC0*1L`I^Y~JI2>&b`mfbL0rg4b6M<*+3@q&$_rTIg{F1IoHsQ#GKY0Jp^Ig z21R%ydH&u`Dhs&$6e@dcDh1!g^n4z5yz3z-)G0hhp}_7fm#tiC2eNVt^5h8aIMq09 zTi?frc(#3h4or_LY+K$C?H!wj&7Q} znm*}r{+yb`GHwrVX0heu!mt`ie%TZE&mEh=gLk2=7mxO1*WzHN4_W;U)+r*=#Fzx>t8xRl2yb(_xQcKJi@!Ij3 zRZA?e4Z9=0h_5XYhy>b}XK^G}+>5G6ac3+P2?g%l0#_gw(zbbfE)KPEo^9YcT@P(- z-GOLEoEl=dJj?`YpAeUjWgi&}iI;irJO(43%;BKl91L3ej^|TqB~zH zh7;r_zrZ*iBI3(RpakZfcORV|2@J>+);mS>kda{6x%J4QovijczB{ewFl@p-xG#-G zGF@g$6Ypzft2{6;Py0DrKqpLeah^IkBt6_A*WfH%g%!NF(9xBg>UBud;kDSn>y31L z6W_Zw;RZUt5%=@gb~f$9xRtLbw;{{ndWJ*rJT~%8<1QRPdNbZ*_Z{TYPw;>^uuZ(! zES^FK%bQZllcfMdBr9bS z;ec((@9|E8%GMG=YGK7DFxx4Mo`)G8lwp*-O!GY% zPRYk)56B2g0j8UNNJdgDX4dz~X_P|DGZ!SxY${|F9fp}lUT1IY*Q4ktnRXfw12IDk zgDg|z!E=ee9zjH$&Z8I)?} Date: Sat, 13 May 2017 01:54:04 +0200 Subject: [PATCH 07/14] dirty debug test --- .../capgemini/hackathon/device/simulation/bo/Vehicle.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java index b8cf286..fb55eef 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java @@ -262,11 +262,8 @@ public void processCommand(Command command) { private void handleNewEmergency(String latitude, String longtitude) { try{ - URL url = new URL("http//corbatto.de:32751/getEmergencyLocation"); - URLConnection con = url.openConnection(); - HttpURLConnection http = (HttpURLConnection)con; - http.setRequestMethod("POST"); // PUT is another valid option - http.setDoOutput(true); + JsonObject JsonEmergencyReq = new EmergencyRequest(0,0).asJson(); + getDeviceClient().publishEvent(EmergencyRequest.EVENT, JsonEmergencyReq); } catch (Exception e) { e.printStackTrace(); From b78fa400566f187b846e467e62d5f4c4420a8447 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 13 May 2017 02:17:35 +0200 Subject: [PATCH 08/14] switched commandcallback to car --- .../hackathon/device/simulation/bo/Car.class | Bin 1319 -> 1728 bytes .../device/simulation/bo/Vehicle.class | Bin 7214 -> 7411 bytes .../hackathon/device/simulation/bo/Car.java | 30 ++++++++++++++++++ .../device/simulation/bo/Vehicle.java | 29 ++--------------- 4 files changed, 33 insertions(+), 26 deletions(-) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Car.class b/bin/com/capgemini/hackathon/device/simulation/bo/Car.class index a3daf5040019564f71bb0a1d6c74a059c8e1a0b0..cb5334f8d19feff05753968813241e19db58f007 100644 GIT binary patch delta 376 zcmZut%Syvg5IvJL4P4V&O4Xf<+S;^LZ|e)8D~SpPw+37$>6Hf41e)TiAK*^peuV38 z6cog@dq2V75N}#n(t#Of&YT%$&J+76u+N{@cL0Ytp0Rs9Z(^Hp{#fd4)m$+QgGii- zyD$(=G8%dDfT0fCf`KMsYRj(HHvNP<-nf_L%|*U+ve$GO+SoO*LukmM-soG{11FSI zG5K5Xcv0kg!7YK?mq9Y(p|3od-0&a@MLgky`7!(-T|VfpI@{{Uu^2m%m!={mRF*v; zzx5Mi6?v3oHFssK!9+z)bEmW^$=Hxzxw3bm-qVyM#r7NO*DZQM;~A})LNqWH*}Pjt j0X3|sdVRr$rI5^u=%5Qy=)S5n94K+KDN@=Ij-dSlJGoY9 delta 97 zcmX@WyPS*b)W2Q(7#J8#7&JF>budqU!V)|=meqoln}LmiXYwr8P*y<(b_RjTUsxR( tr6!xPX-<}5lT?>y;0EduV_*W3j0`*syg(YnQe{vBl8g-MKpqo=1^{4m5DfqT diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class index a37435901000aae480a5c1b25064a1f16749c297..115183f009c17cdb3f3cb54802fe08873dd26731 100644 GIT binary patch literal 7411 zcmbtZ33yyp75+~$$x9|L4NaOfO_iwFCXW%)9R{=brQ5 z^Ph9>>%-67|49I=Wut)-!Rm-J7K((&W7e3RutTHa$o_C@)JcS*)`T6gLP>ip9S^5$ z_6$3rA#2o*#4Q5>!MdVW4&>zsYBzQD5A^Qs+cwy{bLXxdgMHh#3A+1>lILr(q%V=O zTsJ+gH0%^q_w)@6?(Og5-}Y_i3Z#d9-A*Ez3MW!S;dt6A-xyr`)88)WUZp1YZtB|A zKe%^bM{jRW`NpQ)K$-3k)I`#*Yb8?sPDDc>=qN(VF(+!pL%Fq7t}1FJQ+C1^RpvVB zltmni7P(U`q`b;*H=G>Z;X1?R8^gi6E6#ebTTrn+66Z;#&K8umvP$d zh47|uJZTle9K?K_YT`6B3(D8~du?ec!i-5zT5_E9&eowy2o{?tLwS&`B_@_)84ZhB zDgRt(SdW_2Vxk5WJg0s;VQou~4O{MDcsNc_YZdJAp|ESKcfYef;v`1wSlYFEv~zdI zZ62;*rKh_+JQlK@)JTW`vOmXw!nstAfTl+6q+so{GML9^deqA8-m2xC%;tjYib1(h zaZ-SmcNU@YH1F--7oG@*;^9Orw0(G=6-g0_AWHE9 zg63HxIJ*dYW=Q9^xzHu?Qj;?vt~4UhY=E@zj{6^clsCh9OJh<(^%V838Zv5uf6 zRiKV}M`^BK*-qJ!{W=dB7^hJhjdaS6hde(I!hx&YWu9uKOr%vT4<@WjQauj+)l&R= znTbnOcNIONpXo7`j_Ur)OuSt6o2uVQ#QXulD@^pDS5V>-NT0L?n-Y&2|6FrCGjO$F zW3e{-RYp#T^4H-9Z&XW-f#AO&&L#Ov_}dTz?`+-tf7 z-|2$53U5@ny@|voeGB&RXQ=pl6}Bjy-fH4)xL&X{9F16B zLe2`oXZ+^QvF-O~%IS?uhYEQ^$<-fE)O z3;C`+VGTM3!-5UP-ba*A-Y;F& zehf+>O~3ANJff;|hYb4wZubb(r;A+`ZF-B!EGLl66mt+CGVx)2L@A#q+ z$=u?_EjK(qI_iv%TW;vw^LARvan{`y*WZb|41843q|A)XILpM{IK*f&8cz1QuH&-4 zVv%=2CGNp}2JW50qk&74DQnC`21huHc;us^?SyuCA(xqUtkb~9NS;Y@dc=8Q+Kxvp zw*p56^L8aveb}6Gnn&zJv{_-G-a49t$l?=>NaETaG2&yJfceR`f>Ggo|7E6Q{i}F zF#ooR@8B`|XmT>hvzR7eEcm~H@0s|%63{SJz+}|lfFGFnp^{)K3AuqXUS|2P^jAUr z6i*oV*%V(H9Hl2jP5d0cU?57yEsIGi(6U(_-#+}x#INxiy4{HDjA@q@#AY~=|K;Ar z7jK$6x^nxSi4m0;|9~eA{E@ahZY;FViH1Wdd&~;;5ZggEO#BIdrmH8Mmytvy^~}>K z@(=iniNE4+G>LI_s~u-OsF}1`vG5-z{)vBiWBSZEw%Csmg|yU}R8Q!)lPQXQ8qXN` z4~x6$1fDumW$|MQ-oDlzE)r4c`&dv)rOc23qsJsMw(=u`Ddl2tdh%kI6jqMFRU(xp zuEe}5sgi0#%%Xzh31Y1&vvhEwV|w2TD&!PWq=)H+p|m;Qt;$G|S`!H#3bmeNO1;vs zG(4PC_RKYhzd=^$ssGk#z;8AOrbtQ z*drraxRtCxO%V6U3R6}JzlfC6GAl75ST+L-jt^{|K?%tjhCF`?=e)Yklr!Z8)M-L} zblE=g|3!Msw8%B4tkv~kRF{bQyG_2%)3uae0~x|X#j80Bx>;WiIB7RxZL-z30Mjo? zPFL>7*S`;F!)9yv0Z{7-_3&e zYQFQcgdXGFRXYs-19m=slXfnfX0}`8|SKatUSedf-dGmHMee zTY40mb}w%|g7Y%i+)>t+!M56+^U5+9JpXnCJIYk^fCM@Lrt`rLC2A(-^HWA;* z(>aGKcVP*-wIZwa*wVZrOR-muVS*(&8K6JZQ<-f8@cAj)5h^7!qQ*T+5O)RY;( z*YpZ5Q1~opyBDzx?0&6de1)fCML!$9f^}4Ds)FZoyYqO%+k&~gk0coEgvNp%K^#E@3SbGK!ARZhh#afPn{x%4!a8oVF|RP6UP$Py*x5}ikJ z)$XY~5|~$I@R}pIPO0_gt!*nac#B5s?QE$7Ekx@~`ezQUWty~mc*D4m8|~piUqlM+ z#d03gnZ#r*QRzTTtL*u5r?2utlJ*ANNaYsulhjSbv4pdy;h5Gq3T~#CcoYipsocLz zS#UQSCEBe#ChpVwnBD|`AHh3jTzt#)#fjq=2LkFM$V~#g$rBe)2+n1=cr=UKrk)CqVuFA4hYxOBmBAf1WB*|s zK8oz_+WU{-<7zmA2Wmf?!Gqqk2Wr2-wl5?%Kp2b$Mv_ua5hwLGZ?R9^24ZlW(7KARr2bj5O2-4nFgz zLp2=HEzMXaU1r?2I-O>J};Al@_{^&zD-gAmoxjlf<(HUM7o-B@c<*^t4W~) zq|j?|F|MVwH&EVnxCU?Jmyfsb?RrYSfwFJH`)Klq=vsHsSMOy{mQMBnubZF2`|%at zXdmO~6TEpoi9>jbWlAY;f>p>!EpLAHxL;a%hueV9N*5lKO?XJQ;EOVdhvg;sl3awZ z%07HeCh&E+4BwKg@rYcDN9C>fj@*Lp$w7QyK8VNVPL_rb;>Yp@9F#}!GfjgG-JTAf zqXAnU4cI45OeQ5*C|Q{=3&^Z%{J0*VHC}`d;0|e(g>ovfyjK>p>a<=MdrME{tZE2Dg%B!ap zexDBJufZwD2!FtU7}#J)mBGrNP3D?i>h~EmN+58Ish%T~Q`lF^f53mRsI)YpX4XE9 z^_&<)^$Zg^RSEqk%8xNE8q;QgCRM8cw(&#I9zv#q;M_WC%}U#rwueyFmX*^pvihz$ zsJ@Fsh1ugNqVyMv_$xEW-}6zE7(6ptLAKSDd77GmdQ$P?L&H}L%N{eZV2)d|K z)Tx{Lseph^aUz?dWtc`$5vS;MsPk`3pSig?b!>Aw_oGw6_qz#2*xD!eo_p^3dC&Wu z^L_Wz*v@+Mg~N|M31F-=_L!eI*N+r%QdFg;OzJt;t*Ho}is8)xo@>a)$aUZ&Gj~CTUfZiHVqE;aixh z=DJ6^r&*Ye8R}a1#G+XOPur42OV_gaQWIxmj)B?g9e0&;F3wSYqtQJd3k;mAW*QM$ zs9KGi3zu35p~%FAm|~z+FpeNbshDTTIqiaiG_e958bgVe zR#~_R!vtnWd`+^svwLxS+(Zmr7Lr=+YmFzTwV44tIZs7`CsU~{|54;NN4P1Q`L3>L_Yt5|1%i~Lu7Ougy>T2&$&t>?& zMsmIC@s{~7!xSCi2Nr&ao77w0>E3Yy$7H>43Y*gFK^SxUvY{FJ1cqlyhZ)K{8INj_`QMOsdw|kW$)q-g1oNwczl(>HR8;Q zdAfDpv+yUpuY!TK`5#(Xth?h7{%YVa>W)Bv=il&=$^^=X9>T{KKEXdo96Mu1TYGz3 zmbf!b?7%-Q{0sk9QZUB-8UAbFbJb9A^6VtO(0Qg-G@JMgU$KMmg^42~1_?sGU9;UC zGg^|%EOCgF=3N&hlG>|Tdx>zQE=7rtE?z@CT<6KtO?&xBN<5M1UX}ESMFN`>ZL8Zl zS_k#1^$dyRTUf3uIwA#@6zT-dmc?C!BOyzQB&?bWU-djB!z~#h6{>%5?7&K?Hl*sf zF33)YB_pLqtqhKHS4yoVqt*Sv;WAFW5`0Gd>b6i_Dg+-&P>3OjazAnKC+v?(UP~!| z8&0@*x1yERy{L*-J%XAZ+pdDwe7*&S!;KM)Qej7kX6;dn(R@cwjKNq&)6zKR(HSh9 zf;###lLI5wO+`hi`l?=>b}X`K+f~7fYCGy6JCoTL)$EIE+OZtW$^p-z-aUXKQsVzmP>pILNW#mM8emi3LMehm2- zi=oV;85(Q9EAK;6j`QHL>nkT)9!AJ#eT#5D?M~wFJGg+?7J3?REHW_PO{nbG9MlvY zNJ$E1(cM^*Mtr)Ba#>{-q-Q#XEJSXa#U~(aV7^A`PeVUUK!4V+5oWn6%OUh|W!i{F zXydZc$Wb)&h{i=Fdo7iNlO$HXLc{i8#e!a})ag5mP`q&q!ciiuNh6WHb*HgLuUD3_ zAj1I7#50L_rl1^CZ7jvvXnj})VlCD&m*#`4eTi~|ySfW_fG}=>BFZ5=G;bw$4w|39UAN7h;5LlUQCGt|I|+HZgoi0O>|S!) z%0+e}D{GKrLvZ^E&Z(^Th7-M8{@2^((#H<7xOleQ!MJ)_o3hOWZ?tk32B)$4#DQuh z>C3*cFy6j4_L8YW-32<{)@(eNCb1tkgf}v{^Z13~Y9#n$6WlwqI*t1`VZ|=&+=JZ< zg6Upl^y@VC1ox(~FKf0Z_zdM-kfX1%j|{RWjs0mnm(q$|_+=Wu%1Upfaj*z)XYgA+ zudWi89)@VHE2=a2<0DwYrw@+3b)MqN;LmCNy)Lgfug)O0Pxnh?yLhz}rvHCped3of zU&Nb()Ee_ge0F|T)fx+I#}g5M#J?gEhy+$F$>4CTa2JM03Oi$=NGP!3PPhZHkoL{_ z(>Sz(^J@do>bmJ`>kdZK;?fYqC1Dm&^{BXoEc?k=NPMijCkG>igpDKTPZ;#{AFHR> zh}VUS!(`;vEwFei4#&w&&cHa9BI3_Tpa|xMtw+X30)2ArRW8vyq$L=3Z9Du)4_A8~ zKY*^{Fl@$MNZo_^GG3abnfJA_P44TPr#CrUKqpMB;yiV7p1QduUW_xa21|KwWuS|A z=&j>cb_FiSdS0(*;2Zeyv>Dei`1QD#PdnJO58!5gX54}dhifl~;Aw2+XTl~NOkoS& zWA}Yb(@$}qII&%P*dalF2ZeclR$!-$M_QVYk;!;err~j!izj3eo|N;kPnP3pSK%6PoIfP;%tG-80rW9hG*(70BQz}ClFw8n~I(r|z z1_ejRw99}Ph#6uSWSJsQnsfB^Fe2h|9lU*Xv+(OU*c3+n(+T0 zOWNwFpTm8GyA87(OUGDXQC{x*!?Jq^Peq3&5dA_@o{?eGqWj^CW`qqrO5IdeH0ym5 y^8tN6 Date: Sat, 13 May 2017 02:40:03 +0200 Subject: [PATCH 09/14] switched commandcallback to car2 --- .../bo/Hospital$EmergencyDeviceCommand.class | Bin 2987 -> 3489 bytes .../device/simulation/bo/Hospital.class | Bin 5987 -> 5987 bytes .../device/simulation/bo/Hospital.java | 8 ++++++++ 3 files changed, 8 insertions(+) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Hospital$EmergencyDeviceCommand.class b/bin/com/capgemini/hackathon/device/simulation/bo/Hospital$EmergencyDeviceCommand.class index c5f41b781fdfa66d23caebd9c50aa4accead7e59..7d30badc04309b0deac1220e7f78dddceed01cf0 100644 GIT binary patch delta 1235 zcmZvc?Nd~B6vscmW!bx2uZXCTQnHPXfg8~{+K|ko*{*@&it^NInwQ-hEH1n2?uEb} zu%eO*RIWXsQEHYIJ&4mR6f^w+z3mUE{(xTevNuiVUJY@kH@|b{{LcCQzUQ3py|YzU ztMy<0`RQk1JGbWaLw>b;D)5*y87$j=*g7?66>Ob7L=DQ=t0=9FMC!WSNV7o;b&7yl z*jLDAboO&Vqt!W~?c5OKpkh_8Wk;-`RKj{Xow72vB3xVN{H`9@vOL-p3NgRF;?lABs6*y zyQCsnX~HrnU^{0@cZ72c8NA4_Vnx!s>N3-VmZGG#E}}C))CGUZ;ALKM{w!_V zILd1pXYPS)A1T<@fWhm$;T#Qw{BJ6%rnIV-Aa5(yHfIaDlx?PWhN1&jzSqhmMugcI z+H}kZol1m1c`PiA!;-jB%MdQ)o*} zZ92$x#r+}4u#zD=8?u&~5^0FkDqKx2bs<7lC>iIvWmwVS;2mK!Ik8~t>Xn`(4w$(P zQ&yumd*QD}=ht9|`qrr}JEz8-g|f{03GQQ(^-QoqMzWdnG%&^ETy%Endq>qaH2m@@ zO)s)1US2*=q{uU|tv_HC*;m}J%3p5`fWeF9g`=j@V4YGfo|2tbKIW(4Fb@xGQ!4c~E%xW59C;H>a+d2Er=60w1; k;d#E96VKYw(zV$op8<@I{p1|FJapS7y2i57!XR0wR* z@vi7(FcQ#dpv|D24!LTr&F&J^XL$3RI$nA;dIb4t!jL}_aJk2010mDkG(Leg?GMGw zwqZfFoU>KPHqCDH(r0j%bFyD6D(&Qgft`LqPL12WuP3E8U@*v#oY&gRhZ)fbY~$~m znTncWgCL`FQ>!cw35vJWGoBk_!O)O7X(J+Cwi4$U6Dg676#1mVRI0zcfEjHJo09=E zGC1QI(itOWFwG?yvmNowr~y=t_$MaJNE&Lw?0xSa96cuBH=JdZu5wnWaN@ zJCQmHMRewv*SIC9i|5zn7~JNL{B85?xyOBtg>Cb12~I@~9`I0x?UiClF5AoGFMG3C zh;P=*u-+{m%WwLMSdg8$k&;Dog`fnV{9VL8q^Fo$dr@_GeO(^9lSPFgFE#VE-l;QiWUNxiF11spIlxgw zdUZ^#Eb4Ydb-6-TKI-)zDJ)l^)e6Z{+3KiG65rCa)}${lq{%I+z=BN2Cp=YISEx|$ H@(jygR{g*p diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Hospital.class b/bin/com/capgemini/hackathon/device/simulation/bo/Hospital.class index 00d1748b0f2d883d22808b9c2598b2343766f6b1..8db0464d3b274a646a250f62931edf2bea5ed028 100644 GIT binary patch delta 236 zcmWNLu}VU57{z}M77C``%xFjwyu(epC21N736(`gL5bl|;2>F1hPEhZNrO25U!bwE zh~A>HH@MJqc(&j7opU(Hb3OO-BN|9COA-s)d`0VihY)EKw%+XwGi>V0k|Kx07Opt2 z-!40pD6-GG`Lq6=J%Zv02gE3|#Gw*Lq&cQQMeY+(g>%k~H$MqgnWLt@OXAc`FZP?e z(Sln7+)25|=7BXH*`TeKCr-r|bhxHVgJ)Xubm)Ee7ZSeZfuciJc+t35%^b-(`IN7&!H{X=0wq{@LvS?D#SNgr(84P Pj+yxmzq?|l5J~+5GH@$% diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java index 87e7edf..fa0806a 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java @@ -6,6 +6,7 @@ import com.capgemini.hackathon.device.simulation.DeviceClientConfig; import com.capgemini.hackathon.device.simulation.model.Emergency; +import com.capgemini.hackathon.device.simulation.model.EmergencyRequest; import com.capgemini.hackathon.device.simulation.model.Emergency.Status; import com.capgemini.hackathon.device.simulation.model.Location; import com.capgemini.hackathon.device.simulation.routing.RouteCalculator; @@ -148,6 +149,13 @@ public void processCommand(Command command) { private void handleNewEmergency(String latitude, String longtitude) { + try{ + JsonObject JsonEmergencyReq = new EmergencyRequest(0,0).asJson(); + getDeviceClient().publishEvent(EmergencyRequest.EVENT, JsonEmergencyReq); + } catch (Exception e) + { + e.printStackTrace(); + } // new emergency Emergency emergency = new Emergency(); emergency.setEmergencyId(UUID.randomUUID().toString()); From e1f460bf5fae255aaebee3e6292f91d7d3df2ea1 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 13 May 2017 02:49:13 +0200 Subject: [PATCH 10/14] Frustration --- .../bo/Hospital$EmergencyDeviceCommand.class | Bin 3489 -> 2987 bytes .../device/simulation/bo/Hospital.java | 10 +--------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Hospital$EmergencyDeviceCommand.class b/bin/com/capgemini/hackathon/device/simulation/bo/Hospital$EmergencyDeviceCommand.class index 7d30badc04309b0deac1220e7f78dddceed01cf0..24034ec8a7af2d0b4264f369347c0f21e9bccb84 100644 GIT binary patch delta 770 zcmZva%TH5L5XOI}KyQ0{g9t|AgNKPBT5OsaNic4d6cnsLfr1rL3S3H|EeN+&d?Dfk zUuZqPL!!o|E7TN}#2AG~qWmL6yK^ zjdxm;(L_Y2fi{D70&>w_Ti7Y6&(|&X=mhD}=oXaZ3dX{Th}Sos9Eh0)CkY9(R5+G2 z+lB=-a@J8L+cc*mNUy)7TQVL^Bd;xk4{+zcey9y&T8>ME;uXXFK3IG zPp{R>xZWimfBdfZi5Y&PQK+_?TBRYhjIY(RLSu&G8CpH7bcAYG=*nM()cpto($(QSfv+~$#5~lCHE(c6|Q+cbIV50|K8sJ_jYDUQQO$8Y^4$cFL3aZ zQeIKZqWV9t>ER7Y-l-V4^HM2ei@GV%?B_5dcRHd@HkF-Vfrk{7pjPupVJ?N%D5OAn hySsLo^g5?q`dzLHn?h{JoPEMm<#m-O)U=;r`wI+Ix90!= delta 1176 zcmZvc>vI!j6vlsVn`YDP5=w!oW0A(e!IW6*Ffdc;j3Or5VhM%b3|M5FtnHR<5|V9g z@lw>Pcth!W1FQm~sP#h8NvfUk5Adshfcgjc!H<4%JR7i-8Ncj%_I=NJ_Ib{E-d$+C z*rfmR&rd%CJGi!}9|)-3bHV$()1lfO2d(21R?*ejL&BhzM-(;Dc)Vr6-{~~yqD2uj zi+hW?tj=TX)9Ch&YP)VvvR|=w#B$@-q@A`Nc5Ex_Dq_(V?{~Fn>+0Q(5C;??J6$k~ zqgF0kWPxj8iy3? z$IMBy%`vkhZHcM0m3Qr2*5C>1g;%~{XWd@cOdsnjm}yJnh~oYmnz!f-u~x?v>^+}&KSE0808>6pPW9PjTyERa>S&js5fI(Z5j z#})NANyT#_!ZIl0dM9gk#_~)WJk6A%E>k%gFr5iYQ5|iG>x`4|!JjdBmgl@bYkD@% z@Pfw4TOfO@_p@FFjHhl7#8%ZkQ1t+6Y_tBMVsxnkaSO=njmF>Vz`tZaH(n9cH< zKUl{{f5YHSUr$)(wvy8&6Pe|-!P~s!{TA%#oD;#3Q8S;nvXvuI{T?4^y#HU%?Oa>W z^#&I#Q|Nq%qtGfncPcJ9XK7(^D!4RKDnjK-FDG6xX2~ZZe}uyjnVF#ZCjai zh|7xGB9dWcB5p2Xt%wq9h}G(SPp+sCBP*1&bK@$k#8l{pF*>|tsC(U-iY4}$`94!d zqd0ZuuXgX(P@nqd`)KWuno--)2*^D-yUdm{SK zzLHFhsv{byKt1BG1>xoM*ea#fvIe)s%6#oj)op70R$i<4j;pfjlBVQ8vPjjx$ptWK diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java index fa0806a..5326915 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Hospital.java @@ -137,7 +137,7 @@ public void solveEmergency(Emergency solvedEmergency) { private class EmergencyDeviceCommand implements CommandCallback { @Override - public void processCommand(Command command) { + public void processCommand(Command command) { JsonObject jsonCmd = new JsonParser().parse(command.getPayload()).getAsJsonObject().get("d") .getAsJsonObject(); String latitude = jsonCmd.get("latitude").getAsString(); @@ -148,14 +148,6 @@ public void processCommand(Command command) { } private void handleNewEmergency(String latitude, String longtitude) { - - try{ - JsonObject JsonEmergencyReq = new EmergencyRequest(0,0).asJson(); - getDeviceClient().publishEvent(EmergencyRequest.EVENT, JsonEmergencyReq); - } catch (Exception e) - { - e.printStackTrace(); - } // new emergency Emergency emergency = new Emergency(); emergency.setEmergencyId(UUID.randomUUID().toString()); From ffd748d0ce6c0e659982319f0fdf0d0f53edf721 Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 13 May 2017 02:51:44 +0200 Subject: [PATCH 11/14] Pure molten frustration --- .../hackathon/device/simulation/bo/Car.java | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java index 57a7937..a92b277 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java @@ -43,20 +43,9 @@ public void processCommand(Command command) { .getAsJsonObject(); String latitude = jsonCmd.get("latitude").getAsString(); String longtitude = jsonCmd.get("longitude").getAsString(); + + System.out.println("CAR RECEIVED COMMAND: "+command.getPayload()); - handleNewEmergency(latitude, longtitude); - - } - - private void handleNewEmergency(String latitude, String longtitude) { - try{ - JsonObject JsonEmergencyReq = new EmergencyRequest(0,0).asJson(); - getDeviceClient().publishEvent(EmergencyRequest.EVENT, JsonEmergencyReq); - } catch (Exception e) - { - e.printStackTrace(); - } } - } } From 9da7afcaa5ff9fb0134576d1e9a95e7ac015bb9c Mon Sep 17 00:00:00 2001 From: Marcel Date: Sat, 13 May 2017 02:57:03 +0200 Subject: [PATCH 12/14] Pure molten frustration --- .../hackathon/device/simulation/bo/Car.class | Bin 1728 -> 1122 bytes .../bo/Vehicle$FalseInterruption.class | Bin 787 -> 787 bytes .../device/simulation/bo/Vehicle.class | Bin 7411 -> 7764 bytes .../hackathon/device/simulation/bo/Car.java | 20 ---------------- .../device/simulation/bo/Vehicle.java | 22 +++++++++++++----- 5 files changed, 16 insertions(+), 26 deletions(-) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Car.class b/bin/com/capgemini/hackathon/device/simulation/bo/Car.class index cb5334f8d19feff05753968813241e19db58f007..623937d2764958b38dfb0e14072be50f93eb3509 100644 GIT binary patch delta 50 zcmX@W`-p?<)W2Q(7#J8#7*scMIWtdIWEJCKP-I|aUXX-u8KfYhy036|D%I(C(mefJty%~n;RE=DzY|mA} zfT32pl-d_=m!=-{g`DG}Hz$eT+*Y|`VvphMaifvTchs#by+tzZ`%ci~D4=9v4P}Oh z(xhor&8`-<6SijdIJTEYQf`ha_D$3niYpdmp$@^Y8L5FC7hpS{*LCDQgZM9NOnMi( z{_yE~1}oOQXiRzKzA*4BJq)F4yPjf5k>L8BGjb^9c@U`3_M9kEQH~+ItZUc-LxP?P zNKSO(%TFSQJYgmwZR(~$d#3t|!gYl`qxgi%ln?`)Rz5%7MVcbk$={CIun3ur3>s)s VE&~VT891a5F^gjKR1C*3egFa8lW70| diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class index c441a2019037f73100993c998337741c4dcab8f5..982d4a86fef34ebae9b7e4395eefccd71bcb200f 100644 GIT binary patch delta 25 gcmbQtHkoZhArs^0$wf?-jNd1(VX^_TUovR{0C`*qn*aa+ delta 25 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 Date: Sat, 13 May 2017 04:00:39 +0200 Subject: [PATCH 13/14] fixed stuff --- .../hackathon/device/simulation/bo/Car.class | Bin 1122 -> 1360 bytes .../bo/Vehicle$FalseInterruption.class | Bin 787 -> 787 bytes .../device/simulation/bo/Vehicle.class | Bin 7764 -> 7214 bytes .../hackathon/device/simulation/bo/Car.java | 7 ++++++- .../device/simulation/bo/Hospital.java | 2 +- .../device/simulation/bo/Vehicle.java | 16 ---------------- 6 files changed, 7 insertions(+), 18 deletions(-) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Car.class b/bin/com/capgemini/hackathon/device/simulation/bo/Car.class index 623937d2764958b38dfb0e14072be50f93eb3509..0bd5dea41169249d9b354089053675359d0ac3c0 100644 GIT binary patch delta 552 zcma)%yG{Z@6o&uVU07Jg71YJMAb5dg%{H2tSQ)Jhl_nO%%5@=YgiQ!o*zgRSeF$p{ zFR}0etSqffY!tYRh5+FWh;ojt$lGO${3 zcAQFas7NHiFcdt$BquSgVv1osNSon-q{ldBFdG_DEuQ1ZV?OLkk3GZjTXnC|ZM)m< zspq&`C!X8tFj%Fk<2P;Zkhb5c+m7hlN5W+P^lp^*8F*j#Oqc%~4tL~2k3m8Var&7; z!_yz=Oj5NAnHIp!iggXmlrOOOz8`61sG=nGM~N2Q#$ZsA zA&c<=e^b=x5&8xbSC~70e_mqpbNrBUt$hb)5 h1R>iOzlLL2#1iRM1^@xM()W2Q(7#J8#7*r>66;15QVC0QrtWgC35nLU) diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class index 982d4a86fef34ebae9b7e4395eefccd71bcb200f..9940fa9ddf89881b07249395c47197cdb10f3912 100644 GIT binary patch delta 25 gcmbQtHkoZhArs@{$wf?-jL#>pVX^_TUovR{0C!9YYXATM delta 25 gcmbQtHkoZhArs^0$wf?-jNd1(VX^_TUovR{0C`*qn*aa+ diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle.class index dcdbb2199860d744392ac5211b3185573125471f..6c9f14c7f886fe84f2bd0e18c4360c8b0303db5a 100644 GIT binary patch delta 606 zcmWNPSx6L66o$VurZehH&gxQ5QE28&IWFTeE)SN8q(nqU5h_!LA)-Vy*@BWm3q^?c zp+c-c9|}_wEhH#IGfc1rEGqD=S6k>cqQm8$pYxyPhx^}^%JDMi(!b{~fv{9qu?S&P z;0{mL)VUlsQj(aE9J_3nT+`qQZwksztLzY*?a^2?)Di7$3)OU;Io5H)E_o6%_dLZ3 zK`F3Hq50~`kzym>s5$37E)KKmEltcMnXR}88ow`+m`4I3W%5mnuO+^SL{*;mb-T(~ zPlOGWvzZFAs4@+y{jO?k?83ty(x_!4b!IKK$5F3rgR=X`X20o98`#o_n?q#Kh@Zo% zc7z;`Qb-deH0#c&38uG6t1;=7a?*TAuZ!>09bHrYj1o(4j3mzLa7>3Us&o&#>7`Y% zjXq9snG0Ou5?3`|TnG_$>l6!!sQpF3YW>#u>CH2h9L0(G}3)0M@wDVSCEXjG6rH^-Vo%b@p zM;T;AhWR89`7C3M$^zeHks(=Obt)@!ub4T1+Ue{W*;XHTLvmn70?#CW!i!@|aRId&Bi^nQq{VOG!TclLV6x~?V7Lf=^VpS|p Gu>S|9%Y+L6 delta 933 zcmZvZZERC@6vlr~VeQ&=W$oS8xMdQZqidOV!)|PJqSDFh)F5UCRF=E0)?(Rwfk8An zokS&?C|pQH3@=d=O>oOZanS@{B1AC0#NbO};s@h5znJ*RMA1VDA2i&Xd(Z!Wp65L0 z{Gb1H@45ca+4CQq1TtDP8=8u?h=%<5*nOqq_J<1tg^5zWkSmu8W7|YW`=B@MPXx2c zp@7=O8n3giyLG5=e<@$SL>=F{)g2oRDWO!Dg<33jwGZy8%lNW`7uea$u}v?;dR-gV zbxMoaBZY0bi#j>CTpn@r4~TT7cXQkS04o*Y(f^E@tV|inR9kCjx8E7A$`GX6`_tJO?IXf6n#i({ey(A;H&y>qbOqJq za9By4RWzHWtqo7q4qEnB%ic~K>%HlQy;ltp<1VgXh!!?-HJeCq4@=lg55uNA;<=4Q z6}&Tz{VI9>`0A>0(|GXshIo%}at9%HTJa7me%xA5TFWOHwOHh79%2`d@hngA9M7nSw zqXynn@(xbu22Sc`KGsS;(K4tgN&AN? z=r7dTtSQ?!US!i{CSG_V>Qt9$1 Date: Sat, 13 May 2017 08:08:12 +0200 Subject: [PATCH 14/14] Did stuff --- bin/.gitignore | 1 + .../Ambulance$EmergencyCommandHandler.class | Bin 1806 -> 1806 bytes .../device/simulation/bo/Ambulance.class | Bin 3984 -> 5635 bytes .../hackathon/device/simulation/bo/Car.class | Bin 1360 -> 2624 bytes .../bo/Vehicle$FalseInterruption.class | Bin 787 -> 653 bytes .../device/simulation/bo/Vehicle.class | Bin 7214 -> 7562 bytes .../simulation/routing/RouteCalculator.class | Bin 2351 -> 4351 bytes .../device/simulation/bo/Ambulance.java | 22 ++++++++- .../hackathon/device/simulation/bo/Car.java | 43 ++++++++++++++++-- .../device/simulation/bo/Vehicle.java | 32 +++++++++---- .../simulation/routing/RouteCalculator.java | 38 +++++++++++++++- 11 files changed, 121 insertions(+), 15 deletions(-) diff --git a/bin/.gitignore b/bin/.gitignore index cc5d6d3..e9f8d3b 100644 --- a/bin/.gitignore +++ b/bin/.gitignore @@ -1,4 +1,5 @@ /admin.properties /application.properties /com/ +/devices/ /maps/ diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Ambulance$EmergencyCommandHandler.class b/bin/com/capgemini/hackathon/device/simulation/bo/Ambulance$EmergencyCommandHandler.class index 3a6fbc4b3c650bf596d0c405e4ee2b2f1bdec6ed..17dcedaf57eb16cd06864db393de69e45718ed6f 100644 GIT binary patch delta 87 zcmeC<>*L$-kcHKcfs-L{@-r4E&QJz+hHxM+a*L$-kcHKXfs?^@@-r4EPDciI24^78b+RF=E2HP+a#mYbUj|kNzsWmU-C2Wx ntl-J4Y)+hEKvp;d7emD405%`SXrOB8$vfDz8LcKiVbcNtP{|Wi diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Ambulance.class b/bin/com/capgemini/hackathon/device/simulation/bo/Ambulance.class index 294217dd0fd16aa635c363903485c0243caf7908..86bd6a429ebbc4552d527dc05d04bc720debc7bd 100644 GIT binary patch delta 2295 zcma)6S#(oX6y3KCc^Mw1NlR%LM*^stim0++&|o6Vk$p z8P(#!icnbV3Pf}z(b1tL5~?1UJ8zL{B(%7p23-h4mC(iyxvQ&n0*J;V0Sl-u3#;ie z+7V%JM^v*ZZkS3uOj#OuUv72kA~!79sEkgmU>L5nbtVmSi5iV`mjVi#+5iY^%v5)6$(6#lo{-P)+c47Dk4s=A&` zi0WO?Km|xB6F8=fB)S<&m9UvqVzHijJ=#rB^{PRITXHe9UXmZ5;;i8(-G!-OMT-Ng z7#u!bRl*%=n@Di0jMai@o}tCM)rKxrkEro*51rDpiZhg5s(g~G*;K+S7AT3uN^4AY z;SSs-;ZBCDL>I$KBBFLh8P@|V=Y5abb{aH%u9*Gcgwg3_cBP-EmDZ|_WFlt z>c;(eK*D+=dZF4f9>hb$HcARArlvC#U2wZ88xOj%0h=UjB>1xkqXTC?%XkE}47Rws z%9QXZ!(`E+nXOuYD7nD#xQr)+PVS`DOv`Wrax7`l*(1%}+P z&)IM_Jx;)lZP+2>1@ux)hHBQ6b2IOx%3nY90bV3O!!YrnsD}K(MKYvpDiLNF>duRz z6^R)TYf<#5u+rk5glc(;Vb&n{|D%wUm56VVLeu*g>`|jpSIM9<-jLA;p9^nduY@$Q zw=5A;Xp}UYI!zQA{TSe-jtS2Fcw53-^aA-VN9iyb2XK(LJHnp#WV|m7F^t}cYC7;C z?{b#dK4Q31IADoI5o#%d?w!9F+Rst$G+g}T%GoBWqe72 ze_cmLF?fcI1PQ;>v}lElLqiG!y)hx74sPFo@Cf^`a~Zc&G7XS z3{Z^{)DY8ZVler<{N>sFC3Na3Je|$&q5P*Y0=W_eBzn6TPTxE64AI(3XgO4kAhnfp z2y}my#b;qJMpb9|Y+Ep?5Zedvd@hzy%wqMIU}dvZ%&?k9Os11&(@>5X7Av1sq(7CV zMbLN=JBdXh3BC(2QRbscY3%ODo;3CeRyh_cmvvwk^2Z@~o=BdvY&@j&JA{{m)%?V8pZ8trhW7*S;WUmM z!eQ#br+iGFkA2Q-^GZ^);Xo~^IENf@9d01!oa_7iETjWn!!7<1{x|0un`cSYKt(sgOV&FFUSNS26983}K^Lyd1@lsZKK@T$api6yW2S05 z1wp K8?ArX<^KRNb2y3s delta 919 zcmYjPO-~b16g{sk)1jTV%s>k$NFypzKms8UC7KwN$kz&ju)<*&OG|07Gotua6s@9y zz!Me44_0p6G%=N!D7w`616;WAKe$%!lt#&9-o5YLx#!$--pti6RTX{x{r)3>7Hl|S zV`$~FBec9FWjenL&RU#dIC_xFLeq)fgr=I2M7+IrP{b&M7)3x)POn~)4AW%+Y)6EB1UIY*IkehlMqGFg*c|1NH7#d z)oHacrpCjK{bn)}4@)?QBwzLH6HH7yah`8^s_YkVk^l5)$)&91m%s&P$cXy+Mw1C_m%B5pC1oJtr|5mSwg^bnyj(veIU zh7-4W!h1waVP3*r+~XN509xPC233W-^G}ITM-C24a zun~p>VT@C)kWRXYr`tw}T&F}rZy{$fv5Cnnj0_#xax=In0tZlpnjCH*x0my{)QTBg zB0L*(e!3*6T;9Yr<))I(;?5_e>$12{D$7!o^pQ^G!9TJ8DFP@UiV#H9!H0U1*nn;v z+CkTorxVdZrmqkk1IJ=s#t@NPLl);Htif$%METGnvAmQ4FC{<|nb`~lExgHJI!QRw=o`wn9T9TpZ97~R^W!=22#@)?Kgcxx!CzYQ1Z(uI4Nr5u U&#+EWp}loC&ndnj+E;?~7o>lzvj6}9 diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Car.class b/bin/com/capgemini/hackathon/device/simulation/bo/Car.class index 0bd5dea41169249d9b354089053675359d0ac3c0..9c02a5175ba3b20c1c18d3a79c69e3c2713c5d4d 100644 GIT binary patch literal 2624 zcmb_d>r&fB6#mvWF&KqlCxL{9TN_&2xKWZqlVU=fnx;S@Nij90|73ZwHf&&i?iK_dfwF;oCG44EIf^t(!)t z$=kvfddo1sH~f}k>kZx&Cf7aD4lKhLv{HBUis7b_VptmJRE@WUX>o>YM!QaEw#j#$ zz~>&VY`-$Ph93CB(sztbnPH?VnzrEwF3E44-CYf*1klv0zANlzIVP|zJU=e6Y5Tm% z-SQee45Nakt{Ze{WZ2ps$N_TuZq*Muq9H*QO4YH*XvZe#G1G9@x#tTqn^qWB20(8+ z4Q}b%j;YQP+LcwxgTKa5%?|*xuCi6J1h@T)V;_oMXjHIX)L(JaFBfVIsR}8~Ac?Go zs~Ah;I)(ZF3PuJw+?2Qz3_lKHen_qI01k&IF3n1zHUfrQ8b**wV~Qc$=h=qgwTNpO z+{PVg>@-6%A0C+1FoY|Tmcr)GgLa*}dq!PSHz!kM)eKk2d9;}FTY^aZaA3PB&$+O` z;wfWT8vyBolrtnmL)xmGji;U=-Eke0dtL@bl+svac>MNhKg&`LAL1Uv4b$a@&vy;G z;k0`UW?0P^2Jqr6a#?2WzJ^g~l1mRYe1s(i&Ex)QZlKfc1BRrO|bVZl% zIcKWy$shzgXNIhlt5u(xArU1?_Gr*)NOxuDB9&y)({|m8wKIl=d@S-8cPLeaD{q#& zxRVuXqxck0)A)?+>ob~+)bKefMC4B3Q)c7%QSrwt>$QXbF3F&Npw8av!Kgnj6^ZPgX`Tikvb)Ggt) z`ZSvj)7x~Mrp5K9M;Fu<4L#o|fkV7Y-H_pqqT?lk3^z^HFX_UGR}@1jR3PeYT{!-s zZmQovnW_`GCVwVmqZy{l=AKL~(SFmmxm&Re&y&%fyyObP zJY_9OcX|>D*}iC&rda~R^iuy*|5Q=*m3!3nX}m@=LDKTvY;m!4g7M-X$Q=~f32q!= zk|wtgPVmkVW`0%xb2R3VqH&U7uG4c1Gt@%oX=N^i!Mk{mW(0`4SRf_x?|pngW-#P2 z9jQG~b6~3YD+))@i@#tpd5i}|`q7WE{L?>w)5#>E_B2kDL$hS^9O<4>8a0JJ6>0oL z$+I*q5_Kark0LcA5JHlRHkRKflX4fb*f&jd_^lMY-1<#VVQQN zsjP3iOd;?lK2q8=_cGe*tS$M*y4H80u3KbbDv}y^|w>9NKd^jv|8qV<80N zw(Pwn0hE!&EiW>ZkY zjN|u#9VdY3d(7UVeEIp#sORvS9vBT+$k4`N^f!9hcuY fBlG8T2eekP#;LH5#(#|ZUksL-NI3;9_jvmYQt>7D diff --git a/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class b/bin/com/capgemini/hackathon/device/simulation/bo/Vehicle$FalseInterruption.class index 9940fa9ddf89881b07249395c47197cdb10f3912..62fedc3ff8f7f215834a0b96cd609141f78076e1 100644 GIT binary patch delta 109 zcmbQt*2~Iu>ff$?3=9k=43ZnU!WbuSX4GaBn|z-!nqQHDk%1YAS%I=l42+XKnKT&R vPcCAzH2uuL3l!r4%7J9~82G`o5SSEZ5CPIcARP>%4B`x&K>eZ&5^OvGlUokU delta 182 zcmeBWoy^8{>ff$?3=9k=4AL99!WfyoHGC!txN%r(hH)`4GH_3hW7K7lU}P|vC}1-A zFrx~;0#KA0h*^Ppm>HNRe`C~Od^}m6$ui?P120gF2PntDz{J4Ez|X)Sz`(%HAOsZQ z1d6EwX(k}esmh6=*%ZltMPV88Ry(DpLOY#v%MKDQd($fOG0Ave{W`2 zD_N%5rmNrXym`m>zVrWm@98V&&O8NRqg-d8La;IEPQ;Um$uWDv$vE-xMDlPVH|}QQ zDSO&U+VQM2F_li_9QKU3@nL)1Nv3TBVZr9IRt^^F2x5IZ2L^j@?cX!hyMO7o&4_IbAv#7*w^i5vbjViH=IaM*^wRQ zrtkf*se8Se+}pSFz`)S0gZp}Wdm=j;3j>w9Lr{~P@;p0}8*r0a1%l2pxSViPb~;{I zOXe1(>}<}-1f(iGcPeL7k7bkGuNIPCRkxSOj_>o_k;smOS$p@EFLVo{Ta#&8GPhk2 zTGuix2zQeY15JXy|C5IM66vg6s%8_HV3mbSu|g2ps`sjb;4%x9h?s0$Zs7{7AuD5c zF3==d=~0uev`~X6H9O#B>^)NxBepk`7)etNF{P;VaKdxcd(e4gT^Y*h(H`5Kc4#r0 zeAF51Dr5CLYYiMqOef;$L}o0$cjS#{%pPGrC=utafr&@g$ZorLwS`08|7*3^D5wr!1oso&SYAMyOph-KzMN~)dCxvAt+!Xgyi9&C)J24p` zO+hY=ttt?c7HUyv!bYEgQNgw4I)bJYMJ;h!ajsw4&N<1$8n+D`rchcNQ#mIc_x;?& zA*@nA84IogQ8Q!Tk?V2ks z&%m!2bWsAi7T$*6pws4D-?QdZ2>i{&UHDBEVeeo}GjdDz2xchgz6*Vdr*~U8g5MIX zNu*M{?OejijJn>0PRTco+nIenBow3&Ts z7&X>CzxJqRXU}W}p`7#s7Gf$}#8RF!Z4bF6!-8$)q^Nl~sWc||poRPKdxCpj1*I~y zGMm8WmUXI%sb+DIRF$Y51k%l~f+s(LjCqO4@o{%@()Qvv+_>M)PO?t4nIb-nj~MuU zTJ)92fX9-I*caE#bqB1vo`qw0*bmlzU4tr6>n$sRU4*h`^A9W>#UBb*)9abBd^Eh6 zRFC2@1AioFR8lQ0yM;f-$B0qmiEOXuxgHA;7H+px;S)G+;PE*jI(TO`XHQr-fs>p? z@rzjNxbb~HkTZWzbQySpaXB0JeoS6J<)l-#7e!vM;y^~#e9bwxdDO|Inw7}vt+Uz0 zDa@$Q{v@d{kZP2hp2ArRpTehAQl%|31e&IGRK`ViWFq_wQ$wd(_@`>&X9epQBK=DU ze4gAiw>Jl;gXVNl6#4w#XX1b_-vk7GjzGLATMZr=O3ImlqQt}ge&cxs1?+yIj9A6n4rzfN=`~&`x7?(}k_N3Z# zmkR8t7X)50oiFUbblgNTH_!5dUU>2U3ka!N;GZo#hvyk0qnER+e6|0zYrc_ASkPuOSHi&ogTEdb_iEw)M zc8_qQoR+IZq88qS6^q0a%aBE7;r2yRjwOpV5Hg7T+l8pqFr1a+5#^hU-KvllS!%(d zQOI?zC3T9!P+}yjMPLQI@Jo&{uL$_%ZRTJ{_yYP~>hY8i7I2;LM4Y_I#68MFz zCD+JC@;R+8WcH5!?gyiOvd)Q(}`@>rmHW#;O;|DnZ0oeU&bmaMBs~}QQdy9)d+)c3>mg7 zVDjB6d0)(TUV!K^p7ZsS6`X$ZxWQ*5mX*w}*Rvb2f)pD$+CiG?v-B)3Id~c?Poa4R zt50F=33gUs9e=AeLrvUzHLnud(4t2`0zCBwWM0oXVfI_CZR<~?t+oA0Y?x1B1I3AB z5niJywEFY;b`{rgC9cLbq^4RMDS%?j!nN2$%4(O-N)3c zuA!OGqMnZ-TK;vS}^TtQkq%LJ5(Va(cXJu<1{juFED)ZQT z(<3lDD^>Hr3C(IFR`MJg(rT)wy}$!iHFesEPO{v^TdQrFk&Sw6O_7l`xJBE9o8fhA zg}BPX>+uH8yOiHw#jX6kjr4e@`UV5T5pqhL4miD=3zUAETA#p39;pG%<5-)|VswCw zfWcbS&tq^Wx4WJv(OxV^A1~f+EYVa`z+jYC8YeR>v$(HfMheXE5@R^bPU2I*Opcr? zX4am?A$m|+?LJY5`Uj3;St}XbkjJF|$mTJvjOFVqMk?S%L=*#LXAd>8PqR|*Q!BEv z3U}bnfC0wAOITy@G#ge39dIy1Eh(4iI*Ypw&fSrUc}pJmp2pi1TkqW6+MdU|w6@;E zmNICmwyvgE6wJ9+2iyT3hlaV)0UG*d`u{;(NrPQY-E5*>I%yLX4ZbgT1uU;*!2LGf zOXgI(ypMA$ID4KRr?eggzk{uT6mdS4`&TLnj!9#PcLQ_ogOMm$2Zkpkd2XW{mK7JOb4#u85jnis4k2A5S^7s>f+L_qr*bayk zhWu9&Ig`g1@_1UkpTwW#@eRNA%{;zchrgM@cWLE4>lqVry!|+ty9@W?zM`Q!8GB&a zU?NLHdo=Vk8+h?XOCp4*2Eh=DBziy}UU!%BC|k-qLim(!)|39;R+fd>=p{^?1K@a$9^{I-VbV*9H5LZT$k%d(XZpZn{6SjxDAUtJ#PbjH!u1&ME*~Z=K86v}^zd<_(c|=u z<239ku6TmIpW@q7coLt%8GII>6R5tT@^*R4q>INl}5RQvagX< z(j+VCUM=id#a4t;yeOA4n4^^C$I{HFNr|47%h<9g*LP$!Th)~8F}a+rC6w=&T)|e1 z68ZV5j(j)D8q%vH$A!Mz7)zsAtkc9fESGTjJT}18&i<&uiaHz)@dLb!%R-@yN^P;1 zu$8k+So3Fbo{EhZ5IIkPij)qs0H8#?O!5PUaq1T!vDUV{tlhKziwK`+UEiLUb+Z}A z&(Pne{Lgar518bhBWOKe62-BCZYie^Xh1B`ZG@Up`VQ$R)|qILiry;qzo~$W*U<(F z!x{I$w)JT&Vk4fHYag$};>S5un*3g1l)p$eeonW0S+k)K-k`c`WDDos#;@L} f)({qI(#7`**(%%kjB%?=SXysK6&*)pN5uLCuQ$5> literal 7214 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 p5OtE|XbS7 route) { + for(EdgeIteratorState edge : route) { + edge.setDistance(999); + } + } @Override protected void addMetainformationWhenPublishLocation(JsonObject event) { diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java index e1566ca..574347a 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Car.java @@ -1,29 +1,47 @@ package com.capgemini.hackathon.device.simulation.bo; +import java.util.*; + import com.capgemini.hackathon.device.simulation.DeviceClientConfig; +import com.capgemini.hackathon.device.simulation.bo.Vehicle.Interruption; +import com.capgemini.hackathon.device.simulation.model.Emergency; import com.capgemini.hackathon.device.simulation.model.EmergencyRequest; import com.capgemini.hackathon.device.simulation.model.Location; import com.google.gson.JsonObject; import com.google.gson.JsonParser; +import com.graphhopper.GHResponse; import com.ibm.iotf.client.device.Command; import com.ibm.iotf.client.device.CommandCallback; import com.ibm.iotf.client.device.DeviceClient; public class Car extends Vehicle { - - private boolean gotSome = false; + private Map> ambulanceRoutes; + private StupidInterruptSolution interrupter = new StupidInterruptSolution(); + private Location carDestination; public Car(DeviceClientConfig deviceClientConfig, Object id) { super(deviceClientConfig, id); + this.ambulanceRoutes = new HashMap<>(); } @Override public void process() { + this.carDestination = Location.createRandomLocation(); while (true) { - driveToDestination(Location.createRandomLocation()); + this.interrupter.setInterrupt(false); + driveToDestination(this.carDestination); } } + + public void updateRoute() { + this.interrupter.setInterrupt(true); + } + + public void setAmblulanceRoute(String vId, List edges) { + this.ambulanceRoutes.put(vId, edges); + this.updateRoute(); + } @Override protected void addMetainformationWhenPublishLocation(JsonObject event) { @@ -33,4 +51,23 @@ protected void addMetainformationWhenPublishLocation(JsonObject event) { @Override protected void configureDeviceClient(DeviceClient deviceClient) { } + + private class StupidInterruptSolution implements Interruption { + + private boolean interrupt = false; + + @Override + public boolean interrupt() { + if(interrupt){ + //interrupt = false; + return true; + } + return false; + } + + + public void setInterrupt(boolean interrupt){ + this.interrupt = interrupt; + } + } } diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java index bb5ce35..d641cf3 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/bo/Vehicle.java @@ -109,17 +109,11 @@ public Location getDestination() { protected void driveToDestination(Location destination) { this.driveToDestination(destination, FALSE_INTERRUPTION); } - - protected void driveToDestination(Location destination, Interruption interruption) { - // Calculate the route between the current and destination location - - // System.out.println("Entering"); - + + protected GHResponse calculateRoute(Location destination) { GHResponse response = RouteCalculator.getInstance().calculateRoute(currentLocation.getLatitude(), currentLocation.getLongitude(), destination.getLatitude(), destination.getLongitude()); - - // in case of error, the vehicle seems to be stuck somewhere if (response.hasErrors()) { @@ -136,8 +130,13 @@ protected void driveToDestination(Location destination, Interruption interruptio e.printStackTrace(); } - return; + return null; } + return response; + } + + protected void actuallyDriveToDestination(GHResponse response, Interruption interruption) { + route = Route.fromGHRes(this.getId().toString(),response); try { @@ -220,11 +219,24 @@ protected void driveToDestination(Location destination, Interruption interruptio } } + protected void driveToDestination(Location destination, Interruption interruption) { + // Calculate the route between the current and destination location + + // System.out.println("Entering"); + + GHResponse response = this.calculateRoute(destination); + if(response == null) { + return; + } + + this.actuallyDriveToDestination(response, interruption); + } + protected static interface Interruption { public boolean interrupt(); } - private static class FalseInterruption implements Interruption { + public static class FalseInterruption implements Interruption { @Override public boolean interrupt() { diff --git a/src/main/java/com/capgemini/hackathon/device/simulation/routing/RouteCalculator.java b/src/main/java/com/capgemini/hackathon/device/simulation/routing/RouteCalculator.java index 88d77e5..5fda786 100644 --- a/src/main/java/com/capgemini/hackathon/device/simulation/routing/RouteCalculator.java +++ b/src/main/java/com/capgemini/hackathon/device/simulation/routing/RouteCalculator.java @@ -1,16 +1,30 @@ package com.capgemini.hackathon.device.simulation.routing; +import java.util.*; import java.util.Locale; +import com.capgemini.hackathon.device.simulation.model.Location; import com.graphhopper.GHRequest; import com.graphhopper.GHResponse; import com.graphhopper.GraphHopper; +import com.graphhopper.routing.Path; +import com.graphhopper.routing.util.AllEdgesIterator; import com.graphhopper.routing.util.CarFlagEncoder; import com.graphhopper.routing.util.EdgeFilter; import com.graphhopper.routing.util.EncodingManager; +import com.graphhopper.storage.Directory; +import com.graphhopper.storage.Graph; +import com.graphhopper.storage.GraphExtension; +import com.graphhopper.storage.GraphStorage; +import com.graphhopper.storage.NodeAccess; +import com.graphhopper.storage.StorableProperties; import com.graphhopper.storage.index.LocationIndex; import com.graphhopper.storage.index.QueryResult; +import com.graphhopper.util.EdgeExplorer; +import com.graphhopper.util.EdgeIterator; import com.graphhopper.util.EdgeIteratorState; +import com.graphhopper.util.GHUtility; +import com.graphhopper.util.shapes.BBox; import com.graphhopper.util.shapes.GHPoint; /** @@ -23,25 +37,47 @@ public class RouteCalculator { private static final RouteCalculator INSTANCE = new RouteCalculator(); private GraphHopper engine = new GraphHopper(); + public static RouteCalculator getInstance() { return INSTANCE; } public RouteCalculator() { - } public void init() { // Set the location of graphhopper files engine.setGraphHopperLocation(Thread.currentThread().getContextClassLoader().getResource("maps").getPath()); engine.setEncodingManager(new EncodingManager("car")); + //engine.setCHEnable(false); // now this can take minutes if it imports or a few seconds for loading // of course this is dependent on the area you import engine.importOrLoad(); System.out.println("GraphHopper initialized"); } + + public List adjustWeights(GHResponse response) { + LocationIndex index = engine.getLocationIndex(); + EdgeExplorer explorer = engine.getGraph().createEdgeExplorer(); + + List edges = new ArrayList(); + if(response.getPoints() != null){ + for(int i =0; i