summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mock/jrummikub/view/MockView.java2
-rw-r--r--src/jrummikub/control/ApplicationControl.java2
-rw-r--r--src/jrummikub/control/SaveControl.java12
-rw-r--r--src/jrummikub/control/network/ConnectionControl.java30
-rw-r--r--src/jrummikub/control/network/NetworkControl.java18
-rw-r--r--src/jrummikub/util/Pair.java2
-rw-r--r--src/jrummikub/view/IView.java20
-rw-r--r--src/jrummikub/view/impl/HandPanel.java2
-rw-r--r--src/jrummikub/view/impl/PlayerPanel.java1
-rw-r--r--src/jrummikub/view/impl/View.java2
-rw-r--r--test/jrummikub/control/network/GameJoinControlTest.java7
-rw-r--r--test/jrummikub/control/network/GameOfferControlTest.java48
-rw-r--r--test/jrummikub/control/network/NetworkControlTest.java19
-rw-r--r--test/jrummikub/control/network/NetworkSettingsControlTest.java39
14 files changed, 129 insertions, 75 deletions
diff --git a/mock/jrummikub/view/MockView.java b/mock/jrummikub/view/MockView.java
index dbc36da..d5fd88a 100644
--- a/mock/jrummikub/view/MockView.java
+++ b/mock/jrummikub/view/MockView.java
@@ -245,7 +245,7 @@ public class MockView implements IView {
}
@Override
- public void showError() {
+ public void showLoadingError() {
// TODO Auto-generated method stub
}
diff --git a/src/jrummikub/control/ApplicationControl.java b/src/jrummikub/control/ApplicationControl.java
index d07a0f6..1ed517f 100644
--- a/src/jrummikub/control/ApplicationControl.java
+++ b/src/jrummikub/control/ApplicationControl.java
@@ -68,7 +68,7 @@ public class ApplicationControl {
saveControl.getLoadErrorEvent().add(new IListener() {
@Override
public void handle() {
- view.showError();
+ view.showLoadingError();
}
});
}
diff --git a/src/jrummikub/control/SaveControl.java b/src/jrummikub/control/SaveControl.java
index 3e12a9d..86aaac6 100644
--- a/src/jrummikub/control/SaveControl.java
+++ b/src/jrummikub/control/SaveControl.java
@@ -108,15 +108,19 @@ public class SaveControl {
loadErrorEvent.emit();
}
}
-
- public Event getLoadErrorEvent(){
+
+ /**
+ * The load error event is emitted when the file selected for loading is not
+ * a rum file
+ *
+ * @return the event
+ */
+ public Event getLoadErrorEvent() {
return loadErrorEvent;
}
private void save(File file) {
if (gameState == null || gameSettings == null) {
- // TODO Menüpunkt ausgrauen
- System.err.println("kein aktives Spiel");
return;
}
try {
diff --git a/src/jrummikub/control/network/ConnectionControl.java b/src/jrummikub/control/network/ConnectionControl.java
index 6ded0f3..0a36ebd 100644
--- a/src/jrummikub/control/network/ConnectionControl.java
+++ b/src/jrummikub/control/network/ConnectionControl.java
@@ -32,6 +32,9 @@ import org.jivesoftware.smack.util.Base64;
import org.jivesoftware.smackx.muc.DiscussionHistory;
import org.jivesoftware.smackx.muc.MultiUserChat;
+/**
+ * Connection control managing network connections, essages and events
+ */
public class ConnectionControl implements IConnectionControl {
private final static String ELEMENT_NAME = "rummikub";
private final static String NAMESPACE = "http://home.universe-factory.net/rummikub/";
@@ -59,6 +62,12 @@ public class ConnectionControl implements IConnectionControl {
private volatile GameData offeredGame;
+ /**
+ * Creates new connection control
+ *
+ * @param loginData
+ * player's login data
+ */
public ConnectionControl(LoginData loginData) {
this.loginData = loginData;
}
@@ -222,7 +231,8 @@ public class ConnectionControl implements IConnectionControl {
protected void addData(DefaultPacketExtension extension) {
extension.setValue("messageType", "change_color");
extension.setValue("uuid", uuid.toString());
- extension.setValue("color", Base64.encodeObject(color, Base64.GZIP));
+ extension.setValue("color",
+ Base64.encodeObject(color, Base64.GZIP));
}
});
@@ -248,8 +258,8 @@ public class ConnectionControl implements IConnectionControl {
protected void addData(DefaultPacketExtension extension) {
extension.setValue("messageType", "game_offer");
extension.setValue("uuid", data.getGameID().toString());
- extension.setValue("gameSettings",
- Base64.encodeObject(data.getGameSettings(), Base64.GZIP));
+ extension.setValue("gameSettings", Base64.encodeObject(
+ data.getGameSettings(), Base64.GZIP));
}
});
}
@@ -287,8 +297,8 @@ public class ConnectionControl implements IConnectionControl {
.getExtension(ELEMENT_NAME, NAMESPACE);
if (((Message) packet).getType() == Message.Type.error) {
- System.err.println("Received error message from '" + packet.getFrom()
- + "'");
+ System.err.println("Received error message from '"
+ + packet.getFrom() + "'");
return;
}
@@ -304,13 +314,14 @@ public class ConnectionControl implements IConnectionControl {
String sender, String messageType) {
if (messageType.equals("game_offer")) {
UUID uuid = UUID.fromString(extension.getValue("uuid"));
- GameSettings settings = (GameSettings) Base64.decodeToObject(extension
- .getValue("gameSettings"));
+ GameSettings settings = (GameSettings) Base64
+ .decodeToObject(extension.getValue("gameSettings"));
GameData gameData = new GameData(uuid, settings, sender);
gameOfferEvent.emit(gameData);
} else if (messageType.equals("game_withdrawal")) {
- gameWithdrawalEvent.emit(UUID.fromString(extension.getValue("uuid")));
+ gameWithdrawalEvent
+ .emit(UUID.fromString(extension.getValue("uuid")));
} else if (messageType.equals("game_request")) {
if (offeredGame != null) {
sendGameOffer();
@@ -393,7 +404,8 @@ public class ConnectionControl implements IConnectionControl {
break; // Join was successful, break the loop
} catch (XMPPException e) {
XMPPError error = e.getXMPPError();
- if (error.getType() == Type.CANCEL && error.getCode() == 409) {
+ if (error.getType() == Type.CANCEL
+ && error.getCode() == 409) {
// There was a conflict, try again with another
// nickname
nickname += "_";
diff --git a/src/jrummikub/control/network/NetworkControl.java b/src/jrummikub/control/network/NetworkControl.java
index cfb3c14..71000aa 100644
--- a/src/jrummikub/control/network/NetworkControl.java
+++ b/src/jrummikub/control/network/NetworkControl.java
@@ -37,6 +37,8 @@ public class NetworkControl {
*
* @param loginData
* user's login data
+ * @param connectionControl
+ * current connection for events and messages
* @param view
* for events and handlers
*/
@@ -48,24 +50,24 @@ public class NetworkControl {
addConnectionSetupListeners(loginData, view);
addConnectionControlListeners(view);
- connections.add(view.getGameListPanel().getJoinEvent().add(
- new IListener1<GameData>() {
+ connections.add(view.getGameListPanel().getJoinEvent()
+ .add(new IListener1<GameData>() {
@Override
public void handle(GameData gameData) {
join(gameData);
}
}));
- connections.add(view.getGameListPanel().getOpenNewGameEvent().add(
- new IListener() {
+ connections.add(view.getGameListPanel().getOpenNewGameEvent()
+ .add(new IListener() {
@Override
public void handle() {
createSettingsControl();
}
}));
- connections.add(view.getGameListPanel().getCancelEvent().add(
- new IListener() {
+ connections.add(view.getGameListPanel().getCancelEvent()
+ .add(new IListener() {
@Override
public void handle() {
abort();
@@ -222,8 +224,8 @@ public class NetworkControl {
}
view.showGameListPanel(false);
- settingsControl = new NetworkSettingsControl(connectionControl
- .getNickname(), view, new GameSettings());
+ settingsControl = new NetworkSettingsControl(
+ connectionControl.getNickname(), view, new GameSettings());
settingsControl.getOfferGameEvent().add(new IListener1<GameSettings>() {
@Override
public void handle(GameSettings settings) {
diff --git a/src/jrummikub/util/Pair.java b/src/jrummikub/util/Pair.java
index 5ebc7f2..80b9ea0 100644
--- a/src/jrummikub/util/Pair.java
+++ b/src/jrummikub/util/Pair.java
@@ -61,7 +61,6 @@ public class Pair<T1, T2> implements Serializable {
return result;
}
- @SuppressWarnings("unchecked")
@Override
public boolean equals(Object obj) {
if (this == obj)
@@ -70,6 +69,7 @@ public class Pair<T1, T2> implements Serializable {
return false;
if (getClass() != obj.getClass())
return false;
+ @SuppressWarnings("rawtypes")
Pair other = (Pair) obj;
if (first == null) {
if (other.first != null)
diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java
index 86ab5be..0074b8d 100644
--- a/src/jrummikub/view/IView.java
+++ b/src/jrummikub/view/IView.java
@@ -237,7 +237,6 @@ public interface IView {
*/
public void showGameListPanel(boolean show);
-
/**
* Is set if a player tried to lay out less than initial meld threshold
*
@@ -250,6 +249,7 @@ public interface IView {
* Show stone collection
*
* @param enable
+ * showing collection
*/
public void setStoneCollectionHidden(boolean enable);
@@ -258,7 +258,14 @@ public interface IView {
*/
public void setInitialMeldFirstError();
+ /**
+ * Set invalid sets to enable showing
+ *
+ * @param sets
+ * invalid sets on table
+ */
public void setInvalidStoneSets(Collection<StoneSet> sets);
+
/**
* Different types of bottom panels
*/
@@ -276,7 +283,16 @@ public interface IView {
/** */
WIN_PANEL
}
- void showError();
+ /**
+ * Show when loading is unsuccessful
+ */
+ void showLoadingError();
+
+ /**
+ * Enables/disables saving in menu bar
+ *
+ * @param enable
+ */
void enableSave(boolean enable);
}
diff --git a/src/jrummikub/view/impl/HandPanel.java b/src/jrummikub/view/impl/HandPanel.java
index 181be07..c07bee0 100644
--- a/src/jrummikub/view/impl/HandPanel.java
+++ b/src/jrummikub/view/impl/HandPanel.java
@@ -6,8 +6,6 @@ import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.awt.RenderingHints;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
import java.awt.image.BufferedImage;
import java.util.Collection;
import java.util.Collections;
diff --git a/src/jrummikub/view/impl/PlayerPanel.java b/src/jrummikub/view/impl/PlayerPanel.java
index 2cf7eaa..cfb858f 100644
--- a/src/jrummikub/view/impl/PlayerPanel.java
+++ b/src/jrummikub/view/impl/PlayerPanel.java
@@ -6,7 +6,6 @@ import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
-import java.awt.event.ComponentListener;
import java.text.DecimalFormat;
import java.util.Collections;
diff --git a/src/jrummikub/view/impl/View.java b/src/jrummikub/view/impl/View.java
index e436419..cb9bd93 100644
--- a/src/jrummikub/view/impl/View.java
+++ b/src/jrummikub/view/impl/View.java
@@ -165,7 +165,7 @@ public class View extends JFrame implements IView {
}
@Override
- public void showError() {
+ public void showLoadingError() {
JOptionPane.showMessageDialog(this, "Kein g\u00fcltiger Spielstand",
"Fehler", JOptionPane.ERROR_MESSAGE);
}
diff --git a/test/jrummikub/control/network/GameJoinControlTest.java b/test/jrummikub/control/network/GameJoinControlTest.java
index 31f76da..d2f3f9c 100644
--- a/test/jrummikub/control/network/GameJoinControlTest.java
+++ b/test/jrummikub/control/network/GameJoinControlTest.java
@@ -1,7 +1,7 @@
package jrummikub.control.network;
-import static org.junit.Assert.*;
-import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.awt.Color;
import java.util.UUID;
@@ -17,6 +17,9 @@ import jrummikub.view.MockView;
import org.junit.Before;
import org.junit.Test;
+/**
+ * Test class for game join control
+ */
public class GameJoinControlTest {
LoginData loginData;
MockConnectionControl mockConnection;
diff --git a/test/jrummikub/control/network/GameOfferControlTest.java b/test/jrummikub/control/network/GameOfferControlTest.java
index 57e68ac..a922967 100644
--- a/test/jrummikub/control/network/GameOfferControlTest.java
+++ b/test/jrummikub/control/network/GameOfferControlTest.java
@@ -1,23 +1,24 @@
package jrummikub.control.network;
-import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.awt.Color;
import java.util.UUID;
-import jrummikub.model.GameSettings;
-import jrummikub.model.PlayerSettings;
import jrummikub.model.PlayerSettings.Type;
-import jrummikub.util.GameData;
import jrummikub.util.LoginData;
-import jrummikub.view.MockView;
import jrummikub.view.ISettingsPanel.SettingsMode;
+import jrummikub.view.MockView;
import org.junit.Before;
import org.junit.Test;
+/**
+ * Test class for game offer control
+ */
public class GameOfferControlTest {
LoginData loginData;
MockConnectionControl mockConnection;
@@ -53,31 +54,36 @@ public class GameOfferControlTest {
assertEquals(SettingsMode.NETWORK_OFFER,
view.settingsPanel.settingsMode);
view.settingsPanel.changePlayerColorEvent.emit(0, Color.PINK);
- assertEquals(Color.PINK, mockConnection.playerColor);
+ assertEquals(Color.PINK, mockConnection.playerColor);
view.settingsPanel.backEvent.emit();
assertFalse(view.isSettingsPanelVisible);
assertTrue(view.isGameListPanelVisible);
}
-
+
/** */
@Test
- public void getJoinLeaveTest(){
+ public void getJoinLeaveTest() {
view.gameListPanel.openNewGameEvent.emit();
view.settingsPanel.offerGameEvent.emit();
-
- mockConnection.gameJoinEvent.emit("Berta");
-
- assertEquals("Berta", mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getName());
- assertSame(Type.NETWORK, mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getType());
-
+
+ mockConnection.gameJoinEvent.emit("Berta");
+
+ assertEquals("Berta", mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(1).getName());
+ assertSame(Type.NETWORK, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(1).getType());
+
mockConnection.changeColorEvent.emit("Berta", Color.BLUE);
-
- assertEquals(Color.BLUE, mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getColor());
-
+
+ assertEquals(Color.BLUE, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(1).getColor());
+
mockConnection.gameLeaveEvent.emit("Berta");
-
- assertEquals("Offen", mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getName());
- assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getType());
- }
+
+ assertEquals("Offen", mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(1).getName());
+ assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(1).getType());
+ }
}
diff --git a/test/jrummikub/control/network/NetworkControlTest.java b/test/jrummikub/control/network/NetworkControlTest.java
index 6cbd3d0..f805c73 100644
--- a/test/jrummikub/control/network/NetworkControlTest.java
+++ b/test/jrummikub/control/network/NetworkControlTest.java
@@ -1,7 +1,9 @@
package jrummikub.control.network;
-import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
import java.awt.Color;
import java.util.UUID;
@@ -11,12 +13,15 @@ import jrummikub.model.PlayerSettings;
import jrummikub.model.PlayerSettings.Type;
import jrummikub.util.GameData;
import jrummikub.util.LoginData;
-import jrummikub.view.MockView;
import jrummikub.view.ISettingsPanel.SettingsMode;
+import jrummikub.view.MockView;
import org.junit.Before;
import org.junit.Test;
+/**
+ * Test class for network control
+ */
public class NetworkControlTest {
LoginData loginData;
MockConnectionControl mockConnection;
@@ -76,9 +81,9 @@ public class NetworkControlTest {
assertEquals(SettingsMode.NETWORK_OFFER,
view.settingsPanel.settingsMode);
}
-
+
/** */
- @Test
+ @Test
public void joinGameTest() {
mockConnection.connectedEvent.emit();
GameData data = offerTestGame(id1, "Berta");
@@ -112,12 +117,12 @@ public class NetworkControlTest {
assertEquals(id2, view.gameListPanel.gameList.get(0).getGameID());
assertEquals("Horst", view.gameListPanel.gameList.get(0).getHost());
}
-
+
/** */
@Test
- public void testCancel(){
+ public void testCancel() {
mockConnection.connectedEvent.emit();
-
+
view.gameListPanel.cancelEvent.emit();
assertFalse(view.isGameListPanelVisible);
assertFalse(mockConnection.connected);
diff --git a/test/jrummikub/control/network/NetworkSettingsControlTest.java b/test/jrummikub/control/network/NetworkSettingsControlTest.java
index ec11960..c8bb7af 100644
--- a/test/jrummikub/control/network/NetworkSettingsControlTest.java
+++ b/test/jrummikub/control/network/NetworkSettingsControlTest.java
@@ -1,21 +1,23 @@
package jrummikub.control.network;
-import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.util.UUID;
import jrummikub.model.PlayerSettings.Type;
import jrummikub.util.LoginData;
-import jrummikub.view.MockView;
import jrummikub.view.ISettingsPanel.SettingsMode;
+import jrummikub.view.MockView;
import org.junit.Before;
import org.junit.Test;
-
+/**
+ * Test class for network settings control
+ */
public class NetworkSettingsControlTest {
LoginData loginData;
MockConnectionControl mockConnection;
@@ -36,7 +38,7 @@ public class NetworkSettingsControlTest {
networkControl = new NetworkControl(loginData, mockConnection, view);
networkControl.startNetwork();
- mockConnection.connectedEvent.emit();
+ mockConnection.connectedEvent.emit();
}
/** */
@@ -45,7 +47,8 @@ public class NetworkSettingsControlTest {
view.gameListPanel.openNewGameEvent.emit();
assertFalse(view.isGameListPanelVisible);
assertTrue(view.isSettingsPanelVisible);
- assertEquals(SettingsMode.NETWORK_SETUP, view.settingsPanel.settingsMode);
+ assertEquals(SettingsMode.NETWORK_SETUP,
+ view.settingsPanel.settingsMode);
view.settingsPanel.addPlayerEvent.emit();
view.settingsPanel.addPlayerEvent.emit();
view.settingsPanel.changePlayerTypeEvent.emit(1, Type.VACANT);
@@ -53,16 +56,22 @@ public class NetworkSettingsControlTest {
view.settingsPanel.changeJokerNumberEvent.emit(4);
view.settingsPanel.changeHighestValueEvent.emit(10);
view.settingsPanel.offerGameEvent.emit();
-
- assertEquals(SettingsMode.NETWORK_OFFER, view.settingsPanel.settingsMode);
-
- assertEquals(4, mockConnection.offeredGame.getGameSettings().getPlayerList().size());
- assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings().getPlayerList().get(1).getType());
- assertSame(Type.COMPUTER, mockConnection.offeredGame.getGameSettings().getPlayerList().get(2).getType());
- assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings().getPlayerList().get(3).getType());
- assertEquals(4, mockConnection.offeredGame.getGameSettings().getJokerNumber());
- assertEquals(10, mockConnection.offeredGame.getGameSettings().getHighestValue());
- }
+ assertEquals(SettingsMode.NETWORK_OFFER,
+ view.settingsPanel.settingsMode);
+
+ assertEquals(4, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().size());
+ assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(1).getType());
+ assertSame(Type.COMPUTER, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(2).getType());
+ assertSame(Type.VACANT, mockConnection.offeredGame.getGameSettings()
+ .getPlayerList().get(3).getType());
+ assertEquals(4, mockConnection.offeredGame.getGameSettings()
+ .getJokerNumber());
+ assertEquals(10, mockConnection.offeredGame.getGameSettings()
+ .getHighestValue());
+ }
}