package com.wordpress.salaboy.services.workitemhandlers;
import java.util.List;
import org.drools.runtime.process.WorkItem;
import org.drools.runtime.process.WorkItemHandler;
import org.drools.runtime.process.WorkItemManager;
import com.wordpress.salaboy.model.Emergency;
import com.wordpress.salaboy.model.Vehicle;
import com.wordpress.salaboy.model.VehicleUpdate;
/**
* Report for all vehicles in a particular procedure
* @author calcacuervo
*
*/
public class ProcedureReportWorkItemHandler implements WorkItemHandler {
@Override
public void abortWorkItem(WorkItem workItem, WorkItemManager manager) {
}
@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
Emergency emergency = (Emergency) workItem.getParameter("emergency");
List<Vehicle> vehicles = (List<Vehicle>) workItem.getParameter("emergency.vehicles");
System.out.println("Procedure Report:");
if (emergency != null && vehicles != null) {
for (Vehicle vehicle : vehicles) {
System.out.println("\tUpdates for vehicle: " + vehicle.getId());
List<VehicleUpdate> updates = emergency.getUpdatesForVehicle(vehicle.getId());
if (updates != null) {
for (VehicleUpdate vehicleUpdate : updates) {
System.out.println("\t\t"+vehicleUpdate);
}
}
}
}
manager.completeWorkItem(workItem.getId(), null);
}
}