From cae97f340bcc4f5cd54edcf5919c3d5d5bb88ef6 Mon Sep 17 00:00:00 2001 From: Ronja Quensel Date: Wed, 21 Sep 2022 11:10:53 +0200 Subject: [PATCH 1/4] feature: add toBuilder for resource definitions --- .../transfer/core/TestResourceDefinition.java | 7 +++- .../blob/ObjectStorageResourceDefinition.java | 12 +++++- .../blob/ObjectStorageProvisionerTest.java | 4 ++ .../ObjectStorageResourceDefinitionTest.java | 37 +++++++++++++++++++ .../impl/HttpProviderResourceDefinition.java | 12 +++++- .../impl/HttpProviderProvisionerTest.java | 5 ++- .../HttpProviderResourceDefinitionTest.java | 15 ++++++++ .../provision/S3BucketResourceDefinition.java | 13 ++++++- .../S3BucketResourceDefinitionTest.java | 37 +++++++++++++++++++ .../domain/transfer/ResourceDefinition.java | 10 +++++ .../transfer/TestResourceDefinition.java | 7 +++- 11 files changed, 152 insertions(+), 7 deletions(-) create mode 100644 extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinitionTest.java create mode 100644 extensions/control-plane/provision/s3-provision/src/test/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinitionTest.java diff --git a/core/control-plane/transfer/src/test/java/org/eclipse/dataspaceconnector/transfer/core/TestResourceDefinition.java b/core/control-plane/transfer/src/test/java/org/eclipse/dataspaceconnector/transfer/core/TestResourceDefinition.java index 5699dade375..9d90ad4f78a 100644 --- a/core/control-plane/transfer/src/test/java/org/eclipse/dataspaceconnector/transfer/core/TestResourceDefinition.java +++ b/core/control-plane/transfer/src/test/java/org/eclipse/dataspaceconnector/transfer/core/TestResourceDefinition.java @@ -23,7 +23,12 @@ @JsonTypeName("dataspaceconnector:testresourcedefinition") @JsonDeserialize(builder = TestResourceDefinition.Builder.class) public class TestResourceDefinition extends ResourceDefinition { - + + @Override + public > B toBuilder() { + return null; + } + @JsonPOJOBuilder(withPrefix = "") public static class Builder extends ResourceDefinition.Builder { private Builder() { diff --git a/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java b/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java index 89db1cf104c..c3e75d83e8d 100644 --- a/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java +++ b/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java @@ -9,6 +9,7 @@ * * Contributors: * Microsoft Corporation - initial API and implementation + * Fraunhofer Institute for Software and Systems Engineering - add toBuilder method * */ @@ -30,7 +31,16 @@ public String getContainerName() { public String getAccountName() { return accountName; } - + + @Override + public Builder toBuilder() { + return Builder.newInstance() + .id(id) + .transferProcessId(transferProcessId) + .containerName(containerName) + .accountName(accountName); + } + public static class Builder extends ResourceDefinition.Builder { private Builder() { diff --git a/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageProvisionerTest.java b/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageProvisionerTest.java index eee19adc417..8c91c7161ac 100644 --- a/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageProvisionerTest.java +++ b/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageProvisionerTest.java @@ -53,6 +53,10 @@ void setup() { void canProvision() { assertThat(provisioner.canProvision(new ObjectStorageResourceDefinition())).isTrue(); assertThat(provisioner.canProvision(new ResourceDefinition() { + @Override + public > B toBuilder() { + return null; + } })).isFalse(); } diff --git a/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinitionTest.java b/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinitionTest.java new file mode 100644 index 00000000000..c070970c260 --- /dev/null +++ b/extensions/control-plane/provision/blob-provision/src/test/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinitionTest.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2022 Fraunhofer Institute for Software and Systems Engineering + * + * 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 Institute for Software and Systems Engineering - initial API and implementation + * + */ + +package org.eclipse.dataspaceconnector.provision.azure.blob; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class ObjectStorageResourceDefinitionTest { + + @Test + void toBuilder_verifyEqualResourceDefinition() { + var definition = ObjectStorageResourceDefinition.Builder.newInstance() + .id("id") + .transferProcessId("tp-id") + .accountName("account") + .containerName("container") + .build(); + var builder = definition.toBuilder(); + var rebuiltDefinition = builder.build(); + + assertThat(rebuiltDefinition).usingRecursiveComparison().isEqualTo(definition); + } + +} diff --git a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java index 55f7fb819b2..bfe4853896b 100644 --- a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java +++ b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java @@ -9,6 +9,7 @@ * * Contributors: * Microsoft Corporation - initial API and implementation + * Fraunhofer Institute for Software and Systems Engineering - add toBuilder method * */ @@ -36,7 +37,16 @@ private HttpProviderResourceDefinition() { public String getAssetId() { return assetId; } - + + @Override + public Builder toBuilder() { + return Builder.newInstance() + .id(id) + .transferProcessId(transferProcessId) + .dataAddressType(dataAddressType) + .assetId(assetId); + } + @JsonPOJOBuilder(withPrefix = "") public static class Builder extends AbstractHttpResourceDefinition.Builder { diff --git a/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderProvisionerTest.java b/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderProvisionerTest.java index f810d326262..4640f60c974 100644 --- a/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderProvisionerTest.java +++ b/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderProvisionerTest.java @@ -200,7 +200,10 @@ private HttpProvisionedContentResource createProvisionedResource() { private static class TestResourceDefinition extends ResourceDefinition { - + @Override + public > B toBuilder() { + return null; + } } private static class TestProvisionedResource extends ProvisionedResource { diff --git a/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinitionTest.java b/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinitionTest.java index 964c1cf5c3c..0ac6344868f 100644 --- a/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinitionTest.java +++ b/extensions/control-plane/provision/http-provisioner/src/test/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinitionTest.java @@ -9,6 +9,7 @@ * * Contributors: * Microsoft Corporation - initial API and implementation + * Fraunhofer Institute for Software and Systems Engineering - add test * */ @@ -37,4 +38,18 @@ void verifySerializeDeserialize() throws JsonProcessingException { assertThat(deserialized.getDataAddressType()).isEqualTo("test"); } + + @Test + void toBuilder_verifyEqualResourceDefinition() { + var definition = HttpProviderResourceDefinition.Builder.newInstance() + .id("id") + .transferProcessId("tp-id") + .assetId("asset") + .dataAddressType("type") + .build(); + var builder = definition.toBuilder(); + var rebuiltDefinition = builder.build(); + + assertThat(rebuiltDefinition).usingRecursiveComparison().isEqualTo(definition); + } } diff --git a/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java b/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java index c4241941dd4..c49e0a5ceb2 100644 --- a/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java +++ b/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java @@ -9,6 +9,7 @@ * * Contributors: * Microsoft Corporation - initial API and implementation + * Fraunhofer Institute for Software and Systems Engineering - add toBuilder method * */ @@ -37,8 +38,16 @@ public String getRegionId() { public String getBucketName() { return bucketName; } - - + + @Override + public Builder toBuilder() { + return Builder.newInstance() + .id(id) + .transferProcessId(transferProcessId) + .regionId(regionId) + .bucketName(bucketName); + } + public static class Builder extends ResourceDefinition.Builder { private Builder() { diff --git a/extensions/control-plane/provision/s3-provision/src/test/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinitionTest.java b/extensions/control-plane/provision/s3-provision/src/test/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinitionTest.java new file mode 100644 index 00000000000..45caea9fdda --- /dev/null +++ b/extensions/control-plane/provision/s3-provision/src/test/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinitionTest.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2022 Fraunhofer Institute for Software and Systems Engineering + * + * 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 Institute for Software and Systems Engineering - initial API and implementation + * + */ + +package org.eclipse.dataspaceconnector.aws.s3.provision; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class S3BucketResourceDefinitionTest { + + @Test + void toBuilder_verifyEqualResourceDefinition() { + var definition = S3BucketResourceDefinition.Builder.newInstance() + .id("id") + .transferProcessId("tp-id") + .regionId("region") + .bucketName("bucket") + .build(); + var builder = definition.toBuilder(); + var rebuiltDefinition = builder.build(); + + assertThat(rebuiltDefinition).usingRecursiveComparison().isEqualTo(definition); + } + +} diff --git a/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java b/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java index 10365415187..64d8a36da39 100644 --- a/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java +++ b/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java @@ -9,6 +9,7 @@ * * Contributors: * Microsoft Corporation - initial API and implementation + * Fraunhofer Institute for Software and Systems Engineering - add toBuilder method * */ @@ -41,6 +42,15 @@ public String getTransferProcessId() { void setTransferProcessId(String transferProcessId) { this.transferProcessId = transferProcessId; } + + /** + * Converts the resource definition to a builder to allow for easy modification. + * + * @param the type of resource definition. + * @param the respective builder type. + * @return the builder. + */ + public abstract > B toBuilder(); @JsonPOJOBuilder public static class Builder> { diff --git a/spi/control-plane/transfer-spi/src/test/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/TestResourceDefinition.java b/spi/control-plane/transfer-spi/src/test/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/TestResourceDefinition.java index 3303f1b721c..dc261f43d34 100644 --- a/spi/control-plane/transfer-spi/src/test/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/TestResourceDefinition.java +++ b/spi/control-plane/transfer-spi/src/test/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/TestResourceDefinition.java @@ -22,7 +22,12 @@ @JsonTypeName("dataspaceconnector:testresourcedefinition") @JsonDeserialize(builder = TestResourceDefinition.Builder.class) class TestResourceDefinition extends ResourceDefinition { - + + @Override + public > B toBuilder() { + return null; + } + @JsonPOJOBuilder(withPrefix = "") public static class Builder extends ResourceDefinition.Builder { private Builder() { From 8d5154f04cd1d1c659884c8449f51e7180904715 Mon Sep 17 00:00:00 2001 From: Ronja Quensel Date: Thu, 22 Sep 2022 12:56:10 +0200 Subject: [PATCH 2/4] chore: set builder properties in declaring classes --- .../blob/ObjectStorageResourceDefinition.java | 5 ++--- .../http/impl/AbstractHttpResourceDefinition.java | 5 +++++ .../http/impl/HttpProviderResourceDefinition.java | 6 ++---- .../s3/provision/S3BucketResourceDefinition.java | 5 ++--- .../types/domain/transfer/ResourceDefinition.java | 14 ++++++++++++++ 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java b/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java index c3e75d83e8d..4ef7d5e1b40 100644 --- a/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java +++ b/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java @@ -34,11 +34,10 @@ public String getAccountName() { @Override public Builder toBuilder() { - return Builder.newInstance() - .id(id) - .transferProcessId(transferProcessId) + var builder = Builder.newInstance() .containerName(containerName) .accountName(accountName); + return super.toBuilder(builder); } public static class Builder extends ResourceDefinition.Builder { diff --git a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java index baca3c71324..28d78de275a 100644 --- a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java +++ b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java @@ -39,6 +39,11 @@ public String getDataAddressType() { public String getTransferProcessId() { return transferProcessId; } + + protected > B toBuilder(B builder) { + return super.toBuilder(builder) + .dataAddressType(dataAddressType); + } @JsonPOJOBuilder(withPrefix = "") public static class Builder> extends ResourceDefinition.Builder { diff --git a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java index bfe4853896b..f69ff54b8c0 100644 --- a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java +++ b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java @@ -40,11 +40,9 @@ public String getAssetId() { @Override public Builder toBuilder() { - return Builder.newInstance() - .id(id) - .transferProcessId(transferProcessId) - .dataAddressType(dataAddressType) + var builder = Builder.newInstance() .assetId(assetId); + return super.toBuilder(builder); } @JsonPOJOBuilder(withPrefix = "") diff --git a/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java b/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java index c49e0a5ceb2..4051623d470 100644 --- a/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java +++ b/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java @@ -41,11 +41,10 @@ public String getBucketName() { @Override public Builder toBuilder() { - return Builder.newInstance() - .id(id) - .transferProcessId(transferProcessId) + var builder = Builder.newInstance() .regionId(regionId) .bucketName(bucketName); + return super.toBuilder(builder); } public static class Builder extends ResourceDefinition.Builder { diff --git a/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java b/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java index 64d8a36da39..651f38487b6 100644 --- a/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java +++ b/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java @@ -51,6 +51,20 @@ void setTransferProcessId(String transferProcessId) { * @return the builder. */ public abstract > B toBuilder(); + + /** + * Sets the base class properties on a sub class builder. + * + * @param builder the builder. + * @param the type of resource definition. + * @param the respective builder type. + * @return the builder with class properties set. + */ + protected > B toBuilder(B builder) { + return builder + .id(id) + .transferProcessId(transferProcessId); + } @JsonPOJOBuilder public static class Builder> { From 6e0202aa7379e61f39a5de91c6f1966fdd6a9522 Mon Sep 17 00:00:00 2001 From: Ronja Quensel Date: Fri, 23 Sep 2022 10:09:03 +0200 Subject: [PATCH 3/4] refactor: refactor toBuilder methods --- .../provision/azure/blob/ObjectStorageResourceDefinition.java | 3 +-- .../provision/http/impl/AbstractHttpResourceDefinition.java | 4 ++-- .../provision/http/impl/HttpProviderResourceDefinition.java | 3 +-- .../aws/s3/provision/S3BucketResourceDefinition.java | 3 +-- .../spi/types/domain/transfer/ResourceDefinition.java | 2 +- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java b/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java index 4ef7d5e1b40..c354c3208ec 100644 --- a/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java +++ b/extensions/control-plane/provision/blob-provision/src/main/java/org/eclipse/dataspaceconnector/provision/azure/blob/ObjectStorageResourceDefinition.java @@ -34,10 +34,9 @@ public String getAccountName() { @Override public Builder toBuilder() { - var builder = Builder.newInstance() + return initializeBuilder(new Builder()) .containerName(containerName) .accountName(accountName); - return super.toBuilder(builder); } public static class Builder extends ResourceDefinition.Builder { diff --git a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java index 28d78de275a..20a92b95118 100644 --- a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java +++ b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/AbstractHttpResourceDefinition.java @@ -40,8 +40,8 @@ public String getTransferProcessId() { return transferProcessId; } - protected > B toBuilder(B builder) { - return super.toBuilder(builder) + protected > B initializeBuilder(B builder) { + return super.initializeBuilder(builder) .dataAddressType(dataAddressType); } diff --git a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java index f69ff54b8c0..4ae69fa5054 100644 --- a/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java +++ b/extensions/control-plane/provision/http-provisioner/src/main/java/org/eclipse/dataspaceconnector/transfer/provision/http/impl/HttpProviderResourceDefinition.java @@ -40,9 +40,8 @@ public String getAssetId() { @Override public Builder toBuilder() { - var builder = Builder.newInstance() + return initializeBuilder(new Builder()) .assetId(assetId); - return super.toBuilder(builder); } @JsonPOJOBuilder(withPrefix = "") diff --git a/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java b/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java index 4051623d470..5493ce1df05 100644 --- a/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java +++ b/extensions/control-plane/provision/s3-provision/src/main/java/org/eclipse/dataspaceconnector/aws/s3/provision/S3BucketResourceDefinition.java @@ -41,10 +41,9 @@ public String getBucketName() { @Override public Builder toBuilder() { - var builder = Builder.newInstance() + return initializeBuilder(new Builder()) .regionId(regionId) .bucketName(bucketName); - return super.toBuilder(builder); } public static class Builder extends ResourceDefinition.Builder { diff --git a/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java b/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java index 651f38487b6..ed37d087afb 100644 --- a/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java +++ b/spi/control-plane/transfer-spi/src/main/java/org/eclipse/dataspaceconnector/spi/types/domain/transfer/ResourceDefinition.java @@ -60,7 +60,7 @@ void setTransferProcessId(String transferProcessId) { * @param the respective builder type. * @return the builder with class properties set. */ - protected > B toBuilder(B builder) { + protected > B initializeBuilder(B builder) { return builder .id(id) .transferProcessId(transferProcessId); From d8ddaab5e4b1c094ada6fb2d864e3684c47efa9b Mon Sep 17 00:00:00 2001 From: Ronja Quensel Date: Fri, 23 Sep 2022 10:52:17 +0200 Subject: [PATCH 4/4] chore: add toBuilder to new test definition --- .../dataspaceconnector/transfer/store/TestFunctions.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/spi/control-plane/transfer-spi/src/testFixtures/java/org/eclipse/dataspaceconnector/transfer/store/TestFunctions.java b/spi/control-plane/transfer-spi/src/testFixtures/java/org/eclipse/dataspaceconnector/transfer/store/TestFunctions.java index 93ee8e6dcec..7cb12f136a1 100644 --- a/spi/control-plane/transfer-spi/src/testFixtures/java/org/eclipse/dataspaceconnector/transfer/store/TestFunctions.java +++ b/spi/control-plane/transfer-spi/src/testFixtures/java/org/eclipse/dataspaceconnector/transfer/store/TestFunctions.java @@ -111,7 +111,12 @@ public static TransferProcess initialTransferProcess(String processId, String da @JsonTypeName("dataspaceconnector:testresourcedef") @JsonDeserialize(builder = TestResourceDef.Builder.class) public static class TestResourceDef extends ResourceDefinition { - + + @Override + public > B toBuilder() { + return null; + } + @JsonPOJOBuilder(withPrefix = "") public static class Builder extends ResourceDefinition.Builder { private Builder() {