diff --git a/src/LCT.SW360PackageCreator/CreatorValidator.cs b/src/LCT.SW360PackageCreator/CreatorValidator.cs index 12b4a20f..250f8942 100644 --- a/src/LCT.SW360PackageCreator/CreatorValidator.cs +++ b/src/LCT.SW360PackageCreator/CreatorValidator.cs @@ -74,10 +74,10 @@ public static async Task TriggerFossologyValidation(CommonAppSettings appSetting string response = responseData?.Content?.ReadAsStringAsync()?.Result ?? string.Empty; ReleasesAllDetails releaseResponse = JsonConvert.DeserializeObject(response); - validRelease = releaseResponse._embedded.sw360releases - .FirstOrDefault(release => release.clearingState == "APPROVED" && - release._embedded?.sw360attachments != null && - release._embedded.sw360attachments.Any(attachments => attachments.Count != 0)); + validRelease = releaseResponse.Embedded.Sw360releases + .FirstOrDefault(release => release.ClearingState == "APPROVED" && + release.AllReleasesEmbedded?.Sw360attachments != null && + release.AllReleasesEmbedded.Sw360attachments.Any(attachments => attachments.Count != 0)); if (validRelease != null) { @@ -87,7 +87,7 @@ public static async Task TriggerFossologyValidation(CommonAppSettings appSetting { // Check if there are more pages int currentPage = int.Parse(page); - int totalPages = releaseResponse.page.totalPages; + int totalPages = releaseResponse.Page.TotalPages; if (currentPage < totalPages - 1) { page = (currentPage + 1).ToString(); @@ -102,9 +102,9 @@ public static async Task TriggerFossologyValidation(CommonAppSettings appSetting if (validReleaseFound) { - var releaseUrl = validRelease._links.self.href; + var releaseUrl = validRelease.Links.Self.Href; var releaseId = CommonHelper.GetSubstringOfLastOccurance(releaseUrl, "/"); - string sw360link = $"{validRelease.name}:{validRelease.version}:{appSettings.SW360.URL}{ApiConstant.Sw360ReleaseUrlApiSuffix}" + + string sw360link = $"{validRelease.Name}:{validRelease.Version}:{appSettings.SW360.URL}{ApiConstant.Sw360ReleaseUrlApiSuffix}" + $"{releaseId}#/tab-Summary"; FossTriggerStatus fossResult = await sw360CreatorService.TriggerFossologyProcessForValidation(releaseId, sw360link); if (!string.IsNullOrEmpty(fossResult?.Links?.Self?.Href)) diff --git a/src/LCT.SW360PackageCreator/Model/ReleasesAllDetails.cs b/src/LCT.SW360PackageCreator/Model/ReleasesAllDetails.cs index 724d4cf7..7b222dc2 100644 --- a/src/LCT.SW360PackageCreator/Model/ReleasesAllDetails.cs +++ b/src/LCT.SW360PackageCreator/Model/ReleasesAllDetails.cs @@ -7,49 +7,61 @@ using Newtonsoft.Json; using System.Collections.Generic; using System.Diagnostics.CodeAnalysis; +using static LCT.SW360PackageCreator.Model.ReleasesAllDetails; namespace LCT.SW360PackageCreator.Model { public class ReleasesAllDetails { [ExcludeFromCodeCoverage] - public Embedded _embedded { get; set; } - public Page page { get; set; } - public class Embedded + [JsonProperty("_embedded")] + public AllReleasesEmbedded Embedded { get; set; } + [JsonProperty("page")] + public Pagination Page { get; set; } + public class AllReleasesEmbedded { [JsonProperty("sw360:releases")] - public List sw360releases { get; set; } + public List Sw360releases { get; set; } [JsonProperty("sw360:attachments")] - public List> sw360attachments { get; set; } + public List> Sw360attachments { get; set; } } public class Attachment { - public string filename { get; set; } + [JsonProperty("filename")] + public string Filename { get; set; } } public class Links { - public Self self { get; set; } + [JsonProperty("self")] + public Self Self { get; set; } } public class Self { - public string href { get; set; } + [JsonProperty("href")] + public string Href { get; set; } } public class Sw360Release { - public string name { get; set; } - public string version { get; set; } - public string clearingState { get; set; } - public Links _links { get; set; } - public Embedded _embedded { get; set; } + [JsonProperty("name")] + public string Name { get; set; } + [JsonProperty("version")] + public string Version { get; set; } + [JsonProperty("clearingState")] + public string ClearingState { get; set; } + [JsonProperty("_links")] + public Links Links { get; set; } + [JsonProperty("_embedded")] + public AllReleasesEmbedded AllReleasesEmbedded { get; set; } } - public class Page + public class Pagination { - public int totalPages { get; set; } + [JsonProperty("totalPages")] + public int TotalPages { get; set; } } }