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.GetRemoteWorkerProvidersResponseTO; import br.edu.ufcg.lsd.commune.container.servicemanager.ServiceManager; import br.edu.ufcg.lsd.commune.identification.ServiceID; public class GetRemoteWorkerProvidersSender implements SenderIF<GetRemoteWorkerProvidersResponseTO>{ public void execute(GetRemoteWorkerProvidersResponseTO response, ServiceManager manager) { DiscoveryServiceClient dsClient = (DiscoveryServiceClient) manager.getObjectDeployment( PeerConstants.DS_CLIENT).getObject(); DiscoveryService discoveryService = manager.getStub(ServiceID.parse(response.getDsAddress()), DiscoveryService.class); discoveryService.getRemoteWorkerProviders(dsClient, response.getDsRequestSize()); } }