From 446ae6e26aa81dcc96891e08ac57b09bdc40139c Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Tue, 9 Jul 2024 17:27:37 +0200
Subject: [PATCH] DOC: update README, BUG: typo in code

---
 README.md                                     | 28 +++++++++++++++++++
 api/pom.xml                                   |  2 +-
 .../fdo/manager/service/fdo/FDOApiImpl.java   |  4 +--
 3 files changed, 31 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index 16eb860..62a5874 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,34 @@ Stop the running service with `CTRL-C`.
 
 ## Troubleshooting
 
+### API Generation on Windows
+
+When running `mvn package` under Microsoft Windows the code generation fails with
+```
+[ERROR] Error resolving schema #/components/schemas/OperationsLogRecord
+java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\Users\Indiscale\Documents\fdo-manager-service-f-windows-api-generation\api/src/main/resourc     es/api.yaml
+    at java.net.URI$Parser.fail (URI.java:2995)
+    at java.net.URI$Parser.checkChars (URI.java:3166)
+    at java.net.URI$Parser.parse (URI.java:3202)
+    at java.net.URI.<init> (URI.java:645)
+...
+```
+
+There seems to be a problem with the maven plugin or the parser. This is a
+known issue, see https://github.com/OpenAPITools/openapi-generator/issues/18161
+
+**Workaround**: change the `api/pom.xml`:
+
+```
+             </goals>
+             <id>buildApi</id>
+             <configuration>
+-              <inputSpec>${basedir}/src/main/resources/api.yaml</inputSpec>
++              <inputSpec>api/src/main/resources/api.yaml</inputSpec>
+               <generatorName>spring</generatorName>
+```
+
+
 ### Exception on startup
 
 When running the mockup repository as described above, the following exception is shown:
diff --git a/api/pom.xml b/api/pom.xml
index 04e1a92..a54e15e 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -42,7 +42,7 @@
         <!--https://openapi-generator.tech/docs/plugins/-->
         <groupId>org.openapitools</groupId>
         <artifactId>openapi-generator-maven-plugin</artifactId>
-        <version>7.3.0</version>
+        <version>7.6.0</version>
         <executions>
           <execution>
             <goals>
diff --git a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java
index 6ea0abf..de139a0 100644
--- a/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java
+++ b/application/src/main/java/com/indiscale/fdo/manager/service/fdo/FDOApiImpl.java
@@ -3,7 +3,7 @@ package com.indiscale.fdo.manager.service.fdo;
 import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo;
 
 import com.indiscale.fdo.manager.DefaultData;
-import com.indiscale.fdo.manager.DefaultMetadat;
+import com.indiscale.fdo.manager.DefaultMetadata;
 import com.indiscale.fdo.manager.api.DigitalObject;
 import com.indiscale.fdo.manager.api.FDO;
 import com.indiscale.fdo.manager.api.FdoProfile;
@@ -44,7 +44,7 @@ class MultipartFileWrapper implements InputStreamSource {
   }
 }
 
-class MetadataWrapper extends DefaultMetadat {
+class MetadataWrapper extends DefaultMetadata {
 
   private MultipartFile file;
 
-- 
GitLab