// License: GPL. For details, see LICENSE file.
package org.openstreetmap.hot.sds;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.BorderLayout;
import org.openstreetmap.josm.gui.io.CredentialDialog;
@SuppressWarnings("serial")
public class SdsCredentialDialog extends CredentialDialog {
public static SdsCredentialDialog getSdsApiCredentialDialog(String username, String password, String host,
String saveUsernameAndPasswordCheckboxText) {
SdsCredentialDialog dialog = new SdsCredentialDialog(saveUsernameAndPasswordCheckboxText);
dialog.prepareForSdsApiCredentials(username, password);
dialog.pack();
return dialog;
}
String saveUsernameAndPasswordCheckboxText;
public SdsCredentialDialog(String saveUsernameAndPasswordCheckboxText) {
super(saveUsernameAndPasswordCheckboxText);
}
public void prepareForSdsApiCredentials(String username, String password) {
setTitle(tr("Enter credentials for Separate Data Store API"));
getContentPane().add(pnlCredentials = new SdsApiCredentialsPanel(this), BorderLayout.CENTER);
pnlCredentials.init(username, password);
validate();
}
private static class SdsApiCredentialsPanel extends CredentialPanel {
@Override
protected void build() {
super.build();
tfUserName.setToolTipText(tr("Please enter the user name of your SDS account"));
tfPassword.setToolTipText(tr("Please enter the password of your SDS account"));
lblHeading.setText(
"<html>" + tr("Authenticating at the SDS API ''{0}'' failed. Please enter a valid username and a valid password.",
SdsApi.getSdsApi().getBaseUrl()) + "</html>");
lblWarning.setText(tr("Warning: The password is transferred unencrypted."));
}
SdsApiCredentialsPanel(SdsCredentialDialog owner) {
super(owner);
build();
}
}
}