Skip to content

Commit 5051fe6

Browse files
authored
refactor: make callback address URI (#55)
1 parent 3a9e321 commit 5051fe6

16 files changed

Lines changed: 56 additions & 38 deletions

src/main/java/org/eclipse/dataplane/Dataplane.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ public class Dataplane {
6565
private final DataFlowStore dataFlowStore = new InMemoryDataFlowStore(objectMapper);
6666
private final ControlPlaneStore controlPlaneStore = new InMemoryControlPlaneStore(objectMapper);
6767
private String id;
68-
private String endpoint;
68+
private URI endpoint;
6969
private final Set<String> transferTypes = new HashSet<>();
7070
private final Set<String> labels = new HashSet<>();
7171

@@ -306,7 +306,7 @@ private Result<Void> notifyControlPlane(String action, DataFlow dataFlow, Object
306306
.map(body -> {
307307
var endpoint = dataFlow.callbackEndpointFor(action);
308308
var requestBuilder = HttpRequest.newBuilder()
309-
.uri(URI.create(endpoint))
309+
.uri(endpoint)
310310
.header("content-type", "application/json")
311311
.POST(HttpRequest.BodyPublishers.ofString(body));
312312

@@ -384,7 +384,7 @@ public Builder id(String id) {
384384
return this;
385385
}
386386

387-
public Builder endpoint(String endpoint) {
387+
public Builder endpoint(URI endpoint) {
388388
dataplane.endpoint = endpoint;
389389
return this;
390390
}

src/main/java/org/eclipse/dataplane/domain/controlplane/ControlPlane.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,22 @@
1717
import com.fasterxml.jackson.databind.annotation.JsonPOJOBuilder;
1818
import org.eclipse.dataplane.domain.registration.AuthorizationProfile;
1919

20+
import java.net.URI;
2021
import java.util.ArrayList;
2122
import java.util.List;
2223
import java.util.Objects;
2324

2425
public class ControlPlane {
2526

2627
private String id;
27-
private String endpoint;
28+
private URI endpoint;
2829
private final List<AuthorizationProfile> authorizations = new ArrayList<>();
2930

3031
public String getId() {
3132
return id;
3233
}
3334

34-
public String getEndpoint() {
35+
public URI getEndpoint() {
3536
return endpoint;
3637
}
3738

@@ -66,7 +67,7 @@ public Builder id(String id) {
6667
return this;
6768
}
6869

69-
public Builder endpoint(String endpoint) {
70+
public Builder endpoint(URI endpoint) {
7071
controlPlane.endpoint = endpoint;
7172
return this;
7273
}

src/main/java/org/eclipse/dataplane/domain/dataflow/DataFlow.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import org.eclipse.dataplane.domain.DataAddress;
1919

20+
import java.net.URI;
2021
import java.util.List;
2122
import java.util.Map;
2223
import java.util.Objects;
@@ -32,7 +33,7 @@ public class DataFlow {
3233
private String participantId;
3334
private String counterPartyId;
3435
private String dataspaceContext;
35-
private String callbackAddress;
36+
private URI callbackAddress;
3637
private String suspensionReason;
3738
private String terminationReason;
3839
private List<String> labels;
@@ -55,7 +56,7 @@ public DataAddress getDataAddress() {
5556
return dataAddress;
5657
}
5758

58-
public String getCallbackAddress() {
59+
public URI getCallbackAddress() {
5960
return callbackAddress;
6061
}
6162

@@ -153,8 +154,8 @@ public void setDataAddress(DataAddress dataAddress) {
153154
this.dataAddress = dataAddress;
154155
}
155156

156-
public String callbackEndpointFor(String action) {
157-
return getCallbackAddress() + "/transfers/" + getId() + "/dataflow/" + action;
157+
public URI callbackEndpointFor(String action) {
158+
return URI.create(getCallbackAddress() + "/transfers/" + getId() + "/dataflow/" + action);
158159
}
159160

160161
public static class Builder {
@@ -224,7 +225,7 @@ public Builder dataAddress(DataAddress dataAddress) {
224225
return this;
225226
}
226227

227-
public Builder callbackAddress(String callbackAddress) {
228+
public Builder callbackAddress(URI callbackAddress) {
228229
dataFlow.callbackAddress = callbackAddress;
229230
return this;
230231
}

src/main/java/org/eclipse/dataplane/domain/dataflow/DataFlowPrepareMessage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package org.eclipse.dataplane.domain.dataflow;
1616

17+
import java.net.URI;
1718
import java.util.List;
1819
import java.util.Map;
1920

@@ -25,7 +26,7 @@ public record DataFlowPrepareMessage(
2526
String processId,
2627
String agreementId,
2728
String datasetId,
28-
String callbackAddress, // TODO: make URI!
29+
URI callbackAddress,
2930
String transferType,
3031
List<String> labels,
3132
Map<String, Object> metadata

src/main/java/org/eclipse/dataplane/domain/dataflow/DataFlowStartMessage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
import org.eclipse.dataplane.domain.DataAddress;
1818

19+
import java.net.URI;
1920
import java.util.List;
2021
import java.util.Map;
2122

@@ -27,7 +28,7 @@ public record DataFlowStartMessage(
2728
String processId,
2829
String agreementId,
2930
String datasetId,
30-
String callbackAddress,
31+
URI callbackAddress,
3132
String transferType,
3233
DataAddress dataAddress,
3334
List<String> labels,

src/main/java/org/eclipse/dataplane/domain/registration/ControlPlaneRegistrationMessage.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@
1414

1515
package org.eclipse.dataplane.domain.registration;
1616

17+
import java.net.URI;
1718
import java.util.List;
1819

1920
import static java.util.Collections.emptyList;
2021

2122
public record ControlPlaneRegistrationMessage(
2223
String controlplaneId,
23-
String endpoint,
24+
URI endpoint,
2425
List<AuthorizationProfile> authorization
2526
) {
26-
public ControlPlaneRegistrationMessage(String controlplaneId, String endpoint) {
27+
public ControlPlaneRegistrationMessage(String controlplaneId, URI endpoint) {
2728
this(controlplaneId, endpoint, emptyList());
2829
}
2930
}

src/main/java/org/eclipse/dataplane/domain/registration/DataPlaneRegistrationMessage.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@
1414

1515
package org.eclipse.dataplane.domain.registration;
1616

17+
import java.net.URI;
1718
import java.util.Set;
1819

1920
public record DataPlaneRegistrationMessage(
2021
String dataplaneId,
21-
String endpoint,
22+
URI endpoint,
2223
Set<String> transferTypes,
2324
Set<String> labels
2425
// TODO: authorization

src/main/java/org/eclipse/dataplane/port/store/ControlPlaneStore.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,14 @@
1717
import org.eclipse.dataplane.domain.Result;
1818
import org.eclipse.dataplane.domain.controlplane.ControlPlane;
1919

20+
import java.net.URI;
21+
2022
public interface ControlPlaneStore {
2123
Result<Void> save(ControlPlane controlPlane);
2224

2325
Result<ControlPlane> findById(String controlplaneId);
2426

2527
Result<Void> delete(String id);
2628

27-
Result<ControlPlane> findByEndpoint(String endpoint);
29+
Result<ControlPlane> findByEndpoint(URI endpoint);
2830
}

src/main/java/org/eclipse/dataplane/port/store/InMemoryControlPlaneStore.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.eclipse.dataplane.domain.controlplane.ControlPlane;
2121
import org.eclipse.dataplane.port.exception.ResourceNotFoundException;
2222

23+
import java.net.URI;
2324
import java.util.HashMap;
2425
import java.util.Map;
2526
import java.util.Objects;
@@ -63,7 +64,7 @@ public Result<Void> delete(String id) {
6364
}
6465

6566
@Override
66-
public Result<ControlPlane> findByEndpoint(String endpoint) {
67+
public Result<ControlPlane> findByEndpoint(URI endpoint) {
6768
return store.values().stream().map(this::deserialize).filter(Result::succeeded)
6869
.map(Result::getContent).filter(it -> Objects.equals(endpoint, it.getEndpoint()))
6970
.findAny().map(Result::success)

src/test/java/org/eclipse/dataplane/ControlPlane.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.eclipse.dataplane.domain.dataflow.DataFlowSuspendMessage;
3030
import org.eclipse.dataplane.domain.dataflow.DataFlowTerminateMessage;
3131

32+
import java.net.URI;
3233
import java.util.concurrent.ExecutorService;
3334
import java.util.concurrent.Executors;
3435
import java.util.function.Predicate;
@@ -87,12 +88,12 @@ public ValidatableResponse providerTerminate(String dataFlowId, DataFlowTerminat
8788
return providerClient.terminate(dataFlowId, terminateMessage);
8889
}
8990

90-
public String providerCallbackAddress() {
91-
return "http://localhost:%d/provider/control-plane".formatted(httpServer.port());
91+
public URI providerCallbackAddress() {
92+
return URI.create("http://localhost:%d/provider/control-plane".formatted(httpServer.port()));
9293
}
9394

94-
public String consumerCallbackAddress() {
95-
return "http://localhost:%d/consumer/control-plane".formatted(httpServer.port());
95+
public URI consumerCallbackAddress() {
96+
return URI.create("http://localhost:%d/consumer/control-plane".formatted(httpServer.port()));
9697
}
9798

9899
@Deprecated(forRemoval = true)

0 commit comments

Comments
 (0)