public void process()

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);
        }
    }