VehicleFilter.java
Go to the documentation of this file.00001 package ns2;
00002
00003 import java.util.List;
00004 import java.util.Map;
00005
00013 public class VehicleFilter {
00023 public static void filter(
00024 List<String> vehicleId,
00025 List<String> wantedVehicle,
00026 Map<String, Double> vehicleFirstOcc,
00027 Map<String, Double> vehicleLastOcc,
00028 double begin,
00029 double end) {
00030 for (String id: vehicleId) {
00031
00032 if (vehicleFirstOcc.get(id) > end) {
00033 wantedVehicle.remove(id);
00034 }
00035
00036 if (begin != end) {
00037
00038 if (vehicleLastOcc.get(id) < begin) {
00039 wantedVehicle.remove(id);
00040 }
00041 } else {
00042
00043 end = Math.max(end, vehicleLastOcc.get(id));
00044 }
00045 }
00046
00047 for (String id: wantedVehicle) {
00048 if (vehicleFirstOcc.get(id) < begin) {
00049 vehicleFirstOcc.put(id, begin);
00050 }
00051 if (vehicleLastOcc.get(id) > end) {
00052 vehicleLastOcc.put(id, end);
00053 }
00054 }
00055 }
00056
00057 }