package org.ourgrid.discoveryservice.business.requester; import java.util.ArrayList; import java.util.List; import org.ourgrid.common.internal.IResponseTO; import org.ourgrid.common.internal.RequesterIF; import org.ourgrid.common.internal.response.LoggerResponseTO; import org.ourgrid.discoveryservice.business.dao.DiscoveryServiceDAO; import org.ourgrid.discoveryservice.business.dao.DiscoveryServiceDAOFactory; import org.ourgrid.discoveryservice.business.dao.DiscoveryServiceInfo; import org.ourgrid.discoveryservice.business.messages.DiscoveryServiceControlMessages; import org.ourgrid.discoveryservice.request.DSIsDownRequestTO; public class DSIsDownRequester implements RequesterIF<DSIsDownRequestTO>{ public List<IResponseTO> execute(DSIsDownRequestTO request) { List<IResponseTO> responses = new ArrayList<IResponseTO>(); DiscoveryServiceDAO discoveryServiceDAO = DiscoveryServiceDAOFactory.getInstance().getDiscoveryServiceDAO(); DiscoveryServiceInfo dsInfo = discoveryServiceDAO.getDSInfo(request.getDsAddress()); if (dsInfo == null ) { responses.add(new LoggerResponseTO( DiscoveryServiceControlMessages.getDSNotMemberOfNetworkMessage(request.getDsAddress()), LoggerResponseTO.WARN)); return responses; } if (! dsInfo.isUp()) { responses.add(new LoggerResponseTO( DiscoveryServiceControlMessages.getFailureNotificationFromAFailedDSMessage(request.getDsAddress()), LoggerResponseTO.WARN)); return responses; } discoveryServiceDAO.removeFromNetwork(request.getDsAddress()); responses.add(new LoggerResponseTO(DiscoveryServiceControlMessages.getDiscoveryServiceFailureNotificationMessage(request.getDsAddress()), LoggerResponseTO.INFO)); return responses; } }