Skip to content

Commit 4570137

Browse files
committed
build: fix compilation (#651)
1 parent a3a8f95 commit 4570137

17 files changed

Lines changed: 49 additions & 50 deletions

File tree

extensions/common/aws/aws-s3-core/src/main/java/org/eclipse/edc/aws/s3/AwsSecretToken.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
package org.eclipse.edc.aws.s3;
1616

1717
import com.fasterxml.jackson.annotation.JsonProperty;
18-
import org.eclipse.edc.connector.controlplane.transfer.spi.types.SecretToken;
1918

2019
import java.util.Objects;
2120

@@ -28,11 +27,6 @@ public AwsSecretToken(@JsonProperty("accessKeyId") String accessKeyId, @JsonProp
2827
this.secretAccessKey = secretAccessKey;
2928
}
3029

31-
@Override
32-
public long getExpiration() {
33-
return 0;
34-
}
35-
3630
public String getAccessKeyId() {
3731
return accessKeyId;
3832
}

extensions/common/aws/aws-s3-core/src/main/java/org/eclipse/edc/aws/s3/AwsTemporarySecretToken.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
package org.eclipse.edc.aws.s3;
1616

1717
import com.fasterxml.jackson.annotation.JsonProperty;
18-
import org.eclipse.edc.connector.controlplane.transfer.spi.types.SecretToken;
1918

2019
public record AwsTemporarySecretToken(@JsonProperty("accessKeyId") String accessKeyId,
2120
@JsonProperty("secretAccessKey") String secretAccessKey,
@@ -26,8 +25,4 @@ public String sessionToken() {
2625
return sessionToken;
2726
}
2827

29-
@Override
30-
public long getExpiration() {
31-
return expiration();
32-
}
3328
}

extensions/common/aws/aws-s3-core/src/main/java/org/eclipse/edc/aws/s3/S3ClientRequest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
package org.eclipse.edc.aws.s3;
1616

1717

18-
import org.eclipse.edc.connector.controlplane.transfer.spi.types.SecretToken;
19-
2018
public record S3ClientRequest(String region, String endpointOverride, SecretToken secretToken) {
2119

2220
public static S3ClientRequest from(String region, String endpointOverride) {
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Copyright (c) 2026 Think-it GmbH
3+
*
4+
* This program and the accompanying materials are made available under the
5+
* terms of the Apache License, Version 2.0 which is available at
6+
* https://www.apache.org/licenses/LICENSE-2.0
7+
*
8+
* SPDX-License-Identifier: Apache-2.0
9+
*
10+
* Contributors:
11+
* Think-it GmbH - initial API and implementation
12+
*
13+
*/
14+
15+
package org.eclipse.edc.aws.s3;
16+
17+
public interface SecretToken {
18+
}

extensions/common/s3-copy-lib/src/main/java/org/eclipse/edc/aws/s3/copy/lib/S3CopyUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
import org.eclipse.edc.aws.s3.AwsSecretToken;
1818
import org.eclipse.edc.aws.s3.AwsTemporarySecretToken;
19+
import org.eclipse.edc.aws.s3.SecretToken;
1920
import org.eclipse.edc.aws.s3.spi.S3BucketSchema;
20-
import org.eclipse.edc.connector.controlplane.transfer.spi.types.SecretToken;
2121
import org.eclipse.edc.participantcontext.spi.service.ParticipantContextSupplier;
2222
import org.eclipse.edc.spi.result.ServiceResult;
2323
import org.eclipse.edc.spi.security.Vault;

extensions/data-plane/data-plane-aws-s3/src/main/java/org/eclipse/edc/connector/dataplane/aws/s3/DataPlaneS3Extension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void initialize(ServiceExtensionContext context) {
7171
var sourceFactory = new S3DataSourceFactory(awsClientProvider, vault, typeManager.getMapper(), validator);
7272
pipelineService.registerFactory(sourceFactory);
7373

74-
var sinkFactory = new S3DataSinkFactory(awsClientProvider, executorService, monitor, vault, typeManager.getMapper(), chunkSizeInBytes, validator);
74+
var sinkFactory = new S3DataSinkFactory(awsClientProvider, executorService, monitor, typeManager.getMapper(), chunkSizeInBytes, validator);
7575
pipelineService.registerFactory(sinkFactory);
7676
}
7777

extensions/data-plane/data-plane-aws-s3/src/main/java/org/eclipse/edc/connector/dataplane/aws/s3/S3DataSinkFactory.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@
2121
import org.eclipse.edc.aws.s3.AwsSecretToken;
2222
import org.eclipse.edc.aws.s3.AwsTemporarySecretToken;
2323
import org.eclipse.edc.aws.s3.S3ClientRequest;
24+
import org.eclipse.edc.aws.s3.SecretToken;
2425
import org.eclipse.edc.aws.s3.spi.S3BucketSchema;
2526
import org.eclipse.edc.aws.s3.validation.S3DataAddressCredentialsValidator;
26-
import org.eclipse.edc.connector.controlplane.transfer.spi.types.SecretToken;
2727
import org.eclipse.edc.connector.dataplane.spi.pipeline.DataSink;
2828
import org.eclipse.edc.connector.dataplane.spi.pipeline.DataSinkFactory;
2929
import org.eclipse.edc.spi.EdcException;
3030
import org.eclipse.edc.spi.monitor.Monitor;
3131
import org.eclipse.edc.spi.result.Result;
32-
import org.eclipse.edc.spi.security.Vault;
3332
import org.eclipse.edc.spi.types.domain.DataAddress;
3433
import org.eclipse.edc.spi.types.domain.transfer.DataFlowStartMessage;
3534
import org.eclipse.edc.util.string.StringUtils;
@@ -56,17 +55,15 @@ public class S3DataSinkFactory implements DataSinkFactory {
5655
private final AwsClientProvider clientProvider;
5756
private final ExecutorService executorService;
5857
private final Monitor monitor;
59-
private final Vault vault;
6058
private final ObjectMapper objectMapper;
6159
private final int chunkSizeInBytes;
6260
private final DataAddressValidatorRegistry dataAddressValidator;
6361

64-
public S3DataSinkFactory(AwsClientProvider clientProvider, ExecutorService executorService, Monitor monitor, Vault vault,
62+
public S3DataSinkFactory(AwsClientProvider clientProvider, ExecutorService executorService, Monitor monitor,
6563
ObjectMapper objectMapper, int chunkSizeInBytes, DataAddressValidatorRegistry dataAddressValidator) {
6664
this.clientProvider = clientProvider;
6765
this.executorService = executorService;
6866
this.monitor = monitor;
69-
this.vault = vault;
7067
this.objectMapper = objectMapper;
7168
this.chunkSizeInBytes = chunkSizeInBytes;
7269
this.dataAddressValidator = dataAddressValidator;
@@ -109,9 +106,7 @@ public DataSink createSink(DataFlowStartMessage request) {
109106
private S3ClientRequest createS3ClientRequest(DataAddress address) {
110107
var endpointOverride = address.getStringProperty(ENDPOINT_OVERRIDE);
111108
var region = address.getStringProperty(REGION);
112-
var awsSecretToken = ofNullable(address.getKeyName())
113-
.filter(keyName -> !StringUtils.isNullOrBlank(keyName))
114-
.map(vault::resolveSecret)
109+
var awsSecretToken = ofNullable(address.getStringProperty(DataAddress.EDC_DATA_ADDRESS_SECRET))
115110
.filter(secret -> !StringUtils.isNullOrBlank(secret))
116111
.map(this::deserializeSecretToken);
117112

extensions/data-plane/data-plane-aws-s3/src/main/java/org/eclipse/edc/connector/dataplane/aws/s3/S3DataSourceFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import org.eclipse.edc.aws.s3.AwsSecretToken;
2222
import org.eclipse.edc.aws.s3.AwsTemporarySecretToken;
2323
import org.eclipse.edc.aws.s3.S3ClientRequest;
24+
import org.eclipse.edc.aws.s3.SecretToken;
2425
import org.eclipse.edc.aws.s3.spi.S3BucketSchema;
2526
import org.eclipse.edc.aws.s3.validation.S3DataAddressCredentialsValidator;
26-
import org.eclipse.edc.connector.controlplane.transfer.spi.types.SecretToken;
2727
import org.eclipse.edc.connector.dataplane.spi.pipeline.DataSource;
2828
import org.eclipse.edc.connector.dataplane.spi.pipeline.DataSourceFactory;
2929
import org.eclipse.edc.spi.EdcException;

extensions/data-plane/data-plane-aws-s3/src/test/java/org/eclipse/edc/connector/dataplane/aws/s3/S3DataPlaneIntegrationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ void setup() {
8989
var typeManager = new JacksonTypeManager();
9090
var chunkSizeInBytes = 1024 * 1024 * 20;
9191
sourceFactory = new S3DataSourceFactory(sourceClient.getClientProvider(), mock(), typeManager.getMapper(), validator);
92-
sinkFactory = new S3DataSinkFactory(destinationClient.getClientProvider(), Executors.newSingleThreadExecutor(), mock(), mock(), typeManager.getMapper(), chunkSizeInBytes, validator);
92+
sinkFactory = new S3DataSinkFactory(destinationClient.getClientProvider(), Executors.newSingleThreadExecutor(), mock(), typeManager.getMapper(), chunkSizeInBytes, validator);
9393

9494
sourceClient.createBucket(sourceBucketName);
9595
destinationClient.createBucket(destinationBucketName);
@@ -111,7 +111,7 @@ void shouldCopyEntireS3Bucket() {
111111
objectNames.add(OBJECT_PREFIX + OBJECT_NAME);
112112
objectNames.add(OBJECT_FOLDER_NAME + OBJECT_PREFIX + OBJECT_NAME);
113113

114-
for (String objectName : objectNames) {
114+
for (var objectName : objectNames) {
115115
sourceClient.putStringOnBucket(sourceBucketName, objectName, objectContent);
116116
}
117117

extensions/data-plane/data-plane-aws-s3/src/test/java/org/eclipse/edc/connector/dataplane/aws/s3/S3DataSinkFactoryTest.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import static org.assertj.core.api.Assertions.assertThat;
3838
import static org.assertj.core.api.Assertions.assertThatThrownBy;
3939
import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat;
40+
import static org.eclipse.edc.spi.types.domain.DataAddress.EDC_DATA_ADDRESS_SECRET;
4041
import static org.eclipse.edc.validator.spi.Violation.violation;
4142
import static org.mockito.ArgumentMatchers.any;
4243
import static org.mockito.Mockito.mock;
@@ -51,7 +52,7 @@ class S3DataSinkFactoryTest {
5152
private final DataAddressValidatorRegistry validator = mock();
5253

5354
private final S3DataSinkFactory factory = new S3DataSinkFactory(clientProvider, mock(), mock(),
54-
vault, typeManager.getMapper(), 1024, validator);
55+
typeManager.getMapper(), 1024, validator);
5556

5657
@Test
5758
void validate_shouldSucceed_whenValidatorSucceeds() {
@@ -78,10 +79,11 @@ void validate_shouldFail_whenValidatorFails() {
7879
}
7980

8081
@Test
81-
void createSink_shouldGetTheSecretTokenFromTheVault() {
82-
var destination = TestFunctions.s3DataAddressWithCredentials();
82+
void createSink_shouldGetTheSecretTokenFromTheDataAddress() {
8383
var secretToken = new AwsSecretToken("accessKeyId", "secretAccessKey");
84-
when(vault.resolveSecret(destination.getKeyName())).thenReturn(typeManager.writeValueAsString(secretToken));
84+
var destination = TestFunctions.s3DataAddressWithCredentials().toBuilder()
85+
.property(EDC_DATA_ADDRESS_SECRET, typeManager.writeValueAsString(secretToken))
86+
.build();
8587
when(validator.validateDestination(any())).thenReturn(ValidationResult.success());
8688
var request = createRequest(destination);
8789

@@ -97,10 +99,11 @@ void createSink_shouldGetTheSecretTokenFromTheVault() {
9799
}
98100

99101
@Test
100-
void createSink_shouldGetTheTemporarySecretTokenFromTheVault() {
101-
var destination = TestFunctions.s3DataAddressWithCredentials();
102+
void createSink_shouldGetTheTemporarySecretTokenFromTheDataAddress() {
102103
var temporaryKey = new AwsTemporarySecretToken("temporaryId", "temporarySecret", "temporaryToken", 10);
103-
when(vault.resolveSecret(destination.getKeyName())).thenReturn(typeManager.writeValueAsString(temporaryKey));
104+
var destination = TestFunctions.s3DataAddressWithCredentials().toBuilder()
105+
.property(EDC_DATA_ADDRESS_SECRET, typeManager.writeValueAsString(temporaryKey))
106+
.build();
104107
when(validator.validateDestination(any())).thenReturn(ValidationResult.success());
105108
var request = createRequest(destination);
106109

@@ -117,7 +120,6 @@ void createSink_shouldGetTheTemporarySecretTokenFromTheVault() {
117120

118121
@Test
119122
void createSink_shouldCreateDataSinkWithCredentialsInDataAddressIfTheresNoSecret() {
120-
when(vault.resolveSecret(any())).thenReturn(null);
121123
when(validator.validateDestination(any())).thenReturn(ValidationResult.success());
122124
var destination = TestFunctions.s3DataAddressWithCredentials();
123125
var request = createRequest(destination);

0 commit comments

Comments
 (0)