Package com.wordpress.salaboy.messaging

Examples of com.wordpress.salaboy.messaging.MessageConsumerWorker


    private void startQueuesWorkers() {
        try {

            //Phone Calls Worker
            phoneCallsWorker = new MessageConsumerWorker("IncomingCallCoreServer", new MessageConsumerWorkerHandler<IncomingCallMessage>() {

                @Override
                public void handleMessage(IncomingCallMessage incomingCallMessage) {
                    GenericEmergencyProcedureImpl.getInstance().newPhoneCall(incomingCallMessage.getCall());
                }
            });
           
            //Procedure Ended Worker
            procedureEndedWorker = new MessageConsumerWorker("ProcedureEndedCoreServer", new MessageConsumerWorkerHandler<ProcedureCompletedMessage>() {

                @Override
                public void handleMessage(ProcedureCompletedMessage procedureEndsMessage) {
                    GenericEmergencyProcedureImpl.getInstance().procedureCompletedNotification(procedureEndsMessage.getEmergencyId(), procedureEndsMessage.getProcedureId());
                }
            });
           
            //All Procedures Ended Worker
            allProceduresEndedWorker = new MessageConsumerWorker("AllProceduresEndedCoreServer", new MessageConsumerWorkerHandler<AllProceduresEndedMessage>() {

                @Override
                public void handleMessage(AllProceduresEndedMessage allProceduresEndedMessage) {
                    GenericEmergencyProcedureImpl.getInstance().allProceduresEnededNotification(new AllProceduresEndedEvent(allProceduresEndedMessage.getEmergencyId(), allProceduresEndedMessage.getEndedProcedures()));
                }
            });

            //Procedure Selected Worker
            //@TODO: Delete because now the generic procedure use the Start Procedure work item to do this
            selectedProcedureWorker = new MessageConsumerWorker("selectedProcedureCoreServer", new MessageConsumerWorkerHandler<SelectedProcedureMessage>() {

                @Override
                public void handleMessage(SelectedProcedureMessage selectedProcedureMessage) {
                    try {
                        ProceduresMGMTService.getInstance().newRequestedProcedure(selectedProcedureMessage.getEmergencyId(),
                                selectedProcedureMessage.getProcedureName(),
                                selectedProcedureMessage.getParameters());
                    } catch (IOException ex) {
                        Logger.getLogger(CoreServer.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });

            //Emergency Details Persistence Selected Worker
            emergencyDetailsPersistenceWorker = new MessageConsumerWorker("emergencyDetailsCoreServer", new MessageConsumerWorkerHandler<EmergencyDetailsMessage>() {

                @Override
                public void handleMessage(EmergencyDetailsMessage emergencyDetailsMessage) {
                    //update the emergency
                    persistenceService.storeEmergency(emergencyDetailsMessage.getEmergency());
                    //attachs it to the call
                    trackingService.attachEmergency(emergencyDetailsMessage.getEmergency().getCall().getId(), emergencyDetailsMessage.getEmergency().getId());
                }
            });
           
           //Vehicle Hits an Emergency Selected Worker
            vehicleHitsEmergencyWorker = new MessageConsumerWorker("vehicleHitsEmergencyCoreServer", new MessageConsumerWorkerHandler<VehicleHitsEmergencyMessage>() {

                @Override
                public void handleMessage(VehicleHitsEmergencyMessage vehicleHitsEmergencyMessage) {
                    EmergencyEvent event = MessageToEventConverter.convertMessageToEvent(vehicleHitsEmergencyMessage);
                    vehicleHitEmergency.put(vehicleHitsEmergencyMessage.getVehicleId(), Boolean.TRUE);
                    ProceduresMGMTService.getInstance().notifyProcedures(event);
                }
            });


            //Vehicle Hits an Hospital Selected Worker
            vehicleHitsHospitalWorker = new MessageConsumerWorker("vehicleHitsHospitalCoreServer", new MessageConsumerWorkerHandler<VehicleHitsHospitalMessage>() {

                @Override
                public void handleMessage(VehicleHitsHospitalMessage vehicleHitsHospitalMessage) {
                    EmergencyEvent event = MessageToEventConverter.convertMessageToEvent(vehicleHitsHospitalMessage);
                    vehicleHitHospital.put(vehicleHitsHospitalMessage.getVehicleId(), Boolean.TRUE);
                    ProceduresMGMTService.getInstance().notifyProcedures(event);
                   
                    //Notify VehicleMGMTService
                    VehiclesMGMTService.getInstance().vehicleRemoved(vehicleHitsHospitalMessage.getVehicleId());
                }
            });
           
            //Vehicle Hits a Fire Department Selected Worker
            vehicleHitsFireDepartmentWorker = new MessageConsumerWorker("vehicleHitsFireDepartmentWorkerCoreServer", new MessageConsumerWorkerHandler<VehicleHitsFireDepartmentMessage>() {
                @Override
                public void handleMessage(VehicleHitsFireDepartmentMessage vehicleHitsFireDepartmentMessage) {
                    EmergencyEvent event = MessageToEventConverter.convertMessageToEvent(vehicleHitsFireDepartmentMessage);
                    ProceduresMGMTService.getInstance().notifyProcedures(event);
                    VehiclesMGMTService.getInstance().processEvent((EmergencyVehicleEvent)event);
                }
            });



            //Vehicle Dispatched
            vehicleDispatchedWorker = new MessageConsumerWorker("vehicleDispatchedCoreServer", new MessageConsumerWorkerHandler<VehicleDispatchedMessage>() {

                @Override
                public void handleMessage(VehicleDispatchedMessage message) {
                    vehicleHitEmergency.put(message.getVehicleId(), Boolean.FALSE);
                    vehicleHitHospital.put(message.getVehicleId(), Boolean.FALSE);
                    VehiclesMGMTService.getInstance().newVehicleDispatched(message.getEmergencyId(), message.getVehicleId());
//                    try {
//                        Thread.sleep(3000);
//                    } catch (InterruptedException ex) {
//                        Logger.getLogger(CoreServer.class.getName()).log(Level.SEVERE, null, ex);
//                    }
                }
            });

            //Heart Beat Received
            heartBeatReceivedWorker = new MessageConsumerWorker("heartBeatCoreServer", new MessageConsumerWorkerHandler<HeartBeatMessage>() {

                @Override
                public void handleMessage(HeartBeatMessage message) {
                    //Only notify if the vehicle already hit the emergency
                    //but it doesnt hit the hospital
                    Boolean hitEmergency = vehicleHitEmergency.get(message.getVehicleId());
                    Boolean hitHospital = vehicleHitHospital.get(message.getVehicleId());
                   
                    if (hitEmergency == null || hitHospital == null){
                        return;
                    }
                   
                    if (hitEmergency && !hitHospital){
                        EmergencyEvent event = MessageToEventConverter.convertMessageToEvent(message);
                        VehiclesMGMTService.getInstance().processEvent((PulseEvent)event);
                    }
                }
            });
           
            //FireTruck Water Level Decreased Received
            fireTruckDecreaseWaterLevelWorker = new MessageConsumerWorker("fireTruckDecreaseWaterLevelCoreServer", new MessageConsumerWorkerHandler<FireTruckDecreaseWaterLevelMessage>() {

                @Override
                public void handleMessage(FireTruckDecreaseWaterLevelMessage message) {
                    VehiclesMGMTService.getInstance().processEvent(new FireTruckDecreaseWaterLevelEvent(message.getEmergencyId(), message.getVehicleId(), message.getTime()));
                }
            });
            //FireTruck Out Of Water Received
            fireTruckOutOfWaterWorker = new MessageConsumerWorker("fireTruckOutOfWaterCoreServer", new MessageConsumerWorkerHandler<FireTruckOutOfWaterMessage>() {

                @Override
                public void handleMessage(FireTruckOutOfWaterMessage message) {
                    EmergencyEvent event = MessageToEventConverter.convertMessageToEvent(message);
                    VehiclesMGMTService.getInstance().processEvent((EmergencyVehicleEvent)event);
                    ProceduresMGMTService.getInstance().notifyProcedures(event);
                }
            });

            reportingWorker = new MessageConsumerWorker("reportingCoreServer", new MessageConsumerWorkerHandler<EmergencyInterchangeMessage>() {

                @Override
                public void handleMessage(EmergencyInterchangeMessage message) {
                    persistenceService.addEntryToReport(message.getEmergencyId(), message.toString());
                }
            });
           
             asynchProcedureStartWorker = new MessageConsumerWorker("asyncProcedureStartCoreServer", new MessageConsumerWorkerHandler<AsyncProcedureStartMessage>() {

                @Override
                public void handleMessage(AsyncProcedureStartMessage message) {
                      System.out.println(">>>>>>>>>>>Creating a new Procedure = "+message.getProcedureName());
                    try {
                        ProceduresMGMTService.getInstance().newRequestedProcedure(message.getEmergencyId(), message.getProcedureName(), message.getParameters());
                    } catch (IOException ex) {
                        Logger.getLogger(CoreServer.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });
            
            
               fireTruckWaterRefillMonitorWorker = new MessageConsumerWorker("asynchFireMonitorCoreServer", new MessageConsumerWorkerHandler<FireTruckWaterRefilledMessage>() {

                @Override
                public void handleMessage(FireTruckWaterRefilledMessage message) {
                      
                     VehiclesMGMTService.getInstance().processEvent((EmergencyVehicleEvent)MessageToEventConverter.convertMessageToEvent(message));
View Full Code Here


        this.coreServicesMap = new HashMap();
        createRemoteNode();

        //Procedure Ended Worker
        procedureEndedWorker = new MessageConsumerWorker("ProcedureEndedCoreServer", new MessageConsumerWorkerHandler<ProcedureCompletedMessage>() {

            @Override
            public void handleMessage(ProcedureCompletedMessage procedureEndsMessage) {
                proceduresEndedCount++;
            }
View Full Code Here

    private javax.swing.JTabbedPane tpnlMain;
    // End of variables declaration//GEN-END:variables

    private void initWorkers() {
        //Phone Calls Worker
        phoneCallsWorker = new MessageConsumerWorker("Sensor-IncomingCall", new MessageConsumerWorkerHandler<IncomingCallMessage>() {

            @Override
            public void handleMessage(IncomingCallMessage incomingCallMessage) {
                String callId = incomingCallMessage.getEmergencyId();
                cboCallId.addItem(callId);
                //cboCallId.setSelectedItem(callId);
            }
        });

        //Vehicle Dispatched
        vehicleDispatchedWorker = new MessageConsumerWorker("Sensor-VehicleDispatched", new MessageConsumerWorkerHandler<VehicleDispatchedMessage>() {

            @Override
            public void handleMessage(VehicleDispatchedMessage vehicleDispatchedMessage) {
                String vehicleId = vehicleDispatchedMessage.getVehicleId();
                String callId = ContextTrackingProvider.getTrackingService().getCallAttachedToEmergency(vehicleDispatchedMessage.getEmergencyId());
View Full Code Here

    private void startAccelerometerListener(){
        if (offlineMode){
            return;
        }
        //TODO: change HeartBeatMessage when we switch to a more generic message
        accelerometerListener = new MessageConsumerWorker("udpSensorLogger", new MessageConsumerWorkerHandler<HeartBeatMessage>() {

            @Override
            public void handleMessage(HeartBeatMessage message) {
                ((DefaultTableModel)tblUDPEvents.getModel()).insertRow(0,new Object[]{message.getHeartBeatValue()});
            }
View Full Code Here

    private void initWorkers() {
        if (this.offlineMode){
            return;
        }
        //Heart Beat Received
        heartBeatReceivedWorker = new MessageConsumerWorker("heartBeatWiiMote", new MessageConsumerWorkerHandler<HeartBeatMessage>() {

            @Override
            public void handleMessage(HeartBeatMessage message) {
                outputjTextArea.insert(System.currentTimeMillis() + " - sended " + message.getHeartBeatValue() + " heartbeat\n", 0);
            }
View Full Code Here

        this.emergencies.remove(callId);
    }

    private void registerMessageConsumers() {
        //worldMessages queue
        MessageConsumerWorker emergencyDetailsWorker = new MessageConsumerWorker("emergencyDetailsWorldUI", new MessageConsumerWorkerHandler<EmergencyDetailsMessage>() {

            @Override
            public void handleMessage(final EmergencyDetailsMessage message) {
                //Changes emergency animation
                renderCommands.add(new Command() {

                    public void execute() {
                        System.out.println("EmergencyDetailsMessage received");
                        if (emergencies.get(message.getEmergency().getCall().getId())==null){
                            System.out.println("Unknown emergency for call "+message.getEmergency().getCall().getId());
                            return;
                        }
                       
                        emergencies.get(message.getEmergency().getCall().getId()).setAnimation(AnimationFactory.getEmergencyAnimation(message.getType(), message.getNumberOfPeople()));
                        notifyAboutEmergencyStatusChange(message.getEmergency().getCall().getId(), message.getRemaining());
                    }
                });
            }
        });
       
        MessageConsumerWorker vehicleDispatchedWorker = new MessageConsumerWorker("vehicleDispatchedWorldUI", new MessageConsumerWorkerHandler<VehicleDispatchedMessage>() {

            @Override
            public void handleMessage(final VehicleDispatchedMessage message) {
                String callId = trackingService.getCallAttachedToEmergency(message.getEmergencyId());
               
                if (callId == null){
                    throw new IllegalArgumentException("No Call attached to Emergency "+message.getEmergencyId());
                }
               
                if (emergencies.get(callId)==null){
                    throw new IllegalArgumentException("Unknown emergency for call Id "+callId);
                }
               
                Vehicle vehicle = persistenceService.loadVehicle(message.getVehicleId());
                switchToEmergency(callId);
                assignVehicleToEmergency(callId, vehicle);
            }
        });

       
        MessageConsumerWorker hospitalSelectedWorker = new MessageConsumerWorker("hospitalSelectedWorldUI", new MessageConsumerWorkerHandler<HospitalSelectedMessage>() {

            @Override
            public void handleMessage(final HospitalSelectedMessage message) {
                //Changes emergency animation
                renderCommands.add(new Command() {

                    public void execute() {
                      
                        if (emergencies.get(message.getCallId())==null){
                            System.out.println("Unknown emergency for call Id "+message.getCallId());
                            return;
                        }
                        selectHospitalForEmergency(message.getCallId(), message.getHospital());
                       
                    }

                });
            }
        });
       
        MessageConsumerWorker firefigthersDepartmentWorker = new MessageConsumerWorker("firefigthersDepartmentWorldUI", new MessageConsumerWorkerHandler<FirefightersDepartmentSelectedMessage>() {

            @Override
            public void handleMessage(final FirefightersDepartmentSelectedMessage message) {
                //Changes emergency animation
                renderCommands.add(new Command() {

                    public void execute() {
                      
                        if (emergencies.get(message.getCallId())==null){
                            System.out.println("Unknown emergency for call Id "+message.getCallId());
                            return;
                        }
                        selectFirefighterDepartmentForEmergency(message.getCallId(), message.getFirefightersDepartment());
                       
                    }

                });
            }
        });
       
        MessageConsumerWorker fireTruckOutOfWaterWorker = new MessageConsumerWorker("fireTruckOutOfWaterWorkerUI", new MessageConsumerWorkerHandler<FireTruckOutOfWaterMessage>() {

            @Override
            public void handleMessage(final FireTruckOutOfWaterMessage message) {
                //Changes emergency animation
                renderCommands.add(new Command() {

                    @Override
                    public void execute() {
                        String callId = trackingService.getCallAttachedToEmergency(message.getEmergencyId());
                       
                        if (callId == null){
                            System.out.println("The emergency "+message.getEmergencyId()+" doesn't have any associated call!");
                            return;
                        }
                        if (emergencies.get(callId)==null){
                            System.out.println("Unknown emergency for call Id "+callId);
                            return;
                        }
                       
                        notifyAboutFireTruckOutOfWaterToEmergency(callId, message.getVehicleId());
                       
                    }

                });
            }
        });
       
       
        MessageConsumerWorker fireTruckWaterRefilledWorker = new MessageConsumerWorker("fireTruckWaterRefilledWorkerUI", new MessageConsumerWorkerHandler<FireTruckWaterRefilledMessage>() {

            @Override
            public void handleMessage(final FireTruckWaterRefilledMessage message) {
                //Changes emergency animation
                renderCommands.add(new Command() {

                    @Override
                    public void execute() {
                        String callId = trackingService.getCallAttachedToEmergency(message.getEmergencyId());
                       
                        if (callId == null){
                            System.out.println("The emergency "+message.getEmergencyId()+" doesn't have any associated call!");
                            return;
                        }
                        if (emergencies.get(callId)==null){
                            System.out.println("Unknown emergency for call Id "+callId);
                            return;
                        }
                       
                        notifyAboutFireTruckWaterRefilledToEmergency(callId, message.getVehicleId());
                       
                    }

                });
            }
        });
       
        hospitalSelectedWorker.start();
        emergencyDetailsWorker.start();
        vehicleDispatchedWorker.start();
        firefigthersDepartmentWorker.start();
        fireTruckOutOfWaterWorker.start();
        fireTruckWaterRefilledWorker.start();
    }
View Full Code Here

        this.coreServicesMap = new HashMap();
        createRemoteNode();

        //Procedure Ended Worker
        procedureEndedWorker = new MessageConsumerWorker("ProcedureEndedCoreServer", new MessageConsumerWorkerHandler<ProcedureCompletedMessage>() {

            @Override
            public void handleMessage(ProcedureCompletedMessage procedureEndsMessage) {
                proceduresEndedCount++;
            }
View Full Code Here

    private javax.swing.JLabel lblMap;
    private javax.swing.JList lstAlerts;
    // End of variables declaration//GEN-END:variables

    private void startQueueListeners() {
        gpsWorker = new MessageConsumerWorker("vehicleGPS" + callId, new MessageConsumerWorkerHandler<VehicleHitsCornerMessage>() {

            @Override
            public void handleMessage(VehicleHitsCornerMessage message) {
                System.out.println("CallId = "+callId +" -> Vehicle Id= "+message.getVehicleId());
                if (message.getEmergencyId().equals(callId)) {
                    paintVehiclePosition(message.getVehicleId(), message.getCornerX(), message.getCornerY());
                }
            }
        });

        heartBeatWorker = new MessageConsumerWorker("vehicleHeartBeat" + callId, new MessageConsumerWorkerHandler<HeartBeatMessage>() {

            @Override
            public void handleMessage(HeartBeatMessage message) {
                if (message.getEmergencyId().equals(emergencyId)) {
                    processHeartBeat(message.getVehicleId(), message.getHeartBeatValue(), message.getTime());
                }
            }
        });

        patientMonitorAlertWorker = new MessageConsumerWorker("patientMonitorAlerts" + callId, new MessageConsumerWorkerHandler<PatientMonitorAlertMessage>() {

            @Override
            public void handleMessage(PatientMonitorAlertMessage message) {
                if (message.getEmergencyId().equals(emergencyId)) {
                    addAlert(message.getVehicleId(), message.getTime(), message.getMessage());
                }
            }
        });

        //Vehicle Hits an Emergency Selected Worker
        vehicleHitsEmergencyWorker = new MessageConsumerWorker("vehicleHitsEmergencyMonitorPanel" + callId, new MessageConsumerWorkerHandler<VehicleHitsEmergencyMessage>() {

            @Override
            public void handleMessage(VehicleHitsEmergencyMessage vehicleHitsEmergencyMessage) {
                vehicleHitEmergency.put(vehicleHitsEmergencyMessage.getVehicleId(), Boolean.TRUE);
                //ProceduresMGMTService.getInstance().patientPickUpNotification(new PatientPickUpEvent(vehicleHitsEmergencyMessage.getCallId(), vehicleHitsEmergencyMessage.getVehicleId(), vehicleHitsEmergencyMessage.getTime()));
            }
        });


        //Vehicle Hits an Hospital Selected Worker
        vehicleHitsHospitalWorker = new MessageConsumerWorker("vehicleHitsHospitalMonitorPanel" + callId, new MessageConsumerWorkerHandler<VehicleHitsHospitalMessage>() {

            @Override
            public void handleMessage(VehicleHitsHospitalMessage vehicleHitsHospitalMessage) {
                vehicleHitHospital.put(vehicleHitsHospitalMessage.getVehicleId(), Boolean.TRUE);
                cleanupPanel();
            }
        });


        waterTankDecreaseWorker = new MessageConsumerWorker("FTwaterDecreaseMonitor"+callId, new MessageConsumerWorkerHandler<FireTruckDecreaseWaterLevelMessage>() {

            @Override
            public void handleMessage(FireTruckDecreaseWaterLevelMessage message) {
                if (message.getEmergencyId().equals(emergencyId)) {
                    getFireTruckPanel(message.getVehicleId()).decreaseWaterLevel();
                }
            }
        });
        outOfWaterWorker = new MessageConsumerWorker("FTOutOfWaterMonitor"+callId, new MessageConsumerWorkerHandler<FireTruckOutOfWaterMessage>() {

            @Override
            public void handleMessage(FireTruckOutOfWaterMessage message) {
                if (message.getEmergencyId().equals(emergencyId)) {
                    getFireTruckPanel(message.getVehicleId()).fireTruckOutOfWater();
                }
            }
        });

        waterPumpTiltWorker = new MessageConsumerWorker("FTTiltMonitor"+callId, new MessageConsumerWorkerHandler<FireTruckWaterPumpTiltMessage>() {

            @Override
            public void handleMessage(FireTruckWaterPumpTiltMessage message) {
                if (message.getEmergencyId().equals(emergencyId)) {
                    getFireTruckPanel(message.getVehicleId()).waterPumpOverHeat();
                }
            }
        });
       
         waterRefillWorker = new MessageConsumerWorker("FTWaterRefillMonitor"+callId, new MessageConsumerWorkerHandler<FireTruckWaterRefilledMessage>() {

            @Override
            public void handleMessage(FireTruckWaterRefilledMessage message) {
                if (message.getEmergencyId().equals(emergencyId)) {
                    getFireTruckPanel(message.getVehicleId()).waterRefilled();
View Full Code Here

TOP

Related Classes of com.wordpress.salaboy.messaging.MessageConsumerWorker

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.