in components/camel-docker/src/main/java/org/apache/camel/component/docker/producer/DockerProducer.java [93:253]
public void process(Exchange exchange) throws Exception {
Message message = exchange.getIn();
DockerClient client = DockerClientFactory.getDockerClient(component, configuration, message);
DockerOperation operation = configuration.getOperation();
Object result = null;
switch (operation) {
/** General **/
case AUTH:
try (AuthCmd cmd = executeAuthRequest(client)) {
result = safeExec(cmd);
}
break;
case INFO:
try (InfoCmd cmd = executeInfoRequest(client)) {
result = safeExec(cmd);
}
break;
case PING:
try (PingCmd cmd = executePingRequest(client)) {
result = safeExec(cmd);
}
break;
case VERSION:
try (VersionCmd cmd = executeVersionRequest(client)) {
result = safeExec(cmd);
}
break;
case CREATE_IMAGE:
try (CreateImageCmd cmd = executeCreateImageRequest(client, message)) {
result = safeExec(cmd);
}
break;
case INSPECT_IMAGE:
try (InspectImageCmd cmd = executeInspectImageRequest(client, message)) {
result = safeExec(cmd);
}
break;
case LIST_IMAGES:
try (ListImagesCmd cmd = executeListImagesRequest(client, message)) {
result = safeExec(cmd);
}
break;
case REMOVE_IMAGE:
try (RemoveImageCmd cmd = executeRemoveImageRequest(client, message)) {
result = safeExec(cmd);
}
break;
case SEARCH_IMAGES:
try (SearchImagesCmd cmd = executeSearchImageRequest(client, message)) {
result = safeExec(cmd);
}
break;
case TAG_IMAGE:
try (TagImageCmd cmd = executeTagImageRequest(client, message)) {
result = safeExec(cmd);
}
break;
case COMMIT_CONTAINER:
try (CommitCmd cmd = executeCommitContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case COPY_FILE_CONTAINER:
try (CopyArchiveFromContainerCmd cmd = executeCopyFileContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case CREATE_CONTAINER:
try (CreateContainerCmd cmd = executeCreateContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case DIFF_CONTAINER:
try (ContainerDiffCmd cmd = executeDiffContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case INSPECT_CONTAINER:
try (InspectContainerCmd cmd = executeInspectContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case LIST_CONTAINERS:
try (ListContainersCmd cmd = executeListContainersRequest(client, message)) {
result = safeExec(cmd);
}
break;
case KILL_CONTAINER:
try (KillContainerCmd cmd = executeKillContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case PAUSE_CONTAINER:
try (PauseContainerCmd cmd = executePauseContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case REMOVE_CONTAINER:
try (RemoveContainerCmd cmd = executeRemoveContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case RESTART_CONTAINER:
try (RestartContainerCmd cmd = executeRestartContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case START_CONTAINER:
try (StartContainerCmd cmd = executeStartContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case STOP_CONTAINER:
try (StopContainerCmd cmd = executeStopContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case TOP_CONTAINER:
try (TopContainerCmd cmd = executeTopContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case UNPAUSE_CONTAINER:
try (UnpauseContainerCmd cmd = executeUnpauseContainerRequest(client, message)) {
result = safeExec(cmd);
}
break;
case CREATE_NETWORK:
try (CreateNetworkCmd cmd = executeCreateNetworkRequest(client, message)) {
result = safeExec(cmd);
}
break;
case REMOVE_NETWORK:
try (RemoveNetworkCmd cmd = executeRemoveNetworkRequest(client, message)) {
result = safeExec(cmd);
}
break;
case CONNECT_NETWORK:
try (ConnectToNetworkCmd cmd = executeConnectToNetworkRequest(client, message)) {
result = safeExec(cmd);
}
break;
case EXEC_CREATE:
try (ExecCreateCmd cmd = executeExecCreateRequest(client, message)) {
result = safeExec(cmd);
}
break;
default:
throw new DockerException("Invalid operation: " + operation);
}
// If request included a response, set as body
if (result != null) {
exchange.getIn().setBody(result);
}
}