diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..27072fd --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,40 @@ +{ + "name": "DocRaptor Java", + "image": "mcr.microsoft.com/devcontainers/java:21", + "features": { + "ghcr.io/devcontainers/features/java:1": { + "version": "21", + "jdkDistro": "tem", + "installGradle": "true", + "installMaven": "true", + "additionalVersions": "8" + }, + "ghcr.io/devcontainers/features/git-lfs:1": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "vscjava.vscode-java-pack", + "vscjava.vscode-gradle", + "redhat.java" + ], + "settings": { + "java.configuration.updateBuildConfiguration": "automatic", + "java.compile.nullAnalysis.mode": "automatic", + "java.configuration.runtimes": [ + { + "name": "JavaSE-21", + "path": "/usr/lib/jvm/msopenjdk-21", + "default": true + }, + { + "name": "JavaSE-1.8", + "path": "/usr/lib/jvm/msopenjdk-8" + } + ] + } + } + }, + "postCreateCommand": "echo 'Java 21:' && /usr/lib/jvm/msopenjdk-21/bin/java -version && echo 'Java 8:' && /usr/lib/jvm/msopenjdk-8/bin/java -version", + "remoteUser": "vscode" +} diff --git a/pom.xml b/pom.xml index 1c943bf..36d045a 100644 --- a/pom.xml +++ b/pom.xml @@ -36,10 +36,8 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.1 + 3.14.1 - 1.8 - 1.8 true 128m 512m @@ -47,6 +45,7 @@ -Xlint:all -J-Xss4m + 21 @@ -223,6 +222,11 @@ swagger-annotations ${swagger-annotations-version} + + jakarta.annotation + jakarta.annotation-api + 1.3.5 + diff --git a/src/main/java/com/docraptor/ApiClient.java b/src/main/java/com/docraptor/ApiClient.java index 4f099fe..41b8de3 100644 --- a/src/main/java/com/docraptor/ApiClient.java +++ b/src/main/java/com/docraptor/ApiClient.java @@ -238,8 +238,8 @@ public Authentication getAuthentication(String authName) { */ public void setUsername(String username) { for (Authentication auth : authentications.values()) { - if (auth instanceof HttpBasicAuth) { - ((HttpBasicAuth) auth).setUsername(username); + if (auth instanceof HttpBasicAuth basicAuth) { + basicAuth.setUsername(username); return; } } @@ -252,8 +252,8 @@ public void setUsername(String username) { */ public void setPassword(String password) { for (Authentication auth : authentications.values()) { - if (auth instanceof HttpBasicAuth) { - ((HttpBasicAuth) auth).setPassword(password); + if (auth instanceof HttpBasicAuth basicAuth) { + basicAuth.setPassword(password); return; } } @@ -391,11 +391,11 @@ public String formatDate(Date date) { public String parameterToString(Object param) { if (param == null) { return ""; - } else if (param instanceof Date) { - return formatDate((Date) param); - } else if (param instanceof Collection) { + } else if (param instanceof Date date) { + return formatDate(date); + } else if (param instanceof Collection collection) { StringBuilder b = new StringBuilder(); - for(Object o : (Collection)param) { + for(Object o : collection) { if(b.length() > 0) { b.append(','); } @@ -560,7 +560,7 @@ public Object serialize(Object obj, String contentType, Map form FormDataMultiPart mp = new FormDataMultiPart(); for (Entry param: formParams.entrySet()) { if( param.getValue() instanceof List && !( ( List ) param.getValue() ).isEmpty() - && ( ( List ) param.getValue() ).get( 0 ) instanceof File ) { + && ( ( List ) param.getValue() ).getFirst() instanceof File ) { @SuppressWarnings( "unchecked" ) List files = ( List ) param.getValue(); for( File file : files ) { @@ -594,8 +594,7 @@ private String buildUrl(String path, List queryParams, List collecti String baseURL; if (serverIndex != null) { if (serverIndex < 0 || serverIndex >= servers.size()) { - throw new ArrayIndexOutOfBoundsException(String.format( - "Invalid index %d when selecting the host settings. Must be less than %d", serverIndex, servers.size() + throw new ArrayIndexOutOfBoundsException("Invalid index %d when selecting the host settings. Must be less than %d".formatted(serverIndex, servers.size() )); } baseURL = servers.get(serverIndex).URL(serverVariables); diff --git a/src/main/java/com/docraptor/RFC3339DateFormat.java b/src/main/java/com/docraptor/RFC3339DateFormat.java index 10aeb8f..9a28dfb 100644 --- a/src/main/java/com/docraptor/RFC3339DateFormat.java +++ b/src/main/java/com/docraptor/RFC3339DateFormat.java @@ -14,6 +14,7 @@ import com.fasterxml.jackson.databind.util.StdDateFormat; +import java.io.Serial; import java.text.DateFormat; import java.text.FieldPosition; import java.text.ParsePosition; @@ -23,6 +24,7 @@ import java.util.TimeZone; public class RFC3339DateFormat extends DateFormat { + @Serial private static final long serialVersionUID = 1L; private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC");