Skip to content

Commit 7cbfb0a

Browse files
authored
Extract the data-prepper-plugin-framework from data-prepper-core (#4260)
Signed-off-by: Taylor Gray <tylgry@amazon.com>
1 parent 8827ebf commit 7cbfb0a

78 files changed

Lines changed: 108 additions & 68 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build-resources.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,6 @@ ext.coreProjects = [
1313
project(':data-prepper-pipeline-parser'),
1414
project(':data-prepper-plugins'),
1515
project(':data-prepper-test-common'),
16-
project(':data-prepper-test-event')
16+
project(':data-prepper-test-event'),
17+
project(':data-prepper-plugin-framework')
1718
]

data-prepper-core/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ dependencies {
1919
implementation project(':data-prepper-plugins:common')
2020
implementation project(':data-prepper-logstash-configuration')
2121
implementation project(':data-prepper-pipeline-parser')
22+
implementation project(':data-prepper-plugin-framework')
23+
testImplementation project(':data-prepper-plugin-framework').sourceSets.test.output
2224
testImplementation project(':data-prepper-plugins:common').sourceSets.test.output
2325
implementation 'com.fasterxml.jackson.core:jackson-databind'
2426
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml'
@@ -28,7 +30,6 @@ dependencies {
2830
implementation 'io.micrometer:micrometer-registry-cloudwatch2'
2931
implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1'
3032
implementation 'software.amazon.awssdk:cloudwatch'
31-
implementation 'org.hibernate.validator:hibernate-validator:8.0.1.Final'
3233
implementation platform('org.apache.logging.log4j:log4j-bom:2.22.1')
3334
implementation 'org.apache.logging.log4j:log4j-core'
3435
implementation 'org.apache.logging.log4j:log4j-slf4j2-impl'

data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java renamed to data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugin/DefaultPluginFactoryIT.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
import org.opensearch.dataprepper.model.configuration.PipelinesDataFlowModel;
1616
import org.opensearch.dataprepper.model.configuration.PluginSetting;
1717
import org.opensearch.dataprepper.model.plugin.InvalidPluginConfigurationException;
18-
import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration;
1918
import org.opensearch.dataprepper.plugins.TestObjectPlugin;
20-
import org.opensearch.dataprepper.plugins.TestPlugin;
19+
import org.opensearch.dataprepper.plugins.test.TestPlugin;
2120
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
2221

2322
import java.util.HashMap;
@@ -39,7 +38,7 @@ class DefaultPluginFactoryIT {
3938
@Mock
4039
private PipelinesDataFlowModel pipelinesDataFlowModel;
4140
@Mock
42-
private DataPrepperConfiguration dataPrepperConfiguration;
41+
private ExtensionsConfiguration extensionsConfiguration;
4342
private String pluginName;
4443
private String objectPluginName;
4544
private String pipelineName;
@@ -62,7 +61,7 @@ private DefaultPluginFactory createObjectUnderTest() {
6261
coreContext.scan(DefaultAcknowledgementSetManager.class.getPackage().getName());
6362
coreContext.scan(DefaultPluginFactory.class.getPackage().getName());
6463
coreContext.register(PluginBeanFactoryProvider.class);
65-
coreContext.registerBean(DataPrepperConfiguration.class, () -> dataPrepperConfiguration);
64+
coreContext.registerBean(ExtensionsConfiguration.class, () -> extensionsConfiguration);
6665
coreContext.registerBean(PipelinesDataFlowModel.class, () -> pipelinesDataFlowModel);
6766
coreContext.refresh();
6867

data-prepper-core/src/test/java/org/opensearch/dataprepper/plugin/ExtensionsIT.java renamed to data-prepper-core/src/integrationTest/java/org/opensearch/dataprepper/plugins/ExtensionsIT.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package org.opensearch.dataprepper.plugin;
6+
package org.opensearch.dataprepper.plugins;
77

88
import com.fasterxml.jackson.databind.ObjectMapper;
99
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
10+
import org.hamcrest.MatcherAssert;
1011
import org.junit.jupiter.api.AfterEach;
1112
import org.junit.jupiter.api.BeforeEach;
1213
import org.junit.jupiter.api.Test;
@@ -25,8 +26,9 @@
2526
import org.opensearch.dataprepper.parser.config.PipelineParserConfiguration;
2627
import org.opensearch.dataprepper.peerforwarder.PeerForwarderProvider;
2728
import org.opensearch.dataprepper.pipeline.router.RouterFactory;
28-
import org.opensearch.dataprepper.plugins.TestPluginUsingExtension;
29-
import org.opensearch.dataprepper.plugins.TestPluginUsingExtensionWithConfig;
29+
import org.opensearch.dataprepper.plugin.DefaultPluginFactory;
30+
import org.opensearch.dataprepper.plugin.ObjectMapperConfiguration;
31+
import org.opensearch.dataprepper.plugin.TestPluggableInterface;
3032
import org.opensearch.dataprepper.plugins.test.TestExtension;
3133
import org.opensearch.dataprepper.sourcecoordination.SourceCoordinatorFactory;
3234
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
@@ -114,7 +116,7 @@ void tearDown() {
114116

115117
@Test
116118
void applyExtensions_creates_a_single_instance_of_the_extension() {
117-
assertThat(TestExtension.getConstructedInstances(), equalTo(1));
119+
MatcherAssert.assertThat(TestExtension.getConstructedInstances(), equalTo(1));
118120
}
119121

120122
@Test

data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/config/DataPrepperAppConfiguration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
import com.fasterxml.jackson.databind.module.SimpleModule;
1010
import org.opensearch.dataprepper.model.configuration.PluginModel;
1111
import org.opensearch.dataprepper.model.types.ByteCount;
12-
import org.opensearch.dataprepper.parser.ByteCountDeserializer;
13-
import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer;
12+
import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer;
13+
import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer;
1414
import org.opensearch.dataprepper.parser.model.DataPrepperConfiguration;
1515
import org.springframework.context.annotation.Bean;
1616
import org.springframework.context.annotation.Configuration;

data-prepper-core/src/main/java/org/opensearch/dataprepper/parser/model/DataPrepperConfiguration.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.opensearch.dataprepper.parser.config.MetricTagFilter;
1717
import org.opensearch.dataprepper.peerforwarder.PeerForwarderConfiguration;
1818
import org.opensearch.dataprepper.pipeline.PipelineShutdownOption;
19+
import org.opensearch.dataprepper.plugin.ExtensionsConfiguration;
1920

2021
import java.time.Duration;
2122
import java.util.Collections;
@@ -28,7 +29,7 @@
2829
/**
2930
* Class to hold configuration for DataPrepper, including server port and Log4j settings
3031
*/
31-
public class DataPrepperConfiguration {
32+
public class DataPrepperConfiguration implements ExtensionsConfiguration {
3233
static final Duration DEFAULT_SHUTDOWN_DURATION = Duration.ofSeconds(30L);
3334

3435
private static final String DEFAULT_SOURCE_COORDINATION_STORE = "in_memory";
@@ -225,6 +226,7 @@ public PipelineShutdownOption getPipelineShutdown() {
225226
return pipelineShutdown;
226227
}
227228

229+
@Override
228230
public PipelineExtensions getPipelineExtensions() {
229231
return pipelineExtensions;
230232
}

data-prepper-core/src/test/java/org/opensearch/dataprepper/TestDataProvider.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,6 @@ public class TestDataProvider {
6565
public static final String VALID_PEER_FORWARDER_WITH_ACM_SSL_CONFIG_FILE = "src/test/resources/valid_peer_forwarder_config_with_acm_ssl.yml";
6666
public static final String VALID_DATA_PREPPER_CONFIG_WITH_METRIC_FILTER = "src/test/resources/valid_data_prepper_config_with_metric_filter.yml";
6767
public static final String INVALID_DATA_PREPPER_CONFIG_WITH_METRIC_FILTER = "src/test/resources/invalid_data_prepper_config_with_metric_filter.yml";
68-
69-
70-
71-
7268
public static Set<String> VALID_MULTIPLE_PIPELINE_NAMES = new HashSet<>(Arrays.asList("test-pipeline-1",
7369
"test-pipeline-2", "test-pipeline-3"));
7470
}

data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/DataPrepperConfigurationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
import org.opensearch.dataprepper.TestDataProvider;
99
import org.opensearch.dataprepper.model.types.ByteCount;
10-
import org.opensearch.dataprepper.parser.ByteCountDeserializer;
10+
import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer;
1111
import org.opensearch.dataprepper.peerforwarder.PeerForwarderConfiguration;
12-
import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer;
12+
import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer;
1313
import com.fasterxml.jackson.databind.module.SimpleModule;
1414
import com.fasterxml.jackson.databind.ObjectMapper;
1515
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;

data-prepper-core/src/test/java/org/opensearch/dataprepper/parser/model/HeapCircuitBreakerConfigTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import org.junit.jupiter.api.BeforeEach;
1212
import org.junit.jupiter.api.Test;
1313
import org.opensearch.dataprepper.model.types.ByteCount;
14-
import org.opensearch.dataprepper.parser.ByteCountDeserializer;
15-
import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer;
14+
import org.opensearch.dataprepper.pipeline.parser.ByteCountDeserializer;
15+
import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer;
1616

1717
import java.io.IOException;
1818
import java.io.InputStream;

data-prepper-core/src/test/java/org/opensearch/dataprepper/peerforwarder/PeerForwarderConfigurationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import org.opensearch.dataprepper.TestDataProvider;
1111
import org.opensearch.dataprepper.peerforwarder.discovery.DiscoveryMode;
12-
import org.opensearch.dataprepper.parser.DataPrepperDurationDeserializer;
12+
import org.opensearch.dataprepper.pipeline.parser.DataPrepperDurationDeserializer;
1313
import com.fasterxml.jackson.databind.module.SimpleModule;
1414
import com.fasterxml.jackson.databind.ObjectMapper;
1515
import com.fasterxml.jackson.databind.exc.ValueInstantiationException;

0 commit comments

Comments
 (0)