mirror of
https://github.com/graphhopper/jsprit.git
synced 2020-01-24 07:45:05 +01:00
state manager use vehicle index
This commit is contained in:
parent
3c568835e9
commit
614b8b5e01
1 changed files with 12 additions and 12 deletions
|
|
@ -252,7 +252,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
|||
*/
|
||||
public boolean hasActivityState(TourActivity act, Vehicle vehicle, StateId stateId) {
|
||||
if (act.getIndex() == 0) throw new IllegalStateException("activity index is 0. this should not be.");
|
||||
return vehicleDependentActivityStates[act.getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] != null;
|
||||
return vehicleDependentActivityStates[act.getIndex()][vehicle.getIndex()][stateId.getIndex()] != null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -275,9 +275,9 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
|||
if (act.getIndex() < 0) return null; //act.getIndex() < 0 indicates that act is either Start (-1) or End (-2)
|
||||
T state;
|
||||
try {
|
||||
state = type.cast(vehicleDependentActivityStates[act.getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()]);
|
||||
state = type.cast(vehicleDependentActivityStates[act.getIndex()][vehicle.getIndex()][stateId.getIndex()]);
|
||||
} catch (ClassCastException e) {
|
||||
Object state_class = vehicleDependentActivityStates[act.getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()];
|
||||
Object state_class = vehicleDependentActivityStates[act.getIndex()][vehicle.getIndex()][stateId.getIndex()];
|
||||
throw getClassCastException(e, stateId, type.toString(), state_class.getClass().toString());
|
||||
}
|
||||
return state;
|
||||
|
|
@ -333,8 +333,8 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
|||
@SuppressWarnings("UnusedDeclaration")
|
||||
public boolean hasRouteState(VehicleRoute route, Vehicle vehicle, StateId stateId) {
|
||||
if (!vehicleDependentRouteStateMap.containsKey(route)) return false;
|
||||
return vehicleDependentRouteStateMap.get(route)[vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] != null;
|
||||
// return vehicle_dependent_route_states[route.getActivities().get(0).getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] != null;
|
||||
return vehicleDependentRouteStateMap.get(route)[vehicle.getIndex()][stateId.getIndex()] != null;
|
||||
// return vehicle_dependent_route_states[route.getActivities().get(0).getIndex()][vehicle.getIndex()][stateId.getIndex()] != null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -355,18 +355,18 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
|||
T state = null;
|
||||
if(isIndexedBased){
|
||||
try {
|
||||
state = type.cast(vehicleDependentRouteStatesArr[route.getVehicle().getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()]);
|
||||
state = type.cast(vehicleDependentRouteStatesArr[route.getVehicle().getIndex()][vehicle.getIndex()][stateId.getIndex()]);
|
||||
} catch (ClassCastException e) {
|
||||
throw getClassCastException(e, stateId, type.toString(), vehicleDependentRouteStatesArr[route.getVehicle().getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()].getClass().toString());
|
||||
throw getClassCastException(e, stateId, type.toString(), vehicleDependentRouteStatesArr[route.getVehicle().getIndex()][vehicle.getIndex()][stateId.getIndex()].getClass().toString());
|
||||
}
|
||||
}
|
||||
else {
|
||||
try {
|
||||
if (vehicleDependentRouteStateMap.containsKey(route)) {
|
||||
state = type.cast(vehicleDependentRouteStateMap.get(route)[vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()]);
|
||||
state = type.cast(vehicleDependentRouteStateMap.get(route)[vehicle.getIndex()][stateId.getIndex()]);
|
||||
}
|
||||
} catch (ClassCastException e) {
|
||||
throw getClassCastException(e, stateId, type.toString(), vehicleDependentRouteStateMap.get(route)[vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()].getClass().toString());
|
||||
throw getClassCastException(e, stateId, type.toString(), vehicleDependentRouteStateMap.get(route)[vehicle.getIndex()][stateId.getIndex()].getClass().toString());
|
||||
}
|
||||
}
|
||||
return state;
|
||||
|
|
@ -422,7 +422,7 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
|||
}
|
||||
|
||||
<T> void putInternalTypedActivityState(TourActivity act, Vehicle vehicle, StateId stateId, T state) {
|
||||
vehicleDependentActivityStates[act.getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] = state;
|
||||
vehicleDependentActivityStates[act.getIndex()][vehicle.getIndex()][stateId.getIndex()] = state;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -473,13 +473,13 @@ public class StateManager implements RouteAndActivityStateGetter, IterationStart
|
|||
<T> void putTypedInternalRouteState(VehicleRoute route, Vehicle vehicle, StateId stateId, T state) {
|
||||
if (route.isEmpty()) return;
|
||||
if(isIndexedBased){
|
||||
vehicleDependentRouteStatesArr[route.getVehicle().getIndex()][vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] = state;
|
||||
vehicleDependentRouteStatesArr[route.getVehicle().getIndex()][vehicle.getIndex()][stateId.getIndex()] = state;
|
||||
}
|
||||
else {
|
||||
if (!vehicleDependentRouteStateMap.containsKey(route)) {
|
||||
vehicleDependentRouteStateMap.put(route, new Object[nuVehicleTypeKeys][stateIndexCounter]);
|
||||
}
|
||||
vehicleDependentRouteStateMap.get(route)[vehicle.getVehicleTypeIdentifier().getIndex()][stateId.getIndex()] = state;
|
||||
vehicleDependentRouteStateMap.get(route)[vehicle.getIndex()][stateId.getIndex()] = state;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue