[jbosstools-commits] JBoss Tools SVN: r6798 - in trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui: launch and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Mar 7 18:15:05 EST 2008


Author: rob.stryker at jboss.com
Date: 2008-03-07 18:15:05 -0500 (Fri, 07 Mar 2008)
New Revision: 6798

Modified:
   trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/dialogs/RequiredCredentialsDialog.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/SecurityFailureHandler.java
Log:
allows saving of credentials so the stop doesnt fail. 

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/dialogs/RequiredCredentialsDialog.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/dialogs/RequiredCredentialsDialog.java	2008-03-07 23:14:47 UTC (rev 6797)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/dialogs/RequiredCredentialsDialog.java	2008-03-07 23:15:05 UTC (rev 6798)
@@ -25,10 +25,13 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyEvent;
 import org.eclipse.swt.events.ModifyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.FormAttachment;
 import org.eclipse.swt.layout.FormData;
 import org.eclipse.swt.layout.FormLayout;
 import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
@@ -43,7 +46,8 @@
 public class RequiredCredentialsDialog extends Dialog {
 
 	private String user, pass;
-
+	private boolean save;
+	
 	public RequiredCredentialsDialog(Shell parentShell) {
 		super(parentShell);
 		setShellStyle(getShellStyle() | SWT.RESIZE);
@@ -68,31 +72,43 @@
 		final Text passText = new Text(main, SWT.DEFAULT);
 		userText.setEditable(true);
 		passText.setEditable(true);
+		final Button saveCredentials = new Button(main, SWT.CHECK);
 		
-		
 		top.setLayoutData(createFormData(0,5,null,0,0,5,100,-5));
 		userLabel.setLayoutData(createFormData(top, 10, null, 0, 0,5, 100, -5));
 		userText.setLayoutData(createFormData(userLabel, 5, null, 0, 0,5, 100, -5));
 		passLabel.setLayoutData(createFormData(userText, 10, null, 0, 0,5, 100, -5));
 		passText.setLayoutData(createFormData(passLabel, 5, null, 0, 0,5, 100, -5));
+		saveCredentials.setLayoutData(createFormData(passText, 10, null, 0, 0,5, 100, -5));
 		
 		top.setText("Your server is throwing a security exception.\nYou should make sure to open the server\neditor and save the jmx username and password there.");
 		userLabel.setText(Messages.swf_Username);
 		passLabel.setText(Messages.swf_Password);
+		saveCredentials.setText("Save these credentials?");
 		
 		ModifyListener listener = new ModifyListener() {
 			public void modifyText(ModifyEvent e) {
 				user = userText.getText();
 				pass = passText.getText();
+				save = saveCredentials.getSelection();
 			}
 		};
+		SelectionListener listener2 = new SelectionListener() {
+			public void widgetDefaultSelected(SelectionEvent e) {
+				widgetSelected(e);
+			}
+			public void widgetSelected(SelectionEvent e) {
+				user = userText.getText();
+				pass = passText.getText();
+				save = saveCredentials.getSelection();
+			}
+		};
 		userText.addModifyListener(listener);
 		passText.addModifyListener(listener);
+		saveCredentials.addSelectionListener(listener2);
 		return c;
 	}
 
-	
-
 	private FormData createFormData(Object topStart, int topOffset, Object bottomStart, int bottomOffset, 
 			Object leftStart, int leftOffset, Object rightStart, int rightOffset) {
 		FormData data = new FormData();
@@ -133,4 +149,11 @@
 	public String getPass() {
 		return pass;
 	}
+	
+	/**
+	 * @return whether to save
+	 */
+	public boolean getSave() {
+		return save;
+	}
 }

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/SecurityFailureHandler.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/SecurityFailureHandler.java	2008-03-07 23:14:47 UTC (rev 6797)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/launch/SecurityFailureHandler.java	2008-03-07 23:15:05 UTC (rev 6798)
@@ -3,12 +3,17 @@
 import java.util.List;
 import java.util.Properties;
 
+import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.window.Window;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
 import org.jboss.ide.eclipse.as.core.extensions.polling.JMXPoller;
 import org.jboss.ide.eclipse.as.core.server.IPollerFailureHandler;
 import org.jboss.ide.eclipse.as.core.server.IServerStatePoller;
+import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
+import org.jboss.ide.eclipse.as.core.util.ServerConverter;
 import org.jboss.ide.eclipse.as.ui.dialogs.RequiredCredentialsDialog;
 
 /**
@@ -30,6 +35,19 @@
 			public void run() {
 				RequiredCredentialsDialog d = new RequiredCredentialsDialog(new Shell());
 				if( d.open() == Window.OK) {
+					if( d.getSave() ) {
+						IServer server = poller.getServer();
+						IServerWorkingCopy copy = server.createWorkingCopy();
+						JBossServer jbs = ServerConverter.getJBossServer(copy);
+						jbs.setPassword(d.getPass());
+						jbs.setUsername(d.getUser());
+						try {
+							copy.save(false, null);
+						} catch( CoreException ce ) {
+							// TODO log
+						}
+					}
+					
 					Properties p = new Properties();
 					p.put(JMXPoller.REQUIRED_USER, d.getUser());
 					p.put(JMXPoller.REQUIRED_PASS, d.getPass());




More information about the jbosstools-commits mailing list