Example usage for org.eclipse.jgit.transport CredentialItem getPromptText

List of usage examples for org.eclipse.jgit.transport CredentialItem getPromptText

Introduction

In this page you can find the example usage for org.eclipse.jgit.transport CredentialItem getPromptText.

Prototype

public String getPromptText() 

Source Link

Document

Get prompt to display to the user.

Usage

From source file:com.google.gerrit.server.git.SecureCredentialsProvider.java

License:Apache License

@Override
public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
    String username = uri.getUser();
    if (username == null) {
        username = cfgUser;//from   w  w  w  . j  a  v a  2 s . c o  m
    }
    if (username == null) {
        return false;
    }

    String password = uri.getPass();
    if (password == null) {
        password = cfgPass;
    }
    if (password == null) {
        return false;
    }

    for (CredentialItem i : items) {
        if (i instanceof CredentialItem.Username) {
            ((CredentialItem.Username) i).setValue(username);
        } else if (i instanceof CredentialItem.Password) {
            ((CredentialItem.Password) i).setValue(password.toCharArray());
        } else {
            throw new UnsupportedCredentialItem(uri, i.getPromptText());
        }
    }
    return true;
}

From source file:com.googlesource.gerrit.plugins.github.git.GitHubRepository.java

License:Apache License

public CredentialsProvider getCredentialsProvider() {
    return new CredentialsProvider() {

        @Override/* w  w  w .j a  v  a  2  s  . c  o m*/
        public boolean supports(CredentialItem... items) {
            for (CredentialItem i : items) {
                if (i instanceof CredentialItem.Username) {
                    continue;
                } else if (i instanceof CredentialItem.Password) {
                    continue;
                } else {
                    return false;
                }
            }
            return true;
        }

        @Override
        public boolean isInteractive() {
            return false;
        }

        @Override
        public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
            String user = uri.getUser();
            if (user == null) {
                user = GitHubRepository.this.username;
            }
            if (user == null) {
                return false;
            }

            String passwd = GitHubRepository.this.password;
            if (passwd == null) {
                return false;
            }

            for (CredentialItem i : items) {
                if (i instanceof CredentialItem.Username) {
                    ((CredentialItem.Username) i).setValue(user);
                } else if (i instanceof CredentialItem.Password) {
                    ((CredentialItem.Password) i).setValue(passwd.toCharArray());
                } else {
                    throw new UnsupportedCredentialItem(uri, i.getPromptText());
                }
            }
            return true;
        }
    };
}

From source file:com.heroku.eclipse.ui.git.HerokuCredentialsProvider.java

License:Open Source License

/**
 * Opens a dialog for a single non-user, non-password type item.
 * @param shell the shell to use//from  w  w w .ja va  2 s .co  m
 * @param uri the uri of the get request
 * @param item the item to handle
 * @return <code>true</code> if the request was successful and values were supplied;
 *       <code>false</code> if the user canceled the request and did not supply all requested values.
 */
private boolean getSingleSpecial(Shell shell, URIish uri, CredentialItem item) {
    if (item instanceof CredentialItem.InformationalMessage) {
        MessageDialog.openInformation(shell, UIText.EGitCredentialsProvider_information, item.getPromptText());
        return true;
    } else if (item instanceof CredentialItem.YesNoType) {
        CredentialItem.YesNoType v = (CredentialItem.YesNoType) item;
        String[] labels = new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL,
                IDialogConstants.CANCEL_LABEL };
        int[] resultIDs = new int[] { IDialogConstants.YES_ID, IDialogConstants.NO_ID,
                IDialogConstants.CANCEL_ID };

        MessageDialog dialog = new MessageDialog(shell, UIText.EGitCredentialsProvider_question, null,
                item.getPromptText(), MessageDialog.QUESTION_WITH_CANCEL, labels, 0);
        dialog.setBlockOnOpen(true);
        int r = dialog.open();
        if (r < 0) {
            return false;
        }

        switch (resultIDs[r]) {
        case IDialogConstants.YES_ID: {
            v.setValue(true);
            return true;
        }
        case IDialogConstants.NO_ID: {
            v.setValue(false);
            return true;
        }
        default:
            // abort
            return false;
        }
    } else {
        // generically handles all other types of items
        return getMultiSpecial(shell, uri, item);
    }
}

From source file:com.madgag.agit.GUICredentialsProvider.java

License:Open Source License

private OpNotification uiNotificationFor(CredentialItem ci) {
    return alert(ci.getPromptText(), ci.getPromptText());
}

From source file:ezbake.deployer.publishers.openShift.Rhc.java

License:Apache License

private CredentialsProvider generateGitCredentials() {
    return new CredentialsProvider() {
        @Override// w  w w.j ava 2  s.  c om
        public boolean isInteractive() {
            return false;
        }

        @Override
        public boolean supports(CredentialItem... items) {
            log.info("Supported credentials: " + Joiner.on(',').join(items));
            return true;
        }

        @Override
        public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
            log.info("Number of items: " + items.length);
            for (CredentialItem item : items) {
                log.info(item.getPromptText());
                if (item instanceof CredentialItem.StringType)
                    ((CredentialItem.StringType) item).setValue(openshiftKeyPassphrase);
                else if (item instanceof CredentialItem.YesNoType) {
                    //The authenticity of host 'hostname' can't be established.
                    // TODO: This isn't secured to always passed in true.
                    ((CredentialItem.YesNoType) item).setValue(true);
                }
            }
            return true;
        }
    };
}

From source file:jbyoshi.gitupdate.processor.Prompts.java

License:Apache License

@Override
public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
    for (int i = 0; i < items.length; i++) {
        CredentialItem item = items[i];
        if (item instanceof StringType) {
            if (item instanceof Username && i < items.length - 1 && items[i + 1] instanceof Password) {
                Password password = (Password) items[i + 1];
                // TODO cache this?
                UsernamePasswordPair login = UI.INSTANCE.promptLogin("Login for " + uri);
                if (login == null) {
                    return false;
                }/* w  w  w .j a v a  2 s  . c o  m*/
                ((StringType) item).setValue(login.getUsername());
                password.setValue(login.getPassword());
                login.clobber();
                i++;
            } else {
                String prompt = item.getPromptText();
                if (item instanceof Username) {
                    prompt = "Username for " + uri;
                }
                Optional<String> value = textPrompts.computeIfAbsent(prompt, (prompt0) -> {
                    char[] val = UI.INSTANCE.promptPassword(prompt0);
                    if (val == null) {
                        return Optional.empty();
                    }
                    return Optional.of(new String(val));
                });
                if (!value.isPresent()) {
                    return false;
                }
                ((StringType) item).setValue(value.get());
            }
        } else if (item instanceof CharArrayType) {
            String prompt = item.getPromptText();
            if (item instanceof Password) {
                prompt = "Password for " + uri;
            }
            Optional<String> value = textPrompts.computeIfAbsent(prompt, (prompt0) -> {
                char[] password = UI.INSTANCE.promptPassword(prompt0);
                if (password == null) {
                    return Optional.empty();
                }
                return Optional.of(new String(password));
            });
            if (!value.isPresent()) {
                return false;
            }
            ((CharArrayType) item).setValueNoCopy(value.get().toCharArray());
        } else {
            return false;
        }
    }
    return true;
}

From source file:jetbrains.buildServer.buildTriggers.vcs.git.AuthSettings.java

License:Apache License

public CredentialsProvider toCredentialsProvider() {
    return new CredentialsProvider() {
        @Override//  w  ww  .  java  2s  .co m
        public boolean isInteractive() {
            return false;
        }

        @Override
        public boolean supports(CredentialItem... items) {
            for (CredentialItem i : items) {
                if (i instanceof CredentialItem.Username && myAuthMethod != AuthenticationMethod.ANONYMOUS)
                    continue;
                if (i instanceof CredentialItem.Password && myAuthMethod == AuthenticationMethod.PASSWORD
                        && myPassword != null)
                    continue;
                return false;
            }
            return true;
        }

        @Override
        public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
            boolean allValuesSupplied = true;
            for (CredentialItem i : items) {
                if (i instanceof CredentialItem.Username) {
                    allValuesSupplied &= supplyUsername(uri, (CredentialItem.Username) i);
                } else if (i instanceof CredentialItem.Password) {
                    allValuesSupplied &= supplyPassword((CredentialItem.Password) i);
                } else if (i instanceof CredentialItem.StringType
                        && "Passphrase for ".equals(i.getPromptText())) {
                    //we provider a passphrase to the jsch, if we are asked about it
                    //then the original passphrase was incorrect
                    throw new WrongPassphraseException(uri);
                } else {
                    throw new UnsupportedCredentialItem(uri, i.getPromptText());
                }
            }
            return allValuesSupplied;
        }

        private boolean supplyUsername(URIish uri, CredentialItem.Username item) {
            if (myAuthMethod == AuthenticationMethod.ANONYMOUS)
                return false;
            String username = myUserName != null ? myUserName : uri.getUser();
            if (username == null)
                return false;
            item.setValue(username);
            return true;
        }

        private boolean supplyPassword(CredentialItem.Password item) {
            if (myAuthMethod != AuthenticationMethod.PASSWORD)
                return false;
            if (myPassword == null)
                return false;
            item.setValue(myPassword.toCharArray());
            return true;
        }
    };
}

From source file:org.eclipse.egit.ui.credentials.EGitCredentialsProvider.java

License:Open Source License

@Override
public boolean get(final URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
    CredentialItem.Username userItem = null;
    CredentialItem.Password passwordItem = null;

    for (CredentialItem item : items) {
        if (item instanceof CredentialItem.Username)
            userItem = (CredentialItem.Username) item;
        else if (item instanceof CredentialItem.Password)
            passwordItem = (CredentialItem.Password) item;
        else//from www.  ja  va 2  s.co  m
            throw new UnsupportedCredentialItem(uri, item.getPromptText());
    }

    UserPasswordCredentials credentials = getCredentialsFromSecureStore(uri);

    if (credentials == null) {
        credentials = getCredentialsFromUser(uri);
        if (credentials == null)
            return false;
    }
    if (userItem != null)
        userItem.setValue(credentials.getUser());
    if (passwordItem != null)
        passwordItem.setValue(credentials.getPassword().toCharArray());
    return true;
}

From source file:org.eclipse.egit.ui.internal.dialogs.CustomPromptDialog.java

License:Open Source License

@Override
protected Control createDialogArea(Composite parent) {
    editingControls = new ArrayList<Control>(credentialItems.length);

    Composite main = (Composite) super.createDialogArea(parent);
    GridLayout mainLayout = (GridLayout) main.getLayout();
    mainLayout.numColumns = 2;//from   w ww.j a  va 2s.co  m

    Label infoLabel = new Label(main, SWT.NONE);
    GridDataFactory.defaultsFor(infoLabel).span(2, 1).applyTo(infoLabel);
    String tempInfoText = hasEditingItems() ? UIText.CustomPromptDialog_provide_information_for
            : UIText.CustomPromptDialog_information_about;
    infoLabel.setText(NLS.bind(tempInfoText, uri.toString()));

    for (CredentialItem item : credentialItems) {
        Label label = new Label(main, SWT.NONE);
        label.setText(item.getPromptText());
        GridDataFactory.defaultsFor(label).applyTo(label);

        if (item instanceof CharArrayType || item instanceof StringType) {
            Text text = new Text(main, SWT.BORDER | (item.isValueSecure() ? SWT.PASSWORD : SWT.NONE));
            GridDataFactory.defaultsFor(text).applyTo(text);
            text.setData(KEY_ITEM, item);
            editingControls.add(text);
        } else if (item instanceof YesNoType) {
            Button checkBox = new Button(main, SWT.CHECK);
            GridDataFactory.defaultsFor(checkBox).applyTo(checkBox);
            editingControls.add(checkBox);
        } else {
            // unknown type, not editable
            Label dummy = new Label(main, SWT.NONE);
            GridDataFactory.fillDefaults().applyTo(dummy);
        }
    }

    return main;
}

From source file:org.eclipse.orion.internal.server.sshconfig.home.UsernameCredentialsProvider.java

License:Open Source License

@Override
public boolean get(URIish uri, CredentialItem... items) throws UnsupportedCredentialItem {
    for (CredentialItem i : items) {
        if (i instanceof CredentialItem.Username)
            ((CredentialItem.Username) i).setValue(username);
        else/*w  w w .jav  a  2  s .c o m*/
            throw new UnsupportedCredentialItem(uri, i.getPromptText());
    }
    return true;
}