1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.bitrepository.access.getstatus;
23
24 import org.bitrepository.access.getstatus.conversation.GetStatusConversationContext;
25 import org.bitrepository.access.getstatus.conversation.IdentifyingContributorsForGetStatus;
26 import org.bitrepository.client.AbstractClient;
27 import org.bitrepository.client.conversation.mediator.ConversationMediator;
28 import org.bitrepository.client.eventhandler.EventHandler;
29 import org.bitrepository.common.ArgumentValidator;
30 import org.bitrepository.common.settings.Settings;
31 import org.bitrepository.common.utils.SettingsUtils;
32 import org.bitrepository.protocol.messagebus.MessageBus;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
35
36 public class ConversationBasedGetStatusClient extends AbstractClient implements GetStatusClient {
37 private final Logger log = LoggerFactory.getLogger(getClass());
38
39 public ConversationBasedGetStatusClient(
40 MessageBus messageBus,
41 ConversationMediator conversationMediator,
42 Settings settings, String clientID) {
43 super(settings, conversationMediator, messageBus, clientID);
44 }
45
46 @Override
47 public void getStatus(EventHandler eventHandler) {
48 ArgumentValidator.checkNotNull(eventHandler, "eventHandler");
49 log.info("Requesting status for collection of components.");
50 GetStatusConversationContext context = new GetStatusConversationContext(
51 settings, messageBus, eventHandler, clientID,
52 SettingsUtils.getStatusContributorsForCollection());
53 startConversation(context, new IdentifyingContributorsForGetStatus(context));
54 }
55 }