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