protected final <C extends Command<R>, R extends Serializable> ConfigurationBuilder<C, R> onCommandReceived(Class<C> clazz) { return onCommandReceived(Qualifier.of(clazz)); }
@Override public void onCommandExecuted(C command) { for (NodeCommandExecutionListener<C> listener : listeners) { listener.onCommandExecuted(command); } } }
private <C extends Command<R>, R extends Serializable> CommandExecutor<C, R> getCommandExecutor(C command){ for (CommandExecutor<?, ?> commandExecutor : nodePair.getSecond()) { final CommandExecutor<C, R> executor = (CommandExecutor<C, R>) commandExecutor; if (executor.getQualifier().equals(Qualifier.of(command))) { return executor; } } throw new CoordinatorException("Command " + command + " is not available on " + nodeId.getIdentifier()); } };
private void processAgentManagement(String sessionId, Map<ManageAgent.ActionProp, Serializable> agentManagementProps) { for (NodeId agent : coordinator.getAvailableNodes(NodeType.AGENT)) { // async run coordinator.getExecutor(agent).run(new ManageAgent(sessionId, agentManagementProps), Coordination.<ManageAgent>doNothing()); } }
@Override public Qualifier<AddUrlClassLoader> getQualifier() { return Qualifier.of(AddUrlClassLoader.class); }
@Override public void run(Command<Serializable> command, AsyncCallback<Serializable> callback) { log.debug("Going send command {} to delegate coordinator", command); RemoteExecutor remoteExecutor = coordinator.getExecutor(node); remoteExecutor.run(command, Coordination.doNothing(), callback); } });
@Override public NodeContext getContext() { NodeContextBuilder builder = Coordination.contextBuilder(nodeId); builder .addService(LogWriter.class, getLogWriter()) .addService(LogReader.class, getLogReader()) .addService(KeyValueStorage.class, getKeyValueStorage()) .addAll(lookUpInvokers()); return builder.build(); }
@Override public void onCommandExecutionStarted(C command, NodeContext context) { for (NodeCommandExecutionListener<C> listener : listeners) { listener.onCommandExecutionStarted(command, context); } }
@Override public Collection<CommandExecutor<?, ?>> getExecutors() { return super.getExecutors(); }
public NodeContext build() { return new DefaultNodeContext(id, services); } }
@Override public Qualifier<GetSystemInfo> getQualifier() { return Qualifier.of(GetSystemInfo.class); }
@Override public Qualifier<GetGeneralNodeInfo> getQualifier() { return Qualifier.of(GetGeneralNodeInfo.class); }
@Override public Qualifier getQualifier() { return Qualifier.of(PollWorkloadProcessStatus.class); }
@Override public Qualifier<GetCollectedProfileFromSuT> getQualifier() { return Qualifier.of(GetCollectedProfileFromSuT.class); }
@Override public Qualifier<StartWorkloadProcess> getQualifier() { return Qualifier.of(StartWorkloadProcess.class); }
@Override public Qualifier<StopWorkloadProcess> getQualifier() { return Qualifier.of(StopWorkloadProcess.class); }
@Override public Qualifier<ManageCollectionProfileFromSuT> getQualifier() { return Qualifier.of(ManageCollectionProfileFromSuT.class); }
@Override public Qualifier<ManageAgent> getQualifier() { return Qualifier.of(ManageAgent.class); }