diff options
| author | ilotterytea <iltsu@alright.party> | 2025-01-21 03:17:15 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2025-01-21 03:17:15 +0500 |
| commit | 1ecd8d1d527b6b66b4746e44023b6ab3cb2ca4cc (patch) | |
| tree | 44a766670059ef3beb1da048844fc7693418bcf8 /shared/src | |
| parent | 4e524d08c5b427cabc1a6e452347c09c963eb86c (diff) | |
feat: using other serializer and gdx-websocket (because the old one doesn't support gwt)
Diffstat (limited to 'shared/src')
4 files changed, 80 insertions, 12 deletions
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()); + } +} |
