Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 24980609 authored by Alessandro Padula's avatar Alessandro Padula
Browse files

Merge branch 'develop' into 'main'

From develop into main

See merge request !4
parents 493c9596 f23cd487
Branches
Tags v1.0.1
1 merge request!4From develop into main
Pipeline #298902 passed
{"openapi":"3.0.1","info":{"title":"EDC Connector Adapter Application API","description":"OpenApi documentation for the EDC Connector Adapter Application API","version":"1.0"},"servers":[{"url":"https://edc-connector-adapter.dev.simpl-europe.eu"}],"paths":{"/api/v1/registration/register":{"post":{"tags":["Registation Controller"],"summary":"Register a SD json and return it enriched by EDC registration data","description":"Registers asset and policies into the provider EDC, creates a contract definition on EDC connector","operationId":"register","parameters":[{"name":"ecosystem","in":"query","description":"Ecosystem name","required":true,"schema":{"type":"string","description":"Ecosystem name","example":"simpl"},"example":"simpl"},{"name":"shapeFileName","in":"query","description":"File name","required":true,"schema":{"type":"string","description":"File name","example":"data-offeringShape.ttl"},"example":"data-offeringShape.ttl"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"jsonFile":{"type":"string","description":"SD json file","format":"binary"}}}}}},"responses":{"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Successfully registered SD json","content":{"application/json":{"schema":{"type":"object"},"examples":{"SD json file registered":{"description":"SD json file registered","value":"SD json file registered"}}}}}}}},"/api/v1/configuration/participant":{"get":{"tags":["Configuration Controller"],"summary":"Return the configured EDC participant id","description":"Return the configured EDC participant id to be used as Assigner in ODRL policies","operationId":"getParticipant","responses":{"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"errorTitle":{"type":"string"},"errorDescription":{"type":"string"}}}}}}
\ No newline at end of file
{"openapi":"3.0.1","info":{"title":"EDC Connector Adapter Application API","description":"OpenApi documentation for the EDC Connector Adapter Application API","version":"1.0"},"servers":[{"url":"https://edc-connector-adapter.dev.simpl-europe.eu"}],"paths":{"/api/v1/registration/register":{"post":{"tags":["Registation Controller"],"summary":"Register a SD json and return it enriched by EDC registration data","description":"Registers asset and policies into the provider EDC, creates a contract definition on EDC connector","operationId":"register","parameters":[{"name":"ecosystem","in":"query","description":"Ecosystem name","required":true,"schema":{"type":"string","description":"Ecosystem name","example":"simpl"},"example":"simpl"},{"name":"shapeFileName","in":"query","description":"File name","required":true,"schema":{"type":"string","description":"File name","example":"data-offeringShape.ttl"},"example":"data-offeringShape.ttl"}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"jsonFile":{"type":"string","description":"SD json file","format":"binary"}}}}}},"responses":{"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"Successfully registered SD json","content":{"application/json":{"schema":{"type":"object"},"examples":{"SD json file registered":{"description":"SD json file registered","value":"SD json file registered"}}}}}}}},"/api/v1/configuration/participant":{"get":{"tags":["Configuration Controller"],"summary":"Return the configured EDC participant id","description":"Return the configured EDC participant id to be used as Assigner in ODRL policies","operationId":"getParticipant","responses":{"500":{"description":"Internal Server Error","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Service Unavailable","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"200":{"description":"OK","content":{"application/json":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"ErrorResponse":{"type":"object","properties":{"errorTitle":{"type":"string"},"errorDescription":{"type":"string"}}}}}}
\ No newline at end of file
PROJECT_VERSION_NUMBER="1.0.0"
\ No newline at end of file
PROJECT_VERSION_NUMBER="1.0.1"
\ No newline at end of file
......@@ -20,8 +20,10 @@ public class ConfigurationControllerImpl extends AbstractController implements C
@LogRequest
@Override
public ResponseEntity<Participant> getParticipant() throws EDCConnectorException {
log.debug("getParticipant(): invoking edcConnectorService.getParticipant()");
Participant result = edcConnectorService.getParticipant();
log.debug("getParticipant(): returning {}", result);
return ResponseEntity.ok(result);
}
}
......@@ -31,9 +31,19 @@ public class RegistationControllerImpl extends AbstractController implements Reg
try (InputStream inputStream = jsonFile.getInputStream()) {
String sdJsonLd = new String(inputStream.readAllBytes(), StandardCharsets.UTF_8);
log.debug(
"register(): invoking edcConnectorService.register() for ecosystem '{}', shapeFileName '{}' and sdJsonLd {}",
ecosystem,
shapeFileName,
sdJsonLd);
sdJsonLd = edcConnectorService.register(sdJsonLd, ecosystem, shapeFileName);
log.debug(
"register(): invoking edcConnectorService.enrich() for ecosystem '{}' and sdJsonLd {}",
ecosystem,
sdJsonLd);
sdJsonLd = edcConnectorService.enrich(sdJsonLd, ecosystem);
log.debug("register(): returning OK response with sdJsonLd {}", sdJsonLd);
return ResponseEntity.ok(sdJsonLd);
}
}
......@@ -41,7 +51,7 @@ public class RegistationControllerImpl extends AbstractController implements Reg
@Override
@LogRequest(httpStatus = HttpStatus.SERVICE_UNAVAILABLE)
public BaseResponse<ErrorResponse> edcRegistrationException(HttpServletRequest request, EDCConnectorException e) {
log.error("edcRegistrationException() for request " + request.getRequestURL(), e);
log.error("edcRegistrationException() for request url '{}'", request.getRequestURL(), e);
return createFaultResponse(
request,
HttpStatus.SERVICE_UNAVAILABLE,
......
......@@ -76,6 +76,13 @@ public class EDCConnectorServiceImpl implements EDCConnectorService {
@Override
public String register(String sdJsonLd, String ecosystem, String shapeFileName)
throws InvalidSDJsonException, EDCConnectorException, JsonProcessingException {
log.debug(
"register() for ecosystem '{}', shapeFileName '{}' and sdJsonLd {}",
ecosystem,
shapeFileName,
sdJsonLd);
JSONObject sdJsonLdObj = createJSONObject(sdJsonLd);
String ns;
......@@ -112,12 +119,15 @@ public class EDCConnectorServiceImpl implements EDCConnectorService {
servicePolicyObj.put(ns + "access-policy", objectMapper.writeValueAsString(accessPolicy));
servicePolicyObj.put(ns + "usage-policy", objectMapper.writeValueAsString(usagePolicy));
return sdJsonLdObj.toString();
sdJsonLd = sdJsonLdObj.toString();
log.debug("register(): returning sdJsonLd {}", sdJsonLd);
return sdJsonLd;
}
@Override
@Cacheable
public Participant getParticipant() throws EDCConnectorException {
log.debug("getParticipant(): returning configured edcConnectorParticipantId '{}'", edcConnectorParticipantId);
return Participant.builder()
// hoping in the future we can get this value from an EDC connector API
.id(edcConnectorParticipantId)
......@@ -187,10 +197,13 @@ public class EDCConnectorServiceImpl implements EDCConnectorService {
String type = "asset";
try {
log.debug("registerAssetDefinition(): invoking edcConnectorClient.register() for {}", assetDefinition);
ResponseEntity<String> response = edcConnectorClient.register(assetDefinition);
String responseBody = getRegistrationResponseBody(type, response);
log.debug("registerAsset(): received response body {}", responseBody);
log.debug("registerAssetDefinition(): received response body {}", responseBody);
return JsonPath.read(responseBody, RESPONSE_ID_PATH);
} catch (EDCConnectorException e) {
throw e;
} catch (FeignException e) {
......@@ -215,10 +228,13 @@ public class EDCConnectorServiceImpl implements EDCConnectorService {
odrlPolicy.setType("Set");
PolicyDefinition policyDefinition = new PolicyDefinition(odrlPolicy);
try {
log.debug("registerPolicyDefinition(): invoking edcConnectorClient.register() for {}", policyDefinition);
ResponseEntity<String> response = edcConnectorClient.register(policyDefinition);
String responseBody = getRegistrationResponseBody(type, response);
log.debug("registerPolicyDefinition(): received response body {}", responseBody);
return JsonPath.read(responseBody, RESPONSE_ID_PATH);
} catch (EDCConnectorException e) {
throw e;
} catch (FeignException e) {
......@@ -235,9 +251,15 @@ public class EDCConnectorServiceImpl implements EDCConnectorService {
ContractDefinition contractDefinition =
new ContractDefinition(assetRegistrationId, accessPolicyRegistrationId, usagePolicyRegistrationId);
try {
log.debug(
"registerContractDefinition(): invoking edcConnectorClient.register() for assetRegistrationId '{}', accessPolicyRegistrationId '{}' and usagePolicyRegistrationId '{}'",
assetRegistrationId,
accessPolicyRegistrationId,
usagePolicyRegistrationId);
ResponseEntity<String> response = edcConnectorClient.register(contractDefinition);
String responseBody = getRegistrationResponseBody(type, response);
log.debug("registerContractDefinition(): received response body {}", responseBody);
return JsonPath.read(responseBody, RESPONSE_ID_PATH);
} catch (EDCConnectorException e) {
throw e;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment