2020import jakarta .json .Json ;
2121import jakarta .json .JsonArray ;
2222import jakarta .json .JsonObject ;
23+ import jakarta .json .JsonValue ;
2324import org .eclipse .edc .connector .controlplane .catalog .spi .Dataset ;
2425import org .eclipse .edc .connector .controlplane .contract .spi .types .offer .ContractDefinition ;
2526import org .eclipse .edc .connector .controlplane .policy .spi .PolicyDefinition ;
4142
4243import static io .restassured .RestAssured .given ;
4344import static io .restassured .http .ContentType .JSON ;
44- import static jakarta .json .Json .createArrayBuilder ;
4545import static jakarta .json .Json .createObjectBuilder ;
4646import static org .assertj .core .api .Assertions .assertThat ;
4747import static org .awaitility .Awaitility .await ;
4848import static org .eclipse .edc .connector .controlplane .contract .spi .types .negotiation .ContractNegotiationStates .FINALIZED ;
4949import static org .eclipse .edc .jsonld .spi .JsonLdKeywords .CONTEXT ;
5050import static org .eclipse .edc .jsonld .spi .JsonLdKeywords .ID ;
5151import static org .eclipse .edc .jsonld .spi .JsonLdKeywords .TYPE ;
52- import static org .eclipse .edc .jsonld .spi .JsonLdKeywords .VOCAB ;
5352import static org .eclipse .edc .jsonld .spi .PropertyAndTypeNames .DCAT_DATASET_ATTRIBUTE ;
5453import static org .eclipse .edc .jsonld .spi .PropertyAndTypeNames .ODRL_ASSIGNER_ATTRIBUTE ;
5554import static org .eclipse .edc .jsonld .spi .PropertyAndTypeNames .ODRL_POLICY_ATTRIBUTE ;
@@ -73,6 +72,7 @@ public class Participant {
7372 protected Duration timeout = Duration .ofSeconds (30 );
7473 protected Protocol protocol = new Protocol ("dataspace-protocol-http:2025-1" , "/2025-1" );
7574 protected String managementVersionBasePath = "/v4" ;
75+ protected JsonValue managementContext = Json .createValue (EDC_CONNECTOR_MANAGEMENT_CONTEXT_V2 );
7676
7777 protected Participant () {
7878 }
@@ -129,7 +129,7 @@ public String createAsset(JsonObject requestBody) {
129129 */
130130 public String createAsset (String assetId , Map <String , Object > properties , Map <String , Object > dataAddressProperties ) {
131131 var requestBody = createObjectBuilder ()
132- .add (CONTEXT , "https://w3id.org/edc/connector/management/v2" )
132+ .add (CONTEXT , managementContext )
133133 .add (TYPE , "Asset" )
134134 .add (ID , assetId )
135135 .add ("properties" , createObjectBuilder (properties ))
@@ -156,7 +156,7 @@ public String createAsset(String assetId, Map<String, Object> properties, Map<St
156156 */
157157 public String createPolicyDefinition (JsonObject policy ) {
158158 var requestBody = createObjectBuilder ()
159- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
159+ .add (CONTEXT , managementContext )
160160 .add (TYPE , "PolicyDefinition" )
161161 .add ("policy" , policy )
162162 .build ();
@@ -184,7 +184,7 @@ public String createPolicyDefinition(JsonObject policy) {
184184 */
185185 public String createContractDefinition (String assetId , String definitionId , String accessPolicyId , String contractPolicyId ) {
186186 var requestBody = createObjectBuilder ()
187- .add (CONTEXT , createArrayBuilder (). add ( EDC_CONNECTOR_MANAGEMENT_CONTEXT_V2 ) )
187+ .add (CONTEXT , managementContext )
188188 .add (ID , definitionId )
189189 .add (TYPE , "ContractDefinition" )
190190 .add (EDC_NAMESPACE + "accessPolicyId" , accessPolicyId )
@@ -229,7 +229,7 @@ public JsonArray getCatalogDatasets(Participant provider) {
229229 public JsonArray getCatalogDatasets (Participant provider , JsonObject querySpec ) {
230230 var datasetReference = new AtomicReference <JsonArray >();
231231 var requestBodyBuilder = createObjectBuilder ()
232- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
232+ .add (CONTEXT , managementContext )
233233 .add (TYPE , "CatalogRequest" )
234234 .add ("counterPartyId" , provider .id )
235235 .add ("counterPartyAddress" , provider .getProtocolUrl ())
@@ -272,7 +272,7 @@ public JsonArray getCatalogDatasets(Participant provider, JsonObject querySpec)
272272 */
273273 public JsonObject getDatasetForAsset (Participant provider , String assetId ) {
274274 var requestBody = createObjectBuilder ()
275- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
275+ .add (CONTEXT , managementContext )
276276 .add (TYPE , "DatasetRequest" )
277277 .add (ID , assetId )
278278 .add ("counterPartyId" , provider .id )
@@ -323,7 +323,7 @@ public String initContractNegotiation(Participant provider, String assetId) {
323323 */
324324 public String initContractNegotiation (Participant provider , JsonObject policy ) {
325325 var requestBody = createObjectBuilder ()
326- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
326+ .add (CONTEXT , managementContext )
327327 .add (TYPE , "ContractRequest" )
328328 .add ("counterPartyAddress" , provider .getProtocolUrl ())
329329 .add ("protocol" , protocol .name ())
@@ -387,7 +387,7 @@ public String initiateTransfer(Participant provider, String contractAgreementId,
387387 */
388388 public String initiateTransfer (Participant provider , String contractAgreementId , JsonObject privateProperties , JsonObject destination , String transferType , JsonArray callbacks ) {
389389 var requestBodyBuilder = createObjectBuilder ()
390- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
390+ .add (CONTEXT , managementContext )
391391 .add (TYPE , "TransferRequest" )
392392 .add ("protocol" , protocol .name ())
393393 .add ("contractId" , contractAgreementId )
@@ -430,7 +430,7 @@ public String initiateTransfer(Participant provider, String contractAgreementId,
430430 */
431431 public JsonArray getTransferProcesses () {
432432 var query = createObjectBuilder ()
433- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
433+ .add (CONTEXT , managementContext )
434434 .add (TYPE , "QuerySpec" )
435435 .build ();
436436 return getTransferProcesses (query );
@@ -488,7 +488,7 @@ public String getTransferProcessIdGivenCounterPartyOne(String consumerTransferPr
488488 */
489489 public void suspendTransfer (String id , String reason ) {
490490 var requestBodyBuilder = createObjectBuilder ()
491- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
491+ .add (CONTEXT , managementContext )
492492 .add (TYPE , "SuspendTransfer" )
493493 .add ("reason" , reason );
494494
@@ -519,7 +519,7 @@ public void resumeTransfer(String id) {
519519
520520 public void terminateTransfer (String id ) {
521521 var requestBodyBuilder = createObjectBuilder ()
522- .add (CONTEXT , createObjectBuilder (). add ( VOCAB , EDC_NAMESPACE ) )
522+ .add (CONTEXT , managementContext )
523523 .add (TYPE , "TerminateTransfer" )
524524 .add ("reason" , "any reason" );
525525
@@ -631,6 +631,11 @@ public B managementVersionBasePath(String managementVersionBasePath) {
631631 return self ();
632632 }
633633
634+ public B managementContext (JsonValue managementContext ) {
635+ participant .managementContext = managementContext ;
636+ return self ();
637+ }
638+
634639 public B protocol (String name , String versionPath ) {
635640 participant .protocol = new Protocol (name , versionPath );
636641 return self ();
0 commit comments