Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java')
-rw-r--r--bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java542
1 files changed, 271 insertions, 271 deletions
diff --git a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java
index 40a6d82cc..a20b22e0c 100644
--- a/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java
+++ b/bundles/org.eclipse.jsch.ui/src/org/eclipse/jsch/internal/ui/authenticator/KeyboardInteractiveDialog.java
@@ -41,282 +41,282 @@ import org.eclipse.ui.PlatformUI;
* @since 1.1
*/
public class KeyboardInteractiveDialog extends TrayDialog{
- // whether or not the user name can be changed
- protected boolean isUsernameMutable=false;
-
- // widgets
- private Text[] texts;
- protected Image keyLockImage;
- protected Button allowCachingButton;
- protected Text usernameField;
-
- protected String defaultUsername;
- protected String comment;
- protected String destination;
- protected String name;
- protected String instruction;
- protected String lang;
- protected String[] prompt;
- protected boolean[] echo;
- private String message;
- private String[] result;
- protected boolean allowCaching=false;
-
- private boolean isPasswordAuth=false;
-
- /**
- * Creates a new KeyboardInteractiveDialog.
- *
- * @param parentShell the parent shell
- * @param comment the comment
- * @param destination the location
- * @param name the name
- * @param userName user name
- * @param instruction the instruction
- * @param prompt the titles for text-fields
- * @param echo '*' should be used or not
- */
- public KeyboardInteractiveDialog(Shell parentShell, String comment,
- String destination, String name, String userName, String instruction, String[] prompt,
- boolean[] echo){
- super(parentShell);
- setShellStyle(getShellStyle()|SWT.RESIZE);
- this.comment=comment;
- this.destination=destination;
- this.name=name;
- this.defaultUsername=userName;
- this.instruction=instruction;
- this.prompt=prompt;
- this.echo=echo;
- this.message=NLS.bind(Messages.KeyboradInteractiveDialog_message,
- new String[] {destination
- +(name!=null&&name.length()>0 ? ": "+name : "")}); //NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-2$
-
- if(prompt!=null && prompt.length==1 && prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
- isPasswordAuth=true;
- }
-
- }
-
- @Override
+ // whether or not the user name can be changed
+ protected boolean isUsernameMutable=false;
+
+ // widgets
+ private Text[] texts;
+ protected Image keyLockImage;
+ protected Button allowCachingButton;
+ protected Text usernameField;
+
+ protected String defaultUsername;
+ protected String comment;
+ protected String destination;
+ protected String name;
+ protected String instruction;
+ protected String lang;
+ protected String[] prompt;
+ protected boolean[] echo;
+ private String message;
+ private String[] result;
+ protected boolean allowCaching=false;
+
+ private boolean isPasswordAuth=false;
+
+ /**
+ * Creates a new KeyboardInteractiveDialog.
+ *
+ * @param parentShell the parent shell
+ * @param comment the comment
+ * @param destination the location
+ * @param name the name
+ * @param userName user name
+ * @param instruction the instruction
+ * @param prompt the titles for text-fields
+ * @param echo '*' should be used or not
+ */
+ public KeyboardInteractiveDialog(Shell parentShell, String comment,
+ String destination, String name, String userName, String instruction, String[] prompt,
+ boolean[] echo){
+ super(parentShell);
+ setShellStyle(getShellStyle()|SWT.RESIZE);
+ this.comment=comment;
+ this.destination=destination;
+ this.name=name;
+ this.defaultUsername=userName;
+ this.instruction=instruction;
+ this.prompt=prompt;
+ this.echo=echo;
+ this.message=NLS.bind(Messages.KeyboradInteractiveDialog_message,
+ new String[] {destination
+ +(name!=null&&name.length()>0 ? ": "+name : "")}); //NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-2$
+
+ if(prompt!=null && prompt.length==1 && prompt[0].trim().equalsIgnoreCase("password:")){ //$NON-NLS-1$
+ isPasswordAuth=true;
+ }
+
+ }
+
+ @Override
protected void configureShell(Shell newShell){
- super.configureShell(newShell);
- if(isPasswordAuth){
- newShell.setText(Messages.UserValidationDialog_required);
- }
- else{
- newShell.setText(message);
- }
- // set F1 help
- PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
- IHelpContextIds.KEYBOARD_INTERACTIVE_DIALOG);
- }
-
- @Override
+ super.configureShell(newShell);
+ if(isPasswordAuth){
+ newShell.setText(Messages.UserValidationDialog_required);
+ }
+ else{
+ newShell.setText(message);
+ }
+ // set F1 help
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell,
+ IHelpContextIds.KEYBOARD_INTERACTIVE_DIALOG);
+ }
+
+ @Override
public void create(){
- super.create();
+ super.create();
- if(isPasswordAuth&&usernameField!=null){
- usernameField.setText(defaultUsername);
- usernameField.setEditable(false);
- }
+ if(isPasswordAuth&&usernameField!=null){
+ usernameField.setText(defaultUsername);
+ usernameField.setEditable(false);
+ }
- if(texts.length>0){
- texts[0].setFocus();
- }
- }
+ if(texts.length>0){
+ texts[0].setFocus();
+ }
+ }
- @Override
+ @Override
protected Control createDialogArea(Composite parent){
- Composite top=new Composite(parent, SWT.NONE);
- GridLayout layout=new GridLayout();
- layout.numColumns=2;
-
- top.setLayout(layout);
- top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Composite imageComposite=new Composite(top, SWT.NONE);
- layout=new GridLayout();
- imageComposite.setLayout(layout);
- imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
- Composite main=new Composite(top, SWT.NONE);
- layout=new GridLayout();
- layout.numColumns=3;
- main.setLayout(layout);
- main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
- Label imageLabel=new Label(imageComposite, SWT.NONE);
- keyLockImage=JSchUIPlugin.getImageDescriptor(IUIConstants.IMG_KEY_LOCK)
- .createImage();
- imageLabel.setImage(keyLockImage);
- GridData data=new GridData(GridData.FILL_HORIZONTAL
- |GridData.GRAB_HORIZONTAL);
- imageLabel.setLayoutData(data);
-
- if(message!=null){
- Label messageLabel=new Label(main, SWT.WRAP);
- messageLabel.setText(message);
- data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
- data.horizontalSpan=3;
- data.widthHint=400;
- messageLabel.setLayoutData(data);
- }
- if(comment!=null){
- Label label=new Label(main, SWT.WRAP);
- if(isUsernameMutable){
- label.setText(NLS.bind(Messages.UserValidationDialog_labelUser,
- new String[] {comment}));
- }
- else{
- label.setText(NLS.bind(Messages.UserValidationDialog_labelPassword,
- (new Object[] {defaultUsername, comment})));
- }
- data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
- data.horizontalSpan=3;
- data.widthHint=400;
- label.setLayoutData(data);
- }
- if(instruction!=null&&instruction.length()>0){
- Label label=new Label(main, SWT.WRAP);
- label.setText(instruction);
- data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
- data.horizontalSpan=3;
- data.widthHint=400;
- label.setLayoutData(data);
- }
-
- if(isPasswordAuth){
- createUsernameFields(main);
- }
-
- createPasswordFields(main);
-
- if(isPasswordAuth){
- allowCachingButton=new Button(main, SWT.CHECK);
- allowCachingButton.setText(Messages.UserValidationDialog_6);
- data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
- data.horizontalSpan=3;
- allowCachingButton.setLayoutData(data);
- allowCachingButton.addSelectionListener(new SelectionAdapter(){
- @Override
- public void widgetSelected(SelectionEvent e){
- allowCaching=allowCachingButton.getSelection();
- }
- });
- }
-
- Dialog.applyDialogFont(parent);
-
- return main;
- }
-
- /**
- * Creates the three widgets that represent the user name entry area.
- *
- * @param parent the parent of the widgets
- */
- protected void createUsernameFields(Composite parent){
- new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_user);
-
- usernameField=new Text(parent, SWT.BORDER);
- GridData data=new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan=2;
- data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
- usernameField.setLayoutData(data);
- }
-
- /**
- * Creates the widgets that represent the entry area.
- *
- * @param parent the parent of the widgets
- */
- protected void createPasswordFields(Composite parent){
- texts=new Text[prompt.length];
-
- for(int i=0; i<prompt.length; i++){
- new Label(parent, SWT.NONE).setText(prompt[i]);
- int flag=SWT.BORDER;
- if(!echo[i]){
- flag|=SWT.PASSWORD;
- }
- texts[i]=new Text(parent, flag);
- GridData data=new GridData(GridData.FILL_HORIZONTAL);
- data.horizontalSpan=2;
- data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
- texts[i].setLayoutData(data);
- if(!echo[i]){
- texts[i].setEchoChar('*');
- }
- }
- }
-
- /**
- * Returns the entered values, or null
- * if the user canceled.
- *
- * @return the entered values
- */
- public String[] getResult(){
- return result;
- }
-
- /**
- * Returns <code>true</code> if the save password checkbox was selected.
- * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
- * otherwise.
- */
- public boolean getAllowCaching(){
- return allowCaching;
- }
-
- /**
- * Notifies that the ok button of this dialog has been pressed.
- * <p>
- * The default implementation of this framework method sets
- * this dialog's return code to <code>Window.OK</code>
- * and closes the dialog. Subclasses may override.
- * </p>
- */
- @Override
+ Composite top=new Composite(parent, SWT.NONE);
+ GridLayout layout=new GridLayout();
+ layout.numColumns=2;
+
+ top.setLayout(layout);
+ top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ Composite imageComposite=new Composite(top, SWT.NONE);
+ layout=new GridLayout();
+ imageComposite.setLayout(layout);
+ imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL));
+
+ Composite main=new Composite(top, SWT.NONE);
+ layout=new GridLayout();
+ layout.numColumns=3;
+ main.setLayout(layout);
+ main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+ Label imageLabel=new Label(imageComposite, SWT.NONE);
+ keyLockImage=JSchUIPlugin.getImageDescriptor(IUIConstants.IMG_KEY_LOCK)
+ .createImage();
+ imageLabel.setImage(keyLockImage);
+ GridData data=new GridData(GridData.FILL_HORIZONTAL
+ |GridData.GRAB_HORIZONTAL);
+ imageLabel.setLayoutData(data);
+
+ if(message!=null){
+ Label messageLabel=new Label(main, SWT.WRAP);
+ messageLabel.setText(message);
+ data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
+ data.horizontalSpan=3;
+ data.widthHint=400;
+ messageLabel.setLayoutData(data);
+ }
+ if(comment!=null){
+ Label label=new Label(main, SWT.WRAP);
+ if(isUsernameMutable){
+ label.setText(NLS.bind(Messages.UserValidationDialog_labelUser,
+ new String[] {comment}));
+ }
+ else{
+ label.setText(NLS.bind(Messages.UserValidationDialog_labelPassword,
+ (new Object[] {defaultUsername, comment})));
+ }
+ data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
+ data.horizontalSpan=3;
+ data.widthHint=400;
+ label.setLayoutData(data);
+ }
+ if(instruction!=null&&instruction.length()>0){
+ Label label=new Label(main, SWT.WRAP);
+ label.setText(instruction);
+ data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
+ data.horizontalSpan=3;
+ data.widthHint=400;
+ label.setLayoutData(data);
+ }
+
+ if(isPasswordAuth){
+ createUsernameFields(main);
+ }
+
+ createPasswordFields(main);
+
+ if(isPasswordAuth){
+ allowCachingButton=new Button(main, SWT.CHECK);
+ allowCachingButton.setText(Messages.UserValidationDialog_6);
+ data=new GridData(GridData.FILL_HORIZONTAL|GridData.GRAB_HORIZONTAL);
+ data.horizontalSpan=3;
+ allowCachingButton.setLayoutData(data);
+ allowCachingButton.addSelectionListener(new SelectionAdapter(){
+ @Override
+ public void widgetSelected(SelectionEvent e){
+ allowCaching=allowCachingButton.getSelection();
+ }
+ });
+ }
+
+ Dialog.applyDialogFont(parent);
+
+ return main;
+ }
+
+ /**
+ * Creates the three widgets that represent the user name entry area.
+ *
+ * @param parent the parent of the widgets
+ */
+ protected void createUsernameFields(Composite parent){
+ new Label(parent, SWT.NONE).setText(Messages.UserValidationDialog_user);
+
+ usernameField=new Text(parent, SWT.BORDER);
+ GridData data=new GridData(GridData.FILL_HORIZONTAL);
+ data.horizontalSpan=2;
+ data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
+ usernameField.setLayoutData(data);
+ }
+
+ /**
+ * Creates the widgets that represent the entry area.
+ *
+ * @param parent the parent of the widgets
+ */
+ protected void createPasswordFields(Composite parent){
+ texts=new Text[prompt.length];
+
+ for(int i=0; i<prompt.length; i++){
+ new Label(parent, SWT.NONE).setText(prompt[i]);
+ int flag=SWT.BORDER;
+ if(!echo[i]){
+ flag|=SWT.PASSWORD;
+ }
+ texts[i]=new Text(parent, flag);
+ GridData data=new GridData(GridData.FILL_HORIZONTAL);
+ data.horizontalSpan=2;
+ data.widthHint=convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
+ texts[i].setLayoutData(data);
+ if(!echo[i]){
+ texts[i].setEchoChar('*');
+ }
+ }
+ }
+
+ /**
+ * Returns the entered values, or null
+ * if the user canceled.
+ *
+ * @return the entered values
+ */
+ public String[] getResult(){
+ return result;
+ }
+
+ /**
+ * Returns <code>true</code> if the save password checkbox was selected.
+ * @return <code>true</code> if the save password checkbox was selected and <code>false</code>
+ * otherwise.
+ */
+ public boolean getAllowCaching(){
+ return allowCaching;
+ }
+
+ /**
+ * Notifies that the ok button of this dialog has been pressed.
+ * <p>
+ * The default implementation of this framework method sets
+ * this dialog's return code to <code>Window.OK</code>
+ * and closes the dialog. Subclasses may override.
+ * </p>
+ */
+ @Override
protected void okPressed(){
- result=new String[prompt.length];
- for(int i=0; i<texts.length; i++){
- result[i]=texts[i].getText();
- }
- super.okPressed();
- }
-
- /**
- * Sets whether or not the username field should be mutable.
- * This method must be called before create(), otherwise it
- * will be ignored.
- *
- * @param value whether the username is mutable
- */
- public void setUsernameMutable(boolean value){
- isUsernameMutable=value;
- }
-
- /**
- * Notifies that the cancel button of this dialog has been pressed.
- * <p>
- * The default implementation of this framework method sets
- * this dialog's return code to <code>Window.CANCEL</code>
- * and closes the dialog. Subclasses may override.
- * </p>
- */
- @Override
- protected void cancelPressed(){
- result=null;
- super.cancelPressed();
- }
-
- @Override
- public boolean close(){
- if(keyLockImage!=null){
- keyLockImage.dispose();
- }
- return super.close();
- }
+ result=new String[prompt.length];
+ for(int i=0; i<texts.length; i++){
+ result[i]=texts[i].getText();
+ }
+ super.okPressed();
+ }
+
+ /**
+ * Sets whether or not the username field should be mutable.
+ * This method must be called before create(), otherwise it
+ * will be ignored.
+ *
+ * @param value whether the username is mutable
+ */
+ public void setUsernameMutable(boolean value){
+ isUsernameMutable=value;
+ }
+
+ /**
+ * Notifies that the cancel button of this dialog has been pressed.
+ * <p>
+ * The default implementation of this framework method sets
+ * this dialog's return code to <code>Window.CANCEL</code>
+ * and closes the dialog. Subclasses may override.
+ * </p>
+ */
+ @Override
+ protected void cancelPressed(){
+ result=null;
+ super.cancelPressed();
+ }
+
+ @Override
+ public boolean close(){
+ if(keyLockImage!=null){
+ keyLockImage.dispose();
+ }
+ return super.close();
+ }
}

Back to the top