Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions dataplane-sdk-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

plugins {
`java-library`
`java-test-fixtures`
}

dependencies {
Expand All @@ -25,14 +26,10 @@ dependencies {
testImplementation(platform(libs.junit.bom))
testImplementation(libs.junit.jupiter)
testRuntimeOnly(libs.junit.launcher)
testImplementation(libs.restAssured)
testImplementation(libs.assertJ)
testImplementation(libs.awaitility)

testImplementation(libs.mockito.core)
testImplementation(libs.slf4j.simple)

testImplementation(libs.testcontainers.junit.jupiter)
testImplementation(libs.testcontainers.postgresql)
testImplementation(libs.postgresql)
testFixturesImplementation(libs.junit.jupiter)
testFixturesImplementation(libs.assertJ)
}
32 changes: 32 additions & 0 deletions dataplane-sdk-postgresql/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
/*
* Copyright (c) 2026 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
*
* This program and the accompanying materials are made available under the
* terms of the Apache License, Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
implementation(project(":dataplane-sdk-core"))

implementation(libs.jackson.databind)

testImplementation(testFixtures(project(":dataplane-sdk-core")))

testImplementation(platform(libs.junit.bom))
testImplementation(libs.junit.jupiter)
testRuntimeOnly(libs.junit.launcher)
testImplementation(libs.testcontainers.junit.jupiter)
testImplementation(libs.testcontainers.postgresql)
testImplementation(libs.postgresql)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
*/

package org.eclipse.dataplane.port.store.sql;
package org.eclipse.dataplane.store.postgresql;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
Expand All @@ -21,7 +21,7 @@
import org.eclipse.dataplane.port.exception.PersistenceException;

import java.sql.Connection;
import java.sql.DriverManager;
import javax.sql.DataSource;

/**
* Base class for SQL-based store implementations that provides methods for common functionality
Expand All @@ -31,20 +31,16 @@ public abstract class AbstractSqlStore {

protected ObjectMapper objectMapper;

private final String databaseUrl;
private final String databaseUsername;
private final String databasePassword;
private final DataSource dataSource;

public AbstractSqlStore(ObjectMapper objectMapper, String databaseUrl, String databaseUsername, String databasePassword) {
public AbstractSqlStore(ObjectMapper objectMapper, DataSource dataSource) {
this.objectMapper = objectMapper;
this.databaseUrl = databaseUrl;
this.databaseUsername = databaseUsername;
this.databasePassword = databasePassword;
this.dataSource = dataSource;
}

protected Connection getConnection() {
try {
return DriverManager.getConnection(databaseUrl, databaseUsername, databasePassword);
return dataSource.getConnection();
} catch (Exception e) {
throw new PersistenceException("Failed to connect to database.", e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
*/

package org.eclipse.dataplane.port.store.sql;
package org.eclipse.dataplane.store.postgresql;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.eclipse.dataplane.domain.Result;
Expand All @@ -23,13 +23,14 @@
import org.eclipse.dataplane.port.store.ControlPlaneStore;

import java.net.URI;
import javax.sql.DataSource;

import static java.lang.String.format;

public class PostgresControlPlaneStore extends AbstractSqlStore implements ControlPlaneStore {

public PostgresControlPlaneStore(ObjectMapper objectMapper, String databaseUrl, String databaseUsername, String databasePassword) {
super(objectMapper, databaseUrl, databaseUsername, databasePassword);
public PostgresControlPlaneStore(ObjectMapper objectMapper, DataSource dataSource) {
super(objectMapper, dataSource);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
*
*/

package org.eclipse.dataplane.port.store.sql;
package org.eclipse.dataplane.store.postgresql;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
Expand All @@ -24,13 +24,14 @@
import org.eclipse.dataplane.port.store.DataFlowStore;

import java.net.URI;
import javax.sql.DataSource;

import static java.lang.String.format;

public class PostgresDataFlowStore extends AbstractSqlStore implements DataFlowStore {

public PostgresDataFlowStore(ObjectMapper objectMapper, String databaseUrl, String databaseUsername, String databasePassword) {
super(objectMapper, databaseUrl, databaseUsername, databasePassword);
public PostgresDataFlowStore(ObjectMapper objectMapper, DataSource dataSource) {
super(objectMapper, dataSource);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@
*
*/

package org.eclipse.dataplane.store.sql;
package org.eclipse.dataplane.store.postgresql;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.eclipse.dataplane.port.store.ControlPlaneStore;
import org.eclipse.dataplane.port.store.sql.PostgresControlPlaneStore;
import org.eclipse.dataplane.store.ControlPlaneStoreTestBase;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.postgresql.ds.PGSimpleDataSource;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.postgresql.PostgreSQLContainer;
Expand Down Expand Up @@ -58,7 +58,11 @@ static void cleanUp() {

@BeforeEach
void initStore() {
store = new PostgresControlPlaneStore(mapper, postgres.getJdbcUrl(), postgres.getUsername(), postgres.getPassword());
var dataSource = new PGSimpleDataSource();
dataSource.setUrl(postgres.getJdbcUrl());
dataSource.setUser(postgres.getUsername());
dataSource.setPassword(postgres.getPassword());
store = new PostgresControlPlaneStore(mapper, dataSource);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@
*
*/

package org.eclipse.dataplane.store.sql;
package org.eclipse.dataplane.store.postgresql;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.eclipse.dataplane.port.store.DataFlowStore;
import org.eclipse.dataplane.port.store.sql.PostgresDataFlowStore;
import org.eclipse.dataplane.store.DataFlowStoreTestBase;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.postgresql.ds.PGSimpleDataSource;
import org.testcontainers.junit.jupiter.Container;
import org.testcontainers.junit.jupiter.Testcontainers;
import org.testcontainers.postgresql.PostgreSQLContainer;
Expand Down Expand Up @@ -58,7 +58,11 @@ static void cleanUp() {

@BeforeEach
void initStore() {
store = new PostgresDataFlowStore(mapper, postgres.getJdbcUrl(), postgres.getUsername(), postgres.getPassword());
var dataSource = new PGSimpleDataSource();
dataSource.setUrl(postgres.getJdbcUrl());
dataSource.setUser(postgres.getUsername());
dataSource.setPassword(postgres.getPassword());
store = new PostgresDataFlowStore(mapper, dataSource);
}

@Override
Expand Down
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ dependencyResolutionManagement {

include(":dataplane-sdk-core")
include(":dataplane-sdk-jakarta-ee")
include(":dataplane-sdk-postgresql")

include(":e2e-tests")