Loading pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -196,7 +196,7 @@ <dependency> <groupId>org.etsi.osl.hypo.api</groupId> <artifactId>tmf.schema</artifactId> <version>2.5.0</version> <version>2.5.1</version> </dependency> <dependency> Loading src/main/java/org/etsi/osl/hypo/api/tmf/common/api/startup/DataLoader.java +23 −11 Original line number Diff line number Diff line Loading @@ -10,8 +10,10 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Stream; import java.util.Set; import java.util.stream.Collectors; import org.eclipse.microprofile.config.inject.ConfigProperty; import org.eclipse.microprofile.config.spi.Converter; import org.etsi.osl.hypo.api.tmf.common.api.helpers.FileReaderHelper; Loading Loading @@ -110,8 +112,11 @@ public class DataLoader { } }) .toList(); logger.infof("created service specifications %s", serviceSpecificationsList); Set<String> specificationNames = serviceSpecificationsList.stream() .map(ServiceSpecification::getName) .collect(Collectors.toSet()); logger.infof("created service specifications %s", specificationNames); } private void populateServiceCandidates() { Loading @@ -131,8 +136,10 @@ public class DataLoader { } }) .toList(); Set<String> candidateNames = serviceCandidatesList.stream().map(ServiceCandidate::getName).collect(Collectors.toSet()); logger.infof("created service candidate %s", serviceCandidatesList); logger.infof("created service candidate %s", candidateNames); } private void populateServiceCategories() { Loading @@ -152,8 +159,10 @@ public class DataLoader { } }) .toList(); Set<String> categoryNames = serviceCategoryList.stream().map(ServiceCategory::getName).collect(Collectors.toSet()); logger.infof("created service categories %s", serviceCategoryList); logger.infof("created service categories %s", categoryNames); } private void populateServiceCatalogs() { Loading @@ -174,12 +183,14 @@ public class DataLoader { }) .toList(); logger.infof("created service catalogs %s", serviceCatalogList); Set<String> catalogNames = serviceCatalogList.stream().map(ServiceCatalog::getName).collect(Collectors.toSet()); logger.infof("created service catalogs %s", catalogNames); } private void populateOrganizations() { logger.infof("Initializing Parties"); List<Organization> relatedPartyEntityList = logger.infof("Initializing organizations"); List<Organization> organizations = getFilesStream(rootFile, ORGANIZATIONS_SUBDIRECTORY).stream() .map( file -> { Loading @@ -194,13 +205,14 @@ public class DataLoader { }) .toList(); logger.infof("created related parties %s", relatedPartyEntityList); Set<String> collected = organizations.stream().map(Organization::getName).collect(Collectors.toSet()); logger.infof("created organizations %s", collected); } private List<File> getFilesStream(File rootFilePath, String subdirectory) { File[] array = FileReaderHelper.getFileSubDirectory(rootFilePath, subdirectory).listFiles(); List<File> fileStream = (List<File>) (array != null ? Arrays.stream(array) : Stream.empty()).toList(); List<File> fileStream = array != null ? Arrays.stream(array).toList() : Collections.emptyList(); logger.infof("Subdirectory %s has size of files %s", subdirectory, fileStream.size()); return fileStream; } Loading src/main/java/org/etsi/osl/hypo/api/tmf/party/api/rest/OrganizationResource.java +12 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class OrganizationResource { OrganizationResponse createdOrganization = organizationService.handlePostRequest(organizationRequest, authHeader); logger.debugf("POST Organization Response : %s", createdOrganization.toString()); logger.debugf( logger.infof( "POST Organization Operation with name: %s is Successful", createdOrganization.getName()); return Response.ok(createdOrganization).status(Response.Status.CREATED).build(); } Loading @@ -96,7 +96,9 @@ public class OrganizationResource { schema = @Schema(implementation = OrganizationResource.class, type = SchemaType.ARRAY))) public Response getAll(@RestQuery String fields, @Context UriInfo uriInfo) { logger.infof("GET request to retrieve all organizations"); Map<String, String> criteriaParams = UtilService.getRequestedCriteriaForFiltering(uriInfo); logger.infof("GET success to retrieve all organizations"); return Response.ok(organizationService.getByCriteria(fields, criteriaParams)).build(); } Loading Loading @@ -126,7 +128,8 @@ public class OrganizationResource { Map<String, String> criteriaParams = UtilService.getRequestedCriteriaForFiltering(uriInfo); OrganizationResponse retrievedOrganization = organizationService.getByIdAndCriteria(id, fields, criteriaParams); logger.infof("Get Response for id %s: %s", id, retrievedOrganization); logger.infof("GET Response for id %s: %s", id, retrievedOrganization); logger.infof("GET Request success for id %s", id); return Response.ok(retrievedOrganization).build(); } Loading Loading @@ -164,9 +167,13 @@ public class OrganizationResource { mediaType = APPLICATION_JSON, schema = @Schema(implementation = ErrorMessage.class))) public Response update(@Valid Organization organizationRequest, @RestPath String id) { logger.infof("Update Request for organization with id : %s", id); logger.infof("Update Request Order Body : %s", organizationRequest.toString()); return Response.ok(organizationService.updateOrganization(id, organizationRequest)).build(); logger.infof("PATCH Request for organization with id : %s", id); logger.debugf("Update Request Order Body : %s", organizationRequest); OrganizationResponse organizationResponse = organizationService.updateOrganization(id, organizationRequest); logger.debugf("Update Response Order Body : %s", organizationResponse); logger.infof("PATCH Success for organization with id : %s", id); return Response.ok(organizationResponse).build(); } @DELETE Loading src/main/java/org/etsi/osl/hypo/api/tmf/party/api/services/OrganizationService.java +20 −4 Original line number Diff line number Diff line Loading @@ -92,11 +92,21 @@ public class OrganizationService { @Transactional public Organization findOrCreateOrganization(Organization organization) { String organizationId = organization.getId(); String organizationName = organization.getName(); logger.infof( "Will find or create organization with id %s and name %s", organizationId, organizationName); AtomicReference<Organization> retrievedOrganization = new AtomicReference<>(new Organization()); Optional<Organization> organizationRetrieved = organizationRepository.findById(organizationId); organizationRetrieved.ifPresentOrElse( retrievedOrganization::set, () -> retrievedOrganization.set(createOrganization(organization))); Optional<Organization> optionalOrganization = organizationRepository.findById(organizationId); optionalOrganization.ifPresentOrElse( organizationRetrieved -> { logger.infof("Retrieved organization with id %s", organizationId); retrievedOrganization.set(organizationRetrieved); }, () -> { Organization organization1 = createOrganization(organization); retrievedOrganization.set(organization1); }); return retrievedOrganization.get(); } Loading Loading @@ -185,6 +195,9 @@ public class OrganizationService { organizationMapper.organizationToRelatedParty(organization); relatedPartyService.findOrCreateRelatedPartyEntity(relatedPartyEntity); organizationRepository.persist(organization); logger.infof( "Persisted organization with id %s and name %s", organization.getId(), organization.getName()); return organization; } catch (Exception e) { throw new RuntimeException(e); Loading Loading @@ -409,6 +422,9 @@ public class OrganizationService { // add back characteristics for POST response clonedOrganization.getPartyCharacteristic().addAll(partyCharacteristicsCredentials); logger.infof( "Successfully persisted organization with id %s and name %s", organization.getId(), organization.getName()); return clonedOrganization; } Loading src/main/java/org/etsi/osl/hypo/api/tmf/services/catalog/api/rest/ServiceSpecificationResource.java +7 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,13 @@ public class ServiceSpecificationResource { @Content( mediaType = APPLICATION_JSON, schema = @Schema(implementation = ErrorMessage.class))) @APIResponse( responseCode = "409", description = "Conflict", content = @Content( mediaType = APPLICATION_JSON, schema = @Schema(implementation = ErrorMessage.class))) public Response delete(@RestPath String id) { serviceSpecificationService.getResponseFromDeleteRequest(id); logger.info("Successful delete service specification with id : " + id); Loading Loading
pom.xml +1 −1 Original line number Diff line number Diff line Loading @@ -196,7 +196,7 @@ <dependency> <groupId>org.etsi.osl.hypo.api</groupId> <artifactId>tmf.schema</artifactId> <version>2.5.0</version> <version>2.5.1</version> </dependency> <dependency> Loading
src/main/java/org/etsi/osl/hypo/api/tmf/common/api/startup/DataLoader.java +23 −11 Original line number Diff line number Diff line Loading @@ -10,8 +10,10 @@ import java.io.FileNotFoundException; import java.io.FileReader; import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.stream.Stream; import java.util.Set; import java.util.stream.Collectors; import org.eclipse.microprofile.config.inject.ConfigProperty; import org.eclipse.microprofile.config.spi.Converter; import org.etsi.osl.hypo.api.tmf.common.api.helpers.FileReaderHelper; Loading Loading @@ -110,8 +112,11 @@ public class DataLoader { } }) .toList(); logger.infof("created service specifications %s", serviceSpecificationsList); Set<String> specificationNames = serviceSpecificationsList.stream() .map(ServiceSpecification::getName) .collect(Collectors.toSet()); logger.infof("created service specifications %s", specificationNames); } private void populateServiceCandidates() { Loading @@ -131,8 +136,10 @@ public class DataLoader { } }) .toList(); Set<String> candidateNames = serviceCandidatesList.stream().map(ServiceCandidate::getName).collect(Collectors.toSet()); logger.infof("created service candidate %s", serviceCandidatesList); logger.infof("created service candidate %s", candidateNames); } private void populateServiceCategories() { Loading @@ -152,8 +159,10 @@ public class DataLoader { } }) .toList(); Set<String> categoryNames = serviceCategoryList.stream().map(ServiceCategory::getName).collect(Collectors.toSet()); logger.infof("created service categories %s", serviceCategoryList); logger.infof("created service categories %s", categoryNames); } private void populateServiceCatalogs() { Loading @@ -174,12 +183,14 @@ public class DataLoader { }) .toList(); logger.infof("created service catalogs %s", serviceCatalogList); Set<String> catalogNames = serviceCatalogList.stream().map(ServiceCatalog::getName).collect(Collectors.toSet()); logger.infof("created service catalogs %s", catalogNames); } private void populateOrganizations() { logger.infof("Initializing Parties"); List<Organization> relatedPartyEntityList = logger.infof("Initializing organizations"); List<Organization> organizations = getFilesStream(rootFile, ORGANIZATIONS_SUBDIRECTORY).stream() .map( file -> { Loading @@ -194,13 +205,14 @@ public class DataLoader { }) .toList(); logger.infof("created related parties %s", relatedPartyEntityList); Set<String> collected = organizations.stream().map(Organization::getName).collect(Collectors.toSet()); logger.infof("created organizations %s", collected); } private List<File> getFilesStream(File rootFilePath, String subdirectory) { File[] array = FileReaderHelper.getFileSubDirectory(rootFilePath, subdirectory).listFiles(); List<File> fileStream = (List<File>) (array != null ? Arrays.stream(array) : Stream.empty()).toList(); List<File> fileStream = array != null ? Arrays.stream(array).toList() : Collections.emptyList(); logger.infof("Subdirectory %s has size of files %s", subdirectory, fileStream.size()); return fileStream; } Loading
src/main/java/org/etsi/osl/hypo/api/tmf/party/api/rest/OrganizationResource.java +12 −5 Original line number Diff line number Diff line Loading @@ -77,7 +77,7 @@ public class OrganizationResource { OrganizationResponse createdOrganization = organizationService.handlePostRequest(organizationRequest, authHeader); logger.debugf("POST Organization Response : %s", createdOrganization.toString()); logger.debugf( logger.infof( "POST Organization Operation with name: %s is Successful", createdOrganization.getName()); return Response.ok(createdOrganization).status(Response.Status.CREATED).build(); } Loading @@ -96,7 +96,9 @@ public class OrganizationResource { schema = @Schema(implementation = OrganizationResource.class, type = SchemaType.ARRAY))) public Response getAll(@RestQuery String fields, @Context UriInfo uriInfo) { logger.infof("GET request to retrieve all organizations"); Map<String, String> criteriaParams = UtilService.getRequestedCriteriaForFiltering(uriInfo); logger.infof("GET success to retrieve all organizations"); return Response.ok(organizationService.getByCriteria(fields, criteriaParams)).build(); } Loading Loading @@ -126,7 +128,8 @@ public class OrganizationResource { Map<String, String> criteriaParams = UtilService.getRequestedCriteriaForFiltering(uriInfo); OrganizationResponse retrievedOrganization = organizationService.getByIdAndCriteria(id, fields, criteriaParams); logger.infof("Get Response for id %s: %s", id, retrievedOrganization); logger.infof("GET Response for id %s: %s", id, retrievedOrganization); logger.infof("GET Request success for id %s", id); return Response.ok(retrievedOrganization).build(); } Loading Loading @@ -164,9 +167,13 @@ public class OrganizationResource { mediaType = APPLICATION_JSON, schema = @Schema(implementation = ErrorMessage.class))) public Response update(@Valid Organization organizationRequest, @RestPath String id) { logger.infof("Update Request for organization with id : %s", id); logger.infof("Update Request Order Body : %s", organizationRequest.toString()); return Response.ok(organizationService.updateOrganization(id, organizationRequest)).build(); logger.infof("PATCH Request for organization with id : %s", id); logger.debugf("Update Request Order Body : %s", organizationRequest); OrganizationResponse organizationResponse = organizationService.updateOrganization(id, organizationRequest); logger.debugf("Update Response Order Body : %s", organizationResponse); logger.infof("PATCH Success for organization with id : %s", id); return Response.ok(organizationResponse).build(); } @DELETE Loading
src/main/java/org/etsi/osl/hypo/api/tmf/party/api/services/OrganizationService.java +20 −4 Original line number Diff line number Diff line Loading @@ -92,11 +92,21 @@ public class OrganizationService { @Transactional public Organization findOrCreateOrganization(Organization organization) { String organizationId = organization.getId(); String organizationName = organization.getName(); logger.infof( "Will find or create organization with id %s and name %s", organizationId, organizationName); AtomicReference<Organization> retrievedOrganization = new AtomicReference<>(new Organization()); Optional<Organization> organizationRetrieved = organizationRepository.findById(organizationId); organizationRetrieved.ifPresentOrElse( retrievedOrganization::set, () -> retrievedOrganization.set(createOrganization(organization))); Optional<Organization> optionalOrganization = organizationRepository.findById(organizationId); optionalOrganization.ifPresentOrElse( organizationRetrieved -> { logger.infof("Retrieved organization with id %s", organizationId); retrievedOrganization.set(organizationRetrieved); }, () -> { Organization organization1 = createOrganization(organization); retrievedOrganization.set(organization1); }); return retrievedOrganization.get(); } Loading Loading @@ -185,6 +195,9 @@ public class OrganizationService { organizationMapper.organizationToRelatedParty(organization); relatedPartyService.findOrCreateRelatedPartyEntity(relatedPartyEntity); organizationRepository.persist(organization); logger.infof( "Persisted organization with id %s and name %s", organization.getId(), organization.getName()); return organization; } catch (Exception e) { throw new RuntimeException(e); Loading Loading @@ -409,6 +422,9 @@ public class OrganizationService { // add back characteristics for POST response clonedOrganization.getPartyCharacteristic().addAll(partyCharacteristicsCredentials); logger.infof( "Successfully persisted organization with id %s and name %s", organization.getId(), organization.getName()); return clonedOrganization; } Loading
src/main/java/org/etsi/osl/hypo/api/tmf/services/catalog/api/rest/ServiceSpecificationResource.java +7 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,13 @@ public class ServiceSpecificationResource { @Content( mediaType = APPLICATION_JSON, schema = @Schema(implementation = ErrorMessage.class))) @APIResponse( responseCode = "409", description = "Conflict", content = @Content( mediaType = APPLICATION_JSON, schema = @Schema(implementation = ErrorMessage.class))) public Response delete(@RestPath String id) { serviceSpecificationService.getResponseFromDeleteRequest(id); logger.info("Successful delete service specification with id : " + id); Loading