summaryrefslogtreecommitdiff
path: root/shared
diff options
context:
space:
mode:
Diffstat (limited to 'shared')
-rw-r--r--shared/build.gradle3
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java22
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/server/Acknowledge.java36
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/exceptions/PlayerKickException.java20
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java14
5 files changed, 82 insertions, 13 deletions
diff --git a/shared/build.gradle b/shared/build.gradle
index 1eafc3b..d2344a1 100644
--- a/shared/build.gradle
+++ b/shared/build.gradle
@@ -1,5 +1,6 @@
eclipse.project.name = appName + '-shared'
dependencies {
-
+ api "com.badlogicgames.gdx:gdx:$gdxVersion"
+ api "com.github.czyzby:gdx-websocket-serialization:$gdxWsLibVersion"
}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java
index 9a72268..03c0ef4 100644
--- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java
@@ -1,9 +1,15 @@
package kz.ilotterytea.frogartha.domain;
-import java.io.Serializable;
+import com.github.czyzby.websocket.serialization.SerializationException;
+import com.github.czyzby.websocket.serialization.Transferable;
+import com.github.czyzby.websocket.serialization.impl.Deserializer;
+import com.github.czyzby.websocket.serialization.impl.Serializer;
-public class Identity implements Serializable {
- private final String username;
+public class Identity implements Transferable<Identity> {
+ private String username;
+
+ public Identity() {
+ }
public Identity(String username) {
this.username = username;
@@ -27,4 +33,14 @@ public class Identity implements Serializable {
"username='" + username + '\'' +
'}';
}
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeString(username);
+ }
+
+ @Override
+ public Identity deserialize(Deserializer deserializer) throws SerializationException {
+ return new Identity(deserializer.deserializeString());
+ }
}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/server/Acknowledge.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/server/Acknowledge.java
index f82c1c9..8ca0f66 100644
--- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/server/Acknowledge.java
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/server/Acknowledge.java
@@ -1,22 +1,42 @@
package kz.ilotterytea.frogartha.domain.server;
-import java.io.Serializable;
+import com.github.czyzby.websocket.serialization.SerializationException;
+import com.github.czyzby.websocket.serialization.Transferable;
+import com.github.czyzby.websocket.serialization.impl.Deserializer;
+import com.github.czyzby.websocket.serialization.impl.Serializer;
-public class Acknowledge implements Serializable {
- private final Object payload;
+public class Acknowledge implements Transferable<Acknowledge> {
+ public enum AcknowledgeCode {
+ IDENTIFIED
+ }
+
+ private AcknowledgeCode code;
- public Acknowledge(Object payload) {
- this.payload = payload;
+ public Acknowledge() {
}
- public Object getPayload() {
- return payload;
+ public Acknowledge(AcknowledgeCode code) {
+ this.code = code;
+ }
+
+ public AcknowledgeCode getCode() {
+ return code;
}
@Override
public String toString() {
return "Acknowledge{" +
- "payload=" + payload +
+ "code=" + code.toString() +
'}';
}
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeInt(code.ordinal());
+ }
+
+ @Override
+ public Acknowledge deserialize(Deserializer deserializer) throws SerializationException {
+ return new Acknowledge(AcknowledgeCode.values()[deserializer.deserializeInt()]);
+ }
}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/exceptions/PlayerKickException.java b/shared/src/main/java/kz/ilotterytea/frogartha/exceptions/PlayerKickException.java
index a6d8c0a..4eaf389 100644
--- a/shared/src/main/java/kz/ilotterytea/frogartha/exceptions/PlayerKickException.java
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/exceptions/PlayerKickException.java
@@ -1,6 +1,14 @@
package kz.ilotterytea.frogartha.exceptions;
-public class PlayerKickException extends RuntimeException {
+import com.github.czyzby.websocket.serialization.SerializationException;
+import com.github.czyzby.websocket.serialization.Transferable;
+import com.github.czyzby.websocket.serialization.impl.Deserializer;
+import com.github.czyzby.websocket.serialization.impl.Serializer;
+
+public class PlayerKickException extends RuntimeException implements Transferable<PlayerKickException> {
+ public PlayerKickException() {
+ }
+
private PlayerKickException(String message) {
super(message);
}
@@ -12,4 +20,14 @@ public class PlayerKickException extends RuntimeException {
public static PlayerKickException internalServerError() {
return new PlayerKickException("Internal Server Error");
}
+
+ @Override
+ public void serialize(Serializer serializer) throws SerializationException {
+ serializer.serializeString(getMessage());
+ }
+
+ @Override
+ public PlayerKickException deserialize(Deserializer deserializer) throws SerializationException {
+ return new PlayerKickException(deserializer.deserializeString());
+ }
}
diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java b/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java
new file mode 100644
index 0000000..bf0c3f3
--- /dev/null
+++ b/shared/src/main/java/kz/ilotterytea/frogartha/utils/SerializerUtils.java
@@ -0,0 +1,14 @@
+package kz.ilotterytea.frogartha.utils;
+
+import com.github.czyzby.websocket.serialization.impl.ManualSerializer;
+import kz.ilotterytea.frogartha.domain.Identity;
+import kz.ilotterytea.frogartha.domain.server.Acknowledge;
+import kz.ilotterytea.frogartha.exceptions.PlayerKickException;
+
+public class SerializerUtils {
+ public static void registerTypes(ManualSerializer serializer) {
+ serializer.register(new Acknowledge());
+ serializer.register(new Identity());
+ serializer.register(new PlayerKickException());
+ }
+}