diff --git a/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java b/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java index 7a6754f3..ff8372a6 100644 --- a/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java +++ b/jsprit-core/src/main/java/jsprit/core/problem/VehicleRoutingProblem.java @@ -107,7 +107,7 @@ public class VehicleRoutingProblem { private JobActivityFactory jobActivityFactory = new JobActivityFactory() { @Override - public List createActivity(Job job) { + public List createActivities(Job job) { List acts = new ArrayList(); if(job instanceof Service){ acts.add(serviceActivityFactory.createActivity((Service) job)); @@ -287,7 +287,7 @@ public class VehicleRoutingProblem { Shipment shipment = (Shipment)job; addShipment(shipment); } - List jobActs = jobActivityFactory.createActivity(job); + List jobActs = jobActivityFactory.createActivities(job); for(AbstractActivity act : jobActs){ act.setIndex(activityIndexCounter); incActivityIndexCounter(); @@ -739,8 +739,10 @@ public class VehicleRoutingProblem { public List copyAndGetActivities(Job job){ List acts = new ArrayList(); - for(AbstractActivity act : activityMap.get(job)){ - acts.add((AbstractActivity)act.duplicate()); + if(activityMap.containsKey(job)) { + for (AbstractActivity act : activityMap.get(job)) { + acts.add((AbstractActivity) act.duplicate()); + } } return acts; }