Search in sources :

Example 21 with Uri

use of com.b2international.snowowl.fhir.core.model.dt.Uri in project snow-owl by b2ihealthcare.

the class FhirMetadataController method initCache.

private Holder initCache() {
    final Holder holder = new Holder();
    // XXX: we know that the subclass is instantiated (in SnowOwlApiConfig)
    final OpenAPI openAPI = ((SnowOwlOpenApiWebMvcResource) openApiWebMvcResource).getOpenApi();
    final Collection<Resource> resources = collectResources(openAPI);
    final Collection<OperationDefinition> operationDefinitions = collectOperationDefinitions(openAPI);
    final Rest.Builder restBuilder = Rest.builder().mode(RestfulCapabilityMode.SERVER).resources(resources);
    holder.operationMap = newHashMap();
    for (final OperationDefinition operationDefinition : operationDefinitions) {
        for (final Code code : operationDefinition.getResources()) {
            final String key = code.getCodeValue() + operationDefinition.getName();
            holder.operationMap.put(key, operationDefinition);
            restBuilder.addOperation(com.b2international.snowowl.fhir.core.model.capabilitystatement.Operation.builder().name(operationDefinition.getName()).definition(buildOperationUrl(code, operationDefinition)).build());
        }
    }
    final String serverVersion = Platform.getBundle(CoreActivator.PLUGIN_ID).getVersion().toString();
    String description = ApplicationContext.getServiceForClass(SnowOwlConfiguration.class).getDescription();
    holder.capabilityStatement = CapabilityStatement.builder().name("FHIR Capability statement for Snow Owl© Terminology Server").status(PublicationStatus.ACTIVE).experimental(false).kind(CapabilityStatementKind.INSTANCE.getCode()).fhirVersion("4.0.1").addInstantiate(new Uri("http://hl7.org/fhir/CapabilityStatement/terminology-server")).software(Software.builder().name("Snow Owl©").version(serverVersion).build()).implementation(Implementation.builder().url("https://b2i.sg").description(description).build()).addFormat(new Code(AbstractFhirController.APPLICATION_FHIR_JSON)).addRest(restBuilder.build()).build();
    return holder;
}
Also used : SnowOwlOpenApiWebMvcResource(com.b2international.snowowl.core.rest.SnowOwlOpenApiWebMvcResource) OpenApiWebMvcResource(org.springdoc.webmvc.api.OpenApiWebMvcResource) SnowOwlOpenApiWebMvcResource(com.b2international.snowowl.core.rest.SnowOwlOpenApiWebMvcResource) Code(com.b2international.snowowl.fhir.core.model.dt.Code) Uri(com.b2international.snowowl.fhir.core.model.dt.Uri) OpenAPI(io.swagger.v3.oas.models.OpenAPI) OperationDefinition(com.b2international.snowowl.fhir.core.model.operationdefinition.OperationDefinition) SnowOwlConfiguration(com.b2international.snowowl.core.config.SnowOwlConfiguration)

Aggregations

Uri (com.b2international.snowowl.fhir.core.model.dt.Uri)21 FhirTest (com.b2international.snowowl.fhir.tests.FhirTest)15 Test (org.junit.Test)15 Code (com.b2international.snowowl.fhir.core.model.dt.Code)10 OperationOutcomeCode (com.b2international.snowowl.fhir.core.codesystems.OperationOutcomeCode)4 JsonPath (io.restassured.path.json.JsonPath)3 Designation (com.b2international.snowowl.fhir.core.model.Designation)2 Extension (com.b2international.snowowl.fhir.core.model.Extension)2 IntegerExtension (com.b2international.snowowl.fhir.core.model.IntegerExtension)2 StringExtension (com.b2international.snowowl.fhir.core.model.StringExtension)2 CodeSystem (com.b2international.snowowl.fhir.core.model.codesystem.CodeSystem)2 Coding (com.b2international.snowowl.fhir.core.model.dt.Coding)2 SnowOwlConfiguration (com.b2international.snowowl.core.config.SnowOwlConfiguration)1 SnowOwlOpenApiWebMvcResource (com.b2international.snowowl.core.rest.SnowOwlOpenApiWebMvcResource)1 IssueSeverity (com.b2international.snowowl.fhir.core.codesystems.IssueSeverity)1 IssueType (com.b2international.snowowl.fhir.core.codesystems.IssueType)1 BadRequestException (com.b2international.snowowl.fhir.core.exceptions.BadRequestException)1 ValidationException (com.b2international.snowowl.fhir.core.exceptions.ValidationException)1 Bundle (com.b2international.snowowl.fhir.core.model.Bundle)1 Issue (com.b2international.snowowl.fhir.core.model.Issue)1