1 package de.juplo.kafka.chat.backend.persistence.storage.mongodb;
3 import de.juplo.kafka.chat.backend.domain.Message;
6 import java.time.LocalDateTime;
7 import java.util.regex.Matcher;
8 import java.util.regex.Pattern;
13 @Getter(AccessLevel.PACKAGE)
14 @Setter(AccessLevel.PACKAGE)
15 @EqualsAndHashCode(of = { "user", "id" })
16 @ToString(of = { "user", "id" })
19 final static Pattern SPLIT_ID = Pattern.compile("^([a-z-0-9]+)--([0-9]+)$");
27 Matcher matcher = SPLIT_ID.matcher(id);
28 if (!matcher.matches())
29 throw new RuntimeException("MessageTo with invalid ID: " + id);
30 Long messageId = Long.parseLong(matcher.group(2));
31 String user = matcher.group(1);
33 Message.MessageKey.of(user, messageId),
35 LocalDateTime.parse(time),
39 static MessageTo from(Message message)
43 message.getUsername() + "--" + message.getId(),
44 message.getSerialNumber(),
45 message.getTimestamp().toString(),
46 message.getMessageText());