From 97461e7b92ab80ac07c40ca5f96a8d8cbe93c85a Mon Sep 17 00:00:00 2001 From: Maris Skvorcovs Date: Tue, 9 Sep 2025 15:56:16 +0300 Subject: [PATCH 1/2] Update build.gradle.kts (#209) -fixed maven repository address --- client/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/build.gradle.kts b/client/build.gradle.kts index 325dbce..36a0797 100755 --- a/client/build.gradle.kts +++ b/client/build.gradle.kts @@ -51,9 +51,9 @@ if (project.hasProperty("regulaforensicsMavenUser")) { repositories { maven { - val releasesRepoUrl = uri("sftp://maven.regulaforensics.com:22/RegulaDocumentReaderWebClient") - val betaRepoUrl = uri("sftp://maven.regulaforensics.com:22/RegulaDocumentReaderWebClient/Beta") - val rcRepoUrl = uri("sftp://maven.regulaforensics.com:22/RegulaDocumentReaderWebClient/RC") + val releasesRepoUrl = uri("sftp://maven-master.regulaforensics.com:22/RegulaDocumentReaderWebClient") + val betaRepoUrl = uri("sftp://maven-master.regulaforensics.com:22/RegulaDocumentReaderWebClient/Beta") + val rcRepoUrl = uri("sftp://maven-master.regulaforensics.com:22/RegulaDocumentReaderWebClient/RC") val nightlyRepoUrl = uri("sftp://ftp.regula.local:22/RegulaDocumentReaderWebClient") name = "regulaforensics" From d2e71f41e509be9ce761976f41769c81a35a0e07 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 11 Sep 2025 06:39:13 +0000 Subject: [PATCH 2/2] Commit: c19a94c4 --- client/.openapi-generator/FILES | 3 +- .../regula/documentreader/webclient/JSON.java | 30 ++- .../webclient/model/BarcodePositionItem.java | 190 +++++++++++++++++ .../model/BarcodePositionResult.java | 195 ++++++++++++++++++ .../model/ContainerListListInner.java | 95 +++++++-- .../webclient/model/ResultItem.java | 2 +- .../webclient/model/RfidApplicationType.java | 9 +- .../webclient/model/RfidDG1.java | 10 +- 8 files changed, 497 insertions(+), 37 deletions(-) create mode 100644 client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionItem.java create mode 100644 client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionResult.java diff --git a/client/.openapi-generator/FILES b/client/.openapi-generator/FILES index 241a200..e38052e 100755 --- a/client/.openapi-generator/FILES +++ b/client/.openapi-generator/FILES @@ -30,6 +30,8 @@ src/main/generated/com/regula/documentreader/webclient/model/AuthenticityCheckRe src/main/generated/com/regula/documentreader/webclient/model/AuthenticityResult.java src/main/generated/com/regula/documentreader/webclient/model/AuthenticityResultType.java src/main/generated/com/regula/documentreader/webclient/model/BarCodeModuleType.java +src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionItem.java +src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionResult.java src/main/generated/com/regula/documentreader/webclient/model/BarcodeType.java src/main/generated/com/regula/documentreader/webclient/model/BcPDF417INFO.java src/main/generated/com/regula/documentreader/webclient/model/BcROIDETECT.java @@ -191,7 +193,6 @@ src/main/generated/com/regula/documentreader/webclient/model/RfidCertificateType src/main/generated/com/regula/documentreader/webclient/model/RfidDG1.java src/main/generated/com/regula/documentreader/webclient/model/RfidDataFile.java src/main/generated/com/regula/documentreader/webclient/model/RfidDataFileType.java -src/main/generated/com/regula/documentreader/webclient/model/RfidDataGroupTypeTag.java src/main/generated/com/regula/documentreader/webclient/model/RfidDistinguishedName.java src/main/generated/com/regula/documentreader/webclient/model/RfidLocation.java src/main/generated/com/regula/documentreader/webclient/model/RfidOrigin.java diff --git a/client/src/main/generated/com/regula/documentreader/webclient/JSON.java b/client/src/main/generated/com/regula/documentreader/webclient/JSON.java index fcb28a9..5c2d4e1 100755 --- a/client/src/main/generated/com/regula/documentreader/webclient/JSON.java +++ b/client/src/main/generated/com/regula/documentreader/webclient/JSON.java @@ -229,6 +229,23 @@ public static GsonBuilder createGson() { getDiscriminatorValue(readElement, "result_type")); } }) + .registerTypeSelector( + com.regula.documentreader.webclient.model.BarcodePositionResult.class, + new TypeSelector< + com.regula.documentreader.webclient.model.BarcodePositionResult>() { + @Override + public Class< + ? extends com.regula.documentreader.webclient.model.BarcodePositionResult> + getClassForElement(JsonElement readElement) { + Map classByDiscriminatorValue = new HashMap(); + classByDiscriminatorValue.put( + "BarcodePositionResult", + com.regula.documentreader.webclient.model.BarcodePositionResult.class); + return getClassByDiscriminator( + classByDiscriminatorValue, + getDiscriminatorValue(readElement, "result_type")); + } + }) .registerTypeSelector( com.regula.documentreader.webclient.model.ByteArrayResult.class, new TypeSelector() { @@ -336,7 +353,7 @@ public static GsonBuilder createGson() { "61", com.regula.documentreader.webclient.model.MRZPositionResult.class); classByDiscriminatorValue.put( "62", - com.regula.documentreader.webclient.model.DocumentPositionResult.class); + com.regula.documentreader.webclient.model.BarcodePositionResult.class); classByDiscriminatorValue.put( "7", com.regula.documentreader.webclient.model.MRZTestQualityResult.class); classByDiscriminatorValue.put( @@ -356,6 +373,9 @@ public static GsonBuilder createGson() { classByDiscriminatorValue.put( "AuthenticityResult", com.regula.documentreader.webclient.model.AuthenticityResult.class); + classByDiscriminatorValue.put( + "BarcodePositionResult", + com.regula.documentreader.webclient.model.BarcodePositionResult.class); classByDiscriminatorValue.put( "ByteArrayResult", com.regula.documentreader.webclient.model.ByteArrayResult.class); @@ -836,7 +856,7 @@ public static GsonBuilder createGson() { "61", com.regula.documentreader.webclient.model.MRZPositionResult.class); classByDiscriminatorValue.put( "62", - com.regula.documentreader.webclient.model.DocumentPositionResult.class); + com.regula.documentreader.webclient.model.BarcodePositionResult.class); classByDiscriminatorValue.put( "7", com.regula.documentreader.webclient.model.MRZTestQualityResult.class); classByDiscriminatorValue.put( @@ -979,6 +999,12 @@ private static Class getClassByDiscriminator( gsonBuilder.registerTypeAdapterFactory( new com.regula.documentreader.webclient.model.AuthenticityResult .CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory( + new com.regula.documentreader.webclient.model.BarcodePositionItem + .CustomTypeAdapterFactory()); + gsonBuilder.registerTypeAdapterFactory( + new com.regula.documentreader.webclient.model.BarcodePositionResult + .CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory( new com.regula.documentreader.webclient.model.BcPDF417INFO.CustomTypeAdapterFactory()); gsonBuilder.registerTypeAdapterFactory( diff --git a/client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionItem.java b/client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionItem.java new file mode 100644 index 0000000..b838244 --- /dev/null +++ b/client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionItem.java @@ -0,0 +1,190 @@ +/* + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 8.1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.regula.documentreader.webclient.model; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.annotations.SerializedName; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.regula.documentreader.webclient.JSON; +import java.io.IOException; +import java.util.HashSet; +import java.util.Objects; + +/** BarcodePositionItem */ +@javax.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.13.0") +public class BarcodePositionItem { + public static final String SERIALIZED_NAME_BARCODE_POSITION = "BarcodePosition"; + + @SerializedName(SERIALIZED_NAME_BARCODE_POSITION) + @javax.annotation.Nonnull + private DocumentPosition barcodePosition; + + public BarcodePositionItem() {} + + public BarcodePositionItem barcodePosition( + @javax.annotation.Nonnull DocumentPosition barcodePosition) { + this.barcodePosition = barcodePosition; + return this; + } + + /** + * Get barcodePosition + * + * @return barcodePosition + */ + @javax.annotation.Nonnull + public DocumentPosition getBarcodePosition() { + return barcodePosition; + } + + public void setBarcodePosition(@javax.annotation.Nonnull DocumentPosition barcodePosition) { + this.barcodePosition = barcodePosition; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BarcodePositionItem barcodePositionItem = (BarcodePositionItem) o; + return Objects.equals(this.barcodePosition, barcodePositionItem.barcodePosition); + } + + @Override + public int hashCode() { + return Objects.hash(barcodePosition); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BarcodePositionItem {\n"); + sb.append(" barcodePosition: ").append(toIndentedString(barcodePosition)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("BarcodePosition"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("BarcodePosition"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to BarcodePositionItem + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!BarcodePositionItem.openapiRequiredFields + .isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException( + String.format( + "The required field(s) %s in BarcodePositionItem is not found in the empty JSON string", + BarcodePositionItem.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : BarcodePositionItem.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException( + String.format( + "The required field `%s` is not found in the JSON string: %s", + requiredField, jsonElement.toString())); + } + } + JsonObject jsonObj = jsonElement.getAsJsonObject(); + // validate the required field `BarcodePosition` + DocumentPosition.validateJsonElement(jsonObj.get("BarcodePosition")); + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!BarcodePositionItem.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'BarcodePositionItem' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter = + gson.getDelegateAdapter(this, TypeToken.get(BarcodePositionItem.class)); + + return (TypeAdapter) + new TypeAdapter() { + @Override + public void write(JsonWriter out, BarcodePositionItem value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public BarcodePositionItem read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + }.nullSafe(); + } + } + + /** + * Create an instance of BarcodePositionItem given an JSON string + * + * @param jsonString JSON string + * @return An instance of BarcodePositionItem + * @throws IOException if the JSON string is invalid with respect to BarcodePositionItem + */ + public static BarcodePositionItem fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, BarcodePositionItem.class); + } + + /** + * Convert an instance of BarcodePositionItem to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionResult.java b/client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionResult.java new file mode 100644 index 0000000..0489a7a --- /dev/null +++ b/client/src/main/generated/com/regula/documentreader/webclient/model/BarcodePositionResult.java @@ -0,0 +1,195 @@ +/* + * Regula Document Reader Web API + * Documents recognition as easy as reading two bytes. # Clients: * [JavaScript](https://github.com/regulaforensics/DocumentReader-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/DocumentReader-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/DocumentReader-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/DocumentReader-web-csharp-client) client for .NET & .NET Core + * + * The version of the OpenAPI document: 8.1.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package com.regula.documentreader.webclient.model; + +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.TypeAdapter; +import com.google.gson.TypeAdapterFactory; +import com.google.gson.annotations.SerializedName; +import com.google.gson.reflect.TypeToken; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import com.regula.documentreader.webclient.JSON; +import java.io.IOException; +import java.util.HashSet; +import java.util.Objects; + +/** Contains information about barcode position on the input image, its center, angle, etc */ +@javax.annotation.Generated( + value = "org.openapitools.codegen.languages.JavaClientCodegen", + comments = "Generator version: 7.13.0") +public class BarcodePositionResult extends ResultItem { + public static final String SERIALIZED_NAME_BARCODE_POSITION = "BarcodePosition"; + + @SerializedName(SERIALIZED_NAME_BARCODE_POSITION) + @javax.annotation.Nonnull + private DocumentPosition barcodePosition; + + public BarcodePositionResult() {} + + public BarcodePositionResult barcodePosition( + @javax.annotation.Nonnull DocumentPosition barcodePosition) { + this.barcodePosition = barcodePosition; + return this; + } + + /** + * Get barcodePosition + * + * @return barcodePosition + */ + @javax.annotation.Nonnull + public DocumentPosition getBarcodePosition() { + return barcodePosition; + } + + public void setBarcodePosition(@javax.annotation.Nonnull DocumentPosition barcodePosition) { + this.barcodePosition = barcodePosition; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + BarcodePositionResult barcodePositionResult = (BarcodePositionResult) o; + return Objects.equals(this.barcodePosition, barcodePositionResult.barcodePosition) + && super.equals(o); + } + + @Override + public int hashCode() { + return Objects.hash(barcodePosition, super.hashCode()); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class BarcodePositionResult {\n"); + sb.append(" ").append(toIndentedString(super.toString())).append("\n"); + sb.append(" barcodePosition: ").append(toIndentedString(barcodePosition)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + + public static HashSet openapiFields; + public static HashSet openapiRequiredFields; + + static { + // a set of all properties/fields (JSON key names) + openapiFields = new HashSet(); + openapiFields.add("buf_length"); + openapiFields.add("light"); + openapiFields.add("list_idx"); + openapiFields.add("page_idx"); + openapiFields.add("result_type"); + openapiFields.add("BarcodePosition"); + + // a set of required properties/fields (JSON key names) + openapiRequiredFields = new HashSet(); + openapiRequiredFields.add("BarcodePosition"); + openapiRequiredFields.add("result_type"); + } + + /** + * Validates the JSON Element and throws an exception if issues found + * + * @param jsonElement JSON Element + * @throws IOException if the JSON Element is invalid with respect to BarcodePositionResult + */ + public static void validateJsonElement(JsonElement jsonElement) throws IOException { + if (jsonElement == null) { + if (!BarcodePositionResult.openapiRequiredFields + .isEmpty()) { // has required fields but JSON element is null + throw new IllegalArgumentException( + String.format( + "The required field(s) %s in BarcodePositionResult is not found in the empty JSON string", + BarcodePositionResult.openapiRequiredFields.toString())); + } + } + + // check to make sure all required properties/fields are present in the JSON string + for (String requiredField : BarcodePositionResult.openapiRequiredFields) { + if (jsonElement.getAsJsonObject().get(requiredField) == null) { + throw new IllegalArgumentException( + String.format( + "The required field `%s` is not found in the JSON string: %s", + requiredField, jsonElement.toString())); + } + } + } + + public static class CustomTypeAdapterFactory implements TypeAdapterFactory { + @SuppressWarnings("unchecked") + @Override + public TypeAdapter create(Gson gson, TypeToken type) { + if (!BarcodePositionResult.class.isAssignableFrom(type.getRawType())) { + return null; // this class only serializes 'BarcodePositionResult' and its subtypes + } + final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class); + final TypeAdapter thisAdapter = + gson.getDelegateAdapter(this, TypeToken.get(BarcodePositionResult.class)); + + return (TypeAdapter) + new TypeAdapter() { + @Override + public void write(JsonWriter out, BarcodePositionResult value) throws IOException { + JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject(); + elementAdapter.write(out, obj); + } + + @Override + public BarcodePositionResult read(JsonReader in) throws IOException { + JsonElement jsonElement = elementAdapter.read(in); + validateJsonElement(jsonElement); + return thisAdapter.fromJsonTree(jsonElement); + } + }.nullSafe(); + } + } + + /** + * Create an instance of BarcodePositionResult given an JSON string + * + * @param jsonString JSON string + * @return An instance of BarcodePositionResult + * @throws IOException if the JSON string is invalid with respect to BarcodePositionResult + */ + public static BarcodePositionResult fromJson(String jsonString) throws IOException { + return JSON.getGson().fromJson(jsonString, BarcodePositionResult.class); + } + + /** + * Convert an instance of BarcodePositionResult to an JSON string + * + * @return JSON string + */ + public String toJson() { + return JSON.getGson().toJson(this); + } +} diff --git a/client/src/main/generated/com/regula/documentreader/webclient/model/ContainerListListInner.java b/client/src/main/generated/com/regula/documentreader/webclient/model/ContainerListListInner.java index eba70c2..9dac5e1 100644 --- a/client/src/main/generated/com/regula/documentreader/webclient/model/ContainerListListInner.java +++ b/client/src/main/generated/com/regula/documentreader/webclient/model/ContainerListListInner.java @@ -63,6 +63,8 @@ public TypeAdapter create(Gson gson, TypeToken type) { gson.getDelegateAdapter(this, TypeToken.get(AuthenticityResult.class)); final TypeAdapter adapterImageQualityResult = gson.getDelegateAdapter(this, TypeToken.get(ImageQualityResult.class)); + final TypeAdapter adapterBarcodePositionResult = + gson.getDelegateAdapter(this, TypeToken.get(BarcodePositionResult.class)); final TypeAdapter adapterDocumentPositionResult = gson.getDelegateAdapter(this, TypeToken.get(DocumentPositionResult.class)); final TypeAdapter adapterDocBarCodeInfo = @@ -180,6 +182,14 @@ public void write(JsonWriter out, ContainerListListInner value) throws IOExcepti elementAdapter.write(out, element); return; } + // check if the actual instance is of the type `BarcodePositionResult` + if (value.getActualInstance() instanceof BarcodePositionResult) { + JsonElement element = + adapterBarcodePositionResult.toJsonTree( + (BarcodePositionResult) value.getActualInstance()); + elementAdapter.write(out, element); + return; + } // check if the actual instance is of the type `DocumentPositionResult` if (value.getActualInstance() instanceof DocumentPositionResult) { JsonElement element = @@ -274,7 +284,7 @@ public void write(JsonWriter out, ContainerListListInner value) throws IOExcepti return; } throw new IOException( - "Failed to serialize as the type doesn't match oneOf schemas: AuthenticityResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult"); + "Failed to serialize as the type doesn't match oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult"); } @Override @@ -450,6 +460,21 @@ public ContainerListListInner read(JsonReader in) throws IOException { e.getMessage())); log.log(Level.FINER, "Input data does not match schema 'ImageQualityResult'", e); } + // deserialize BarcodePositionResult + try { + // validate the JSON object to see if any exception is thrown + BarcodePositionResult.validateJsonElement(jsonElement); + actualAdapter = adapterBarcodePositionResult; + match++; + log.log(Level.FINER, "Input data matches schema 'BarcodePositionResult'"); + } catch (Exception e) { + // deserialization failed, continue + errorMessages.add( + String.format( + "Deserialization for BarcodePositionResult failed with `%s`.", + e.getMessage())); + log.log(Level.FINER, "Input data does not match schema 'BarcodePositionResult'", e); + } // deserialize DocumentPositionResult try { // validate the JSON object to see if any exception is thrown @@ -668,6 +693,7 @@ public ContainerListListInner(Object o) { schemas.put("LexicalAnalysisResult", LexicalAnalysisResult.class); schemas.put("AuthenticityResult", AuthenticityResult.class); schemas.put("ImageQualityResult", ImageQualityResult.class); + schemas.put("BarcodePositionResult", BarcodePositionResult.class); schemas.put("DocumentPositionResult", DocumentPositionResult.class); schemas.put("DocBarCodeInfo", DocBarCodeInfo.class); schemas.put("LicenseResult", LicenseResult.class); @@ -689,12 +715,12 @@ public Map> getSchemas() { /** * Set the instance that matches the oneOf child schema, check the instance parameter is valid - * against the oneOf child schemas: AuthenticityResult, ByteArrayResult, ChosenDocumentTypeResult, - * DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, - * DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, - * ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, - * MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, - * StatusResult, TextDataResult, TextResult + * against the oneOf child schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, + * ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, + * DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, + * GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, + * MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, + * RFIDTextDataResult, StatusResult, TextDataResult, TextResult * *

It could be an instance of the 'oneOf' schemas. */ @@ -755,6 +781,11 @@ public void setActualInstance(Object instance) { return; } + if (instance instanceof BarcodePositionResult) { + super.setActualInstance(instance); + return; + } + if (instance instanceof DocumentPositionResult) { super.setActualInstance(instance); return; @@ -816,23 +847,24 @@ public void setActualInstance(Object instance) { } throw new RuntimeException( - "Invalid instance type. Must be AuthenticityResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult"); + "Invalid instance type. Must be AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult"); } /** - * Get the actual instance, which can be the following: AuthenticityResult, ByteArrayResult, - * ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, - * DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, - * GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, - * MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, - * RFIDTextDataResult, StatusResult, TextDataResult, TextResult + * Get the actual instance, which can be the following: AuthenticityResult, BarcodePositionResult, + * ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, + * DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, + * FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, + * LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, + * RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult * - * @return The actual instance (AuthenticityResult, ByteArrayResult, ChosenDocumentTypeResult, - * DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, - * DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, - * ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, - * MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, - * StatusResult, TextDataResult, TextResult) + * @return The actual instance (AuthenticityResult, BarcodePositionResult, ByteArrayResult, + * ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, + * DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, + * FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, + * LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, + * MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, + * TextDataResult, TextResult) */ @SuppressWarnings("unchecked") @Override @@ -962,6 +994,17 @@ public ImageQualityResult getImageQualityResult() throws ClassCastException { return (ImageQualityResult) super.getActualInstance(); } + /** + * Get the actual instance of `BarcodePositionResult`. If the actual instance is not + * `BarcodePositionResult`, the ClassCastException will be thrown. + * + * @return The actual instance of `BarcodePositionResult` + * @throws ClassCastException if the instance is not `BarcodePositionResult` + */ + public BarcodePositionResult getBarcodePositionResult() throws ClassCastException { + return (BarcodePositionResult) super.getActualInstance(); + } + /** * Get the actual instance of `DocumentPositionResult`. If the actual instance is not * `DocumentPositionResult`, the ClassCastException will be thrown. @@ -1210,6 +1253,16 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti "Deserialization for ImageQualityResult failed with `%s`.", e.getMessage())); // continue to the next one } + // validate the json string with BarcodePositionResult + try { + BarcodePositionResult.validateJsonElement(jsonElement); + validCount++; + } catch (Exception e) { + errorMessages.add( + String.format( + "Deserialization for BarcodePositionResult failed with `%s`.", e.getMessage())); + // continue to the next one + } // validate the json string with DocumentPositionResult try { DocumentPositionResult.validateJsonElement(jsonElement); @@ -1328,7 +1381,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti if (validCount != 1) { throw new IOException( String.format( - "The JSON string is invalid for ContainerListListInner with oneOf schemas: AuthenticityResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", + "The JSON string is invalid for ContainerListListInner with oneOf schemas: AuthenticityResult, BarcodePositionResult, ByteArrayResult, ChosenDocumentTypeResult, DocBarCodeInfo, DocumentBinaryInfoResult, DocumentImageResult, DocumentPositionResult, DocumentTypesCandidatesResult, EncryptedRCLResult, FaceDetectionResult, GraphicsResult, ImageQualityResult, ImagesResult, LexicalAnalysisResult, LicenseResult, MRZDetectorResult, MRZPositionResult, MRZTestQualityResult, RFIDGraphicsInfoResult, RFIDTextDataResult, StatusResult, TextDataResult, TextResult. %d class(es) match the result, expected 1. Detailed failure message for oneOf schemas: %s. JSON: %s", validCount, errorMessages, jsonElement.toString())); } } diff --git a/client/src/main/generated/com/regula/documentreader/webclient/model/ResultItem.java b/client/src/main/generated/com/regula/documentreader/webclient/model/ResultItem.java index 7055fed..d282233 100644 --- a/client/src/main/generated/com/regula/documentreader/webclient/model/ResultItem.java +++ b/client/src/main/generated/com/regula/documentreader/webclient/model/ResultItem.java @@ -319,7 +319,7 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti MRZPositionResult.validateJsonElement(jsonElement); break; case "62": - DocumentPositionResult.validateJsonElement(jsonElement); + BarcodePositionResult.validateJsonElement(jsonElement); break; case "7": MRZTestQualityResult.validateJsonElement(jsonElement); diff --git a/client/src/main/generated/com/regula/documentreader/webclient/model/RfidApplicationType.java b/client/src/main/generated/com/regula/documentreader/webclient/model/RfidApplicationType.java index 750ec61..8c4bc48 100644 --- a/client/src/main/generated/com/regula/documentreader/webclient/model/RfidApplicationType.java +++ b/client/src/main/generated/com/regula/documentreader/webclient/model/RfidApplicationType.java @@ -26,8 +26,8 @@ @JsonAdapter(RfidApplicationType.Adapter.class) public enum RfidApplicationType { - /** Not defined */ - UNSPECIFIED(0), + /** Root files */ + ROOT_FILES(0), /** ePassport application */ E_PASSPORT(1), @@ -51,10 +51,7 @@ public enum RfidApplicationType { LDS2_AddBiometrics(7), /** Digital Travel Credentials */ - eDTC_PC(8), - - /** Master File */ - ROOT_FILES(0); + eDTC_PC(8); private Integer value; diff --git a/client/src/main/generated/com/regula/documentreader/webclient/model/RfidDG1.java b/client/src/main/generated/com/regula/documentreader/webclient/model/RfidDG1.java index d5f8adc..f9c28f8 100644 --- a/client/src/main/generated/com/regula/documentreader/webclient/model/RfidDG1.java +++ b/client/src/main/generated/com/regula/documentreader/webclient/model/RfidDG1.java @@ -39,7 +39,7 @@ public class RfidDG1 { @SerializedName(SERIALIZED_NAME_TYPE) @javax.annotation.Nonnull - private RfidDataGroupTypeTag type; + private Integer type; public static final String SERIALIZED_NAME_DOCUMENT_I_D = "DocumentID"; @@ -134,7 +134,7 @@ public class RfidDG1 { public RfidDG1() {} - public RfidDG1 type(@javax.annotation.Nonnull RfidDataGroupTypeTag type) { + public RfidDG1 type(@javax.annotation.Nonnull Integer type) { this.type = type; return this; } @@ -145,11 +145,11 @@ public RfidDG1 type(@javax.annotation.Nonnull RfidDataGroupTypeTag type) { * @return type */ @javax.annotation.Nonnull - public RfidDataGroupTypeTag getType() { + public Integer getType() { return type; } - public void setType(@javax.annotation.Nonnull RfidDataGroupTypeTag type) { + public void setType(@javax.annotation.Nonnull Integer type) { this.type = type; } @@ -602,8 +602,6 @@ public static void validateJsonElement(JsonElement jsonElement) throws IOExcepti } } JsonObject jsonObj = jsonElement.getAsJsonObject(); - // validate the required field `Type` - RfidDataGroupTypeTag.validateJsonElement(jsonObj.get("Type")); // validate the required field `DocumentID` DocumentFormat.validateJsonElement(jsonObj.get("DocumentID")); if (!jsonObj.get("DocumentType").isJsonPrimitive()) {