diff --git a/dhfs-parent/objects-alloc/deployment/pom.xml b/dhfs-parent/objects-alloc/deployment/pom.xml
new file mode 100644
index 00000000..0c4dfa0d
--- /dev/null
+++ b/dhfs-parent/objects-alloc/deployment/pom.xml
@@ -0,0 +1,52 @@
+
+
+ 4.0.0
+
+
+ com.usatiuk
+ objects-alloc-parent
+ 1.0-SNAPSHOT
+
+ objects-alloc-deployment
+ DHFS objects allocation - Deployment
+
+
+
+ io.quarkus
+ quarkus-arc-deployment
+
+
+ com.usatiuk
+ objects-alloc
+ ${project.version}
+
+
+ io.quarkus
+ quarkus-junit5-internal
+ test
+
+
+
+
+
+
+ maven-compiler-plugin
+
+
+ default-compile
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${quarkus.platform.version}
+
+
+
+
+
+
+
+
+
diff --git a/dhfs-parent/objects-alloc/deployment/src/main/java/com/usatiuk/objects/alloc/deployment/ObjectsAllocProcessor.java b/dhfs-parent/objects-alloc/deployment/src/main/java/com/usatiuk/objects/alloc/deployment/ObjectsAllocProcessor.java
new file mode 100644
index 00000000..22db6d10
--- /dev/null
+++ b/dhfs-parent/objects-alloc/deployment/src/main/java/com/usatiuk/objects/alloc/deployment/ObjectsAllocProcessor.java
@@ -0,0 +1,14 @@
+package com.usatiuk.objects.alloc.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+class ObjectsAllocProcessor {
+
+ private static final String FEATURE = "objects-alloc";
+
+ @BuildStep
+ FeatureBuildItem feature() {
+ return new FeatureBuildItem(FEATURE);
+ }
+}
diff --git a/dhfs-parent/objects-alloc/deployment/src/test/java/com/usatiuk/objects/alloc/test/ObjectsAllocDevModeTest.java b/dhfs-parent/objects-alloc/deployment/src/test/java/com/usatiuk/objects/alloc/test/ObjectsAllocDevModeTest.java
new file mode 100644
index 00000000..526a143c
--- /dev/null
+++ b/dhfs-parent/objects-alloc/deployment/src/test/java/com/usatiuk/objects/alloc/test/ObjectsAllocDevModeTest.java
@@ -0,0 +1,23 @@
+package com.usatiuk.objects.alloc.test;
+
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import io.quarkus.test.QuarkusDevModeTest;
+
+public class ObjectsAllocDevModeTest {
+
+ // Start hot reload (DevMode) test with your extension loaded
+ @RegisterExtension
+ static final QuarkusDevModeTest devModeTest = new QuarkusDevModeTest()
+ .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class));
+
+ @Test
+ public void writeYourOwnDevModeTest() {
+ // Write your dev mode tests here - see the testing extension guide https://quarkus.io/guides/writing-extensions#testing-hot-reload for more information
+ Assertions.assertTrue(true, "Add dev mode assertions to " + getClass().getName());
+ }
+}
diff --git a/dhfs-parent/objects-alloc/deployment/src/test/java/com/usatiuk/objects/alloc/test/ObjectsAllocTest.java b/dhfs-parent/objects-alloc/deployment/src/test/java/com/usatiuk/objects/alloc/test/ObjectsAllocTest.java
new file mode 100644
index 00000000..14d144c9
--- /dev/null
+++ b/dhfs-parent/objects-alloc/deployment/src/test/java/com/usatiuk/objects/alloc/test/ObjectsAllocTest.java
@@ -0,0 +1,23 @@
+package com.usatiuk.objects.alloc.test;
+
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.RegisterExtension;
+
+import io.quarkus.test.QuarkusUnitTest;
+
+public class ObjectsAllocTest {
+
+ // Start unit test with your extension loaded
+ @RegisterExtension
+ static final QuarkusUnitTest unitTest = new QuarkusUnitTest()
+ .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class));
+
+ @Test
+ public void writeYourOwnUnitTest() {
+ // Write your unit tests here - see the testing extension guide https://quarkus.io/guides/writing-extensions#testing-extensions for more information
+ Assertions.assertTrue(true, "Add some assertions to " + getClass().getName());
+ }
+}
diff --git a/dhfs-parent/objects-alloc/integration-tests/pom.xml b/dhfs-parent/objects-alloc/integration-tests/pom.xml
new file mode 100644
index 00000000..d68f96c5
--- /dev/null
+++ b/dhfs-parent/objects-alloc/integration-tests/pom.xml
@@ -0,0 +1,97 @@
+
+
+ 4.0.0
+
+
+ com.usatiuk
+ objects-alloc-parent
+ 1.0.0-SNAPSHOT
+
+ objects-alloc-integration-tests
+ DHFS objects allocation - Integration Tests
+
+
+ true
+
+
+
+
+ io.quarkus
+ quarkus-rest
+
+
+ com.usatiuk
+ objects-alloc
+ ${project.version}
+
+
+ io.quarkus
+ quarkus-junit5
+ test
+
+
+ io.rest-assured
+ rest-assured
+ test
+
+
+
+
+
+
+ io.quarkus
+ quarkus-maven-plugin
+
+
+
+ build
+
+
+
+
+
+ maven-failsafe-plugin
+
+
+
+ integration-test
+ verify
+
+
+
+
+
+ ${project.build.directory}/${project.build.finalName}-runner
+ org.jboss.logmanager.LogManager
+ ${maven.home}
+
+
+
+
+
+
+
+
+ native-image
+
+
+ native
+
+
+
+
+
+ maven-surefire-plugin
+
+ ${native.surefire.skip}
+
+
+
+
+
+ false
+ true
+
+
+
+
diff --git a/dhfs-parent/objects-alloc/integration-tests/src/main/java/com/usatiuk/objects/alloc/it/ObjectsAllocResource.java b/dhfs-parent/objects-alloc/integration-tests/src/main/java/com/usatiuk/objects/alloc/it/ObjectsAllocResource.java
new file mode 100644
index 00000000..9a3c5942
--- /dev/null
+++ b/dhfs-parent/objects-alloc/integration-tests/src/main/java/com/usatiuk/objects/alloc/it/ObjectsAllocResource.java
@@ -0,0 +1,32 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one or more
+* contributor license agreements. See the NOTICE file distributed with
+* this work for additional information regarding copyright ownership.
+* The ASF licenses this file to You under the Apache License, Version 2.0
+* (the "License"); you may not use this file except in compliance with
+* the License. You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+package com.usatiuk.objects.alloc.it;
+
+import jakarta.enterprise.context.ApplicationScoped;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+
+@Path("/objects-alloc")
+@ApplicationScoped
+public class ObjectsAllocResource {
+ // add some rest methods here
+
+ @GET
+ public String hello() {
+ return "Hello objects-alloc";
+ }
+}
diff --git a/dhfs-parent/objects-alloc/integration-tests/src/main/resources/application.properties b/dhfs-parent/objects-alloc/integration-tests/src/main/resources/application.properties
new file mode 100644
index 00000000..e69de29b
diff --git a/dhfs-parent/objects-alloc/integration-tests/src/test/java/com/usatiuk/objects/alloc/it/ObjectsAllocResourceIT.java b/dhfs-parent/objects-alloc/integration-tests/src/test/java/com/usatiuk/objects/alloc/it/ObjectsAllocResourceIT.java
new file mode 100644
index 00000000..1625c279
--- /dev/null
+++ b/dhfs-parent/objects-alloc/integration-tests/src/test/java/com/usatiuk/objects/alloc/it/ObjectsAllocResourceIT.java
@@ -0,0 +1,7 @@
+package com.usatiuk.objects.alloc.it;
+
+import io.quarkus.test.junit.QuarkusIntegrationTest;
+
+@QuarkusIntegrationTest
+public class ObjectsAllocResourceIT extends ObjectsAllocResourceTest {
+}
diff --git a/dhfs-parent/objects-alloc/integration-tests/src/test/java/com/usatiuk/objects/alloc/it/ObjectsAllocResourceTest.java b/dhfs-parent/objects-alloc/integration-tests/src/test/java/com/usatiuk/objects/alloc/it/ObjectsAllocResourceTest.java
new file mode 100644
index 00000000..90f51cd4
--- /dev/null
+++ b/dhfs-parent/objects-alloc/integration-tests/src/test/java/com/usatiuk/objects/alloc/it/ObjectsAllocResourceTest.java
@@ -0,0 +1,21 @@
+package com.usatiuk.objects.alloc.it;
+
+import static io.restassured.RestAssured.given;
+import static org.hamcrest.Matchers.is;
+
+import org.junit.jupiter.api.Test;
+
+import io.quarkus.test.junit.QuarkusTest;
+
+@QuarkusTest
+public class ObjectsAllocResourceTest {
+
+ @Test
+ public void testHelloEndpoint() {
+ given()
+ .when().get("/objects-alloc")
+ .then()
+ .statusCode(200)
+ .body(is("Hello objects-alloc"));
+ }
+}
diff --git a/dhfs-parent/objects-alloc/pom.xml b/dhfs-parent/objects-alloc/pom.xml
new file mode 100644
index 00000000..37e17d36
--- /dev/null
+++ b/dhfs-parent/objects-alloc/pom.xml
@@ -0,0 +1,22 @@
+
+
+ 4.0.0
+
+
+ com.usatiuk.dhfs
+ parent
+ 1.0-SNAPSHOT
+
+
+ com.usatiuk
+ objects-alloc-parent
+ 1.0-SNAPSHOT
+ pom
+ DHFS objects allocation - Parent
+
+
+ deployment
+ runtime
+
+
+
diff --git a/dhfs-parent/objects-alloc/runtime/pom.xml b/dhfs-parent/objects-alloc/runtime/pom.xml
new file mode 100644
index 00000000..c7fc160b
--- /dev/null
+++ b/dhfs-parent/objects-alloc/runtime/pom.xml
@@ -0,0 +1,64 @@
+
+
+ 4.0.0
+
+
+ com.usatiuk
+ objects-alloc-parent
+ 1.0-SNAPSHOT
+
+ objects-alloc
+ DHFS objects allocation - Runtime
+
+
+
+ io.quarkus
+ quarkus-arc
+
+
+ com.usatiuk.dhfs
+ objects-common
+ 1.0-SNAPSHOT
+
+
+
+
+
+
+ io.quarkus
+ quarkus-extension-maven-plugin
+ ${quarkus.platform.version}
+
+
+ compile
+
+ extension-descriptor
+
+
+ ${project.groupId}:${project.artifactId}-deployment:${project.version}
+
+
+
+
+
+
+ maven-compiler-plugin
+
+
+ default-compile
+
+
+
+ io.quarkus
+ quarkus-extension-processor
+ ${quarkus.platform.version}
+
+
+
+
+
+
+
+
+
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectAllocator.java b/dhfs-parent/objects-alloc/runtime/src/main/java/com/usatiuk/objects/alloc/runtime/ObjectAllocator.java
similarity index 76%
rename from dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectAllocator.java
rename to dhfs-parent/objects-alloc/runtime/src/main/java/com/usatiuk/objects/alloc/runtime/ObjectAllocator.java
index abc04ca3..f328d708 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectAllocator.java
+++ b/dhfs-parent/objects-alloc/runtime/src/main/java/com/usatiuk/objects/alloc/runtime/ObjectAllocator.java
@@ -1,4 +1,7 @@
-package com.usatiuk.dhfs.objects;
+package com.usatiuk.objects.alloc.runtime;
+
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
public interface ObjectAllocator {
T create(Class type, JObjectKey key);
diff --git a/dhfs-parent/objects-alloc/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/dhfs-parent/objects-alloc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 00000000..202ecef3
--- /dev/null
+++ b/dhfs-parent/objects-alloc/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,9 @@
+name: DHFS objects allocation
+#description: Do something useful.
+metadata:
+# keywords:
+# - objects-alloc
+# guide: ... # To create and publish this guide, see https://github.com/quarkiverse/quarkiverse/wiki#documenting-your-extension
+# categories:
+# - "miscellaneous"
+# status: "preview"
diff --git a/dhfs-parent/objects-common/pom.xml b/dhfs-parent/objects-common/pom.xml
new file mode 100644
index 00000000..d13878fc
--- /dev/null
+++ b/dhfs-parent/objects-common/pom.xml
@@ -0,0 +1,20 @@
+
+
+ 4.0.0
+
+ com.usatiuk.dhfs
+ parent
+ 1.0-SNAPSHOT
+
+
+ objects-common
+
+
+ 21
+ 21
+ UTF-8
+
+
+
\ No newline at end of file
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JData.java b/dhfs-parent/objects-common/src/main/java/com/usatiuk/objects/common/JData.java
similarity index 75%
rename from dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JData.java
rename to dhfs-parent/objects-common/src/main/java/com/usatiuk/objects/common/JData.java
index f032b27b..5109336b 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JData.java
+++ b/dhfs-parent/objects-common/src/main/java/com/usatiuk/objects/common/JData.java
@@ -1,5 +1,6 @@
-package com.usatiuk.dhfs.objects;
+package com.usatiuk.objects.common;
+// TODO: This could be maybe moved to a separate module?
// The base class for JObject data
// Only one instance of this exists per key, the instance in the manager is canonical
// When committing a transaction, the instance is checked against it, if it isn't the same, a race occurred.
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectKey.java b/dhfs-parent/objects-common/src/main/java/com/usatiuk/objects/common/JObjectKey.java
similarity index 72%
rename from dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectKey.java
rename to dhfs-parent/objects-common/src/main/java/com/usatiuk/objects/common/JObjectKey.java
index 8cc6c978..74ca3fb2 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectKey.java
+++ b/dhfs-parent/objects-common/src/main/java/com/usatiuk/objects/common/JObjectKey.java
@@ -1,4 +1,4 @@
-package com.usatiuk.dhfs.objects;
+package com.usatiuk.objects.common;
import java.io.Serializable;
diff --git a/dhfs-parent/objects/pom.xml b/dhfs-parent/objects/pom.xml
index 49970b92..0e8ad359 100644
--- a/dhfs-parent/objects/pom.xml
+++ b/dhfs-parent/objects/pom.xml
@@ -64,6 +64,22 @@
supportlib
1.0-SNAPSHOT
+
+ com.usatiuk
+ objects-alloc
+ 1.0-SNAPSHOT
+
+
+ com.usatiuk
+ objects-alloc-deployment
+ 1.0-SNAPSHOT
+ provided
+
+
+ com.usatiuk.dhfs
+ objects-common
+ 1.0-SNAPSHOT
+
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/CurrentTransaction.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/CurrentTransaction.java
index fe309206..3efba2c7 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/CurrentTransaction.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/CurrentTransaction.java
@@ -2,6 +2,8 @@ package com.usatiuk.dhfs.objects;
import com.usatiuk.dhfs.objects.transaction.LockingStrategy;
import com.usatiuk.dhfs.objects.transaction.Transaction;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java
index 2ecb5a99..16b2a0e8 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/JObjectManager.java
@@ -8,6 +8,9 @@ import com.usatiuk.dhfs.objects.transaction.TransactionPrivate;
import com.usatiuk.dhfs.objects.transaction.TxRecord;
import com.usatiuk.dhfs.utils.DataLocker;
import com.usatiuk.dhfs.utils.VoidFn;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
+import com.usatiuk.objects.alloc.runtime.ObjectAllocator;
import io.quarkus.logging.Log;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
@@ -21,7 +24,7 @@ import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
-// Manages all access to JData objects.
+// Manages all access to com.usatiuk.objects.common.JData objects.
// In particular, it serves as a source of truth for what is committed to the backing storage.
// All data goes through it, it is responsible for transaction atomicity
@ApplicationScoped
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectSerializer.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectSerializer.java
index 103d0611..34973a62 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectSerializer.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/ObjectSerializer.java
@@ -1,6 +1,7 @@
package com.usatiuk.dhfs.objects;
import com.google.protobuf.ByteString;
+import com.usatiuk.objects.common.JData;
public interface ObjectSerializer {
ByteString serialize(T obj);
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/TxBundle.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/TxBundle.java
index e64617a1..1ef7419b 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/TxBundle.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/TxBundle.java
@@ -1,5 +1,7 @@
package com.usatiuk.dhfs.objects;
+import com.usatiuk.objects.common.JData;
+
public interface TxBundle {
long getId();
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/FileObjectPersistentStore.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/FileObjectPersistentStore.java
index ed3cbef7..c84bdd31 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/FileObjectPersistentStore.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/FileObjectPersistentStore.java
@@ -2,13 +2,12 @@ package com.usatiuk.dhfs.objects.persistence;
import com.google.protobuf.ByteString;
import com.google.protobuf.UnsafeByteOperations;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JObjectKey;
import com.usatiuk.dhfs.supportlib.UninitializedByteBuffer;
import com.usatiuk.dhfs.utils.ByteUtils;
import com.usatiuk.dhfs.utils.SerializationHelper;
import com.usatiuk.dhfs.utils.StatusRuntimeExceptionNoStacktrace;
import io.grpc.Status;
-import io.quarkus.arc.lookup.LookupIfProperty;
import io.quarkus.arc.properties.IfBuildProperty;
import io.quarkus.logging.Log;
import io.quarkus.runtime.ShutdownEvent;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/MemoryObjectPersistentStore.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/MemoryObjectPersistentStore.java
index 41af2572..42fe08ec 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/MemoryObjectPersistentStore.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/MemoryObjectPersistentStore.java
@@ -1,8 +1,7 @@
package com.usatiuk.dhfs.objects.persistence;
import com.google.protobuf.ByteString;
-import com.usatiuk.dhfs.objects.JObjectKey;
-import io.quarkus.arc.lookup.LookupIfProperty;
+import com.usatiuk.objects.common.JObjectKey;
import io.quarkus.arc.properties.IfBuildProperty;
import jakarta.enterprise.context.ApplicationScoped;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/ObjectPersistentStore.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/ObjectPersistentStore.java
index 79750a69..01b61d2e 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/ObjectPersistentStore.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/ObjectPersistentStore.java
@@ -1,8 +1,7 @@
package com.usatiuk.dhfs.objects.persistence;
import com.google.protobuf.ByteString;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JObjectKey;
import javax.annotation.Nonnull;
import java.util.Collection;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/TxManifest.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/TxManifest.java
index 3a91f71e..34190132 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/TxManifest.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/persistence/TxManifest.java
@@ -1,6 +1,6 @@
package com.usatiuk.dhfs.objects.persistence;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JObjectKey;
import java.io.Serializable;
import java.util.List;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/Transaction.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/Transaction.java
index f9220a7d..fbcd3c0a 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/Transaction.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/Transaction.java
@@ -1,7 +1,7 @@
package com.usatiuk.dhfs.objects.transaction;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
import java.util.Optional;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionFactoryImpl.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionFactoryImpl.java
index 5de8255a..563e84b2 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionFactoryImpl.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionFactoryImpl.java
@@ -1,8 +1,8 @@
package com.usatiuk.dhfs.objects.transaction;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
-import com.usatiuk.dhfs.objects.ObjectAllocator;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
+import com.usatiuk.objects.alloc.runtime.ObjectAllocator;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;
import lombok.AccessLevel;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionObjectSource.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionObjectSource.java
index 2526bcd4..5db79bb3 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionObjectSource.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TransactionObjectSource.java
@@ -1,7 +1,7 @@
package com.usatiuk.dhfs.objects.transaction;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
import java.util.Optional;
import java.util.concurrent.locks.ReadWriteLock;
diff --git a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TxRecord.java b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TxRecord.java
index 0fc6835a..900d67e9 100644
--- a/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TxRecord.java
+++ b/dhfs-parent/objects/src/main/java/com/usatiuk/dhfs/objects/transaction/TxRecord.java
@@ -1,8 +1,8 @@
package com.usatiuk.dhfs.objects.transaction;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
-import com.usatiuk.dhfs.objects.ObjectAllocator;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
+import com.usatiuk.objects.alloc.runtime.ObjectAllocator;
public class TxRecord {
public interface TxObjectRecord {
@@ -50,7 +50,7 @@ public class TxRecord {
}
public record TxObjectRecordCopyLock(TransactionObjectSource.TransactionObject original,
- ObjectAllocator.ChangeTrackingJData copy)
+ ObjectAllocator.ChangeTrackingJData copy)
implements TxObjectRecordWrite {
@Override
public T getIfStrategyCompatible(JObjectKey key, LockingStrategy strategy) {
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/ObjectsTest.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/ObjectsTest.java
index 777e3045..ec7bf92b 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/ObjectsTest.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/ObjectsTest.java
@@ -2,6 +2,8 @@ package com.usatiuk.dhfs.objects;
import com.usatiuk.dhfs.objects.data.Parent;
import com.usatiuk.dhfs.objects.transaction.LockingStrategy;
+import com.usatiuk.objects.common.JObjectKey;
+import com.usatiuk.objects.alloc.runtime.ObjectAllocator;
import io.quarkus.logging.Log;
import io.quarkus.test.junit.QuarkusTest;
import jakarta.inject.Inject;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ChangeTrackerBase.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ChangeTrackerBase.java
index 1f0a302a..3a46d1d7 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ChangeTrackerBase.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ChangeTrackerBase.java
@@ -1,7 +1,7 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.ObjectAllocator;
+import com.usatiuk.objects.alloc.runtime.ObjectAllocator;
+import com.usatiuk.objects.common.JData;
import lombok.Getter;
import java.io.Serializable;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataCT.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataCT.java
index adf74a49..9c962e30 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataCT.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataCT.java
@@ -1,6 +1,6 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JObjectKey;
import com.usatiuk.dhfs.objects.data.Kid;
import lombok.Getter;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataNormal.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataNormal.java
index 600ec787..145e41de 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataNormal.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/KidDataNormal.java
@@ -1,6 +1,6 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JObjectKey;
import com.usatiuk.dhfs.objects.data.Kid;
import lombok.Getter;
import lombok.Setter;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataCT.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataCT.java
index 106f61c7..a0920494 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataCT.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataCT.java
@@ -1,6 +1,6 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JObjectKey;
import com.usatiuk.dhfs.objects.data.Parent;
import lombok.Getter;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataNormal.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataNormal.java
index 77943cf6..a40256ac 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataNormal.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/ParentDataNormal.java
@@ -1,7 +1,7 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JObjectKey;
import com.usatiuk.dhfs.objects.data.Parent;
+import com.usatiuk.objects.common.JObjectKey;
import lombok.Getter;
import lombok.Setter;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestData.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestData.java
index e34db09d..a35da6ae 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestData.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestData.java
@@ -1,7 +1,7 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
public abstract class TestData implements JData {
private boolean _changed = false;
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestObjectAllocator.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestObjectAllocator.java
index d18c1a83..99713b5c 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestObjectAllocator.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/allocator/TestObjectAllocator.java
@@ -1,10 +1,10 @@
package com.usatiuk.dhfs.objects.allocator;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
-import com.usatiuk.dhfs.objects.ObjectAllocator;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.alloc.runtime.ObjectAllocator;
import com.usatiuk.dhfs.objects.data.Kid;
import com.usatiuk.dhfs.objects.data.Parent;
+import com.usatiuk.objects.common.JObjectKey;
import jakarta.enterprise.context.ApplicationScoped;
@ApplicationScoped
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Kid.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Kid.java
index 9c3df9db..acb9a1cc 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Kid.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Kid.java
@@ -1,6 +1,6 @@
package com.usatiuk.dhfs.objects.data;
-import com.usatiuk.dhfs.objects.JData;
+import com.usatiuk.objects.common.JData;
public interface Kid extends JData {
String getName();
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Parent.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Parent.java
index 1067ea5d..cc094077 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Parent.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/data/Parent.java
@@ -1,12 +1,13 @@
package com.usatiuk.dhfs.objects.data;
-import com.usatiuk.dhfs.objects.JData;
-import com.usatiuk.dhfs.objects.JObjectKey;
+import com.usatiuk.objects.common.JData;
+import com.usatiuk.objects.common.JObjectKey;
public interface Parent extends JData {
JObjectKey getName();
String getLastName();
+
void setLastName(String lastName);
JObjectKey getKidKey();
diff --git a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/serializer/TestJDataSerializer.java b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/serializer/TestJDataSerializer.java
index 388ffccd..56cbe6f5 100644
--- a/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/serializer/TestJDataSerializer.java
+++ b/dhfs-parent/objects/src/test/java/com/usatiuk/dhfs/objects/serializer/TestJDataSerializer.java
@@ -2,9 +2,9 @@ package com.usatiuk.dhfs.objects.serializer;
import com.google.protobuf.ByteString;
-import com.usatiuk.dhfs.objects.JData;
import com.usatiuk.dhfs.objects.ObjectSerializer;
import com.usatiuk.dhfs.utils.SerializationHelper;
+import com.usatiuk.objects.common.JData;
import jakarta.enterprise.context.ApplicationScoped;
import java.io.Serializable;
diff --git a/dhfs-parent/pom.xml b/dhfs-parent/pom.xml
index 3140d94e..a54dda6e 100644
--- a/dhfs-parent/pom.xml
+++ b/dhfs-parent/pom.xml
@@ -17,6 +17,8 @@
autoprotomap
objects
utils
+ objects-alloc
+ objects-common