diff --git a/build-resources.gradle b/build-resources.gradle index 3d1df15758..b8a7bd5879 100644 --- a/build-resources.gradle +++ b/build-resources.gradle @@ -13,5 +13,6 @@ ext.coreProjects = [ project(':data-prepper-pipeline-parser'), project(':data-prepper-plugins'), project(':data-prepper-test-common'), - project(':data-prepper-test-event') + project(':data-prepper-test-event'), + project(':data-prepper-plugin-framework') ] \ No newline at end of file diff --git a/data-prepper-core/build.gradle b/data-prepper-core/build.gradle index 0914db9284..ba6d245e26 100644 --- a/data-prepper-core/build.gradle +++ b/data-prepper-core/build.gradle @@ -19,6 +19,8 @@ dependencies { implementation project(':data-prepper-plugins:common') implementation project(':data-prepper-logstash-configuration') implementation project(':data-prepper-pipeline-parser') + implementation project(':data-prepper-plugin-framework') + testImplementation project(':data-prepper-plugin-framework').sourceSets.test.output testImplementation project(':data-prepper-plugins:common').sourceSets.test.output implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml' @@ -28,7 +30,6 @@ dependencies { implementation 'io.micrometer:micrometer-registry-cloudwatch2' implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' implementation 'software.amazon.awssdk:cloudwatch' - implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final' implementation platform('org.apache.logging.log4j:log4j-bom:2.22.1') implementation 'org.apache.logging.log4j:log4j-core' implementation 'org.apache.logging.log4j:log4j-slf4j2-impl' diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java b/data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java similarity index 95% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java rename to data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java index 24a6082b11..ea0654563a 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java +++ b/data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java @@ -15,9 +15,8 @@ import org.opensearch.dataprepper.model.configuration.PipelinesDataFlowModel; import org.opensearch.dataprepper.model.configuration.PluginSetting; import org.opensearch.dataprepper.model.plugin.InvalidPluginConfigurationException; -import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration; import org.opensearch.dataprepper.plugins.TestObjectPlugin; -import org.opensearch.dataprepper.plugins.TestPlugin; +import org.opensearch.dataprepper.plugins.test.TestPlugin; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import java.util.HashMap; @@ -39,7 +38,7 @@ class DefaultPluginFactoryIT { @Mock private PipelinesDataFlowModel pipelinesDataFlowModel; @Mock - private DataPrepperConfiguration dataPrepperConfiguration; + private ExtensionsConfiguration extensionsConfiguration; private String pluginName; private String objectPluginName; private String pipelineName; @@ -62,7 +61,7 @@ private DefaultPluginFactory createObjectUnderTest() { coreContext.scan(DefaultAcknowledgementSetManager.class.getPackage().getName()); coreContext.scan(DefaultPluginFactory.class.getPackage().getName()); coreContext.register(PluginBeanFactoryProvider.class); - coreContext.registerBean(DataPrepperConfiguration.class, () -> dataPrepperConfiguration); + coreContext.registerBean(ExtensionsConfiguration.class, () -> extensionsConfiguration); coreContext.registerBean(PipelinesDataFlowModel.class, () -> pipelinesDataFlowModel); coreContext.refresh(); diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsIT.java b/data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugins/ExtensionsIT.java similarity index 96% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsIT.java rename to data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugins/ExtensionsIT.java index c5e44016ec..176e11c4b2 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsIT.java +++ b/data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugins/ExtensionsIT.java @@ -3,10 +3,11 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.plugin; +package org.opensearch.dataprepper.plugins; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; +import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -25,8 +26,9 @@ import org.opensearch.dataprepper.parser.config.PipelineParserConfiguration; import org.opensearch.dataprepper.peerforwarder.PeerForwarderProvider; import org.opensearch.dataprepper.pipeline.router.RouterFactory; -import org.opensearch.dataprepper.plugins.TestPluginUsingExtension; -import org.opensearch.dataprepper.plugins.TestPluginUsingExtensionWithConfig; +import org.opensearch.dataprepper.plugin.DefaultPluginFactory; +import org.opensearch.dataprepper.plugin.ObjectMapperConfiguration; +import org.opensearch.dataprepper.plugin.TestPluggableInterface; import org.opensearch.dataprepper.plugins.test.TestExtension; import org.opensearch.dataprepper.sourcecoordination.SourceCoordinatorFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @@ -114,7 +116,7 @@ void tearDown() { @Test void applyExtensions_creates_a_single_instance_of_the_extension() { - assertThat(TestExtension.getConstructedInstances(), equalTo(1)); + MatcherAssert.assertThat(TestExtension.getConstructedInstances(), equalTo(1)); } @Test diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/config/DataPrepperAppConfiguration.java b/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/config/DataPrepperAppConfiguration.java index 19a5229e6e..e3783cfd88 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/config/DataPrepperAppConfiguration.java +++ b/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/config/DataPrepperAppConfiguration.java @@ -9,8 +9,8 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import org.opensearch.dataprepper.model.configuration.PluginModel; import org.opensearch.dataprepper.model.types.ByteCount; -import org.opensearch.dataprepper.parser.ByteCountDeserializer; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/model/DataPrepperConfiguration.java b/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/model/DataPrepperConfiguration.java index 9ddaf10eeb..a8006a1aea 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/model/DataPrepperConfiguration.java +++ b/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/model/DataPrepperConfiguration.java @@ -16,6 +16,7 @@ import org.opensearch.dataprepper.parser.config.MetricTagFilter; import org.opensearch.dataprepper.peerforwarder.PeerForwarderConfiguration; import org.opensearch.dataprepper.pipeline.PipelineShutdownOption; +import org.opensearch.dataprepper.plugin.ExtensionsConfiguration; import java.time.Duration; import java.util.Collections; @@ -28,7 +29,7 @@ /** * Class to hold configuration for DataPrepper, including server port and Log4j settings */ -public class DataPrepperConfiguration { +public class DataPrepperConfiguration implements ExtensionsConfiguration { static final Duration DEFAULT_SHUTDOWN_DURATION = Duration.ofSeconds(30L); private static final String DEFAULT_SOURCE_COORDINATION_STORE = "in_memory"; @@ -225,6 +226,7 @@ public PipelineShutdownOption getPipelineShutdown() { return pipelineShutdown; } + @Override public PipelineExtensions getPipelineExtensions() { return pipelineExtensions; } diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/TestDataProvider.java b/data-prepper-core/src/test/java/org/opensearch/dataprepper/TestDataProvider.java index c9ddcfa702..7792c170fa 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/TestDataProvider.java +++ b/data-prepper-core/src/test/java/org/opensearch/dataprepper/TestDataProvider.java @@ -65,10 +65,6 @@ public class TestDataProvider { public static final String VALID_PEER_FORWARDER_WITH_ACM_SSL_CONFIG_FILE = "src/test/resources/valid_peer_forwarder_config_with_acm_ssl.yml"; public static final String VALID_DATA_PREPPER_CONFIG_WITH_METRIC_FILTER = "src/test/resources/valid_data_prepper_config_with_metric_filter.yml"; public static final String INVALID_DATA_PREPPER_CONFIG_WITH_METRIC_FILTER = "src/test/resources/invalid_data_prepper_config_with_metric_filter.yml"; - - - - public static Set VALID_MULTIPLE_PIPELINE_NAMES = new HashSet<>(Arrays.asList("test-pipeline-1", "test-pipeline-2", "test-pipeline-3")); } diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/DataPrepperConfigurationTests.java b/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/DataPrepperConfigurationTests.java index c0ffc81ad1..e0fe6a7d6e 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/DataPrepperConfigurationTests.java +++ b/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/DataPrepperConfigurationTests.java @@ -7,9 +7,9 @@ import org.opensearch.dataprepper.TestDataProvider; import org.opensearch.dataprepper.model.types.ByteCount; -import org.opensearch.dataprepper.parser.ByteCountDeserializer; +import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer; import org.opensearch.dataprepper.peerforwarder.PeerForwarderConfiguration; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/HeapCircuitBreakerConfigTest.java b/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/HeapCircuitBreakerConfigTest.java index 5d0057a753..8db9044210 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/HeapCircuitBreakerConfigTest.java +++ b/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/HeapCircuitBreakerConfigTest.java @@ -11,8 +11,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.opensearch.dataprepper.model.types.ByteCount; -import org.opensearch.dataprepper.parser.ByteCountDeserializer; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import java.io.IOException; import java.io.InputStream; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/peerforwarder/PeerForwarderConfigurationTest.java b/data-prepper-core/src/test/java/org/opensearch/dataprepper/peerforwarder/PeerForwarderConfigurationTest.java index e3559b87e8..4c6d22609b 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/peerforwarder/PeerForwarderConfigurationTest.java +++ b/data-prepper-core/src/test/java/org/opensearch/dataprepper/peerforwarder/PeerForwarderConfigurationTest.java @@ -9,7 +9,7 @@ import org.opensearch.dataprepper.TestDataProvider; import org.opensearch.dataprepper.peerforwarder.discovery.DiscoveryMode; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.ValueInstantiationException; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/pipeline/PipelineTests.java b/data-prepper-core/src/test/java/org/opensearch/dataprepper/pipeline/PipelineTests.java index 75c1154baa..5c0a9a974e 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/pipeline/PipelineTests.java +++ b/data-prepper-core/src/test/java/org/opensearch/dataprepper/pipeline/PipelineTests.java @@ -30,8 +30,8 @@ import org.opensearch.dataprepper.pipeline.router.Router; import org.opensearch.dataprepper.pipeline.router.RouterCopyRecordStrategy; import org.opensearch.dataprepper.pipeline.router.RouterGetRecordStrategy; -import org.opensearch.dataprepper.plugins.TestSink; -import org.opensearch.dataprepper.plugins.TestSource; +import org.opensearch.dataprepper.plugins.test.TestSink; +import org.opensearch.dataprepper.plugins.test.TestSource; import org.opensearch.dataprepper.plugins.TestSourceWithCoordination; import org.opensearch.dataprepper.plugins.TestSourceWithEnhancedCoordination; import org.opensearch.dataprepper.plugins.buffer.blockingbuffer.BlockingBuffer; diff --git a/data-prepper-pipeline-parser/build.gradle b/data-prepper-pipeline-parser/build.gradle index 944dcff73d..8b6c53354e 100644 --- a/data-prepper-pipeline-parser/build.gradle +++ b/data-prepper-pipeline-parser/build.gradle @@ -1,3 +1,8 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + dependencies { implementation project(':data-prepper-api') implementation project(':data-prepper-plugins:blocking-buffer') diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/ByteCountDeserializer.java b/data-prepper-pipeline-parser/src/main/java/org/opensearch/dataprepper/pipeline/parser/ByteCountDeserializer.java similarity index 95% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/ByteCountDeserializer.java rename to data-prepper-pipeline-parser/src/main/java/org/opensearch/dataprepper/pipeline/parser/ByteCountDeserializer.java index ab6e2b32a1..223821b7e0 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/ByteCountDeserializer.java +++ b/data-prepper-pipeline-parser/src/main/java/org/opensearch/dataprepper/pipeline/parser/ByteCountDeserializer.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.parser; +package org.opensearch.dataprepper.pipeline.parser; import com.fasterxml.jackson.core.JacksonException; import com.fasterxml.jackson.core.JsonParser; diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/DataPrepperDurationDeserializer.java b/data-prepper-pipeline-parser/src/main/java/org/opensearch/dataprepper/pipeline/parser/DataPrepperDurationDeserializer.java similarity index 98% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/DataPrepperDurationDeserializer.java rename to data-prepper-pipeline-parser/src/main/java/org/opensearch/dataprepper/pipeline/parser/DataPrepperDurationDeserializer.java index c15a424021..5005eb9f96 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/DataPrepperDurationDeserializer.java +++ b/data-prepper-pipeline-parser/src/main/java/org/opensearch/dataprepper/pipeline/parser/DataPrepperDurationDeserializer.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.parser; +package org.opensearch.dataprepper.pipeline.parser; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/ByteCountDeserializerTest.java b/data-prepper-pipeline-parser/src/test/java/org/opensearch/dataprepper/pipeline/parser/ByteCountDeserializerTest.java similarity index 97% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/ByteCountDeserializerTest.java rename to data-prepper-pipeline-parser/src/test/java/org/opensearch/dataprepper/pipeline/parser/ByteCountDeserializerTest.java index 9845b42ab1..21f0b000f3 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/ByteCountDeserializerTest.java +++ b/data-prepper-pipeline-parser/src/test/java/org/opensearch/dataprepper/pipeline/parser/ByteCountDeserializerTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.parser; +package org.opensearch.dataprepper.pipeline.parser; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/DataPrepperDurationDeserializerTest.java b/data-prepper-pipeline-parser/src/test/java/org/opensearch/dataprepper/pipeline/parser/DataPrepperDurationDeserializerTest.java similarity index 98% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/DataPrepperDurationDeserializerTest.java rename to data-prepper-pipeline-parser/src/test/java/org/opensearch/dataprepper/pipeline/parser/DataPrepperDurationDeserializerTest.java index 1e1468ca11..ea147c1ccb 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/DataPrepperDurationDeserializerTest.java +++ b/data-prepper-pipeline-parser/src/test/java/org/opensearch/dataprepper/pipeline/parser/DataPrepperDurationDeserializerTest.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.parser; +package org.opensearch.dataprepper.pipeline.parser; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; @@ -14,8 +14,8 @@ import java.time.Duration; -import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.CoreMatchers.equalTo; +import static org.hamcrest.MatcherAssert.assertThat; import static org.junit.jupiter.api.Assertions.assertThrows; public class DataPrepperDurationDeserializerTest { diff --git a/data-prepper-plugin-framework/build.gradle b/data-prepper-plugin-framework/build.gradle new file mode 100644 index 0000000000..2a87b5ef9b --- /dev/null +++ b/data-prepper-plugin-framework/build.gradle @@ -0,0 +1,22 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +dependencies { + implementation project(':data-prepper-api') + implementation project(':data-prepper-pipeline-parser') + implementation libs.commons.lang3 + implementation 'javax.inject:javax.inject:1' + implementation 'javax.annotation:javax.annotation-api:1.3.2' + implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final' + implementation(libs.spring.core) { + exclude group: 'commons-logging', module: 'commons-logging' + } + implementation(libs.spring.context) { + exclude group: 'commons-logging', module: 'commons-logging' + } + implementation libs.reflections.core + implementation 'com.fasterxml.jackson.core:jackson-databind' + testImplementation testLibs.mockito.inline +} \ No newline at end of file diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliers.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliers.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliers.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliers.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProvider.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProvider.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProvider.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProvider.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ClasspathPluginProvider.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ClasspathPluginProvider.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ClasspathPluginProvider.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ClasspathPluginProvider.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContext.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContext.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContext.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContext.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPoints.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPoints.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPoints.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPoints.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializer.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializer.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializer.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializer.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginConfigObservable.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginConfigObservable.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginConfigObservable.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginConfigObservable.java index 5bab83ba19..4caf3ebadf 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginConfigObservable.java +++ b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginConfigObservable.java @@ -6,8 +6,8 @@ package org.opensearch.dataprepper.plugin; import org.opensearch.dataprepper.model.configuration.PluginSetting; -import org.opensearch.dataprepper.model.plugin.PluginConfigObserver; import org.opensearch.dataprepper.model.plugin.PluginConfigObservable; +import org.opensearch.dataprepper.model.plugin.PluginConfigObserver; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginFactory.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginFactory.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginFactory.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/DefaultPluginFactory.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionClassProvider.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionClassProvider.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionClassProvider.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionClassProvider.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionLoader.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionLoader.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionLoader.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionLoader.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverter.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverter.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverter.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverter.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolver.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolver.java similarity index 75% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolver.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolver.java index 1c4a58ba04..ba854d7690 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolver.java +++ b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolver.java @@ -6,7 +6,6 @@ package org.opensearch.dataprepper.plugin; import org.opensearch.dataprepper.model.configuration.PipelinesDataFlowModel; -import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration; import javax.inject.Inject; import javax.inject.Named; @@ -21,10 +20,10 @@ public class ExtensionPluginConfigurationResolver { private final Map dataPrepperConfigExtensionMap; @Inject - public ExtensionPluginConfigurationResolver(final DataPrepperConfiguration dataPrepperConfiguration, + public ExtensionPluginConfigurationResolver(final ExtensionsConfiguration extensionsConfiguration, final PipelinesDataFlowModel pipelinesDataFlowModel) { - this.dataPrepperConfigExtensionMap = dataPrepperConfiguration.getPipelineExtensions() == null? - new HashMap<>() : new HashMap<>(dataPrepperConfiguration.getPipelineExtensions().getExtensionMap()); + this.dataPrepperConfigExtensionMap = extensionsConfiguration.getPipelineExtensions() == null? + new HashMap<>() : new HashMap<>(extensionsConfiguration.getPipelineExtensions().getExtensionMap()); combinedExtensionMap = new HashMap<>(dataPrepperConfigExtensionMap); if (pipelinesDataFlowModel.getPipelineExtensions() != null) { combinedExtensionMap.putAll(pipelinesDataFlowModel.getPipelineExtensions().getExtensionMap()); diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsApplier.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsApplier.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsApplier.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsApplier.java diff --git a/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsConfiguration.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsConfiguration.java new file mode 100644 index 0000000000..b73d3db226 --- /dev/null +++ b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ExtensionsConfiguration.java @@ -0,0 +1,7 @@ +package org.opensearch.dataprepper.plugin; + +import org.opensearch.dataprepper.model.configuration.PipelineExtensions; + +public interface ExtensionsConfiguration { + PipelineExtensions getPipelineExtensions(); +} diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ObjectMapperConfiguration.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ObjectMapperConfiguration.java similarity index 93% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ObjectMapperConfiguration.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ObjectMapperConfiguration.java index e905d640f7..5865d5b29a 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ObjectMapperConfiguration.java +++ b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ObjectMapperConfiguration.java @@ -9,8 +9,8 @@ import com.fasterxml.jackson.databind.PropertyNamingStrategies; import com.fasterxml.jackson.databind.module.SimpleModule; import org.opensearch.dataprepper.model.types.ByteCount; -import org.opensearch.dataprepper.parser.ByteCountDeserializer; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import org.springframework.context.annotation.Bean; import javax.inject.Named; diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginArgumentsContext.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginArgumentsContext.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginArgumentsContext.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginArgumentsContext.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProvider.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProvider.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProvider.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProvider.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverter.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverter.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverter.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverter.java index d11b3f6e78..27822e06e4 100644 --- a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverter.java +++ b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverter.java @@ -6,12 +6,12 @@ package org.opensearch.dataprepper.plugin; import com.fasterxml.jackson.core.type.TypeReference; -import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; -import org.opensearch.dataprepper.model.configuration.PluginSetting; -import org.opensearch.dataprepper.model.plugin.InvalidPluginConfigurationException; import com.fasterxml.jackson.databind.ObjectMapper; import jakarta.validation.ConstraintViolation; import jakarta.validation.Validator; +import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; +import org.opensearch.dataprepper.model.configuration.PluginSetting; +import org.opensearch.dataprepper.model.plugin.InvalidPluginConfigurationException; import org.springframework.context.annotation.DependsOn; import javax.inject.Named; diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableFactory.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableFactory.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableFactory.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableFactory.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegister.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegister.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegister.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegister.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginCreator.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginCreator.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginCreator.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginCreator.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginCreatorContext.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginCreatorContext.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginCreatorContext.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginCreatorContext.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplier.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplier.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplier.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplier.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginProvider.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginProvider.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginProvider.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginProvider.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginProviderLoader.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginProviderLoader.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/PluginProviderLoader.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/PluginProviderLoader.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/SupportSecretString.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/SupportSecretString.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/SupportSecretString.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/SupportSecretString.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ValidatorConfiguration.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ValidatorConfiguration.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/ValidatorConfiguration.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/ValidatorConfiguration.java diff --git a/data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/VariableExpander.java b/data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/VariableExpander.java similarity index 100% rename from data-prepper-core/src/main/java/org/opensearch/dataprepper/plugin/VariableExpander.java rename to data-prepper-plugin-framework/src/main/java/org/opensearch/dataprepper/plugin/VariableExpander.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliersTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliersTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliersTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ApplicationContextToTypedSuppliersTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProviderTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProviderTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProviderTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ClasspathExtensionClassProviderTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ClasspathPluginProviderTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ClasspathPluginProviderTest.java similarity index 97% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ClasspathPluginProviderTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ClasspathPluginProviderTest.java index d42bc3e191..88763164dd 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ClasspathPluginProviderTest.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ClasspathPluginProviderTest.java @@ -5,14 +5,14 @@ package org.opensearch.dataprepper.plugin; -import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; -import org.opensearch.dataprepper.model.sink.Sink; -import org.opensearch.dataprepper.model.source.Source; -import org.opensearch.dataprepper.plugins.TestSink; -import org.opensearch.dataprepper.plugins.TestSource; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; +import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; +import org.opensearch.dataprepper.model.sink.Sink; +import org.opensearch.dataprepper.model.source.Source; +import org.opensearch.dataprepper.plugins.test.TestSink; +import org.opensearch.dataprepper.plugins.test.TestSource; import org.reflections.Reflections; import java.util.Arrays; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContextTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContextTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContextTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ComponentPluginArgumentsContextTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPointsTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPointsTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPointsTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperExtensionPointsTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializerTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializerTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializerTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DataPrepperScalarTypeDeserializerTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryTest.java similarity index 98% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryTest.java index f66230a7b2..64b053a924 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryTest.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryTest.java @@ -5,6 +5,12 @@ package org.opensearch.dataprepper.plugin; +import org.hamcrest.MatcherAssert; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Nested; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.ValueSource; import org.mockito.ArgumentCaptor; import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; import org.opensearch.dataprepper.model.configuration.PipelineDescription; @@ -12,12 +18,7 @@ import org.opensearch.dataprepper.model.plugin.NoPluginFoundException; import org.opensearch.dataprepper.model.plugin.PluginConfigObservable; import org.opensearch.dataprepper.model.sink.Sink; -import org.opensearch.dataprepper.plugins.TestSink; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.ValueSource; +import org.opensearch.dataprepper.plugins.test.TestSink; import org.springframework.beans.factory.BeanFactory; import java.util.ArrayList; @@ -396,7 +397,7 @@ void loadPlugin_should_create_a_new_instance_of_the_first_plugin_found_with_corr .willReturn(expectedInstance); assertThat(createObjectUnderTest().loadPlugin(baseClass, pluginSetting), equalTo(expectedInstance)); - assertThat(expectedInstance.getClass().getAnnotation(DataPrepperPlugin.class).deprecatedName(), equalTo(TEST_SINK_DEPRECATED_NAME)); + MatcherAssert.assertThat(expectedInstance.getClass().getAnnotation(DataPrepperPlugin.class).deprecatedName(), equalTo(TEST_SINK_DEPRECATED_NAME)); verify(beanFactoryProvider).get(); } } diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionLoaderTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionLoaderTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionLoaderTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionLoaderTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverterTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverterTest.java similarity index 95% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverterTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverterTest.java index 1524b2c1d7..5926aa520f 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverterTest.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationConverterTest.java @@ -9,6 +9,7 @@ import jakarta.validation.ConstraintViolation; import jakarta.validation.Path; import jakarta.validation.Validator; +import org.hamcrest.MatcherAssert; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -73,7 +74,7 @@ void convert_with_test_extension_with_config_allowed_in_pipeline_configurations( )); final Object testExtensionConfig = objectUnderTest.convert(true, TestExtensionConfig.class, "/" + rootKey); assertThat(testExtensionConfig, instanceOf(TestExtensionConfig.class)); - assertThat(((TestExtensionConfig) testExtensionConfig).getTestAttribute(), equalTo(testValue)); + MatcherAssert.assertThat(((TestExtensionConfig) testExtensionConfig).getTestAttribute(), equalTo(testValue)); } @Test @@ -86,7 +87,7 @@ void convert_with_test_extension_with_config_not_allowed_in_pipeline_configurati )); final Object testExtensionConfig = objectUnderTest.convert(false, TestExtensionConfig.class, "/" + rootKey); assertThat(testExtensionConfig, instanceOf(TestExtensionConfig.class)); - assertThat(((TestExtensionConfig) testExtensionConfig).getTestAttribute(), equalTo(testValue)); + MatcherAssert.assertThat(((TestExtensionConfig) testExtensionConfig).getTestAttribute(), equalTo(testValue)); } @Test diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolverTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolverTest.java similarity index 82% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolverTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolverTest.java index 27220a4b58..ff9ff02be9 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolverTest.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionPluginConfigurationResolverTest.java @@ -11,7 +11,6 @@ import org.mockito.junit.jupiter.MockitoExtension; import org.opensearch.dataprepper.model.configuration.PipelineExtensions; import org.opensearch.dataprepper.model.configuration.PipelinesDataFlowModel; -import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration; import java.util.Map; @@ -23,7 +22,7 @@ @ExtendWith(MockitoExtension.class) class ExtensionPluginConfigurationResolverTest { @Mock - private DataPrepperConfiguration dataPrepperConfiguration; + private ExtensionsConfiguration extensionsConfiguration; @Mock private PipelinesDataFlowModel pipelinesDataFlowModel; @Mock @@ -32,28 +31,28 @@ class ExtensionPluginConfigurationResolverTest { private ExtensionPluginConfigurationResolver objectUnderTest; @Test - void testGetExtensionMap_defined_in_dataPrepperConfiguration_only() { - when(dataPrepperConfiguration.getPipelineExtensions()).thenReturn(pipelineExtensions); + void testGetExtensionMap_defined_in_extensionsConfiguration_only() { + when(extensionsConfiguration.getPipelineExtensions()).thenReturn(pipelineExtensions); final Map extensionMap = Map.of("test_extension", Map.of("test_key", "test_value")); when(pipelineExtensions.getExtensionMap()).thenReturn(extensionMap); when(pipelinesDataFlowModel.getPipelineExtensions()).thenReturn(null); - objectUnderTest = new ExtensionPluginConfigurationResolver(dataPrepperConfiguration, pipelinesDataFlowModel); + objectUnderTest = new ExtensionPluginConfigurationResolver(extensionsConfiguration, pipelinesDataFlowModel); assertThat(objectUnderTest.getCombinedExtensionMap(), equalTo(extensionMap)); } @Test void testGetExtensionMap_defined_in_pipelinesDataFlowModel_only() { - when(dataPrepperConfiguration.getPipelineExtensions()).thenReturn(null); + when(extensionsConfiguration.getPipelineExtensions()).thenReturn(null); when(pipelinesDataFlowModel.getPipelineExtensions()).thenReturn(pipelineExtensions); final Map extensionMap = Map.of("test_extension", Map.of("test_key", "test_value")); when(pipelineExtensions.getExtensionMap()).thenReturn(extensionMap); - objectUnderTest = new ExtensionPluginConfigurationResolver(dataPrepperConfiguration, pipelinesDataFlowModel); + objectUnderTest = new ExtensionPluginConfigurationResolver(extensionsConfiguration, pipelinesDataFlowModel); assertThat(objectUnderTest.getCombinedExtensionMap(), equalTo(extensionMap)); } @Test void testGetExtensionMap_defined_in_both() { - when(dataPrepperConfiguration.getPipelineExtensions()).thenReturn(pipelineExtensions); + when(extensionsConfiguration.getPipelineExtensions()).thenReturn(pipelineExtensions); final Map dataPrepperConfigurationExtensionMap = Map.of( "test_extension1", Map.of("test_key1", "test_value1"), "test_extension2", Map.of("test_key1", "test_value1") @@ -65,7 +64,7 @@ void testGetExtensionMap_defined_in_both() { "test_extension1", Map.of("test_key2", "test_value2") ); when(pipelineExtensions1.getExtensionMap()).thenReturn(pipelinesDataFlowModelExtensionMap); - objectUnderTest = new ExtensionPluginConfigurationResolver(dataPrepperConfiguration, pipelinesDataFlowModel); + objectUnderTest = new ExtensionPluginConfigurationResolver(extensionsConfiguration, pipelinesDataFlowModel); final Map expectedExtensionMap = Map.of( "test_extension1", Map.of("test_key2", "test_value2"), "test_extension2", Map.of("test_key1", "test_value1") diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsApplierTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsApplierTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsApplierTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsApplierTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ObjectMapperConfigurationTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ObjectMapperConfigurationTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ObjectMapperConfigurationTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/ObjectMapperConfigurationTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProviderTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProviderTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProviderTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginBeanFactoryProviderTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigObservableFactoryTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigObservableFactoryTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigObservableFactoryTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigObservableFactoryTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverterTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverterTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverterTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationConverterTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegisterTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegisterTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegisterTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginConfigurationObservableRegisterTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginCreatorTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginCreatorTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginCreatorTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginCreatorTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplierTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplierTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplierTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginPackagesSupplierTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginProviderLoaderTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginProviderLoaderTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/PluginProviderLoaderTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/PluginProviderLoaderTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/TestPluggableInterface.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/TestPluggableInterface.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/TestPluggableInterface.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/TestPluggableInterface.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/TestPluginConfiguration.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/TestPluginConfiguration.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/TestPluginConfiguration.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/TestPluginConfiguration.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/VariableExpanderTest.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/VariableExpanderTest.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/VariableExpanderTest.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugin/VariableExpanderTest.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtension.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtension.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtension.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtension.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionConfig.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionConfig.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionConfig.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionConfig.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionWithConfig.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionWithConfig.java similarity index 100% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionWithConfig.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestExtensionWithConfig.java diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestPlugin.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestPlugin.java similarity index 95% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestPlugin.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestPlugin.java index 6d6ac8aa37..8e02ed769f 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestPlugin.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestPlugin.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.plugins; +package org.opensearch.dataprepper.plugins.test; import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; import org.opensearch.dataprepper.model.annotations.DataPrepperPluginConstructor; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestSink.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestSink.java similarity index 97% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestSink.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestSink.java index 88facea689..fc54428ba2 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestSink.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestSink.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.plugins; +package org.opensearch.dataprepper.plugins.test; import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; import org.opensearch.dataprepper.model.record.Record; diff --git a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestSource.java b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestSource.java similarity index 97% rename from data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestSource.java rename to data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestSource.java index 7f4328ea33..9a7192a370 100644 --- a/data-prepper-core/src/test/java/org/opensearch/dataprepper/plugins/TestSource.java +++ b/data-prepper-plugin-framework/src/test/java/org/opensearch/dataprepper/plugins/test/TestSource.java @@ -3,7 +3,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -package org.opensearch.dataprepper.plugins; +package org.opensearch.dataprepper.plugins.test; import org.opensearch.dataprepper.model.annotations.DataPrepperPlugin; import org.opensearch.dataprepper.model.buffer.Buffer; diff --git a/data-prepper-plugins/geoip-processor/build.gradle b/data-prepper-plugins/geoip-processor/build.gradle index 21056e0e2d..da09a39e64 100644 --- a/data-prepper-plugins/geoip-processor/build.gradle +++ b/data-prepper-plugins/geoip-processor/build.gradle @@ -27,6 +27,8 @@ dependencies { implementation libs.armeria.core testImplementation project(':data-prepper-core') + testImplementation project(':data-prepper-plugin-framework') + testImplementation project(':data-prepper-pipeline-parser') testImplementation 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310' testImplementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml' testImplementation project(':data-prepper-test-common') diff --git a/data-prepper-plugins/geoip-processor/src/test/java/org/opensearch/dataprepper/plugins/geoip/extension/GeoIpServiceConfigTest.java b/data-prepper-plugins/geoip-processor/src/test/java/org/opensearch/dataprepper/plugins/geoip/extension/GeoIpServiceConfigTest.java index 9f27af3435..b8d28392db 100644 --- a/data-prepper-plugins/geoip-processor/src/test/java/org/opensearch/dataprepper/plugins/geoip/extension/GeoIpServiceConfigTest.java +++ b/data-prepper-plugins/geoip-processor/src/test/java/org/opensearch/dataprepper/plugins/geoip/extension/GeoIpServiceConfigTest.java @@ -11,7 +11,7 @@ import org.hamcrest.CoreMatchers; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration; import software.amazon.awssdk.regions.Region; diff --git a/data-prepper-plugins/kafka-plugins/build.gradle b/data-prepper-plugins/kafka-plugins/build.gradle index 6fef7fe27a..8a9e202260 100644 --- a/data-prepper-plugins/kafka-plugins/build.gradle +++ b/data-prepper-plugins/kafka-plugins/build.gradle @@ -57,6 +57,8 @@ dependencies { testImplementation project(':data-prepper-test-common') testImplementation project(':data-prepper-plugins:blocking-buffer') testImplementation project(':data-prepper-core') + testImplementation project(':data-prepper-plugin-framework') + testImplementation project(':data-prepper-pipeline-parser') testImplementation testLibs.mockito.inline testImplementation 'org.apache.kafka:kafka_2.13:3.6.1' testImplementation 'org.apache.kafka:kafka_2.13:3.6.1:test' diff --git a/data-prepper-plugins/kafka-plugins/src/test/java/org/opensearch/dataprepper/plugins/kafka/extension/KafkaClusterConfigTest.java b/data-prepper-plugins/kafka-plugins/src/test/java/org/opensearch/dataprepper/plugins/kafka/extension/KafkaClusterConfigTest.java index 58fc6a5d6f..bd71634a7a 100644 --- a/data-prepper-plugins/kafka-plugins/src/test/java/org/opensearch/dataprepper/plugins/kafka/extension/KafkaClusterConfigTest.java +++ b/data-prepper-plugins/kafka-plugins/src/test/java/org/opensearch/dataprepper/plugins/kafka/extension/KafkaClusterConfigTest.java @@ -10,8 +10,8 @@ import com.fasterxml.jackson.dataformat.yaml.YAMLFactory; import org.junit.jupiter.api.Test; import org.opensearch.dataprepper.model.types.ByteCount; -import org.opensearch.dataprepper.parser.ByteCountDeserializer; -import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer; +import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer; +import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer; import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration; import org.opensearch.dataprepper.plugins.kafka.configuration.AwsIamAuthConfig; import org.opensearch.dataprepper.plugins.kafka.configuration.EncryptionType; diff --git a/settings.gradle b/settings.gradle index 1c04dd9320..85727b0f81 100644 --- a/settings.gradle +++ b/settings.gradle @@ -99,6 +99,7 @@ include 'data-prepper-test-event' include 'data-prepper-core' include 'data-prepper-main' include 'data-prepper-pipeline-parser' +include 'data-prepper-plugin-framework' include 'data-prepper-plugins:common' include 'data-prepper-plugins:armeria-common' include 'data-prepper-plugins:anomaly-detector-processor'