package org.ourgrid.peer.communication.sender;
import org.ourgrid.common.interfaces.DiscoveryService;
import org.ourgrid.common.interfaces.DiscoveryServiceClient;
import org.ourgrid.common.internal.SenderIF;
import org.ourgrid.peer.PeerConstants;
import org.ourgrid.peer.response.LeaveCommunityResponseTO;
import br.edu.ufcg.lsd.commune.container.servicemanager.ServiceManager;
import br.edu.ufcg.lsd.commune.identification.ServiceID;
public class LeaveCommunitySender implements SenderIF<LeaveCommunityResponseTO>{
public void execute(LeaveCommunityResponseTO response,
ServiceManager manager) {
DiscoveryService discoveryService = (DiscoveryService) manager.getStub(ServiceID.parse(response.getDsAddress()),
DiscoveryService.class);
DiscoveryServiceClient dsClient = (DiscoveryServiceClient) manager.getObjectDeployment(PeerConstants.DS_CLIENT).getObject();
discoveryService.leaveCommunity(dsClient);
}
}