/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.pieShare.pieTools.piePlate.task; import org.pieShare.pieTools.piePlate.model.message.loopHoleMessages.LoopHoleAckMessage; import org.pieShare.pieTools.piePlate.model.message.loopHoleMessages.LoopHolePunchMessage; import org.pieShare.pieTools.piePlate.service.loophole.LoopHoleFactory; import org.pieShare.pieTools.pieUtilities.service.beanService.IBeanService; import org.pieShare.pieTools.pieUtilities.service.pieExecutorService.api.task.IPieEventTask; /** * * @author Richard */ public class LoopHolePuncherTask implements IPieEventTask<LoopHolePunchMessage> { private LoopHolePunchMessage msg; private LoopHoleFactory factory; private IBeanService beanService; @Override public void setEvent(LoopHolePunchMessage msg) { this.msg = msg; } public void setBeanService(IBeanService beanService) { this.beanService = beanService; } public void setFactory(LoopHoleFactory factory) { this.factory = factory; } @Override public void run() { if (!msg.getTo().equals(factory.getClientID())) { return; } LoopHoleAckMessage ackMsg = beanService.getBean(LoopHoleAckMessage.class); ackMsg.setLocalLoopID(msg.getClientLocalLoopID()); ackMsg.setClientLocalLoopID(msg.getLocalLoopID()); factory.getLoopHoleService(msg.getLocalLoopID()).send(ackMsg, msg.getSenderAddress()); } }