View Javadoc
1 package org.argosfields.wizard; 2 3 import org.apache.commons.logging.Log; 4 import org.apache.commons.logging.LogFactory; 5 import org.argosfields.multi.client.GameClient; 6 import org.argosfields.multi.client.IGameClient; 7 import org.argosfields.resource.ResourceManager; 8 import org.argosfields.service.ILoginManager; 9 import org.argosfields.service.LoginException; 10 import org.argosfields.spring.ClientContextHelper; 11 import org.eclipse.jface.dialogs.MessageDialog; 12 import org.eclipse.jface.preference.IPreferenceStore; 13 import org.eclipse.jface.preference.JFacePreferences; 14 import org.eclipse.jface.resource.ImageDescriptor; 15 import org.eclipse.jface.wizard.IWizardPage; 16 import org.eclipse.jface.wizard.Wizard; 17 18 /*** 19 * LoginWizard.java 20 * @author Xavier Cho 21 * @version $Revision: 1.4 $ $Date: 2004/04/17 08:59:17 $ 22 */ 23 public class LoginWizard extends Wizard { 24 25 private static Log log = LogFactory.getLog(LoginWizard.class); 26 27 /*** 28 * @see org.eclipse.jface.wizard.IWizard#addPages() 29 */ 30 public void addPages() { 31 ResourceManager resources = ResourceManager.getInstance(); 32 33 String pageName = resources.getString("wizard.login.page1.title"); 34 35 ImageDescriptor image = resources 36 .getImageDescriptor("wizard.login.page1.image"); 37 38 setWindowTitle(pageName); 39 setDefaultPageImageDescriptor(image); 40 41 IWizardPage page = new LoginWizardPage1(pageName); 42 page.setTitle(pageName); 43 44 addPage(page); 45 } 46 47 public boolean performFinish() { 48 LoginWizardPage1 page = (LoginWizardPage1) getPages()[0]; 49 50 String userName = page.getUserName(); 51 String password = page.getPassword(); 52 String hostAddress = page.getHostAddress(); 53 54 int index = hostAddress.lastIndexOf(":"); 55 int port = -1; 56 57 if (index == -1) { 58 ResourceManager resources = ResourceManager.getInstance(); 59 page.setErrorMessage(resources.getString("error.invalid.host")); 60 61 return false; 62 } 63 64 try { 65 port = Integer.parseInt(hostAddress.substring(index + 1)); 66 hostAddress = hostAddress.substring(0, index); 67 } catch (NumberFormatException e) { 68 ResourceManager resources = ResourceManager.getInstance(); 69 page.setErrorMessage(resources.getString("error.invalid.host")); 70 71 return false; 72 } 73 74 if (log.isInfoEnabled()) { 75 log.info("Logging in to the remote host :"); 76 log.info(" - host : " + hostAddress); 77 log.info(" - port : " + port); 78 } 79 80 IPreferenceStore preferences = JFacePreferences.getPreferenceStore(); 81 preferences.setValue("remote.server.host", hostAddress); 82 preferences.setValue("remote.server.port", port); 83 84 ClientContextHelper helper = ClientContextHelper.getInstance(); 85 86 ILoginManager manager = helper.getLoginManager(); 87 88 String sessionId = null; 89 90 try { 91 sessionId = manager.login(userName, password); 92 } catch (LoginException e) { 93 ResourceManager resources = ResourceManager.getInstance(); 94 95 String title = resources.getString("dialog.title.warning"); 96 String message = e.getMessage(); 97 98 if (message != null) { 99 message = resources.getString(message); 100 } 101 102 if (message == null) { 103 message = resources.getString("error.login"); 104 } 105 106 MessageDialog.openWarning(getShell(), title, message); 107 108 return false; 109 } 110 111 IGameClient client = GameClient.getInstance(); 112 client.startSession(hostAddress, port, sessionId); 113 114 if (log.isInfoEnabled()) { 115 log.info("Successfully logged on to the remote host."); 116 } 117 118 return true; 119 } 120 }

This page was automatically generated by Maven