static void write()

in storage/src/main/java/com/microsoft/alm/storage/macosx/KeychainSecurityCliStore.java [423:450]


    static void write(final SecretKind secretKind, final TestableProcessFactory processFactory, final String serviceName, final String accountName, final String password) {
        final String stdOut, stdErr;
        try {
            final TestableProcess addProcess = processFactory.create(
                SECURITY,
                INTERACTIVE_MODE
            );
            final String[] commandParts = {
                ADD_GENERIC_PASSWORD,
                UPDATE_IF_ALREADY_EXISTS,
                ACCOUNT_PARAMETER, accountName,
                SERVICE_PARAMETER, serviceName,
                PASSWORD_PARAMETER, password,
                KIND_PARAMETER, secretKind.name()
            };
            final ProcessCoordinator coordinator = new ProcessCoordinator(addProcess);
            final String command = StringHelper.join(" ", commandParts, 0, commandParts.length, QUOTING_PROCESSOR);
            coordinator.println(command);
            final int result = coordinator.waitFor();
            stdOut = coordinator.getStdOut();
            stdErr = coordinator.getStdErr();
            checkResult(result, stdOut, stdErr);
        } catch (final IOException e) {
            throw new Error(e);
        } catch (final InterruptedException e) {
            throw new Error(e);
        }
    }