6
6
import java .util .concurrent .ConcurrentHashMap ;
7
7
8
8
import eu .solven .kumite .account .fake_player .FakePlayer ;
9
+ import eu .solven .kumite .account .fake_player .FakeUser ;
9
10
import eu .solven .kumite .account .fake_player .RandomPlayer ;
11
+ import eu .solven .kumite .account .fake_player .RandomUser ;
12
+ import eu .solven .kumite .account .internal .KumiteUser ;
13
+ import eu .solven .kumite .account .internal .KumiteUserPreRegister ;
10
14
import eu .solven .kumite .player .IAccountPlayersRegistry ;
11
15
import eu .solven .kumite .player .KumitePlayer ;
12
16
import eu .solven .kumite .tools .IUuidGenerator ;
@@ -39,18 +43,24 @@ public void putIfAbsent(UUID accountId, KumiteUserRawRaw rawRaw) {
39
43
}
40
44
41
45
@ Override
42
- public KumiteUser registerOrUpdate (KumiteUserRaw kumiteUserRaw ) {
43
- KumiteUserRawRaw rawRaw = kumiteUserRaw .getRawRaw ();
46
+ public KumiteUser registerOrUpdate (KumiteUserPreRegister kumiteUserPreRegister ) {
47
+ KumiteUserRawRaw rawRaw = kumiteUserPreRegister .getRawRaw ();
44
48
45
49
return accountIdToUser .compute (rawRaw , (k , alreadyIn ) -> {
46
- KumiteUser .KumiteUserBuilder kumiteUserBuilder = KumiteUser .builder ().raw (kumiteUserRaw );
50
+ KumiteUser .KumiteUserBuilder kumiteUserBuilder = KumiteUser .builder ()
51
+ .rawRaw (rawRaw )
52
+ // TODO We should merge with pre-existing details
53
+ .details (kumiteUserPreRegister .getDetails ());
47
54
if (alreadyIn == null ) {
48
55
UUID accountId = generateAccountId (rawRaw );
49
56
50
57
KumitePlayer player = register (rawRaw , accountId );
51
58
52
59
UUID playerId = player .getPlayerId ();
53
- log .info ("Registering as new user accountId={} playerId={} raw={}" , accountId , playerId , kumiteUserRaw );
60
+ log .info ("Registering as new user accountId={} playerId={} raw={}" ,
61
+ accountId ,
62
+ playerId ,
63
+ kumiteUserPreRegister );
54
64
55
65
kumiteUserBuilder .accountId (accountId ).playerId (playerId );
56
66
} else {
@@ -66,9 +76,9 @@ protected UUID generateAccountId(KumiteUserRawRaw rawRaw) {
66
76
}
67
77
68
78
public static UUID generateAccountId (IUuidGenerator uuidGenerator , KumiteUserRawRaw rawRaw ) {
69
- if (rawRaw .equals (FakePlayer . user (). getRaw (). getRawRaw ())) {
79
+ if (rawRaw .equals (FakeUser . rawRaw ())) {
70
80
return FakePlayer .ACCOUNT_ID ;
71
- } else if (rawRaw .equals (RandomPlayer . user (). getRaw (). getRawRaw ())) {
81
+ } else if (rawRaw .equals (RandomUser . rawRaw ())) {
72
82
return RandomPlayer .ACCOUNT_ID ;
73
83
}
74
84
return uuidGenerator .randomUUID ();
0 commit comments