]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.launcher/src/main/java/org/argeo/slc/server/client/SlcServerHttpClient.java
Restructure HTTP service client
[gpl/argeo-slc.git] / runtime / org.argeo.slc.launcher / src / main / java / org / argeo / slc / server / client / SlcServerHttpClient.java
1 package org.argeo.slc.server.client;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import org.argeo.slc.execution.ExecutionModuleDescriptor;
7 import org.argeo.slc.msg.ExecutionAnswer;
8 import org.argeo.slc.msg.event.SlcEvent;
9 import org.argeo.slc.process.RealizedFlow;
10 import org.argeo.slc.process.SlcExecution;
11 import org.argeo.slc.runtime.SlcAgentDescriptor;
12 import org.argeo.slc.server.HttpServices;
13
14 /** Abstraction of the access to HTTP services of an SLC Server. */
15 public interface SlcServerHttpClient extends HttpServicesClient,HttpServices {
16 /** Wait for the provided SlcExecution to be finished. */
17 public void waitForSlcExecutionFinished(SlcExecution slcExecution,
18 Long timeout);
19
20 /** Block until one of the registered event is finished. */
21 public SlcEvent pollEvent(Long timeout);
22
23 /** Register an event type. */
24 public ExecutionAnswer addEventListener(String eventType, String eventFilter);
25
26 /** Unregister an event type. */
27 public ExecutionAnswer removeEventListener(String eventType,
28 String eventFilter);
29
30 /** Wait for one agent to be available. */
31 public SlcAgentDescriptor waitForOneAgent();
32
33 /** Wait for the http server to be ready. */
34 public void waitForServerToBeReady();
35
36 /** Start an execution flow on the given agent. */
37 public SlcExecution startFlow(String agentId, RealizedFlow realizedFlow);
38
39 /** Assume one agent and one version per module. */
40 public SlcExecution startFlowDefault(String moduleName, String flowName,
41 Map<String, Object> args);
42
43 /** List execution modules descriptors. */
44 public List<ExecutionModuleDescriptor> listModuleDescriptors(String agentId);
45
46 /** Retrieve a single execution module descriptor. */
47 public ExecutionModuleDescriptor getModuleDescriptor(String agentId,
48 String moduleName, String version);
49
50 }