diff options
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/domain')
3 files changed, 72 insertions, 8 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 03c0ef4..2d81055 100644 --- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java +++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java @@ -7,14 +7,20 @@ import com.github.czyzby.websocket.serialization.impl.Serializer; public class Identity implements Transferable<Identity> { private String username; + private long id; public Identity() { } - public Identity(String username) { + public Identity(long id, String username) { + this.id = id; this.username = username; } + public long getId() { + return id; + } + public String getUsername() { return username; } @@ -22,7 +28,8 @@ public class Identity implements Transferable<Identity> { @Override public boolean equals(Object obj) { if (obj instanceof Identity) { - return ((Identity) obj).username.equals(username); + Identity i = (Identity) obj; + return i.username.equals(username) && i.id == id; } return false; } @@ -31,16 +38,17 @@ public class Identity implements Transferable<Identity> { public String toString() { return "Identity{" + "username='" + username + '\'' + + ", id=" + id + '}'; } @Override public void serialize(Serializer serializer) throws SerializationException { - serializer.serializeString(username); + serializer.serializeLong(id).serializeString(username); } @Override public Identity deserialize(Deserializer deserializer) throws SerializationException { - return new Identity(deserializer.deserializeString()); + return new Identity(deserializer.deserializeLong(), deserializer.deserializeString()); } } diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/IdentificationAction.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/IdentificationAction.java new file mode 100644 index 0000000..6d3c4d8 --- /dev/null +++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/IdentificationAction.java @@ -0,0 +1,48 @@ +package kz.ilotterytea.frogartha.domain.actions; + +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 IdentificationAction implements Transferable<IdentificationAction> { + private String clientToken, accessToken; + + public IdentificationAction() { + } + + public IdentificationAction(String clientToken, String accessToken) { + this.clientToken = clientToken; + this.accessToken = accessToken; + } + + public String getClientToken() { + return clientToken; + } + + public String getAccessToken() { + return accessToken; + } + + @Override + public void serialize(Serializer serializer) throws SerializationException { + serializer.serializeString(clientToken).serializeString(accessToken); + } + + @Override + public IdentificationAction deserialize(Deserializer deserializer) throws SerializationException { + return new IdentificationAction(deserializer.deserializeString(), deserializer.deserializeString()); + } + + @Override + public boolean equals(Object obj) { + if (obj == null) return false; + + if (obj instanceof IdentificationAction) { + IdentificationAction x = (IdentificationAction) obj; + return x.accessToken.equals(accessToken) && x.clientToken.equals(clientToken); + } + + return false; + } +} diff --git a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java index d2d9e1e..01a12fe 100644 --- a/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java +++ b/shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java @@ -4,22 +4,30 @@ 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; +import kz.ilotterytea.frogartha.domain.Identity; public class IdentifiedEvent extends Event implements Transferable<IdentifiedEvent> { + private Identity identity; + public IdentifiedEvent() { } - public IdentifiedEvent(int playerId) { - this.playerId = playerId; + public IdentifiedEvent(int playerId, Identity identity) { + super(playerId); + this.identity = identity; + } + + public Identity getIdentity() { + return identity; } @Override public void serialize(Serializer serializer) throws SerializationException { - serializer.serializeInt(playerId); + serializer.serializeInt(playerId).serializeTransferable(identity); } @Override public IdentifiedEvent deserialize(Deserializer deserializer) throws SerializationException { - return new IdentifiedEvent(deserializer.deserializeInt()); + return new IdentifiedEvent(deserializer.deserializeInt(), deserializer.deserializeTransferable(new Identity())); } } |
