From 03701b5422b73b47d6840305860f9247c2d8c3a6 Mon Sep 17 00:00:00 2001 From: Sylvain Renault Date: Thu, 5 Sep 2024 13:20:59 +0200 Subject: [PATCH] Implementation of the new API (generator issues). --- openapi | 2 +- .../RelocalizationInformationImpl.cs | 33 ++++++++++--------- .../ControllersImpl/TrackablesImpl.cs | 14 ++++---- .../ControllersImpl/WorldAnchorsImpl.cs | 14 ++++---- .../ControllersImpl/WorldLinksImpl.cs | 14 ++++---- .../ETSI-ARF/Services/TrackableService.cs | 2 +- .../ETSI-ARF/Services/WorldAnchorService.cs | 2 +- .../ETSI-ARF/Services/WorldLinkService.cs | 2 +- .../ETSI.ARF.OpenAPI.WorldStorage/Startup.cs | 2 +- 9 files changed, 43 insertions(+), 42 deletions(-) diff --git a/openapi b/openapi index 073fd72..b639a02 160000 --- a/openapi +++ b/openapi @@ -1 +1 @@ -Subproject commit 073fd7213fd9e6ebc2f8a47d628a650de30c8bc4 +Subproject commit b639a02180c2b5e301c77483b3a2fa645ba94169 diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs index 9a377b3..02a0058 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/RelocalizationInformationImpl.cs @@ -52,13 +52,14 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers /// Operation to retrieve all the relocalization information of one or severals WorldAnchors or Trackables. /// /// - public override IActionResult GetRelocalizationInformation([FromQuery(Name = "uuids")][Required()] List uuids, [FromQuery(Name = "capabilities")][Required()] List capabilities, [FromHeader(Name = "token")] string token) + // old: public override IActionResult GetRelocalizationInformation([FromQuery(Name = "uuids")][Required()] List uuids, [FromQuery(Name = "capabilities")][Required()] List capabilities, [FromHeader(Name = "token")] string token) + public override IActionResult GetRelocalizationInformation([FromQuery(Name = "uuids")][Required()] List uuids, [FromQuery(Name = "capabilities")][Required()] List capabilities, [FromHeader(Name = "token")] string token) { WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService; TrackableService _trackableService = TrackableService.Singleton as TrackableService; var history = new List(); - var result = new GetRelocalizationInformation200Response(); + var result = new RelocalizationInformations(); result.RelocInfo = new List(); foreach (var request in uuids) @@ -88,18 +89,18 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers else if (trackable != null) { history.Add(trackable.UUID); - + Matrix4x4 matrix = Matrix4x4.Identity; var relocalizationInformation = new RelocalizationInformation(); relocalizationInformation.RequestUUID = trackable.UUID; relocalizationInformation.RequestType = TypeWorldStorage.TRACKABLEEnum; - relocalizationInformation.RelocObjects = new List(); + relocalizationInformation.RelocObjects = new List(); if (trackable.Match(capabilities)) { // add itself with matrix identity as Transform3D - var itself = new RelocalizationInformationRelocObjectsInner(); + var itself = new RelocObject(); itself.Trackable = trackable; itself.Mode = request.Mode; itself.Transform3D = new List() @@ -122,12 +123,12 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers } } - return result.RelocInfo.Count > 0 ? new ObjectResult(result) : StatusCode(404, "Not found, could not find UUID in database."); + return result.RelocInfo.Count > 0 ? new ObjectResult(result) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } - private List FindRelocInfo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List capabilities, ref List history) + private List FindRelocInfo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List capabilities, ref List history) { - var results = new List(); + var results = new List(); results.AddRange(FindRelocInfoAsTo(targetUUID, mode, matrix, capabilities, ref history)); results.AddRange(FindRelocInfoAsFrom(targetUUID, mode, matrix, capabilities, ref history)); @@ -136,13 +137,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers } // Check links where the target UUID appeared as "To" - private List FindRelocInfoAsTo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List capabilities, ref List history) + private List FindRelocInfoAsTo(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List capabilities, ref List history) { TrackableService _trackableService = TrackableService.Singleton as TrackableService; WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService; WorldLinkService _worldLinkService = WorldLinkService.Singleton as WorldLinkService; - var results = new List(); + var results = new List(); // Check links where the target UUID appeared as "To" List linksTo; @@ -199,7 +200,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers } // We found a valid trackable, add it to the results - var result = new RelocalizationInformationRelocObjectsInner(); + var result = new RelocObject(); result.Trackable = trackable; result.Mode = mode; result.Transform3D = new List() @@ -226,9 +227,9 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers if (anchor != null) { - + Matrix4x4 m; - m = link.Matrix()*matrix; + m = link.Matrix() * matrix; if (mode == ModeWorldStorage.REQUESTTOTRACKABLESEnum) { @@ -272,13 +273,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers } // Check links where the target UUID appeared as "From" - private List FindRelocInfoAsFrom(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List capabilities, ref List history) + private List FindRelocInfoAsFrom(Guid targetUUID, ModeWorldStorage mode, Matrix4x4 matrix, List capabilities, ref List history) { TrackableService _trackableService = TrackableService.Singleton as TrackableService; WorldAnchorService _worldAnchorService = WorldAnchorService.Singleton as WorldAnchorService; WorldLinkService _worldLinkService = WorldLinkService.Singleton as WorldLinkService; - var results = new List(); + var results = new List(); // Check links where the anchor appeared as "From" List linksTo; @@ -335,7 +336,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers } // We found a valid trackable, add it to the results - var result = new RelocalizationInformationRelocObjectsInner(); + var result = new RelocObject(); result.Trackable = trackable; result.Mode = mode; result.Transform3D = new List() diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs index f6c4bdc..7997e6c 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/TrackablesImpl.cs @@ -75,13 +75,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers Trackable mytrackable = _trackableService.Create(trackable); if (mytrackable == null) { - return StatusCode(409, "UUID already existing!"); + return StatusCode(409, new Error() { Message = "UUID already existing!" }); } - else return StatusCode(200, mytrackable.UUID.ToString()); + else return StatusCode(200, new Error() { Message = mytrackable.UUID.ToString() }); } catch (Exception e) { - return StatusCode(400, e.Message); + return StatusCode(400, new Error() { Message = e.Message }); } } @@ -121,7 +121,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers { result += ", removed object was referenced in " + worldlinkinfo + " and removed there as well"; } - return (count > 0) ? new ObjectResult(result) : StatusCode(404, "Not found, could not find UUID in database."); + return (count > 0) ? new ObjectResult(result) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } /// @@ -130,7 +130,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers public override IActionResult GetTrackableById([FromRoute(Name = "trackableUUID")][Required] Guid trackableUUID, [FromHeader] string token) { Trackable trackable = _trackableService.Get(trackableUUID); - return (null != trackable) ? new ObjectResult(trackable) : StatusCode(404, "Not found, could not find UUID in database."); + return (null != trackable) ? new ObjectResult(trackable) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } /// @@ -152,11 +152,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers long count = _trackableService.Replace(trackable); if (count == 0) { - return StatusCode(404, "Not found, could not find UUID in database."); + return StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } else { - return StatusCode(200, trackable.UUID.ToString()); + return StatusCode(200, new Error() { Message = trackable.UUID.ToString() }); } } } diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs index 0d66633..8d6b265 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldAnchorsImpl.cs @@ -75,13 +75,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers WorldAnchor myworldanchor = _worldAnchorService.Create(worldAnchor); if (myworldanchor == null) { - return StatusCode(409, "UUID alread exexisting!"); + return StatusCode(409, new Error() { Message = "UUID alread exexisting!" }); } - else return StatusCode(200, myworldanchor.UUID.ToString()); + else return StatusCode(200, new Error() { Message = myworldanchor.UUID.ToString() }); } catch (Exception e) { - return StatusCode(400, e.Message); + return StatusCode(400, new Error() { Message = e.Message }); } } @@ -121,7 +121,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers { result += ", but removed object was referenced in " + worldlinkinfo + " and removed there as well"; } - return (count > 0) ? new ObjectResult(result) : StatusCode(404, "Not found, could not find UUID in database."); + return (count > 0) ? new ObjectResult(result) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } /// @@ -130,7 +130,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers public override IActionResult GetWorldAnchorById([FromRoute(Name = "worldAnchorUUID")][Required] Guid worldAnchorUUID, [FromHeader] string token) { WorldAnchor myworldanchor = _worldAnchorService.Get(worldAnchorUUID); - return (null != myworldanchor) ? new ObjectResult(myworldanchor) : StatusCode(404, "Not found, could not find UUID in database."); + return (null != myworldanchor) ? new ObjectResult(myworldanchor) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } /// @@ -152,11 +152,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers long count = _worldAnchorService.Replace(worldAnchor); if (count == 0) { - return StatusCode(404, "Not found, could not find UUID in database."); + return StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } else { - return StatusCode(200, worldAnchor.UUID.ToString()); + return StatusCode(200, new Error() { Message = worldAnchor.UUID.ToString() }); } } diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs index 27ce36e..ef44865 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/ControllersImpl/WorldLinksImpl.cs @@ -74,13 +74,13 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers WorldLink myworldlink = _worldLinkService.Create(worldLink); if (myworldlink == null) { - return StatusCode(409, "UUID already existing!"); + return StatusCode(409, new Error() { Message = "UUID already existing!" }); } - else return StatusCode(200, myworldlink.UUID.ToString()); + else return StatusCode(200, new Error() { Message = myworldlink.UUID.ToString() }); } catch (Exception e) { - return StatusCode(400, e.Message); + return StatusCode(400, new Error() { Message = e.Message}); } } @@ -90,7 +90,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers public override IActionResult DeleteWorldLink([FromRoute(Name = "worldLinkUUID")][Required] Guid worldLinkUUID, [FromHeader] string token) { long count = _worldLinkService.Remove(worldLinkUUID); - return (count > 0) ? new ObjectResult("ok") : StatusCode(404, "Not found, could not find UUID in database."); + return (count > 0) ? new ObjectResult("ok") : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } @@ -141,7 +141,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers } } } - return (null != myworldlink) ? new ObjectResult(myworldlink) : StatusCode(404, "Not found, could not find UUID in database."); + return (null != myworldlink) ? new ObjectResult(myworldlink) : StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } /// @@ -204,11 +204,11 @@ namespace ETSI.ARF.OpenAPI.WorldStorage.Controllers long count = _worldLinkService.Replace(worldLink); if (count == 0) { - return StatusCode(404, "Not found, could not find UUID in database."); + return StatusCode(404, new Error() { Message = "Not found, could not find UUID in database." }); } else { - return StatusCode(200, worldLink.UUID.ToString()); + return StatusCode(200, new Error() { Message = worldLink.UUID.ToString() }); } } } diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/TrackableService.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/TrackableService.cs index c7601cb..3b4fb58 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/TrackableService.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/TrackableService.cs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// Last change: June 2022 +// Last change: June 2024 // using System; diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldAnchorService.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldAnchorService.cs index 2b50133..78defd5 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldAnchorService.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldAnchorService.cs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// Last change: June 2022 +// Last change: June 2024 // using System; diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldLinkService.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldLinkService.cs index dac8abd..7a0f1dd 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldLinkService.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/ETSI-ARF/Services/WorldLinkService.cs @@ -15,7 +15,7 @@ // See the License for the specific language governing permissions and // limitations under the License. // -// Last change: June 2022 +// Last change: June 2024 // using System; diff --git a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs index b2d59f7..ba5250a 100644 --- a/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs +++ b/server/worldstorage/src/ETSI.ARF.OpenAPI.WorldStorage/Startup.cs @@ -180,7 +180,7 @@ namespace ETSI.ARF.OpenAPI.WorldStorage services .AddControllers(options => { - options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT()); + options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT()); options.ModelBinderProviders.Insert(0, new FromJsonBinderProviderT()); }); } -- GitLab