package org.ourgrid.broker.communication.sender; import org.ourgrid.broker.response.DisposeWorkerResponseTO; import org.ourgrid.common.interfaces.LocalWorkerProvider; import org.ourgrid.common.internal.SenderIF; import br.edu.ufcg.lsd.commune.container.servicemanager.ServiceManager; import br.edu.ufcg.lsd.commune.identification.ServiceID; public class DisposeWorkerSender implements SenderIF<DisposeWorkerResponseTO> { public void execute(DisposeWorkerResponseTO response, ServiceManager manager) { ServiceID peerServiceID = ServiceID.parse(response.getPeerAddress()); ServiceID workerServiceID = ServiceID.parse(response.getWorkerAddress()); workerServiceID.getContainerID().setPublicKey(response.getWorkerPublicKey()); LocalWorkerProvider localWorkerProvider = (LocalWorkerProvider) manager.getStub(peerServiceID, LocalWorkerProvider.class); localWorkerProvider.disposeWorker(workerServiceID); } }