From edf02e9816697a736a727ff593075e1e7f32ddc3 Mon Sep 17 00:00:00 2001 From: Konrad Neitzel Date: Tue, 2 Dec 2025 18:23:05 +0100 Subject: [PATCH] Refactorings, creating module injection. --- README.md | 6 ++- .../testcomponents/test1ok/SuperClass.java | 4 -- .../test1ok/TestInterface1_1.java | 4 -- .../test1ok/TestInterface1_2.java | 4 -- .../test1ok/sub/TestComponent1_2.java | 12 ----- fx/pom.xml | 5 ++ .../fx/injectfx/FXMLComponentInstances.java | 4 +- .../fx/injectfx/InjectingFXMLLoader.java | 2 +- injection/pom.xml | 51 +++++++++++++++++++ .../injection}/ApplicationContext.java | 4 +- .../de/neitzel/injection}/ComponentData.java | 2 +- .../neitzel/injection}/ComponentScanner.java | 6 +-- .../java/de/neitzel/injection}/Scope.java | 2 +- .../injection}/annotation/Component.java | 4 +- .../neitzel/injection}/annotation/Config.java | 2 +- .../neitzel/injection}/annotation/Inject.java | 2 +- .../InjectableComponentScannerTest.java | 16 +++--- .../testcomponents/test1ok/SuperClass.java | 4 ++ .../test1ok/TestComponent1_1.java | 4 +- .../test1ok/TestInterface1_1.java | 4 ++ .../test1ok/TestInterface1_2.java | 4 ++ .../test1ok/sub/TestComponent1_2.java | 12 +++++ .../test2fail/TestComponent2_1.java | 4 +- pom.xml | 9 ++++ 24 files changed, 120 insertions(+), 51 deletions(-) delete mode 100644 core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/SuperClass.java delete mode 100644 core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_1.java delete mode 100644 core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_2.java delete mode 100644 core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/sub/TestComponent1_2.java create mode 100644 injection/pom.xml rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/ApplicationContext.java (98%) rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/ComponentData.java (99%) rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/ComponentScanner.java (99%) rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/Scope.java (98%) rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/annotation/Component.java (95%) rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/annotation/Config.java (97%) rename {core/src/main/java/de/neitzel/core/inject => injection/src/main/java/de/neitzel/injection}/annotation/Inject.java (95%) rename {core/src/test/java/de/neitzel/core/inject => injection/src/test/java/de/neitzel/injection}/InjectableComponentScannerTest.java (80%) create mode 100644 injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/SuperClass.java rename {core/src/test/java/de/neitzel/core/inject => injection/src/test/java/de/neitzel/injection}/testcomponents/test1ok/TestComponent1_1.java (55%) create mode 100644 injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_1.java create mode 100644 injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_2.java create mode 100644 injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/sub/TestComponent1_2.java rename {core/src/test/java/de/neitzel/core/inject => injection/src/test/java/de/neitzel/injection}/testcomponents/test2fail/TestComponent2_1.java (56%) diff --git a/README.md b/README.md index d041f20..641a032 100644 --- a/README.md +++ b/README.md @@ -60,4 +60,8 @@ modules!) ### net -Some network stuff using javax.mail as dependency. \ No newline at end of file +Some network stuff using javax.mail as dependency. + +### quarkus + +Some additions for quarkus that might be useful. \ No newline at end of file diff --git a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/SuperClass.java b/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/SuperClass.java deleted file mode 100644 index e9a56c8..0000000 --- a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/SuperClass.java +++ /dev/null @@ -1,4 +0,0 @@ -package de.neitzel.core.inject.testcomponents.test1ok; - -public class SuperClass { -} diff --git a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_1.java b/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_1.java deleted file mode 100644 index 6edec9d..0000000 --- a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_1.java +++ /dev/null @@ -1,4 +0,0 @@ -package de.neitzel.core.inject.testcomponents.test1ok; - -public interface TestInterface1_1 { -} diff --git a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_2.java b/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_2.java deleted file mode 100644 index 70d1cbb..0000000 --- a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestInterface1_2.java +++ /dev/null @@ -1,4 +0,0 @@ -package de.neitzel.core.inject.testcomponents.test1ok; - -public interface TestInterface1_2 { -} diff --git a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/sub/TestComponent1_2.java b/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/sub/TestComponent1_2.java deleted file mode 100644 index 144828d..0000000 --- a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/sub/TestComponent1_2.java +++ /dev/null @@ -1,12 +0,0 @@ -package de.neitzel.core.inject.testcomponents.test1ok.sub; - -import de.neitzel.core.inject.annotation.Component; -import de.neitzel.core.inject.testcomponents.test1ok.SuperClass; -import de.neitzel.core.inject.testcomponents.test1ok.TestInterface1_1; -import de.neitzel.core.inject.testcomponents.test1ok.TestInterface1_2; - -@Component -public class TestComponent1_2 extends SuperClass implements TestInterface1_1, TestInterface1_2 { - public TestComponent1_2() { - } -} diff --git a/fx/pom.xml b/fx/pom.xml index 5906a26..82184e4 100644 --- a/fx/pom.xml +++ b/fx/pom.xml @@ -49,6 +49,11 @@ core ${project.version} + + de.neitzel.lib + injection + ${project.version} + diff --git a/fx/src/main/java/de/neitzel/fx/injectfx/FXMLComponentInstances.java b/fx/src/main/java/de/neitzel/fx/injectfx/FXMLComponentInstances.java index 945a282..cee8917 100644 --- a/fx/src/main/java/de/neitzel/fx/injectfx/FXMLComponentInstances.java +++ b/fx/src/main/java/de/neitzel/fx/injectfx/FXMLComponentInstances.java @@ -1,7 +1,7 @@ package de.neitzel.fx.injectfx; -import de.neitzel.core.inject.ComponentData; -import de.neitzel.core.inject.ComponentScanner; +import de.neitzel.injection.ComponentData; +import de.neitzel.injection.ComponentScanner; import lombok.Getter; import java.lang.reflect.Constructor; diff --git a/fx/src/main/java/de/neitzel/fx/injectfx/InjectingFXMLLoader.java b/fx/src/main/java/de/neitzel/fx/injectfx/InjectingFXMLLoader.java index 7ddbbd2..6c96fc2 100644 --- a/fx/src/main/java/de/neitzel/fx/injectfx/InjectingFXMLLoader.java +++ b/fx/src/main/java/de/neitzel/fx/injectfx/InjectingFXMLLoader.java @@ -1,6 +1,6 @@ package de.neitzel.fx.injectfx; -import de.neitzel.core.inject.ComponentScanner; +import de.neitzel.injection.ComponentScanner; import javafx.fxml.FXMLLoader; import lombok.extern.slf4j.Slf4j; diff --git a/injection/pom.xml b/injection/pom.xml new file mode 100644 index 0000000..68ef4ce --- /dev/null +++ b/injection/pom.xml @@ -0,0 +1,51 @@ + + + 4.0.0 + + + de.neitzel.lib + neitzellib + 1.0-SNAPSHOT + + + injection + + + + ${project.artifactId} + ${project.artifactId} + ${project.artifactId} + ${project.artifactId}-${project.version} + + + + + org.reflections + reflections + ${reflections.version} + + + + jakarta.inject + jakarta.inject-api + ${jakarta-inject-api} + + + + ${jar.filename} + + + + com.github.spotbugs + spotbugs-maven-plugin + + + + org.apache.maven.plugins + maven-pmd-plugin + + + + diff --git a/core/src/main/java/de/neitzel/core/inject/ApplicationContext.java b/injection/src/main/java/de/neitzel/injection/ApplicationContext.java similarity index 98% rename from core/src/main/java/de/neitzel/core/inject/ApplicationContext.java rename to injection/src/main/java/de/neitzel/injection/ApplicationContext.java index 783b57f..3c7596e 100644 --- a/core/src/main/java/de/neitzel/core/inject/ApplicationContext.java +++ b/injection/src/main/java/de/neitzel/injection/ApplicationContext.java @@ -1,6 +1,6 @@ -package de.neitzel.core.inject; +package de.neitzel.injection; -import de.neitzel.core.inject.annotation.Config; +import de.neitzel.injection.annotation.Config; import java.lang.reflect.Constructor; import java.util.Map; diff --git a/core/src/main/java/de/neitzel/core/inject/ComponentData.java b/injection/src/main/java/de/neitzel/injection/ComponentData.java similarity index 99% rename from core/src/main/java/de/neitzel/core/inject/ComponentData.java rename to injection/src/main/java/de/neitzel/injection/ComponentData.java index a206a17..c101976 100644 --- a/core/src/main/java/de/neitzel/core/inject/ComponentData.java +++ b/injection/src/main/java/de/neitzel/injection/ComponentData.java @@ -1,4 +1,4 @@ -package de.neitzel.core.inject; +package de.neitzel.injection; import lombok.Getter; diff --git a/core/src/main/java/de/neitzel/core/inject/ComponentScanner.java b/injection/src/main/java/de/neitzel/injection/ComponentScanner.java similarity index 99% rename from core/src/main/java/de/neitzel/core/inject/ComponentScanner.java rename to injection/src/main/java/de/neitzel/injection/ComponentScanner.java index 7e75593..ca69cdb 100644 --- a/core/src/main/java/de/neitzel/core/inject/ComponentScanner.java +++ b/injection/src/main/java/de/neitzel/injection/ComponentScanner.java @@ -1,7 +1,7 @@ -package de.neitzel.core.inject; +package de.neitzel.injection; -import de.neitzel.core.inject.annotation.Component; -import de.neitzel.core.inject.annotation.Inject; +import de.neitzel.injection.annotation.Component; +import de.neitzel.injection.annotation.Inject; import org.reflections.Reflections; import java.lang.reflect.Constructor; diff --git a/core/src/main/java/de/neitzel/core/inject/Scope.java b/injection/src/main/java/de/neitzel/injection/Scope.java similarity index 98% rename from core/src/main/java/de/neitzel/core/inject/Scope.java rename to injection/src/main/java/de/neitzel/injection/Scope.java index 0f17a9c..f5bd541 100644 --- a/core/src/main/java/de/neitzel/core/inject/Scope.java +++ b/injection/src/main/java/de/neitzel/injection/Scope.java @@ -1,4 +1,4 @@ -package de.neitzel.core.inject; +package de.neitzel.injection; /** * Represents the scope of a component in a dependency injection framework. diff --git a/core/src/main/java/de/neitzel/core/inject/annotation/Component.java b/injection/src/main/java/de/neitzel/injection/annotation/Component.java similarity index 95% rename from core/src/main/java/de/neitzel/core/inject/annotation/Component.java rename to injection/src/main/java/de/neitzel/injection/annotation/Component.java index 7cb0c80..35c2b4e 100644 --- a/core/src/main/java/de/neitzel/core/inject/annotation/Component.java +++ b/injection/src/main/java/de/neitzel/injection/annotation/Component.java @@ -1,6 +1,6 @@ -package de.neitzel.core.inject.annotation; +package de.neitzel.injection.annotation; -import de.neitzel.core.inject.Scope; +import de.neitzel.injection.Scope; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/de/neitzel/core/inject/annotation/Config.java b/injection/src/main/java/de/neitzel/injection/annotation/Config.java similarity index 97% rename from core/src/main/java/de/neitzel/core/inject/annotation/Config.java rename to injection/src/main/java/de/neitzel/injection/annotation/Config.java index 50d8b14..caadd95 100644 --- a/core/src/main/java/de/neitzel/core/inject/annotation/Config.java +++ b/injection/src/main/java/de/neitzel/injection/annotation/Config.java @@ -1,4 +1,4 @@ -package de.neitzel.core.inject.annotation; +package de.neitzel.injection.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/main/java/de/neitzel/core/inject/annotation/Inject.java b/injection/src/main/java/de/neitzel/injection/annotation/Inject.java similarity index 95% rename from core/src/main/java/de/neitzel/core/inject/annotation/Inject.java rename to injection/src/main/java/de/neitzel/injection/annotation/Inject.java index 4b18d29..7b92d40 100644 --- a/core/src/main/java/de/neitzel/core/inject/annotation/Inject.java +++ b/injection/src/main/java/de/neitzel/injection/annotation/Inject.java @@ -1,4 +1,4 @@ -package de.neitzel.core.inject.annotation; +package de.neitzel.injection.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/core/src/test/java/de/neitzel/core/inject/InjectableComponentScannerTest.java b/injection/src/test/java/de/neitzel/injection/InjectableComponentScannerTest.java similarity index 80% rename from core/src/test/java/de/neitzel/core/inject/InjectableComponentScannerTest.java rename to injection/src/test/java/de/neitzel/injection/InjectableComponentScannerTest.java index 075857d..d82bc27 100644 --- a/core/src/test/java/de/neitzel/core/inject/InjectableComponentScannerTest.java +++ b/injection/src/test/java/de/neitzel/injection/InjectableComponentScannerTest.java @@ -1,10 +1,10 @@ -package de.neitzel.core.inject; +package de.neitzel.injection; -import de.neitzel.core.inject.testcomponents.test1ok.SuperClass; -import de.neitzel.core.inject.testcomponents.test1ok.TestComponent1_1; -import de.neitzel.core.inject.testcomponents.test1ok.TestInterface1_1; -import de.neitzel.core.inject.testcomponents.test1ok.TestInterface1_2; -import de.neitzel.core.inject.testcomponents.test1ok.sub.TestComponent1_2; +import de.neitzel.injection.testcomponents.test1ok.SuperClass; +import de.neitzel.injection.testcomponents.test1ok.TestComponent1_1; +import de.neitzel.injection.testcomponents.test1ok.TestInterface1_1; +import de.neitzel.injection.testcomponents.test1ok.TestInterface1_2; +import de.neitzel.injection.testcomponents.test1ok.sub.TestComponent1_2; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertAll; @@ -20,7 +20,7 @@ class InjectableComponentScannerTest { */ @Test void testLoadComponents() { - ComponentScanner scanner = new ComponentScanner("de.neitzel.core.inject.testcomponents.test1ok"); + ComponentScanner scanner = new ComponentScanner("de.neitzel.injection.testcomponents.test1ok"); var instantiableComponents = scanner.getInstantiableComponents(); var nonUniqueTypes = scanner.getNotUniqueTypes(); @@ -41,7 +41,7 @@ class InjectableComponentScannerTest { */ @Test void testComponentsFailWithUnknownParameters() { - ComponentScanner scanner = new ComponentScanner("de.neitzel.core.inject.testcomponents.test2fail"); + ComponentScanner scanner = new ComponentScanner("de.neitzel.injection.testcomponents.test2fail"); var instantiableComponents = scanner.getInstantiableComponents(); var nonUniqueTypes = scanner.getNotUniqueTypes(); diff --git a/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/SuperClass.java b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/SuperClass.java new file mode 100644 index 0000000..5295d68 --- /dev/null +++ b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/SuperClass.java @@ -0,0 +1,4 @@ +package de.neitzel.injection.testcomponents.test1ok; + +public class SuperClass { +} diff --git a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestComponent1_1.java b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestComponent1_1.java similarity index 55% rename from core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestComponent1_1.java rename to injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestComponent1_1.java index 7769a6e..649a1a2 100644 --- a/core/src/test/java/de/neitzel/core/inject/testcomponents/test1ok/TestComponent1_1.java +++ b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestComponent1_1.java @@ -1,6 +1,6 @@ -package de.neitzel.core.inject.testcomponents.test1ok; +package de.neitzel.injection.testcomponents.test1ok; -import de.neitzel.core.inject.annotation.Component; +import de.neitzel.injection.annotation.Component; @Component public class TestComponent1_1 extends SuperClass implements TestInterface1_2 { diff --git a/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_1.java b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_1.java new file mode 100644 index 0000000..a233642 --- /dev/null +++ b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_1.java @@ -0,0 +1,4 @@ +package de.neitzel.injection.testcomponents.test1ok; + +public interface TestInterface1_1 { +} diff --git a/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_2.java b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_2.java new file mode 100644 index 0000000..d162fed --- /dev/null +++ b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/TestInterface1_2.java @@ -0,0 +1,4 @@ +package de.neitzel.injection.testcomponents.test1ok; + +public interface TestInterface1_2 { +} diff --git a/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/sub/TestComponent1_2.java b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/sub/TestComponent1_2.java new file mode 100644 index 0000000..f7e5ff5 --- /dev/null +++ b/injection/src/test/java/de/neitzel/injection/testcomponents/test1ok/sub/TestComponent1_2.java @@ -0,0 +1,12 @@ +package de.neitzel.injection.testcomponents.test1ok.sub; + +import de.neitzel.injection.annotation.Component; +import de.neitzel.injection.testcomponents.test1ok.SuperClass; +import de.neitzel.injection.testcomponents.test1ok.TestInterface1_1; +import de.neitzel.injection.testcomponents.test1ok.TestInterface1_2; + +@Component +public class TestComponent1_2 extends SuperClass implements TestInterface1_1, TestInterface1_2 { + public TestComponent1_2() { + } +} diff --git a/core/src/test/java/de/neitzel/core/inject/testcomponents/test2fail/TestComponent2_1.java b/injection/src/test/java/de/neitzel/injection/testcomponents/test2fail/TestComponent2_1.java similarity index 56% rename from core/src/test/java/de/neitzel/core/inject/testcomponents/test2fail/TestComponent2_1.java rename to injection/src/test/java/de/neitzel/injection/testcomponents/test2fail/TestComponent2_1.java index a2a041d..a2b9936 100644 --- a/core/src/test/java/de/neitzel/core/inject/testcomponents/test2fail/TestComponent2_1.java +++ b/injection/src/test/java/de/neitzel/injection/testcomponents/test2fail/TestComponent2_1.java @@ -1,6 +1,6 @@ -package de.neitzel.core.inject.testcomponents.test2fail; +package de.neitzel.injection.testcomponents.test2fail; -import de.neitzel.core.inject.annotation.Component; +import de.neitzel.injection.annotation.Component; /** * TestComponent1 that should fail. diff --git a/pom.xml b/pom.xml index 0a38ec7..aec261c 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,7 @@ core encryption + injection fx gson net @@ -26,6 +27,7 @@ 3.8.6 + 2.0.1 25.0.1 26.0.2 6.0.1 @@ -274,6 +276,9 @@ jar + + ${project.build.sourceDirectory} + @@ -347,15 +352,19 @@ javadoc +