Use LoginData type for login data

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@403 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Matthias Schiffer 2011-06-10 19:06:51 +02:00
parent e4ac4b55cd
commit 28e5462b08
7 changed files with 70 additions and 34 deletions

View file

@ -1,18 +1,19 @@
package jrummikub.view; package jrummikub.view;
import jrummikub.util.IEvent; import jrummikub.util.IEvent;
import jrummikub.util.IEvent3; import jrummikub.util.IEvent1;
import jrummikub.util.LoginData;
import jrummikub.util.MockEvent; import jrummikub.util.MockEvent;
import jrummikub.util.MockEvent3; import jrummikub.util.MockEvent1;
/** */ /** */
public class MockLoginPanel implements ILoginPanel { public class MockLoginPanel implements ILoginPanel {
/** */ /** */
public MockEvent3<String, String, String> loginEvent = new MockEvent3<String, String, String>(); public MockEvent1<LoginData> loginEvent = new MockEvent1<LoginData>();
/** */ /** */
public MockEvent cancelEvent = new MockEvent(); public MockEvent cancelEvent = new MockEvent();
@Override @Override
public IEvent3<String, String, String> getLoginEvent() { public IEvent1<LoginData> getLoginEvent() {
return loginEvent; return loginEvent;
} }

View file

@ -6,6 +6,7 @@ import jrummikub.model.IRoundState;
import jrummikub.util.IListener; import jrummikub.util.IListener;
import jrummikub.util.IListener1; import jrummikub.util.IListener1;
import jrummikub.util.IListener3; import jrummikub.util.IListener3;
import jrummikub.util.LoginData;
import jrummikub.view.IView; import jrummikub.view.IView;
import jrummikub.view.IView.BottomPanelType; import jrummikub.view.IView.BottomPanelType;
@ -76,10 +77,9 @@ public class ApplicationControl {
loginControl = new LoginControl(view); loginControl = new LoginControl(view);
loginControl.getLoginEvent().add( loginControl.getLoginEvent().add(
new IListener3<String, String, String>() { new IListener1<LoginData>() {
@Override @Override
public void handle(String userName, String password, public void handle(LoginData loginData) {
String channelName) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
}); });

View file

@ -5,28 +5,28 @@ import java.util.List;
import jrummikub.util.Connection; import jrummikub.util.Connection;
import jrummikub.util.Event; import jrummikub.util.Event;
import jrummikub.util.Event3; import jrummikub.util.Event1;
import jrummikub.util.IEvent; import jrummikub.util.IEvent;
import jrummikub.util.IEvent3; import jrummikub.util.IEvent1;
import jrummikub.util.IListener; import jrummikub.util.IListener;
import jrummikub.util.IListener3; import jrummikub.util.IListener1;
import jrummikub.util.LoginData;
import jrummikub.view.IView; import jrummikub.view.IView;
public class LoginControl { public class LoginControl {
private IView view; private IView view;
private Event3<String, String, String> loginEvent = new Event3<String, String, String>(); private Event1<LoginData> loginEvent = new Event1<LoginData>();
private Event cancelEvent = new Event(); private Event cancelEvent = new Event();
private List<Connection> connections = new ArrayList<Connection>(); private List<Connection> connections = new ArrayList<Connection>();
public LoginControl(final IView view) { public LoginControl(final IView view) {
this.view = view; this.view = view;
connections.add(view.getLoginPanel().getLoginEvent() connections.add(view.getLoginPanel().getLoginEvent()
.add(new IListener3<String, String, String>() { .add(new IListener1<LoginData>() {
@Override @Override
public void handle(String userName, String password, public void handle(LoginData loginData) {
String channelName) {
abort(); abort();
loginEvent.emit(userName, password, channelName); loginEvent.emit(loginData);
} }
})); }));
@ -43,7 +43,7 @@ public class LoginControl {
view.showLoginPanel(true); view.showLoginPanel(true);
} }
public IEvent3<String, String, String> getLoginEvent() { public IEvent1<LoginData> getLoginEvent() {
return loginEvent; return loginEvent;
} }
@ -57,5 +57,4 @@ public class LoginControl {
c.remove(); c.remove();
} }
} }
} }

View file

@ -0,0 +1,32 @@
package jrummikub.util;
public class LoginData {
private String userName;
private String serverName;
private String password;
private String channelName;
public LoginData(String userName, String serverName, String password,
String channelName) {
this.userName = userName;
this.serverName = serverName;
this.password = password;
this.channelName = channelName;
}
public String getUserName() {
return userName;
}
public String getServerName() {
return serverName;
}
public String getPassword() {
return password;
}
public String getChannelName() {
return channelName;
}
}

View file

@ -1,11 +1,12 @@
package jrummikub.view; package jrummikub.view;
import jrummikub.util.IEvent; import jrummikub.util.IEvent;
import jrummikub.util.IEvent3; import jrummikub.util.IEvent1;
import jrummikub.util.LoginData;
public interface ILoginPanel { public interface ILoginPanel {
public IEvent3<String, String, String> getLoginEvent(); public IEvent1<LoginData> getLoginEvent();
public IEvent getCancelEvent(); public IEvent getCancelEvent();

View file

@ -16,16 +16,18 @@ import javax.swing.border.EmptyBorder;
import javax.swing.border.LineBorder; import javax.swing.border.LineBorder;
import jrummikub.util.Event; import jrummikub.util.Event;
import jrummikub.util.Event3; import jrummikub.util.Event1;
import jrummikub.util.IEvent; import jrummikub.util.IEvent;
import jrummikub.util.IEvent3; import jrummikub.util.IEvent1;
import jrummikub.util.LoginData;
import jrummikub.view.ILoginPanel; import jrummikub.view.ILoginPanel;
@SuppressWarnings("serial") @SuppressWarnings("serial")
class LoginPanel extends JPanel implements ILoginPanel { class LoginPanel extends JPanel implements ILoginPanel {
private Event3<String, String, String> loginEvent = new Event3<String, String, String>(); private Event1<LoginData> loginEvent = new Event1<LoginData>();
private Event cancelEvent = new Event(); private Event cancelEvent = new Event();
private JTextField userNameField; private JTextField userNameField;
private JTextField serverNameField;
private JTextField passwordField; private JTextField passwordField;
private JTextField channelNameField; private JTextField channelNameField;
@ -38,6 +40,7 @@ class LoginPanel extends JPanel implements ILoginPanel {
c.weighty = 1; c.weighty = 1;
userNameField = addInputRow("Benutzername:"); userNameField = addInputRow("Benutzername:");
serverNameField = addInputRow("Server:");
passwordField = addInputRow("Passwort:"); passwordField = addInputRow("Passwort:");
channelNameField = addInputRow("Channel:"); channelNameField = addInputRow("Channel:");
add(Box.createVerticalGlue(), c); add(Box.createVerticalGlue(), c);
@ -48,8 +51,8 @@ class LoginPanel extends JPanel implements ILoginPanel {
loginButton.addActionListener(new ActionListener() { loginButton.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent arg0) { public void actionPerformed(ActionEvent arg0) {
loginEvent.emit(userNameField.getText(), passwordField.getText(), loginEvent.emit(new LoginData(userNameField.getText(), serverNameField
channelNameField.getText()); .getText(), passwordField.getText(), channelNameField.getText()));
} }
}); });
add(loginButton, c); add(loginButton, c);
@ -73,7 +76,7 @@ class LoginPanel extends JPanel implements ILoginPanel {
} }
@Override @Override
public IEvent3<String, String, String> getLoginEvent() { public IEvent1<LoginData> getLoginEvent() {
return loginEvent; return loginEvent;
} }

View file

@ -1,9 +1,9 @@
package jrummikub.control; package jrummikub.control;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import jrummikub.control.LoginControl;
import jrummikub.util.IListener; import jrummikub.util.IListener;
import jrummikub.util.IListener3; import jrummikub.util.IListener1;
import jrummikub.util.LoginData;
import jrummikub.view.MockView; import jrummikub.view.MockView;
import org.junit.Before; import org.junit.Before;
@ -35,17 +35,17 @@ public class LoginControlTest {
@Test @Test
public void loginEventTest() { public void loginEventTest() {
loginControl.getLoginEvent().add( loginControl.getLoginEvent().add(
new IListener3<String, String, String>() { new IListener1<LoginData>() {
@Override @Override
public void handle(String value1, String value2, public void handle(LoginData loginData) {
String value3) { assertEquals("a", loginData.getUserName());
assertEquals("a", value1); assertEquals("b", loginData.getServerName());
assertEquals("b", value2); assertEquals("c", loginData.getPassword());
assertEquals("c", value3); assertEquals("d", loginData.getChannelName());
handled = true; handled = true;
} }
}); });
view.loginPanel.loginEvent.emit("a", "b", "c"); view.loginPanel.loginEvent.emit(new LoginData("a", "b", "c", "d"));
assertTrue(handled); assertTrue(handled);
assertFalse(view.isLoginPanelVisible); assertFalse(view.isLoginPanelVisible);
assertFalse(view.isScorePanelVisible); assertFalse(view.isScorePanelVisible);