Register a UUID argument factory for the messages database.

This commit is contained in:
Jon Chambers 2020-10-01 10:41:09 -04:00 committed by Jon Chambers
parent 0c6f05f34a
commit 4302e19aba
1 changed files with 10 additions and 0 deletions

View File

@ -5,13 +5,16 @@ import com.codahale.metrics.Meter;
import com.codahale.metrics.MetricRegistry;
import com.codahale.metrics.SharedMetricRegistries;
import com.codahale.metrics.Timer;
import org.jdbi.v3.core.argument.SetObjectArgumentFactory;
import org.jdbi.v3.core.statement.PreparedBatch;
import org.whispersystems.textsecuregcm.entities.MessageProtos.Envelope;
import org.whispersystems.textsecuregcm.entities.OutgoingMessageEntity;
import org.whispersystems.textsecuregcm.storage.mappers.OutgoingMessageEntityRowMapper;
import org.whispersystems.textsecuregcm.util.Constants;
import java.sql.Types;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
@ -49,9 +52,16 @@ public class Messages {
private final FaultTolerantDatabase database;
private static class UUIDArgumentFactory extends SetObjectArgumentFactory {
public UUIDArgumentFactory() {
super(Map.of(UUID.class, Types.OTHER));
}
}
public Messages(FaultTolerantDatabase database) {
this.database = database;
this.database.getDatabase().registerRowMapper(new OutgoingMessageEntityRowMapper());
this.database.getDatabase().registerArgument(new UUIDArgumentFactory());
}
public void store(final List<Envelope> messages, final String destination, final long destinationDevice) {