summaryrefslogtreecommitdiff
path: root/shared/src/main/java/kz/ilotterytea/frogartha/domain
diff options
context:
space:
mode:
Diffstat (limited to 'shared/src/main/java/kz/ilotterytea/frogartha/domain')
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/Identity.java16
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/actions/IdentificationAction.java48
-rw-r--r--shared/src/main/java/kz/ilotterytea/frogartha/domain/events/IdentifiedEvent.java16
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()));
}
}