/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.wordpress.salaboy.workitemhandlers; import com.wordpress.salaboy.messaging.MessageFactory; import com.wordpress.salaboy.model.Emergency; import com.wordpress.salaboy.model.messages.ProcedureCompletedMessage; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; import org.drools.runtime.process.WorkItem; import org.drools.runtime.process.WorkItemHandler; import org.drools.runtime.process.WorkItemManager; import org.hornetq.api.core.HornetQException; /** * Used to notify the end of a single procedure * @author esteban */ public class NotifyEndOfProcedureWorkItemHandler implements WorkItemHandler{ @Override public void executeWorkItem(WorkItem workItem, WorkItemManager manager) { String emergencyId = ((Emergency) workItem.getParameter("emergency")).getId(); String procedureId = (String) workItem.getParameter("concreteProcedureId"); try { System.out.println("The procedure "+procedureId+" is finished!"); MessageFactory.sendMessage(new ProcedureCompletedMessage(emergencyId, procedureId, new Date())); } catch (HornetQException ex) { Logger.getLogger(NotifyEndOfProcedureWorkItemHandler.class.getName()).log(Level.SEVERE, null, ex); } manager.completeWorkItem(workItem.getId(), null); } @Override public void abortWorkItem(WorkItem workItem, WorkItemManager manager) { } }