diff --git a/EtsiServerGen/patches/WorldAnalysisYaml.patch b/EtsiServerGen/patches/WorldAnalysisYaml.patch new file mode 100644 index 0000000000000000000000000000000000000000..e2010f79518823062bea371d1804195367122d7a --- /dev/null +++ b/EtsiServerGen/patches/WorldAnalysisYaml.patch @@ -0,0 +1,16 @@ +diff --git a/API/worldanalysis/worldanalysisopenapi.yaml b/API/worldanalysis/worldanalysisopenapi.yaml +index 436b258..e141fc1 100644 +--- a/API/worldanalysis/worldanalysisopenapi.yaml ++++ b/API/worldanalysis/worldanalysisopenapi.yaml +@@ -140,7 +140,10 @@ paths: + description: Mode representing the context of the Relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device) + required: true + schema: +- $ref: '../common/commonopenapi.yaml#/components/schemas/Mode_WorldAnalysis' ++ description: Mode representing the context of the relocalization information (AR device to WorldAnchor/Trackable or WorldAnchor/Trackable to AR device) ++ type: string ++ enum: [TRACKABLES_TO_DEVICE, DEVICE_TO_TRACKABLES] ++ example: TRACKABLES_TO_DEVICE + responses: + '200': + description: Successful operation. diff --git a/EtsiServerGen/patches/applyPatches.sh b/EtsiServerGen/patches/applyPatches.sh index f46e3ff201b11b759344f60e8a58ba70f7617dbc..6843d6c6611e77af4d2bd0880ec037e48d65c787 100755 --- a/EtsiServerGen/patches/applyPatches.sh +++ b/EtsiServerGen/patches/applyPatches.sh @@ -1,4 +1,5 @@ #!/bin/bash patch -u ../api/DefaultApi.h -i fixHeaderDefaultApi.patch patch -u ../api/DefaultApi.cpp -i fixCppDefaultApi.patch -patch -u ../api/PoseApi.cpp -i fixCppPoseApi.patch \ No newline at end of file +patch -u ../api/PoseApi.cpp -i fixCppPoseApi.patch +#patch -u ../api/PoseApi.h -i fixHeaderPoseApi.patch \ No newline at end of file diff --git a/EtsiServerGen/patches/applyYamlPatch.sh b/EtsiServerGen/patches/applyYamlPatch.sh new file mode 100755 index 0000000000000000000000000000000000000000..fe8412c6a13acf613ae822e74fca4d0e14ee6b37 --- /dev/null +++ b/EtsiServerGen/patches/applyYamlPatch.sh @@ -0,0 +1,2 @@ +#!/bin/bash +cp ../arf005/API/worldanalysis/worldanalysisopenapi.yaml ../arf005/API/worldanalysis/worldanalysisopenapiPatched.yaml && patch -u ../arf005/API/worldanalysis/worldanalysisopenapiPatched.yaml -i ./patches/WorldAnalysisYaml.patch \ No newline at end of file diff --git a/EtsiServerGen/patches/fixCppPoseApi.patch b/EtsiServerGen/patches/fixCppPoseApi.patch index 9c0693234bdf69fe8142afb92aed2a3d72532f24..b308545d08d5b96f89648f014286e45323fa73c5 100644 --- a/EtsiServerGen/patches/fixCppPoseApi.patch +++ b/EtsiServerGen/patches/fixCppPoseApi.patch @@ -1,11 +1,11 @@ ---- PoseApi.cpp 2024-08-29 17:22:20.037445629 +0200 -+++ PoseApi_corrected.cpp 2024-08-29 16:56:57.582073400 +0200 -@@ -453,7 +453,7 @@ - std::vector<GetPoses_uuid_parameter_inner> uuid; +--- PoseApi.cpp 2024-09-17 15:11:41.869045502 +0200 ++++ PoseApi_corrected.cpp 2024-09-17 15:12:57.909058480 +0200 +@@ -468,7 +468,7 @@ + std::vector<UuidAndMode> uuid; std::vector<std::string> uuid_temp; boost::split(uuid_temp, uuid_raw, boost::is_any_of(",")); -- std::transform(uuid_temp.begin(), uuid_temp.end(), std::back_inserter(uuid), [](const auto& i){ GetPoses_uuid_parameter_inner ret; ret.fromString(i); return ret;}); -+ std::transform(uuid_temp.begin(), uuid_temp.end(), std::back_inserter(uuid), [](const auto& i){ GetPoses_uuid_parameter_inner ret; ret.setUuid(i); return ret;}); +- std::transform(uuid_temp.begin(), uuid_temp.end(), std::back_inserter(uuid), [](const auto& i){ UuidAndMode ret; ret.fromString(i); return ret;}); ++ std::transform(uuid_temp.begin(), uuid_temp.end(), std::back_inserter(uuid), [](const auto& i){ UuidAndMode ret; ret.fromJsonString(i); return ret;}); // Getting the headers std::string token = request->get_header("token", ""); std::string sessionID = request->get_header("sessionID", ""); diff --git a/arf005 b/arf005 index 11d0dac99c94ccf7efcda826bf5bfdb56fde30cb..0430c599248eecaf5a0cb7ea41ff88b87efaec4c 160000 --- a/arf005 +++ b/arf005 @@ -1 +1 @@ -Subproject commit 11d0dac99c94ccf7efcda826bf5bfdb56fde30cb +Subproject commit 0430c599248eecaf5a0cb7ea41ff88b87efaec4c diff --git a/package.json b/package.json index bf8a8f5246b0cd7464aa35dc74b6c049ffe83fc4..005301cb66327ab6aaa21f3a455357ea0563ebe1 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "description": "ISG ARF World Analysis Cpp Server", "main": "index.js", "scripts": { - "generate": "cd EtsiServerGen && java -jar /usr/local/lib/node_modules/@openapitools/openapi-generator-cli/versions/7.5.0.jar generate -i ../arf005/API/worldanalysis/worldanalysisopenapi.yaml --skip-validate-spec --type-mappings=set=std::vector -g cpp-restbed-server -o . && cd patches && ./applyPatches.sh", + "generate": "cd EtsiServerGen && ./patches/applyYamlPatch.sh && java -jar /usr/local/lib/node_modules/@openapitools/openapi-generator-cli/versions/7.5.0.jar generate -i ../arf005/API/worldanalysis/worldanalysisopenapiPatched.yaml --skip-validate-spec --type-mappings=set=std::vector -g cpp-restbed-server -o . && cd patches && ./applyPatches.sh", "build": "cd EtsiServerGen && conan install . --build=missing && cd build && cmake .. --preset conan-release && cd Release && cmake --build . && sudo make install" }, "devDependencies": {