From d4be864e93621304bc55a251ccc9bd4d7aab6302 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sat, 22 Jan 2022 14:55:09 +0100 Subject: [PATCH] Move default UUID factory to the implementation --- .../src/org/argeo/api/acr/uuid/SimpleUuidFactory.java | 2 ++ .../src/org/argeo/api/acr/uuid/UuidFactory.java | 10 +++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/uuid/SimpleUuidFactory.java b/org.argeo.api.acr/src/org/argeo/api/acr/uuid/SimpleUuidFactory.java index 629e10435..9e86b0bd2 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/uuid/SimpleUuidFactory.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/uuid/SimpleUuidFactory.java @@ -27,6 +27,7 @@ import java.util.UUID; */ public class SimpleUuidFactory implements UuidFactory { private final static Logger logger = System.getLogger(SimpleUuidFactory.class.getName()); + public final static UuidFactory DEFAULT = new SimpleUuidFactory(null, -1, null); // private final static int MAX_CLOCKSEQUENCE = 16384; private SecureRandom secureRandom; @@ -40,6 +41,7 @@ public class SimpleUuidFactory implements UuidFactory { private final TimeUuidState macAddressTimeUuidState; private final TimeUuidState defaultTimeUuidState; + public SimpleUuidFactory(byte[] nodeId, int offset, Clock clock) { try { secureRandom = SecureRandom.getInstance("DRBG", diff --git a/org.argeo.api.acr/src/org/argeo/api/acr/uuid/UuidFactory.java b/org.argeo.api.acr/src/org/argeo/api/acr/uuid/UuidFactory.java index eb46c302d..e99cd71eb 100644 --- a/org.argeo.api.acr/src/org/argeo/api/acr/uuid/UuidFactory.java +++ b/org.argeo.api.acr/src/org/argeo/api/acr/uuid/UuidFactory.java @@ -4,6 +4,7 @@ import static java.nio.charset.StandardCharsets.UTF_8; import java.util.Random; import java.util.UUID; +import java.util.concurrent.ThreadLocalRandom; import java.util.function.Supplier; /** @@ -52,6 +53,10 @@ public interface UuidFactory extends Supplier { return UUID.randomUUID(); } + default UUID randomUUIDWeak() { + return randomUUID(ThreadLocalRandom.current()); + } + @Override default UUID get() { return randomUUID(); @@ -112,9 +117,4 @@ public interface UuidFactory extends Supplier { static boolean isNameBased(UUID uuid) { return uuid.version() == 3 || uuid.version() == 5; } - - /* - * DEFAULT - */ - final static UuidFactory DEFAULT = new SimpleUuidFactory(null, -1, null); } -- 2.30.2