@regulaforensics/cordova-plugin-document-reader-api 6.9.1 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -40
- package/example/README.md +32 -0
- package/example/config.xml +5 -1
- package/example/package.json +7 -10
- package/example/www/js/index.js +85 -159
- package/package.json +1 -1
- package/plugin.xml +8 -8
- package/src/android/BluetoothUtil.kt +78 -74
- package/src/android/Config.kt +692 -0
- package/src/android/DocumentReader.kt +524 -0
- package/src/android/JSONConstructor.kt +2198 -0
- package/src/android/Utils.kt +261 -0
- package/src/android/build.gradle +3 -3
- package/src/ios/RGLWConfig.h +48 -0
- package/src/ios/RGLWConfig.m +1312 -0
- package/src/ios/RGLWDocumentReader.h +14 -11
- package/src/ios/RGLWDocumentReader.m +384 -579
- package/src/ios/RGLWJSONConstructor.h +173 -69
- package/src/ios/RGLWJSONConstructor.m +1832 -786
- package/www/DocumentReader.js +869 -278
- package/src/android/DocumentReader.java +0 -1118
- package/src/android/Helpers.java +0 -259
- package/src/android/JSONConstructor.java +0 -1119
- package/src/android/RegulaConfig.java +0 -830
- package/src/ios/RGLWRegulaConfig.h +0 -26
- package/src/ios/RGLWRegulaConfig.m +0 -1152
|
@@ -0,0 +1,2198 @@
|
|
|
1
|
+
//
|
|
2
|
+
// JSONConstructor.java
|
|
3
|
+
// DocumentReader
|
|
4
|
+
//
|
|
5
|
+
// Created by Pavel Masiuk on 21.09.2023.
|
|
6
|
+
// Copyright © 2023 Regula. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
package cordova.plugin.documentreader
|
|
10
|
+
|
|
11
|
+
import android.content.Context
|
|
12
|
+
import android.graphics.Bitmap
|
|
13
|
+
import android.graphics.Rect
|
|
14
|
+
import android.graphics.Typeface
|
|
15
|
+
import android.util.Pair
|
|
16
|
+
import com.regula.common.exception.RegulaException
|
|
17
|
+
import com.regula.documentreader.api.License
|
|
18
|
+
import com.regula.documentreader.api.completions.model.PrepareProgress
|
|
19
|
+
import com.regula.documentreader.api.config.RecognizeConfig
|
|
20
|
+
import com.regula.documentreader.api.config.ScannerConfig
|
|
21
|
+
import com.regula.documentreader.api.enums.BarcodeType
|
|
22
|
+
import com.regula.documentreader.api.enums.DocReaderAction
|
|
23
|
+
import com.regula.documentreader.api.enums.PDF417Info
|
|
24
|
+
import com.regula.documentreader.api.enums.eGraphicFieldType
|
|
25
|
+
import com.regula.documentreader.api.enums.eRFID_DataFile_Type
|
|
26
|
+
import com.regula.documentreader.api.enums.eRPRM_Lights
|
|
27
|
+
import com.regula.documentreader.api.params.AuthenticityParams
|
|
28
|
+
import com.regula.documentreader.api.params.BackendProcessingConfig
|
|
29
|
+
import com.regula.documentreader.api.params.BleDeviceConfig
|
|
30
|
+
import com.regula.documentreader.api.params.DocReaderConfig
|
|
31
|
+
import com.regula.documentreader.api.params.FaceApiParams
|
|
32
|
+
import com.regula.documentreader.api.params.Functionality
|
|
33
|
+
import com.regula.documentreader.api.params.ImageInputData
|
|
34
|
+
import com.regula.documentreader.api.params.ImageQA
|
|
35
|
+
import com.regula.documentreader.api.params.ImageQA.GlaresCheckParams
|
|
36
|
+
import com.regula.documentreader.api.params.LivenessParams
|
|
37
|
+
import com.regula.documentreader.api.params.OnlineProcessingConfig
|
|
38
|
+
import com.regula.documentreader.api.params.ParamsCustomization
|
|
39
|
+
import com.regula.documentreader.api.params.ProcessParam
|
|
40
|
+
import com.regula.documentreader.api.params.RfidScenario
|
|
41
|
+
import com.regula.documentreader.api.params.rfid.PKDCertificate
|
|
42
|
+
import com.regula.documentreader.api.params.rfid.RFIDParams
|
|
43
|
+
import com.regula.documentreader.api.params.rfid.TccParams
|
|
44
|
+
import com.regula.documentreader.api.params.rfid.authorization.PAAttribute
|
|
45
|
+
import com.regula.documentreader.api.params.rfid.authorization.PAResourcesIssuer
|
|
46
|
+
import com.regula.documentreader.api.params.rfid.authorization.TAChallenge
|
|
47
|
+
import com.regula.documentreader.api.params.rfid.dg.EDLDataGroups
|
|
48
|
+
import com.regula.documentreader.api.params.rfid.dg.EIDDataGroups
|
|
49
|
+
import com.regula.documentreader.api.params.rfid.dg.EPassportDataGroups
|
|
50
|
+
import com.regula.documentreader.api.results.BytesData
|
|
51
|
+
import com.regula.documentreader.api.results.Coordinate
|
|
52
|
+
import com.regula.documentreader.api.results.DocReaderDocumentsDatabase
|
|
53
|
+
import com.regula.documentreader.api.results.DocReaderFieldRect
|
|
54
|
+
import com.regula.documentreader.api.results.DocReaderVersion
|
|
55
|
+
import com.regula.documentreader.api.results.DocumentReaderBarcodeField
|
|
56
|
+
import com.regula.documentreader.api.results.DocumentReaderBarcodeResult
|
|
57
|
+
import com.regula.documentreader.api.results.DocumentReaderComparison
|
|
58
|
+
import com.regula.documentreader.api.results.DocumentReaderDocumentType
|
|
59
|
+
import com.regula.documentreader.api.results.DocumentReaderGraphicField
|
|
60
|
+
import com.regula.documentreader.api.results.DocumentReaderGraphicResult
|
|
61
|
+
import com.regula.documentreader.api.results.DocumentReaderNotification
|
|
62
|
+
import com.regula.documentreader.api.results.DocumentReaderResults
|
|
63
|
+
import com.regula.documentreader.api.results.DocumentReaderResultsStatus
|
|
64
|
+
import com.regula.documentreader.api.results.DocumentReaderResultsStatus.DetailsOptical
|
|
65
|
+
import com.regula.documentreader.api.results.DocumentReaderResultsStatus.DetailsRFID
|
|
66
|
+
import com.regula.documentreader.api.results.DocumentReaderRfidOrigin
|
|
67
|
+
import com.regula.documentreader.api.results.DocumentReaderScenario
|
|
68
|
+
import com.regula.documentreader.api.results.DocumentReaderSymbol
|
|
69
|
+
import com.regula.documentreader.api.results.DocumentReaderTextField
|
|
70
|
+
import com.regula.documentreader.api.results.DocumentReaderTextResult
|
|
71
|
+
import com.regula.documentreader.api.results.DocumentReaderTextSource
|
|
72
|
+
import com.regula.documentreader.api.results.DocumentReaderValidity
|
|
73
|
+
import com.regula.documentreader.api.results.DocumentReaderValue
|
|
74
|
+
import com.regula.documentreader.api.results.ElementPosition
|
|
75
|
+
import com.regula.documentreader.api.results.ImageQuality
|
|
76
|
+
import com.regula.documentreader.api.results.ImageQualityGroup
|
|
77
|
+
import com.regula.documentreader.api.results.TransactionInfo
|
|
78
|
+
import com.regula.documentreader.api.results.VDSNCData
|
|
79
|
+
import com.regula.documentreader.api.results.authenticity.DocumentReaderAuthenticityCheck
|
|
80
|
+
import com.regula.documentreader.api.results.authenticity.DocumentReaderAuthenticityElement
|
|
81
|
+
import com.regula.documentreader.api.results.authenticity.DocumentReaderAuthenticityResult
|
|
82
|
+
import com.regula.documentreader.api.results.rfid.AccessControlProcedureType
|
|
83
|
+
import com.regula.documentreader.api.results.rfid.Application
|
|
84
|
+
import com.regula.documentreader.api.results.rfid.Attribute
|
|
85
|
+
import com.regula.documentreader.api.results.rfid.Authority
|
|
86
|
+
import com.regula.documentreader.api.results.rfid.CardProperties
|
|
87
|
+
import com.regula.documentreader.api.results.rfid.CertificateChain
|
|
88
|
+
import com.regula.documentreader.api.results.rfid.CertificateData
|
|
89
|
+
import com.regula.documentreader.api.results.rfid.DataField
|
|
90
|
+
import com.regula.documentreader.api.results.rfid.Extension
|
|
91
|
+
import com.regula.documentreader.api.results.rfid.File
|
|
92
|
+
import com.regula.documentreader.api.results.rfid.FileData
|
|
93
|
+
import com.regula.documentreader.api.results.rfid.RFIDSessionData
|
|
94
|
+
import com.regula.documentreader.api.results.rfid.SecurityObject
|
|
95
|
+
import com.regula.documentreader.api.results.rfid.SecurityObjectCertificates
|
|
96
|
+
import com.regula.documentreader.api.results.rfid.SignerInfo
|
|
97
|
+
import com.regula.documentreader.api.results.rfid.Validity
|
|
98
|
+
import com.regula.documentreader.api.results.rfid.Value
|
|
99
|
+
import cordova.plugin.documentreader.Convert.bitmapFromBase64
|
|
100
|
+
import cordova.plugin.documentreader.Convert.bitmapToBase64
|
|
101
|
+
import cordova.plugin.documentreader.Convert.byteArrayFromBase64
|
|
102
|
+
import cordova.plugin.documentreader.Convert.generateByteArray
|
|
103
|
+
import org.json.JSONArray
|
|
104
|
+
import org.json.JSONObject
|
|
105
|
+
|
|
106
|
+
fun generateCompletion(action: Int, results: DocumentReaderResults?, error: RegulaException?, context: Context?) = object : JSONObject() { init {
|
|
107
|
+
put("action", action)
|
|
108
|
+
if (listOf(
|
|
109
|
+
DocReaderAction.COMPLETE,
|
|
110
|
+
DocReaderAction.MORE_PAGES_AVAILABLE,
|
|
111
|
+
DocReaderAction.CANCEL,
|
|
112
|
+
DocReaderAction.ERROR,
|
|
113
|
+
DocReaderAction.TIMEOUT
|
|
114
|
+
).contains(action)
|
|
115
|
+
) put("results", generateDocumentReaderResults(results, context))
|
|
116
|
+
put("error", generateRegulaException(error))
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
fun generateSuccessCompletion(success: Boolean, error: RegulaException?) = object : JSONObject() { init {
|
|
121
|
+
put("success", success)
|
|
122
|
+
put("error", generateRegulaException(error))
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
fun prepareProgressFromJSON(it: JSONObject) = PrepareProgress(
|
|
127
|
+
it.getInt("downloadedBytes"),
|
|
128
|
+
it.getInt("totalBytes")
|
|
129
|
+
)
|
|
130
|
+
|
|
131
|
+
fun generatePrepareProgress(it: PrepareProgress) = mapOf(
|
|
132
|
+
"downloadedBytes" to it.downloadedBytes,
|
|
133
|
+
"totalBytes" to it.totalBytes,
|
|
134
|
+
"progress" to it.progress
|
|
135
|
+
).toJson()
|
|
136
|
+
|
|
137
|
+
fun generatePACertificateCompletion(serialNumber: ByteArray?, issuer: PAResourcesIssuer?) = object : JSONObject() { init {
|
|
138
|
+
put("serialNumber", generateByteArray(serialNumber))
|
|
139
|
+
put("issuer", generatePAResourcesIssuer(issuer))
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
fun generateFinalizePackageCompletion(action: Int, info: TransactionInfo?, error: RegulaException?) = object : JSONObject() { init {
|
|
144
|
+
put("action", action)
|
|
145
|
+
put("info", generateTransactionInfo(info))
|
|
146
|
+
put("error", generateRegulaException(error))
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
fun regulaExceptionFromJSON(temp: JSONObject?) = temp?.let {
|
|
151
|
+
val input: JSONObject = temp
|
|
152
|
+
|
|
153
|
+
val code = input.optInt("code")
|
|
154
|
+
val message = input.optString("message")
|
|
155
|
+
|
|
156
|
+
RegulaException(code, message)
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
fun generateRegulaException(temp: RegulaException?): JSONObject? = temp?.let {
|
|
160
|
+
object : JSONObject() { init {
|
|
161
|
+
val input: RegulaException = it
|
|
162
|
+
put("code", input.errorCode)
|
|
163
|
+
put("message", input.message)
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
fun transactionInfoFromJSON(temp: JSONObject?): TransactionInfo? {
|
|
169
|
+
temp ?: return null
|
|
170
|
+
val input: JSONObject = temp
|
|
171
|
+
val result = TransactionInfo()
|
|
172
|
+
|
|
173
|
+
if (input.has("transactionId")) result.transactionId = input.getString("transactionId")
|
|
174
|
+
if (input.has("tag")) result.tag = input.getString("tag")
|
|
175
|
+
|
|
176
|
+
return result
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
fun generateTransactionInfo(temp: TransactionInfo?): JSONObject? {
|
|
180
|
+
val result = JSONObject()
|
|
181
|
+
temp ?: return null
|
|
182
|
+
val input: TransactionInfo = temp
|
|
183
|
+
|
|
184
|
+
result.put("transactionId", input.transactionId)
|
|
185
|
+
result.put("tag", input.tag)
|
|
186
|
+
|
|
187
|
+
return result
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
fun tccParamsFromJSON(input: JSONObject): TccParams {
|
|
191
|
+
val result = TccParams()
|
|
192
|
+
|
|
193
|
+
if (input.has("serviceUrlTA")) result.serviceUrlTA = input.getString("serviceUrlTA")
|
|
194
|
+
if (input.has("serviceUrlPA")) result.serviceUrlPA = input.getString("serviceUrlPA")
|
|
195
|
+
if (input.has("pfxCertUrl")) result.pfxCertUrl = input.getString("pfxCertUrl")
|
|
196
|
+
if (input.has("pfxPassPhrase")) result.pfxPassPhrase = input.getString("pfxPassPhrase")
|
|
197
|
+
if (input.has("pfxCert")) result.pfxCert = byteArrayFromBase64(input.getString("pfxCert"))
|
|
198
|
+
|
|
199
|
+
return result
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
fun generateTccParams(temp: TccParams?): JSONObject? {
|
|
203
|
+
val result = JSONObject()
|
|
204
|
+
temp ?: return null
|
|
205
|
+
val input: TccParams = temp
|
|
206
|
+
|
|
207
|
+
result.put("serviceUrlTA", input.serviceUrlTA)
|
|
208
|
+
result.put("serviceUrlPA", input.serviceUrlPA)
|
|
209
|
+
result.put("pfxCertUrl", input.pfxCertUrl)
|
|
210
|
+
result.put("pfxPassPhrase", input.pfxPassPhrase)
|
|
211
|
+
result.put("pfxCert", generateByteArray(input.pfxCert))
|
|
212
|
+
|
|
213
|
+
return result
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
fun docReaderConfigFromJSON(input: JSONObject): DocReaderConfig {
|
|
217
|
+
val license = byteArrayFromBase64(input.getString("license"))
|
|
218
|
+
var result = DocReaderConfig(license!!)
|
|
219
|
+
|
|
220
|
+
if (input.has("customDb")) result = DocReaderConfig(license, byteArrayFromBase64(input.getString("customDb"))!!)
|
|
221
|
+
if (input.has("licenseUpdate")) result.setLicenseUpdate(input.getBoolean("licenseUpdate"))
|
|
222
|
+
if (input.has("delayedNNLoad")) result.isDelayedNNLoad = input.getBoolean("delayedNNLoad")
|
|
223
|
+
if (input.has("blackList")) result.blackList = input.getJSONObject("blackList")
|
|
224
|
+
|
|
225
|
+
return result
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
fun generateDocReaderConfig(temp: DocReaderConfig?): JSONObject? {
|
|
229
|
+
val result = JSONObject()
|
|
230
|
+
temp ?: return null
|
|
231
|
+
val input: DocReaderConfig = temp
|
|
232
|
+
|
|
233
|
+
result.put("license", generateByteArray(input.license))
|
|
234
|
+
result.put("customDb", generateByteArray(input.customDb))
|
|
235
|
+
result.put("licenseUpdate", input.isLicenseUpdate)
|
|
236
|
+
result.put("delayedNNLoad", input.isDelayedNNLoad)
|
|
237
|
+
result.put("blackList", input.blackList)
|
|
238
|
+
|
|
239
|
+
return result
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
fun scannerConfigFromJSON(input: JSONObject): ScannerConfig {
|
|
243
|
+
val builder = if (input.has("scenario")) ScannerConfig.Builder(input.getString("scenario"))
|
|
244
|
+
else ScannerConfig.Builder(onlineProcessingConfigFromJSON(input.getJSONObject("onlineProcessingConfig"))!!)
|
|
245
|
+
|
|
246
|
+
if (input.has("onlineProcessingConfig")) builder.setOnlineProcessingConfig(onlineProcessingConfigFromJSON(input.getJSONObject("onlineProcessingConfig")))
|
|
247
|
+
if (input.has("livePortrait")) builder.setLivePortrait(bitmapFromBase64(input.getString("livePortrait"))!!)
|
|
248
|
+
if (input.has("extPortrait")) builder.setExtPortrait(bitmapFromBase64(input.getString("extPortrait"))!!)
|
|
249
|
+
if (input.has("cameraId")) builder.setCameraId(input.getInt("cameraId"))
|
|
250
|
+
|
|
251
|
+
return builder.build()
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
fun generateScannerConfig(temp: ScannerConfig?): JSONObject? {
|
|
255
|
+
val result = JSONObject()
|
|
256
|
+
temp ?: return null
|
|
257
|
+
val input: ScannerConfig = temp
|
|
258
|
+
|
|
259
|
+
result.put("scenario", input.scenario)
|
|
260
|
+
result.put("onlineProcessingConfig", generateOnlineProcessingConfig(input.onlineProcessingConfig))
|
|
261
|
+
result.put("livePortrait", bitmapToBase64(input.livePortrait))
|
|
262
|
+
result.put("extPortrait", bitmapToBase64(input.extPortrait))
|
|
263
|
+
result.put("cameraId", input.cameraId)
|
|
264
|
+
|
|
265
|
+
return result
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
fun recognizeConfigFromJSON(input: JSONObject): RecognizeConfig {
|
|
269
|
+
val builder = if (input.has("scenario")) RecognizeConfig.Builder(input.getString("scenario"))
|
|
270
|
+
else RecognizeConfig.Builder(onlineProcessingConfigFromJSON(input.getJSONObject("onlineProcessingConfig"))!!)
|
|
271
|
+
|
|
272
|
+
if (input.has("oneShotIdentification")) builder.setOneShotIdentification(input.getBoolean("oneShotIdentification"))
|
|
273
|
+
if (input.has("livePortrait")) builder.setLivePortrait(bitmapFromBase64(input.getString("livePortrait"))!!)
|
|
274
|
+
if (input.has("extPortrait")) builder.setExtPortrait(bitmapFromBase64(input.getString("extPortrait"))!!)
|
|
275
|
+
if (input.has("image")) builder.setBitmap(bitmapFromBase64(input.getString("image"))!!)
|
|
276
|
+
if (input.has("data")) builder.setData(byteArrayFromBase64(input.getString("data"))!!)
|
|
277
|
+
if (input.has("images")) {
|
|
278
|
+
val base64Images = input.getJSONArray("images")
|
|
279
|
+
val images = arrayOfNulls<Bitmap>(base64Images.length())
|
|
280
|
+
for (i in images.indices) images[i] = bitmapFromBase64(base64Images.getString(i))
|
|
281
|
+
builder.setBitmaps(images)
|
|
282
|
+
}
|
|
283
|
+
if (input.has("imageInputData")) {
|
|
284
|
+
val base64InputData = input.getJSONArray("imageInputData")
|
|
285
|
+
val inputData = arrayOfNulls<ImageInputData>(base64InputData.length())
|
|
286
|
+
for (i in inputData.indices) inputData[i] = imageInputDataFromJSON(base64InputData.getJSONObject(i))
|
|
287
|
+
builder.setImageInputData(inputData)
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
return builder.build()
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
fun generateRecognizeConfig(temp: RecognizeConfig?): JSONObject? {
|
|
294
|
+
val result = JSONObject()
|
|
295
|
+
temp ?: return null
|
|
296
|
+
val input: RecognizeConfig = temp
|
|
297
|
+
|
|
298
|
+
result.put("scenario", input.scenario)
|
|
299
|
+
result.put("onlineProcessingConfig", generateOnlineProcessingConfig(input.onlineProcessingConfig))
|
|
300
|
+
result.put("oneShotIdentification", input.oneShotIdentification)
|
|
301
|
+
result.put("livePortrait", bitmapToBase64(input.livePortrait))
|
|
302
|
+
result.put("extPortrait", bitmapToBase64(input.extPortrait))
|
|
303
|
+
result.put("image", bitmapToBase64(input.bitmap))
|
|
304
|
+
result.put("data", generateByteArray(input.data))
|
|
305
|
+
if (input.bitmaps == null)
|
|
306
|
+
result.put("images", null)
|
|
307
|
+
else {
|
|
308
|
+
val array = JSONArray()
|
|
309
|
+
for (bitmap in input.bitmaps!!) array.put(bitmapToBase64(bitmap))
|
|
310
|
+
result.put("images", array)
|
|
311
|
+
}
|
|
312
|
+
result.put("imageInputData", generateArray(input.imageInputData, ::generateImageInputData))
|
|
313
|
+
|
|
314
|
+
return result
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
fun backendProcessingConfigFromJSON(temp: JSONObject?): BackendProcessingConfig? {
|
|
318
|
+
if (temp == null || !temp.has("url")) return null
|
|
319
|
+
val input: JSONObject = temp
|
|
320
|
+
|
|
321
|
+
val result = BackendProcessingConfig(input.getString("url"))
|
|
322
|
+
if (input.has("httpHeaders")) result.httpHeaders = stringMapFromJson(input.getJSONObject("httpHeaders"))
|
|
323
|
+
if (input.has("rfidServerSideChipVerification")) result.rfidServerSideChipVerification = input.getBoolean("rfidServerSideChipVerification")
|
|
324
|
+
|
|
325
|
+
return result
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
fun generateBackendProcessingConfig(temp: BackendProcessingConfig?): JSONObject? {
|
|
329
|
+
val result = JSONObject()
|
|
330
|
+
temp ?: return null
|
|
331
|
+
val input: BackendProcessingConfig = temp
|
|
332
|
+
|
|
333
|
+
result.put("url", input.url)
|
|
334
|
+
result.put("httpHeaders", generateStringMap(input.httpHeaders))
|
|
335
|
+
result.put("rfidServerSideChipVerification", input.rfidServerSideChipVerification)
|
|
336
|
+
|
|
337
|
+
return result
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
fun onlineProcessingConfigFromJSON(temp: JSONObject?): OnlineProcessingConfig? {
|
|
341
|
+
if (temp == null || !temp.has("mode")) return null
|
|
342
|
+
val input: JSONObject = temp
|
|
343
|
+
val builder = OnlineProcessingConfig.Builder(input.getInt("mode"))
|
|
344
|
+
|
|
345
|
+
if (input.has("imageFormat")) builder.setImageFormat(input.getInt("imageFormat"))
|
|
346
|
+
if (input.has("url")) builder.setUrl(input.getString("url"))
|
|
347
|
+
if (input.has("imageCompressionQuality")) builder.setImageCompressionQuality(input.getDouble("imageCompressionQuality").toFloat())
|
|
348
|
+
if (input.has("processParams")) builder.setProcessParams(processParamFromJSON(input.getJSONObject("processParams")))
|
|
349
|
+
|
|
350
|
+
return builder.build()
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
fun generateOnlineProcessingConfig(temp: OnlineProcessingConfig?): JSONObject? {
|
|
354
|
+
val result = JSONObject()
|
|
355
|
+
temp ?: return null
|
|
356
|
+
val input: OnlineProcessingConfig = temp
|
|
357
|
+
|
|
358
|
+
result.put("mode", input.mode)
|
|
359
|
+
result.put("url", input.url)
|
|
360
|
+
result.put("processParams", getProcessParams(input.processParam))
|
|
361
|
+
result.put("imageFormat", input.imageFormat)
|
|
362
|
+
result.put("imageCompressionQuality", input.imageCompressionQuality)
|
|
363
|
+
|
|
364
|
+
return result
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
fun faceApiParamsFromJSON(temp: JSONObject?): FaceApiParams? {
|
|
368
|
+
val result = FaceApiParams()
|
|
369
|
+
temp ?: return null
|
|
370
|
+
val input: JSONObject = temp
|
|
371
|
+
|
|
372
|
+
if (input.has("url") && !input.isNull("url")) result.url = input.getString("url")
|
|
373
|
+
if (input.has("mode") && !input.isNull("mode")) result.mode = input.getString("mode")
|
|
374
|
+
if (input.has("searchParams") && !input.isNull("searchParams")) result.search = faceApiSearchParamsFromJSON(input.getJSONObject("searchParams"))
|
|
375
|
+
if (input.has("threshold") && !input.isNull("threshold")) result.threshold = input.getInt("threshold")
|
|
376
|
+
if (input.has("serviceTimeout") && !input.isNull("serviceTimeout")) result.serviceTimeout = input.getInt("serviceTimeout")
|
|
377
|
+
if (input.has("proxy") && !input.isNull("proxy")) result.proxy = input.getString("proxy")
|
|
378
|
+
if (input.has("proxyPassword") && !input.isNull("proxyPassword")) result.proxyUserPwd = input.getString("proxyPassword")
|
|
379
|
+
if (input.has("proxyType") && !input.isNull("proxyType")) result.proxyType = input.getInt("proxyType")
|
|
380
|
+
|
|
381
|
+
return result
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
fun generateFaceApiParams(temp: FaceApiParams?): JSONObject? {
|
|
385
|
+
val result = JSONObject()
|
|
386
|
+
temp ?: return null
|
|
387
|
+
val input: FaceApiParams = temp
|
|
388
|
+
|
|
389
|
+
result.put("url", input.url)
|
|
390
|
+
result.put("mode", input.mode)
|
|
391
|
+
result.put("searchParams", generateFaceApiSearchParams(input.search))
|
|
392
|
+
result.put("threshold", input.threshold)
|
|
393
|
+
result.put("serviceTimeout", input.serviceTimeout)
|
|
394
|
+
result.put("proxy", input.proxy)
|
|
395
|
+
result.put("proxyPassword", input.proxyUserPwd)
|
|
396
|
+
result.put("proxyType", input.proxyType)
|
|
397
|
+
|
|
398
|
+
return result
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
fun faceApiSearchParamsFromJSON(temp: JSONObject?): FaceApiParams.Search? {
|
|
402
|
+
val result = FaceApiParams.Search()
|
|
403
|
+
temp ?: return null
|
|
404
|
+
val input: JSONObject = temp
|
|
405
|
+
|
|
406
|
+
if (input.has("limit") && !input.isNull("limit")) result.limit = input.getInt("limit")
|
|
407
|
+
if (input.has("threshold") && !input.isNull("threshold")) result.threshold = input.getDouble("threshold").toFloat()
|
|
408
|
+
if (input.has("groupIds") && !input.isNull("groupIds")) {
|
|
409
|
+
val jsonArrayGroupIds = input.getJSONArray("groupIds")
|
|
410
|
+
val groupIds = IntArray(jsonArrayGroupIds.length())
|
|
411
|
+
for (i in 0 until jsonArrayGroupIds.length())
|
|
412
|
+
groupIds[i] = jsonArrayGroupIds.getInt(i)
|
|
413
|
+
result.groupIds = groupIds
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
return result
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
fun generateFaceApiSearchParams(temp: FaceApiParams.Search?): JSONObject? {
|
|
420
|
+
val result = JSONObject()
|
|
421
|
+
temp ?: return null
|
|
422
|
+
val input: FaceApiParams.Search = temp
|
|
423
|
+
|
|
424
|
+
result.put("limit", input.limit)
|
|
425
|
+
result.put("threshold", input.threshold)
|
|
426
|
+
result.put("groupIds", input.groupIds.generate())
|
|
427
|
+
|
|
428
|
+
return result
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
fun rfidParamsFromJSON(temp: JSONObject?): RFIDParams? {
|
|
432
|
+
val result = RFIDParams()
|
|
433
|
+
temp ?: return null
|
|
434
|
+
val input: JSONObject = temp
|
|
435
|
+
|
|
436
|
+
if (input.has("paIgnoreNotificationCodes")) result.paIgnoreNotificationCodes = input.getJSONArray("paIgnoreNotificationCodes").toIntArray()
|
|
437
|
+
|
|
438
|
+
return result
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
fun generateRFIDParams(temp: RFIDParams?): JSONObject? {
|
|
442
|
+
val result = JSONObject()
|
|
443
|
+
temp ?: return null
|
|
444
|
+
val input: RFIDParams = temp
|
|
445
|
+
|
|
446
|
+
result.put("paIgnoreNotificationCodes", input.paIgnoreNotificationCodes.generate())
|
|
447
|
+
|
|
448
|
+
return result
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
fun processParamFromJSON(input: JSONObject): ProcessParam {
|
|
452
|
+
val result = ProcessParam()
|
|
453
|
+
setProcessParams(result, input)
|
|
454
|
+
return result
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
fun generateProcessParam(input: ProcessParam): JSONObject = getProcessParams(input)
|
|
458
|
+
|
|
459
|
+
fun imageQAFromJSON(input: JSONObject): ImageQA {
|
|
460
|
+
val result = ImageQA()
|
|
461
|
+
setImageQA(result, input)
|
|
462
|
+
return result
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
fun generateImageQA(input: ImageQA) = getImageQA(input)
|
|
466
|
+
|
|
467
|
+
fun authenticityParamsFromJSON(input: JSONObject): AuthenticityParams {
|
|
468
|
+
val result = AuthenticityParams.defaultParams()
|
|
469
|
+
setAuthenticityParams(result, input)
|
|
470
|
+
return result
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
fun generateAuthenticityParams(input: AuthenticityParams?) = getAuthenticityParams(input)
|
|
474
|
+
|
|
475
|
+
fun livenessParamsFromJSON(input: JSONObject): LivenessParams {
|
|
476
|
+
val result = LivenessParams.defaultParams()
|
|
477
|
+
setLivenessParams(result, input)
|
|
478
|
+
return result
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
fun generateLivenessParams(input: LivenessParams?) = getLivenessParams(input)
|
|
482
|
+
|
|
483
|
+
fun eDLDataGroupsFromJSON(input: JSONObject): EDLDataGroups {
|
|
484
|
+
val result = EDLDataGroups()
|
|
485
|
+
setDataGroups(result, input)
|
|
486
|
+
return result
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
fun generateEDLDataGroups(input: EDLDataGroups): JSONObject = getDataGroups(input)
|
|
490
|
+
|
|
491
|
+
fun ePassportDataGroupsFromJSON(input: JSONObject): EPassportDataGroups {
|
|
492
|
+
val result = EPassportDataGroups()
|
|
493
|
+
setDataGroups(result, input)
|
|
494
|
+
return result
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
fun generateEPassportDataGroups(input: EPassportDataGroups): JSONObject = getDataGroups(input)
|
|
498
|
+
|
|
499
|
+
fun eIDDataGroupsFromJSON(input: JSONObject): EIDDataGroups {
|
|
500
|
+
val result = EIDDataGroups()
|
|
501
|
+
setDataGroups(result, input)
|
|
502
|
+
return result
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
fun generateEIDDataGroups(input: EIDDataGroups): JSONObject = getDataGroups(input)
|
|
506
|
+
|
|
507
|
+
fun rfidScenarioFromJSON(input: JSONObject): RfidScenario {
|
|
508
|
+
val result = RfidScenario()
|
|
509
|
+
setRfidScenario(result, input)
|
|
510
|
+
return result
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
fun generateRfidScenario(input: RfidScenario): JSONObject = getRfidScenario(input)
|
|
514
|
+
|
|
515
|
+
fun customizationFromJSON(input: JSONObject, context: Context): ParamsCustomization {
|
|
516
|
+
val result = ParamsCustomization()
|
|
517
|
+
setCustomization(result, input, context)
|
|
518
|
+
return result
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
fun generateCustomization(input: ParamsCustomization): JSONObject = getCustomization(input)
|
|
522
|
+
|
|
523
|
+
fun functionalityFromJSON(input: JSONObject): Functionality {
|
|
524
|
+
val result = Functionality()
|
|
525
|
+
setFunctionality(result, input)
|
|
526
|
+
return result
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
fun generateFunctionality(input: Functionality): JSONObject = getFunctionality(input)
|
|
530
|
+
|
|
531
|
+
fun glaresCheckParamsFromJSON(temp: JSONObject?): GlaresCheckParams? {
|
|
532
|
+
temp ?: return null
|
|
533
|
+
val input: JSONObject = temp
|
|
534
|
+
val result = GlaresCheckParams()
|
|
535
|
+
|
|
536
|
+
if (input.has("imgMarginPart")) result.imgMarginPart = input.getDouble("imgMarginPart")
|
|
537
|
+
if (input.has("maxGlaringPart")) result.maxGlaringPart = input.getDouble("maxGlaringPart")
|
|
538
|
+
|
|
539
|
+
return result
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
fun generateGlaresCheckParams(temp: GlaresCheckParams?): JSONObject? {
|
|
543
|
+
val result = JSONObject()
|
|
544
|
+
temp ?: return null
|
|
545
|
+
val input: GlaresCheckParams = temp
|
|
546
|
+
|
|
547
|
+
result.put("imgMarginPart", input.imgMarginPart)
|
|
548
|
+
result.put("maxGlaringPart", input.maxGlaringPart)
|
|
549
|
+
|
|
550
|
+
return result
|
|
551
|
+
}
|
|
552
|
+
|
|
553
|
+
fun typefaceFromJSON(input: JSONObject): Pair<Typeface, Int?> {
|
|
554
|
+
val name = input.getString("name")
|
|
555
|
+
val style = input.optInt("style", Typeface.NORMAL)
|
|
556
|
+
val size = if (input.has("size")) input.getInt("size") else null
|
|
557
|
+
return Pair(Typeface.create(name, style), size)
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
fun generateTypeface(temp: Typeface?, size: Int? = null): JSONObject? {
|
|
561
|
+
val result = JSONObject()
|
|
562
|
+
temp ?: return null
|
|
563
|
+
val input: Typeface = temp
|
|
564
|
+
|
|
565
|
+
result.put("name", "undefined")
|
|
566
|
+
result.put("style", input.style)
|
|
567
|
+
result.put("size", size)
|
|
568
|
+
|
|
569
|
+
return result
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
fun bleDeviceConfigFromJSON(input: JSONObject): BleDeviceConfig {
|
|
573
|
+
val bleWrapper = bleManager
|
|
574
|
+
var result = BleDeviceConfig(bleWrapper)
|
|
575
|
+
|
|
576
|
+
if (input.has("customDb")) result = BleDeviceConfig(bleWrapper!!, byteArrayFromBase64(input.getString("customDb")))
|
|
577
|
+
if (input.has("licenseUpdate")) result.setLicenseUpdate(input.getBoolean("licenseUpdate"))
|
|
578
|
+
if (input.has("delayedNNLoad")) result.isDelayedNNLoad = input.getBoolean("delayedNNLoad")
|
|
579
|
+
if (input.has("blackList")) result.blackList = input.getJSONObject("blackList")
|
|
580
|
+
|
|
581
|
+
return result
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
fun imageInputDataFromJSON(temp: JSONObject?): ImageInputData? {
|
|
585
|
+
if (temp == null || !temp.has("image")) return null
|
|
586
|
+
val input: JSONObject = temp
|
|
587
|
+
|
|
588
|
+
var light = 6
|
|
589
|
+
var pageIndex = 0
|
|
590
|
+
val image = bitmapFromBase64(input.getString("image"))!!
|
|
591
|
+
if (input.has("light")) light = input.getInt("light")
|
|
592
|
+
if (input.has("pageIndex")) pageIndex = input.getInt("pageIndex")
|
|
593
|
+
|
|
594
|
+
return ImageInputData(image, light, pageIndex)
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
fun generateImageInputData(temp: ImageInputData?): JSONObject? {
|
|
598
|
+
val result = JSONObject()
|
|
599
|
+
temp ?: return null
|
|
600
|
+
val input: ImageInputData = temp
|
|
601
|
+
|
|
602
|
+
result.put("image", bitmapToBase64(input.bitmap))
|
|
603
|
+
result.put("light", input.light)
|
|
604
|
+
result.put("pageIndex", input.pageIndex)
|
|
605
|
+
|
|
606
|
+
return result
|
|
607
|
+
}
|
|
608
|
+
|
|
609
|
+
fun pkdCertificateFromJSON(temp: JSONObject?): PKDCertificate? {
|
|
610
|
+
temp ?: return null
|
|
611
|
+
val input: JSONObject = temp
|
|
612
|
+
var resourceType = 0
|
|
613
|
+
var binaryData = ByteArray(0)
|
|
614
|
+
|
|
615
|
+
if (input.has("resourceType")) resourceType = input.getInt("resourceType")
|
|
616
|
+
if (input.has("binaryData")) binaryData = byteArrayFromBase64(input.getString("binaryData"))!!
|
|
617
|
+
if (input.has("privateKey")) {
|
|
618
|
+
val privateKey = byteArrayFromBase64(input.getString("privateKey"))
|
|
619
|
+
return PKDCertificate(binaryData, resourceType, privateKey)
|
|
620
|
+
}
|
|
621
|
+
return PKDCertificate(binaryData, resourceType)
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
fun generatePKDCertificate(temp: PKDCertificate?): JSONObject? {
|
|
625
|
+
val result = JSONObject()
|
|
626
|
+
temp ?: return null
|
|
627
|
+
val input: PKDCertificate = temp
|
|
628
|
+
|
|
629
|
+
result.put("resourceType", input.resourceType)
|
|
630
|
+
result.put("binaryData", generateByteArray(input.binaryData))
|
|
631
|
+
result.put("privateKey", generateByteArray(input.privateKey))
|
|
632
|
+
|
|
633
|
+
return result
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
fun documentReaderScenarioFromJSON(temp: JSONObject?): DocumentReaderScenario? {
|
|
637
|
+
temp ?: return null
|
|
638
|
+
val input: JSONObject = temp
|
|
639
|
+
|
|
640
|
+
val name = input.optString("name")
|
|
641
|
+
val caption = input.optString("caption")
|
|
642
|
+
val description = input.optString("description")
|
|
643
|
+
val multiPageOff = input.optBoolean("multiPageOff")
|
|
644
|
+
val frameKWHLandscape = input.optDouble("frameKWHLandscape")
|
|
645
|
+
val frameKWHPortrait = input.optDouble("frameKWHPortrait")
|
|
646
|
+
val frameKWHDoublePageSpreadPortrait = input.optDouble("frameKWHDoublePageSpreadPortrait")
|
|
647
|
+
val frameKWHDoublePageSpreadLandscape = input.optDouble("frameKWHDoublePageSpreadLandscape")
|
|
648
|
+
val frameOrientation = input.optInt("frameOrientation")
|
|
649
|
+
val uvTorch = input.optBoolean("uvTorch")
|
|
650
|
+
val faceExt = input.optBoolean("faceExt")
|
|
651
|
+
val seriesProcessMode = input.optBoolean("seriesProcessMode")
|
|
652
|
+
val manualCrop = input.optBoolean("manualCrop")
|
|
653
|
+
|
|
654
|
+
return DocumentReaderScenario(name, caption, description, if (multiPageOff) 1 else 0, frameKWHLandscape, frameKWHPortrait, frameKWHDoublePageSpreadPortrait, frameKWHDoublePageSpreadLandscape, frameOrientation, uvTorch, faceExt, seriesProcessMode, manualCrop, null)
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
fun generateDocumentReaderScenario(temp: DocumentReaderScenario?): JSONObject? {
|
|
658
|
+
val result = JSONObject()
|
|
659
|
+
temp ?: return null
|
|
660
|
+
val input: DocumentReaderScenario = temp
|
|
661
|
+
|
|
662
|
+
result.put("name", input.name)
|
|
663
|
+
result.put("caption", input.caption)
|
|
664
|
+
result.put("description", input.description)
|
|
665
|
+
result.put("multiPageOff", input.multiPageOff)
|
|
666
|
+
result.put("frameKWHLandscape", input.frameKWHLandscape)
|
|
667
|
+
result.put("frameKWHPortrait", input.frameKWHPortrait)
|
|
668
|
+
result.put("frameKWHDoublePageSpreadPortrait", input.frameKWHDoublePageSpreadPortrait)
|
|
669
|
+
result.put("frameKWHDoublePageSpreadLandscape", input.frameKWHDoublePageSpreadLandscape)
|
|
670
|
+
result.put("frameOrientation", input.frameOrientation)
|
|
671
|
+
result.put("uvTorch", input.uvTorch)
|
|
672
|
+
result.put("faceExt", input.faceExt)
|
|
673
|
+
result.put("seriesProcessMode", input.seriesProcessMode)
|
|
674
|
+
result.put("manualCrop", input.manualCrop)
|
|
675
|
+
|
|
676
|
+
return result
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
fun rectFromJSON(temp: JSONObject?): Rect? {
|
|
680
|
+
temp ?: return null
|
|
681
|
+
val input: JSONObject = temp
|
|
682
|
+
val result = Rect()
|
|
683
|
+
|
|
684
|
+
result.bottom = input.optInt("bottom")
|
|
685
|
+
result.top = input.optInt("top")
|
|
686
|
+
result.left = input.optInt("left")
|
|
687
|
+
result.right = input.optInt("right")
|
|
688
|
+
|
|
689
|
+
return result
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
fun generateRect(temp: Rect?): JSONObject? {
|
|
693
|
+
val result = JSONObject()
|
|
694
|
+
temp ?: return null
|
|
695
|
+
val input: Rect = temp
|
|
696
|
+
|
|
697
|
+
result.put("bottom", input.bottom)
|
|
698
|
+
result.put("top", input.top)
|
|
699
|
+
result.put("left", input.left)
|
|
700
|
+
result.put("right", input.right)
|
|
701
|
+
|
|
702
|
+
return result
|
|
703
|
+
}
|
|
704
|
+
|
|
705
|
+
fun docReaderFieldRectFromJSON(temp: JSONObject?): DocReaderFieldRect? {
|
|
706
|
+
temp ?: return null
|
|
707
|
+
val input: JSONObject = temp
|
|
708
|
+
val result = DocReaderFieldRect()
|
|
709
|
+
|
|
710
|
+
result.bottom = input.optInt("bottom")
|
|
711
|
+
result.top = input.optInt("top")
|
|
712
|
+
result.left = input.optInt("left")
|
|
713
|
+
result.right = input.optInt("right")
|
|
714
|
+
|
|
715
|
+
return result
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
fun generateDocReaderFieldRect(temp: DocReaderFieldRect?): JSONObject? {
|
|
719
|
+
val result = JSONObject()
|
|
720
|
+
temp ?: return null
|
|
721
|
+
val input: DocReaderFieldRect = temp
|
|
722
|
+
|
|
723
|
+
result.put("bottom", input.bottom)
|
|
724
|
+
result.put("top", input.top)
|
|
725
|
+
result.put("left", input.left)
|
|
726
|
+
result.put("right", input.right)
|
|
727
|
+
|
|
728
|
+
return result
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
fun documentReaderGraphicFieldFromJSON(temp: JSONObject?): DocumentReaderGraphicField? {
|
|
732
|
+
temp ?: return null
|
|
733
|
+
val input: JSONObject = temp
|
|
734
|
+
val result = DocumentReaderGraphicField()
|
|
735
|
+
|
|
736
|
+
input.remove("value")
|
|
737
|
+
result.sourceType = input.optInt("sourceType")
|
|
738
|
+
result.fieldType = input.optInt("fieldType")
|
|
739
|
+
result.light = input.optInt("light")
|
|
740
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
741
|
+
result.originalPageIndex = input.optInt("originalPageIndex")
|
|
742
|
+
result.boundRect = docReaderFieldRectFromJSON(input.optJSONObject("fieldRect"))
|
|
743
|
+
|
|
744
|
+
return result
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
fun generateDocumentReaderGraphicField(temp: DocumentReaderGraphicField?, context: Context?): JSONObject? {
|
|
748
|
+
val result = JSONObject()
|
|
749
|
+
temp ?: return null
|
|
750
|
+
val input: DocumentReaderGraphicField = temp
|
|
751
|
+
|
|
752
|
+
result.put("sourceType", input.sourceType)
|
|
753
|
+
result.put("fieldType", input.fieldType)
|
|
754
|
+
result.put("light", input.light)
|
|
755
|
+
result.put("pageIndex", input.pageIndex)
|
|
756
|
+
result.put("originalPageIndex", input.originalPageIndex)
|
|
757
|
+
result.put("fieldName", eGraphicFieldType.getTranslation(context, input.fieldType))
|
|
758
|
+
result.put("lightName", eRPRM_Lights.getTranslation(context, input.light))
|
|
759
|
+
result.put("value", input.imageBase64())
|
|
760
|
+
result.put("fieldRect", generateDocReaderFieldRect(input.boundRect))
|
|
761
|
+
|
|
762
|
+
return result
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
fun documentReaderGraphicResultFromJSON(temp: JSONObject?): DocumentReaderGraphicResult? {
|
|
766
|
+
temp ?: return null
|
|
767
|
+
val input: JSONObject = temp
|
|
768
|
+
val result = DocumentReaderGraphicResult()
|
|
769
|
+
|
|
770
|
+
result.fields = listFromJSON(input.optJSONArray("fields"), ::documentReaderGraphicFieldFromJSON)!!
|
|
771
|
+
|
|
772
|
+
return result
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
fun generateDocumentReaderGraphicResult(temp: DocumentReaderGraphicResult?, context: Context?): JSONObject? {
|
|
776
|
+
val result = JSONObject()
|
|
777
|
+
temp ?: return null
|
|
778
|
+
val input: DocumentReaderGraphicResult = temp
|
|
779
|
+
|
|
780
|
+
result.put("fields", generateList(input.fields, ::generateDocumentReaderGraphicField, context))
|
|
781
|
+
|
|
782
|
+
return result
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
fun documentReaderValueFromJSON(temp: JSONObject?): DocumentReaderValue? {
|
|
786
|
+
temp ?: return null
|
|
787
|
+
val input: JSONObject = temp
|
|
788
|
+
val result = DocumentReaderValue()
|
|
789
|
+
|
|
790
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
791
|
+
result.sourceType = input.optInt("sourceType")
|
|
792
|
+
result.probability = input.optInt("probability")
|
|
793
|
+
result.value = input.optString("value")
|
|
794
|
+
result.originalValue = input.optString("originalValue")
|
|
795
|
+
result.boundRect = rectFromJSON(input.optJSONObject("boundRect"))
|
|
796
|
+
result.originalSymbols = listFromJSON(input.optJSONArray("originalSymbols"), ::documentReaderSymbolFromJSON)!!
|
|
797
|
+
result.rfidOrigin = documentReaderRFIDOriginFromJSON(input.optJSONObject("rfidOrigin"))
|
|
798
|
+
|
|
799
|
+
return result
|
|
800
|
+
}
|
|
801
|
+
|
|
802
|
+
fun generateDocumentReaderValue(temp: DocumentReaderValue?): JSONObject? {
|
|
803
|
+
val result = JSONObject()
|
|
804
|
+
temp ?: return null
|
|
805
|
+
val input: DocumentReaderValue = temp
|
|
806
|
+
|
|
807
|
+
result.put("pageIndex", input.pageIndex)
|
|
808
|
+
result.put("sourceType", input.sourceType)
|
|
809
|
+
result.put("probability", input.probability)
|
|
810
|
+
result.put("value", input.value)
|
|
811
|
+
result.put("originalValue", input.originalValue)
|
|
812
|
+
result.put("boundRect", generateRect(input.boundRect))
|
|
813
|
+
result.put("originalSymbols", generateList(input.originalSymbols, ::generateDocumentReaderSymbol))
|
|
814
|
+
result.put("rfidOrigin", generateDocumentReaderRFIDOrigin(input.rfidOrigin))
|
|
815
|
+
|
|
816
|
+
return result
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
fun documentReaderTextFieldFromJSON(temp: JSONObject?): DocumentReaderTextField? {
|
|
820
|
+
temp ?: return null
|
|
821
|
+
val input: JSONObject = temp
|
|
822
|
+
val result = DocumentReaderTextField()
|
|
823
|
+
|
|
824
|
+
input.remove("getValue")
|
|
825
|
+
result.fieldType = input.optInt("fieldType")
|
|
826
|
+
result.lcid = input.optInt("lcid")
|
|
827
|
+
result.status = input.optInt("status")
|
|
828
|
+
result.value = input.optString("value")
|
|
829
|
+
result.values = listFromJSON(input.optJSONArray("values"), ::documentReaderValueFromJSON)!!
|
|
830
|
+
result.comparisonList = listFromJSON(input.optJSONArray("comparisonList"), ::documentReaderComparisonFromJSON)!!
|
|
831
|
+
result.validityList = listFromJSON(input.optJSONArray("validityList"), ::documentReaderValidityFromJSON)!!
|
|
832
|
+
result.comparisonStatus = input.optInt("comparisonStatus")
|
|
833
|
+
result.validityStatus = input.optInt("validityStatus")
|
|
834
|
+
|
|
835
|
+
return result
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
fun generateDocumentReaderTextField(temp: DocumentReaderTextField?, context: Context?): JSONObject? {
|
|
839
|
+
val result = JSONObject()
|
|
840
|
+
temp ?: return null
|
|
841
|
+
val input: DocumentReaderTextField = temp
|
|
842
|
+
|
|
843
|
+
result.put("fieldType", input.fieldType)
|
|
844
|
+
result.put("lcid", input.lcid)
|
|
845
|
+
result.put("status", input.status)
|
|
846
|
+
result.put("lcidName", input.getLcidName(context!!))
|
|
847
|
+
result.put("fieldName", input.getFieldName(context))
|
|
848
|
+
result.put("value", input.value)
|
|
849
|
+
result.put("getValue", generateDocumentReaderValue(input.value()))
|
|
850
|
+
result.put("values", generateList(input.values, ::generateDocumentReaderValue))
|
|
851
|
+
result.put("comparisonList", generateList(input.comparisonList, ::generateDocumentReaderComparison))
|
|
852
|
+
result.put("validityList", generateList(input.validityList, ::generateDocumentReaderValidity))
|
|
853
|
+
result.put("comparisonStatus", input.comparisonStatus)
|
|
854
|
+
result.put("validityStatus", input.validityStatus)
|
|
855
|
+
|
|
856
|
+
return result
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
fun documentReaderTextResultFromJSON(temp: JSONObject?): DocumentReaderTextResult? {
|
|
860
|
+
temp ?: return null
|
|
861
|
+
val input: JSONObject = temp
|
|
862
|
+
val result = DocumentReaderTextResult()
|
|
863
|
+
|
|
864
|
+
result.status = input.optInt("status")
|
|
865
|
+
result.comparisonStatus = input.optInt("comparisonStatus")
|
|
866
|
+
result.validityStatus = input.optInt("validityStatus")
|
|
867
|
+
result.availableSourceList = listFromJSON(input.optJSONArray("availableSourceList"), ::documentReaderTextSourceFromJSON)!!
|
|
868
|
+
result.fields = listFromJSON(input.optJSONArray("fields"), ::documentReaderTextFieldFromJSON)!!
|
|
869
|
+
|
|
870
|
+
return result
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
fun generateDocumentReaderTextResult(temp: DocumentReaderTextResult?, context: Context?): JSONObject? {
|
|
874
|
+
val result = JSONObject()
|
|
875
|
+
temp ?: return null
|
|
876
|
+
val input: DocumentReaderTextResult = temp
|
|
877
|
+
|
|
878
|
+
result.put("status", input.status)
|
|
879
|
+
result.put("comparisonStatus", input.comparisonStatus)
|
|
880
|
+
result.put("validityStatus", input.validityStatus)
|
|
881
|
+
result.put("availableSourceList", generateList(input.availableSourceList, ::generateDocumentReaderTextSource))
|
|
882
|
+
result.put("fields", generateList(input.fields, ::generateDocumentReaderTextField, context))
|
|
883
|
+
|
|
884
|
+
return result
|
|
885
|
+
}
|
|
886
|
+
|
|
887
|
+
fun coordinateFromJSON(temp: JSONObject?): Coordinate? {
|
|
888
|
+
temp ?: return null
|
|
889
|
+
val input: JSONObject = temp
|
|
890
|
+
val result = Coordinate()
|
|
891
|
+
|
|
892
|
+
result.x = input.optInt("x")
|
|
893
|
+
result.y = input.optInt("y")
|
|
894
|
+
|
|
895
|
+
return result
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
fun generateCoordinate(temp: Coordinate?): JSONObject? {
|
|
899
|
+
val result = JSONObject()
|
|
900
|
+
temp ?: return null
|
|
901
|
+
val input: Coordinate = temp
|
|
902
|
+
|
|
903
|
+
result.put("x", input.x)
|
|
904
|
+
result.put("y", input.y)
|
|
905
|
+
|
|
906
|
+
return result
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
fun elementPositionFromJSON(temp: JSONObject?): ElementPosition? {
|
|
910
|
+
temp ?: return null
|
|
911
|
+
val input: JSONObject = temp
|
|
912
|
+
val result = ElementPosition()
|
|
913
|
+
|
|
914
|
+
result.docFormat = input.optInt("docFormat")
|
|
915
|
+
result.width = input.optInt("width")
|
|
916
|
+
result.height = input.optInt("height")
|
|
917
|
+
result.dpi = input.optInt("dpi")
|
|
918
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
919
|
+
result.inverse = input.optInt("inverse")
|
|
920
|
+
result.perspectiveTr = input.optInt("perspectiveTr")
|
|
921
|
+
result.objArea = input.optInt("objArea")
|
|
922
|
+
result.objIntAngleDev = input.optInt("objIntAngleDev")
|
|
923
|
+
result.resultStatus = input.optInt("resultStatus")
|
|
924
|
+
result.angle = input.optDouble("angle")
|
|
925
|
+
result.center = coordinateFromJSON(input.optJSONObject("center"))
|
|
926
|
+
result.leftTop = coordinateFromJSON(input.optJSONObject("leftTop"))
|
|
927
|
+
result.leftBottom = coordinateFromJSON(input.optJSONObject("leftBottom"))
|
|
928
|
+
result.rightTop = coordinateFromJSON(input.optJSONObject("rightTop"))
|
|
929
|
+
result.rightBottom = coordinateFromJSON(input.optJSONObject("rightBottom"))
|
|
930
|
+
|
|
931
|
+
return result
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
fun generateElementPosition(temp: ElementPosition?): JSONObject? {
|
|
935
|
+
val result = JSONObject()
|
|
936
|
+
temp ?: return null
|
|
937
|
+
val input: ElementPosition = temp
|
|
938
|
+
|
|
939
|
+
result.put("docFormat", input.docFormat)
|
|
940
|
+
result.put("width", input.width)
|
|
941
|
+
result.put("height", input.height)
|
|
942
|
+
result.put("dpi", input.dpi)
|
|
943
|
+
result.put("pageIndex", input.pageIndex)
|
|
944
|
+
result.put("inverse", input.inverse)
|
|
945
|
+
result.put("perspectiveTr", input.perspectiveTr)
|
|
946
|
+
result.put("objArea", input.objArea)
|
|
947
|
+
result.put("objIntAngleDev", input.objIntAngleDev)
|
|
948
|
+
result.put("resultStatus", input.resultStatus)
|
|
949
|
+
result.put("angle", input.angle)
|
|
950
|
+
result.put("center", generateCoordinate(input.center))
|
|
951
|
+
result.put("leftTop", generateCoordinate(input.leftTop))
|
|
952
|
+
result.put("leftBottom", generateCoordinate(input.leftBottom))
|
|
953
|
+
result.put("rightTop", generateCoordinate(input.rightTop))
|
|
954
|
+
result.put("rightBottom", generateCoordinate(input.rightBottom))
|
|
955
|
+
|
|
956
|
+
return result
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
fun imageQualityFromJSON(temp: JSONObject?): ImageQuality? {
|
|
960
|
+
temp ?: return null
|
|
961
|
+
val input: JSONObject = temp
|
|
962
|
+
val result = ImageQuality()
|
|
963
|
+
|
|
964
|
+
result.featureType = input.optInt("featureType")
|
|
965
|
+
result.result = input.optInt("result")
|
|
966
|
+
result.type = input.optInt("type")
|
|
967
|
+
result.boundRects = listFromJSON(input.optJSONArray("boundRects"), ::docReaderFieldRectFromJSON)!!
|
|
968
|
+
|
|
969
|
+
return result
|
|
970
|
+
}
|
|
971
|
+
|
|
972
|
+
fun generateImageQuality(temp: ImageQuality?): JSONObject? {
|
|
973
|
+
val result = JSONObject()
|
|
974
|
+
temp ?: return null
|
|
975
|
+
val input: ImageQuality = temp
|
|
976
|
+
|
|
977
|
+
result.put("featureType", input.featureType)
|
|
978
|
+
result.put("result", input.result)
|
|
979
|
+
result.put("type", input.type)
|
|
980
|
+
result.put("boundRects", generateList(input.boundRects, ::generateDocReaderFieldRect))
|
|
981
|
+
|
|
982
|
+
return result
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
fun imageQualityGroupFromJSON(temp: JSONObject?): ImageQualityGroup? {
|
|
986
|
+
temp ?: return null
|
|
987
|
+
val input: JSONObject = temp
|
|
988
|
+
val result = ImageQualityGroup()
|
|
989
|
+
|
|
990
|
+
result.count = input.optInt("count")
|
|
991
|
+
result.result = input.optInt("result")
|
|
992
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
993
|
+
result.imageQualityList = listFromJSON(input.optJSONArray("imageQualityList"), ::imageQualityFromJSON)!!
|
|
994
|
+
|
|
995
|
+
return result
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
fun generateImageQualityGroup(temp: ImageQualityGroup?): JSONObject? {
|
|
999
|
+
val result = JSONObject()
|
|
1000
|
+
temp ?: return null
|
|
1001
|
+
val input: ImageQualityGroup = temp
|
|
1002
|
+
|
|
1003
|
+
result.put("count", input.count)
|
|
1004
|
+
result.put("result", input.result)
|
|
1005
|
+
result.put("imageQualityList", generateList(input.imageQualityList, ::generateImageQuality))
|
|
1006
|
+
result.put("pageIndex", input.pageIndex)
|
|
1007
|
+
|
|
1008
|
+
return result
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
fun cameraSizeFromJSON(input: JSONObject): Pair<Int, Int> {
|
|
1012
|
+
val width = input.getInt("width")
|
|
1013
|
+
val height = input.getInt("height")
|
|
1014
|
+
return Pair(width, height)
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
fun generateCameraSize(width: Int?, height: Int?): JSONObject? {
|
|
1018
|
+
width ?: return null
|
|
1019
|
+
height ?: return null
|
|
1020
|
+
val result = JSONObject()
|
|
1021
|
+
result.put("width", width)
|
|
1022
|
+
result.put("height", height)
|
|
1023
|
+
return result
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
fun documentReaderDocumentTypeFromJSON(temp: JSONObject?): DocumentReaderDocumentType? {
|
|
1027
|
+
temp ?: return null
|
|
1028
|
+
val input: JSONObject = temp
|
|
1029
|
+
val result = DocumentReaderDocumentType()
|
|
1030
|
+
|
|
1031
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
1032
|
+
result.documentID = input.optInt("documentID")
|
|
1033
|
+
result.dType = input.optInt("dType")
|
|
1034
|
+
result.dFormat = input.optInt("dFormat")
|
|
1035
|
+
result.dMRZ = input.optBoolean("dMRZ")
|
|
1036
|
+
result.isDeprecated = input.optBoolean("isDeprecated")
|
|
1037
|
+
result.name = input.optString("name")
|
|
1038
|
+
result.ICAOCode = input.optString("ICAOCode")
|
|
1039
|
+
result.dDescription = input.optString("dDescription")
|
|
1040
|
+
result.dCountryName = input.optString("dCountryName")
|
|
1041
|
+
result.dYear = input.optString("dYear")
|
|
1042
|
+
result.FDSID = input.optJSONArray("FDSID").toIntArray()
|
|
1043
|
+
|
|
1044
|
+
return result
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
fun generateDocumentReaderDocumentType(temp: DocumentReaderDocumentType?): JSONObject? {
|
|
1048
|
+
val result = JSONObject()
|
|
1049
|
+
temp ?: return null
|
|
1050
|
+
val input: DocumentReaderDocumentType = temp
|
|
1051
|
+
|
|
1052
|
+
result.put("pageIndex", input.pageIndex)
|
|
1053
|
+
result.put("documentID", input.documentID)
|
|
1054
|
+
result.put("dType", input.dType)
|
|
1055
|
+
result.put("dFormat", input.dFormat)
|
|
1056
|
+
result.put("dMRZ", input.dMRZ)
|
|
1057
|
+
result.put("isDeprecated", input.isDeprecated)
|
|
1058
|
+
result.put("name", input.name)
|
|
1059
|
+
result.put("ICAOCode", input.ICAOCode)
|
|
1060
|
+
result.put("dDescription", input.dDescription)
|
|
1061
|
+
result.put("dYear", input.dYear)
|
|
1062
|
+
result.put("dCountryName", input.dCountryName)
|
|
1063
|
+
result.put("FDSID", input.FDSID.generate())
|
|
1064
|
+
|
|
1065
|
+
return result
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
fun generateDocumentReaderNotification(temp: DocumentReaderNotification?): JSONObject? {
|
|
1069
|
+
val result = JSONObject()
|
|
1070
|
+
temp ?: return null
|
|
1071
|
+
val input: DocumentReaderNotification = temp
|
|
1072
|
+
|
|
1073
|
+
result.put("notificationCode", input.notificationCode)
|
|
1074
|
+
result.put("dataFileType", input.dataFileType)
|
|
1075
|
+
result.put("progress", input.progress)
|
|
1076
|
+
|
|
1077
|
+
return result
|
|
1078
|
+
}
|
|
1079
|
+
|
|
1080
|
+
fun accessControlProcedureTypeFromJSON(temp: JSONObject?): AccessControlProcedureType? {
|
|
1081
|
+
temp ?: return null
|
|
1082
|
+
val input: JSONObject = temp
|
|
1083
|
+
val result = AccessControlProcedureType()
|
|
1084
|
+
|
|
1085
|
+
result.activeOptionIdx = input.optInt("activeOptionIdx")
|
|
1086
|
+
result.type = input.optInt("type")
|
|
1087
|
+
result.status = input.optInt("status").toLong()
|
|
1088
|
+
result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
|
|
1089
|
+
|
|
1090
|
+
return result
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
fun generateAccessControlProcedureType(temp: AccessControlProcedureType?): JSONObject? {
|
|
1094
|
+
val result = JSONObject()
|
|
1095
|
+
temp ?: return null
|
|
1096
|
+
val input: AccessControlProcedureType = temp
|
|
1097
|
+
|
|
1098
|
+
result.put("activeOptionIdx", input.activeOptionIdx)
|
|
1099
|
+
result.put("type", input.type)
|
|
1100
|
+
result.put("status", input.status)
|
|
1101
|
+
result.put("notifications", generateList(input.notifications))
|
|
1102
|
+
|
|
1103
|
+
return result
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
fun fileDataFromJSON(temp: JSONObject?): FileData? {
|
|
1107
|
+
temp ?: return null
|
|
1108
|
+
val input: JSONObject = temp
|
|
1109
|
+
val result = FileData()
|
|
1110
|
+
|
|
1111
|
+
result.length = input.optInt("length")
|
|
1112
|
+
result.type = input.optInt("type")
|
|
1113
|
+
result.status = input.optInt("status").toLong()
|
|
1114
|
+
result.data = input.optString("data")
|
|
1115
|
+
|
|
1116
|
+
return result
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
fun generateFileData(temp: FileData?): JSONObject? {
|
|
1120
|
+
val result = JSONObject()
|
|
1121
|
+
temp ?: return null
|
|
1122
|
+
val input: FileData = temp
|
|
1123
|
+
|
|
1124
|
+
result.put("length", input.length)
|
|
1125
|
+
result.put("type", input.type)
|
|
1126
|
+
result.put("status", input.status)
|
|
1127
|
+
result.put("data", input.data)
|
|
1128
|
+
|
|
1129
|
+
return result
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
fun certificateDataFromJSON(temp: JSONObject?): CertificateData? {
|
|
1133
|
+
temp ?: return null
|
|
1134
|
+
val input: JSONObject = temp
|
|
1135
|
+
val result = CertificateData()
|
|
1136
|
+
|
|
1137
|
+
result.length = input.optInt("length")
|
|
1138
|
+
result.data = input.optString("data")
|
|
1139
|
+
|
|
1140
|
+
return result
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
fun generateCertificateData(temp: CertificateData?): JSONObject? {
|
|
1144
|
+
val result = JSONObject()
|
|
1145
|
+
temp ?: return null
|
|
1146
|
+
val input: CertificateData = temp
|
|
1147
|
+
|
|
1148
|
+
result.put("length", input.length)
|
|
1149
|
+
result.put("data", input.data)
|
|
1150
|
+
|
|
1151
|
+
return result
|
|
1152
|
+
}
|
|
1153
|
+
|
|
1154
|
+
fun securityObjectCertificatesFromJSON(temp: JSONObject?): SecurityObjectCertificates? {
|
|
1155
|
+
temp ?: return null
|
|
1156
|
+
val input: JSONObject = temp
|
|
1157
|
+
val result = SecurityObjectCertificates()
|
|
1158
|
+
|
|
1159
|
+
result.securityObject = certificateDataFromJSON(input.optJSONObject("securityObject"))
|
|
1160
|
+
|
|
1161
|
+
return result
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
fun generateSecurityObjectCertificates(temp: SecurityObjectCertificates?): JSONObject? {
|
|
1165
|
+
val result = JSONObject()
|
|
1166
|
+
temp ?: return null
|
|
1167
|
+
val input: SecurityObjectCertificates = temp
|
|
1168
|
+
|
|
1169
|
+
result.put("securityObject", generateCertificateData(input.securityObject))
|
|
1170
|
+
|
|
1171
|
+
return result
|
|
1172
|
+
}
|
|
1173
|
+
|
|
1174
|
+
fun fileFromJSON(temp: JSONObject?): File? {
|
|
1175
|
+
temp ?: return null
|
|
1176
|
+
val input: JSONObject = temp
|
|
1177
|
+
val result = File()
|
|
1178
|
+
|
|
1179
|
+
result.readingTime = input.optInt("readingTime")
|
|
1180
|
+
result.type = input.optInt("type")
|
|
1181
|
+
result.pAStatus = input.optLong("pAStatus")
|
|
1182
|
+
result.readingStatus = input.optInt("readingStatus").toLong()
|
|
1183
|
+
result.fileID = input.optString("fileID")
|
|
1184
|
+
result.fileData = fileDataFromJSON(input.optJSONObject("fileData"))
|
|
1185
|
+
result.certificates = securityObjectCertificatesFromJSON(input.optJSONObject("certificates"))
|
|
1186
|
+
result.docFieldsText = listFromJSON(input.optJSONArray("docFieldsText")!!)
|
|
1187
|
+
result.docFieldsGraphics = listFromJSON(input.optJSONArray("docFieldsGraphics")!!)
|
|
1188
|
+
result.docFieldsOriginals = listFromJSON(input.optJSONArray("docFieldsOriginals")!!)
|
|
1189
|
+
result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
|
|
1190
|
+
|
|
1191
|
+
return result
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
fun generateFile(temp: File?, context: Context?): JSONObject? {
|
|
1195
|
+
val result = JSONObject()
|
|
1196
|
+
temp ?: return null
|
|
1197
|
+
val input: File = temp
|
|
1198
|
+
|
|
1199
|
+
result.put("readingTime", input.readingTime)
|
|
1200
|
+
result.put("type", input.type)
|
|
1201
|
+
result.put("typeName", eRFID_DataFile_Type.getTranslation(context, input.type))
|
|
1202
|
+
result.put("pAStatus", input.pAStatus)
|
|
1203
|
+
result.put("readingStatus", input.readingStatus)
|
|
1204
|
+
result.put("fileID", input.fileID)
|
|
1205
|
+
result.put("fileData", generateFileData(input.fileData))
|
|
1206
|
+
result.put("certificates", generateSecurityObjectCertificates(input.certificates))
|
|
1207
|
+
result.put("docFieldsText", generateList(input.docFieldsText))
|
|
1208
|
+
result.put("docFieldsGraphics", generateList(input.docFieldsGraphics))
|
|
1209
|
+
result.put("docFieldsOriginals", generateList(input.docFieldsOriginals))
|
|
1210
|
+
result.put("notifications", generateList(input.notifications))
|
|
1211
|
+
|
|
1212
|
+
return result
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1215
|
+
fun applicationFromJSON(temp: JSONObject?): Application? {
|
|
1216
|
+
temp ?: return null
|
|
1217
|
+
val input: JSONObject = temp
|
|
1218
|
+
val result = Application()
|
|
1219
|
+
|
|
1220
|
+
result.type = input.optInt("type")
|
|
1221
|
+
result.status = input.optInt("status")
|
|
1222
|
+
result.applicationID = input.optString("applicationID")
|
|
1223
|
+
result.dataHashAlgorithm = input.optString("dataHashAlgorithm")
|
|
1224
|
+
result.unicodeVersion = input.optString("unicodeVersion")
|
|
1225
|
+
result.version = input.optString("version")
|
|
1226
|
+
result.files = listFromJSON(input.optJSONArray("files"), ::fileFromJSON)!!
|
|
1227
|
+
|
|
1228
|
+
return result
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
fun generateApplication(temp: Application?, context: Context?): JSONObject? {
|
|
1232
|
+
val result = JSONObject()
|
|
1233
|
+
temp ?: return null
|
|
1234
|
+
val input: Application = temp
|
|
1235
|
+
|
|
1236
|
+
result.put("type", input.type)
|
|
1237
|
+
result.put("status", input.status)
|
|
1238
|
+
result.put("applicationID", input.applicationID)
|
|
1239
|
+
result.put("dataHashAlgorithm", input.dataHashAlgorithm)
|
|
1240
|
+
result.put("unicodeVersion", input.unicodeVersion)
|
|
1241
|
+
result.put("version", input.version)
|
|
1242
|
+
result.put("files", generateList(input.files, ::generateFile, context))
|
|
1243
|
+
|
|
1244
|
+
return result
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
fun valueFromJSON(temp: JSONObject?): Value? {
|
|
1248
|
+
temp ?: return null
|
|
1249
|
+
val input: JSONObject = temp
|
|
1250
|
+
val result = Value()
|
|
1251
|
+
|
|
1252
|
+
result.length = input.optInt("length")
|
|
1253
|
+
result.type = input.optInt("type")
|
|
1254
|
+
result.status = input.optInt("status").toLong()
|
|
1255
|
+
result.data = input.optString("data")
|
|
1256
|
+
result.format = input.optString("format")
|
|
1257
|
+
|
|
1258
|
+
return result
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
fun generateValue(temp: Value?): JSONObject? {
|
|
1262
|
+
val result = JSONObject()
|
|
1263
|
+
temp ?: return null
|
|
1264
|
+
val input: Value = temp
|
|
1265
|
+
|
|
1266
|
+
result.put("length", input.length)
|
|
1267
|
+
result.put("type", input.type)
|
|
1268
|
+
result.put("status", input.status)
|
|
1269
|
+
result.put("data", input.data)
|
|
1270
|
+
result.put("format", input.format)
|
|
1271
|
+
|
|
1272
|
+
return result
|
|
1273
|
+
}
|
|
1274
|
+
|
|
1275
|
+
fun attributeFromJSON(temp: JSONObject?): Attribute? {
|
|
1276
|
+
temp ?: return null
|
|
1277
|
+
val input: JSONObject = temp
|
|
1278
|
+
val result = Attribute()
|
|
1279
|
+
|
|
1280
|
+
result.type = input.optString("type")
|
|
1281
|
+
result.value = valueFromJSON(input.optJSONObject("value"))
|
|
1282
|
+
|
|
1283
|
+
return result
|
|
1284
|
+
}
|
|
1285
|
+
|
|
1286
|
+
fun generateAttribute(temp: Attribute?): JSONObject? {
|
|
1287
|
+
val result = JSONObject()
|
|
1288
|
+
temp ?: return null
|
|
1289
|
+
val input: Attribute = temp
|
|
1290
|
+
|
|
1291
|
+
result.put("type", input.type)
|
|
1292
|
+
result.put("value", generateValue(input.value))
|
|
1293
|
+
|
|
1294
|
+
return result
|
|
1295
|
+
}
|
|
1296
|
+
|
|
1297
|
+
fun authorityFromJSON(temp: JSONObject?): Authority? {
|
|
1298
|
+
temp ?: return null
|
|
1299
|
+
val input: JSONObject = temp
|
|
1300
|
+
val result = Authority()
|
|
1301
|
+
|
|
1302
|
+
result.data = input.optString("data")
|
|
1303
|
+
result.friendlyName = valueFromJSON(input.optJSONObject("friendlyName"))
|
|
1304
|
+
result.attributes = listFromJSON(input.optJSONArray("attributes"), ::attributeFromJSON)!!
|
|
1305
|
+
|
|
1306
|
+
return result
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
fun generateAuthority(temp: Authority?): JSONObject? {
|
|
1310
|
+
val result = JSONObject()
|
|
1311
|
+
temp ?: return null
|
|
1312
|
+
val input: Authority = temp
|
|
1313
|
+
|
|
1314
|
+
result.put("data", input.data)
|
|
1315
|
+
result.put("friendlyName", generateValue(input.friendlyName))
|
|
1316
|
+
result.put("attributes", generateList(input.attributes, ::generateAttribute))
|
|
1317
|
+
|
|
1318
|
+
return result
|
|
1319
|
+
}
|
|
1320
|
+
|
|
1321
|
+
fun extensionFromJSON(temp: JSONObject?): Extension? {
|
|
1322
|
+
temp ?: return null
|
|
1323
|
+
val input: JSONObject = temp
|
|
1324
|
+
val result = Extension()
|
|
1325
|
+
|
|
1326
|
+
result.data = input.optString("data")
|
|
1327
|
+
result.type = input.optString("type")
|
|
1328
|
+
|
|
1329
|
+
return result
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
fun generateExtension(temp: Extension?): JSONObject? {
|
|
1333
|
+
val result = JSONObject()
|
|
1334
|
+
temp ?: return null
|
|
1335
|
+
val input: Extension = temp
|
|
1336
|
+
|
|
1337
|
+
result.put("data", input.data)
|
|
1338
|
+
result.put("type", input.type)
|
|
1339
|
+
|
|
1340
|
+
return result
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
fun validityFromJSON(temp: JSONObject?): Validity? {
|
|
1344
|
+
temp ?: return null
|
|
1345
|
+
val input: JSONObject = temp
|
|
1346
|
+
val result = Validity()
|
|
1347
|
+
|
|
1348
|
+
result.notAfter = valueFromJSON(input.optJSONObject("notAfter"))
|
|
1349
|
+
result.notBefore = valueFromJSON(input.optJSONObject("notBefore"))
|
|
1350
|
+
|
|
1351
|
+
return result
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
fun generateValidity(temp: Validity?): JSONObject? {
|
|
1355
|
+
val result = JSONObject()
|
|
1356
|
+
temp ?: return null
|
|
1357
|
+
val input: Validity = temp
|
|
1358
|
+
|
|
1359
|
+
result.put("notAfter", generateValue(input.notAfter))
|
|
1360
|
+
result.put("notBefore", generateValue(input.notBefore))
|
|
1361
|
+
|
|
1362
|
+
return result
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
fun certificateChainFromJSON(temp: JSONObject?): CertificateChain? {
|
|
1366
|
+
temp ?: return null
|
|
1367
|
+
val input: JSONObject = temp
|
|
1368
|
+
val result = CertificateChain()
|
|
1369
|
+
|
|
1370
|
+
result.origin = input.optInt("origin")
|
|
1371
|
+
result.type = input.optInt("type")
|
|
1372
|
+
result.version = input.optInt("version")
|
|
1373
|
+
result.paStatus = input.optInt("paStatus").toLong()
|
|
1374
|
+
result.serialNumber = input.optString("serialNumber")
|
|
1375
|
+
result.signatureAlgorithm = input.optString("signatureAlgorithm")
|
|
1376
|
+
result.subjectPKAlgorithm = input.optString("subjectPKAlgorithm")
|
|
1377
|
+
result.fileName = valueFromJSON(input.optJSONObject("fileName"))
|
|
1378
|
+
result.validity = validityFromJSON(input.optJSONObject("validity"))
|
|
1379
|
+
result.issuer = authorityFromJSON(input.optJSONObject("issuer"))
|
|
1380
|
+
result.subject = authorityFromJSON(input.optJSONObject("subject"))
|
|
1381
|
+
result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
|
|
1382
|
+
result.extensions = listFromJSON(input.optJSONArray("extensions"), ::extensionFromJSON)!!
|
|
1383
|
+
|
|
1384
|
+
return result
|
|
1385
|
+
}
|
|
1386
|
+
|
|
1387
|
+
fun generateCertificateChain(temp: CertificateChain?): JSONObject? {
|
|
1388
|
+
val result = JSONObject()
|
|
1389
|
+
temp ?: return null
|
|
1390
|
+
val input: CertificateChain = temp
|
|
1391
|
+
|
|
1392
|
+
result.put("origin", input.origin)
|
|
1393
|
+
result.put("type", input.type)
|
|
1394
|
+
result.put("version", input.version)
|
|
1395
|
+
result.put("paStatus", input.paStatus)
|
|
1396
|
+
result.put("serialNumber", input.serialNumber)
|
|
1397
|
+
result.put("signatureAlgorithm", input.signatureAlgorithm)
|
|
1398
|
+
result.put("subjectPKAlgorithm", input.subjectPKAlgorithm)
|
|
1399
|
+
result.put("fileName", generateValue(input.fileName))
|
|
1400
|
+
result.put("validity", generateValidity(input.validity))
|
|
1401
|
+
result.put("issuer", generateAuthority(input.issuer))
|
|
1402
|
+
result.put("subject", generateAuthority(input.subject))
|
|
1403
|
+
result.put("notifications", generateList(input.notifications))
|
|
1404
|
+
result.put("extensions", generateList(input.extensions, ::generateExtension))
|
|
1405
|
+
|
|
1406
|
+
return result
|
|
1407
|
+
}
|
|
1408
|
+
|
|
1409
|
+
fun signerInfoFromJSON(temp: JSONObject?): SignerInfo? {
|
|
1410
|
+
temp ?: return null
|
|
1411
|
+
val input: JSONObject = temp
|
|
1412
|
+
val result = SignerInfo()
|
|
1413
|
+
|
|
1414
|
+
result.version = input.optInt("version")
|
|
1415
|
+
result.paStatus = input.optInt("paStatus").toLong()
|
|
1416
|
+
result.dataToHash = input.optString("dataToHash")
|
|
1417
|
+
result.digestAlgorithm = input.optString("digestAlgorithm")
|
|
1418
|
+
result.signatureAlgorithm = input.optString("signatureAlgorithm")
|
|
1419
|
+
result.serialNumber = valueFromJSON(input.optJSONObject("serialNumber"))
|
|
1420
|
+
result.signature = valueFromJSON(input.optJSONObject("signature"))
|
|
1421
|
+
result.subjectKeyIdentifier = valueFromJSON(input.optJSONObject("subjectKeyIdentifier"))
|
|
1422
|
+
result.issuer = authorityFromJSON(input.optJSONObject("issuer"))
|
|
1423
|
+
result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
|
|
1424
|
+
result.signedAttributes = listFromJSON(input.optJSONArray("signedAttributes"), ::extensionFromJSON)!!
|
|
1425
|
+
result.certificateChain = listFromJSON(input.optJSONArray("certificateChain"), ::certificateChainFromJSON)!!
|
|
1426
|
+
|
|
1427
|
+
return result
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
fun generateSignerInfo(temp: SignerInfo?): JSONObject? {
|
|
1431
|
+
val result = JSONObject()
|
|
1432
|
+
temp ?: return null
|
|
1433
|
+
val input: SignerInfo = temp
|
|
1434
|
+
|
|
1435
|
+
result.put("version", input.version)
|
|
1436
|
+
result.put("paStatus", input.paStatus)
|
|
1437
|
+
result.put("dataToHash", input.dataToHash)
|
|
1438
|
+
result.put("digestAlgorithm", input.digestAlgorithm)
|
|
1439
|
+
result.put("signatureAlgorithm", input.signatureAlgorithm)
|
|
1440
|
+
result.put("serialNumber", generateValue(input.serialNumber))
|
|
1441
|
+
result.put("signature", generateValue(input.signature))
|
|
1442
|
+
result.put("subjectKeyIdentifier", generateValue(input.subjectKeyIdentifier))
|
|
1443
|
+
result.put("issuer", generateAuthority(input.issuer))
|
|
1444
|
+
result.put("notifications", generateList(input.notifications))
|
|
1445
|
+
result.put("signedAttributes", generateList(input.signedAttributes, ::generateExtension))
|
|
1446
|
+
result.put("certificateChain", generateList(input.certificateChain, ::generateCertificateChain))
|
|
1447
|
+
|
|
1448
|
+
return result
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
fun securityObjectFromJSON(temp: JSONObject?): SecurityObject? {
|
|
1452
|
+
temp ?: return null
|
|
1453
|
+
val input: JSONObject = temp
|
|
1454
|
+
val result = SecurityObject()
|
|
1455
|
+
|
|
1456
|
+
result.fileReference = input.optInt("fileReference")
|
|
1457
|
+
result.version = input.optInt("version")
|
|
1458
|
+
result.objectType = input.optString("objectType")
|
|
1459
|
+
result.notifications = listFromJSON(input.optJSONArray("notifications")!!)
|
|
1460
|
+
result.signerInfos = listFromJSON(input.optJSONArray("signerInfos"), ::signerInfoFromJSON)!!
|
|
1461
|
+
|
|
1462
|
+
return result
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
fun generateSecurityObject(temp: SecurityObject?): JSONObject? {
|
|
1466
|
+
val result = JSONObject()
|
|
1467
|
+
temp ?: return null
|
|
1468
|
+
val input: SecurityObject = temp
|
|
1469
|
+
|
|
1470
|
+
result.put("fileReference", input.fileReference)
|
|
1471
|
+
result.put("version", input.version)
|
|
1472
|
+
result.put("objectType", input.objectType)
|
|
1473
|
+
result.put("notifications", generateList(input.notifications))
|
|
1474
|
+
result.put("signerInfos", generateList(input.signerInfos, ::generateSignerInfo))
|
|
1475
|
+
|
|
1476
|
+
return result
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
fun cardPropertiesFromJSON(temp: JSONObject?): CardProperties? {
|
|
1480
|
+
temp ?: return null
|
|
1481
|
+
val input: JSONObject = temp
|
|
1482
|
+
val result = CardProperties()
|
|
1483
|
+
|
|
1484
|
+
result.aTQA = input.optInt("aTQA")
|
|
1485
|
+
result.bitRateR = input.optInt("bitRateR")
|
|
1486
|
+
result.bitRateS = input.optInt("bitRateS")
|
|
1487
|
+
result.chipTypeA = input.optInt("chipTypeA")
|
|
1488
|
+
result.mifareMemory = input.optInt("mifareMemory")
|
|
1489
|
+
result.rfidType = input.optInt("rfidType")
|
|
1490
|
+
result.sAK = input.optInt("sAK")
|
|
1491
|
+
result.support4 = input.optBoolean("support4")
|
|
1492
|
+
result.supportMifare = input.optBoolean("supportMifare")
|
|
1493
|
+
result.aTQB = input.optString("aTQB")
|
|
1494
|
+
result.aTR = input.optString("aTR")
|
|
1495
|
+
result.baudrate1 = input.optString("baudrate1")
|
|
1496
|
+
result.baudrate2 = input.optString("baudrate2")
|
|
1497
|
+
result.uID = input.optString("uID")
|
|
1498
|
+
|
|
1499
|
+
return result
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
fun generateCardProperties(temp: CardProperties?): JSONObject? {
|
|
1503
|
+
val result = JSONObject()
|
|
1504
|
+
temp ?: return null
|
|
1505
|
+
val input: CardProperties = temp
|
|
1506
|
+
|
|
1507
|
+
result.put("aTQA", input.aTQA)
|
|
1508
|
+
result.put("bitRateR", input.bitRateR)
|
|
1509
|
+
result.put("bitRateS", input.bitRateS)
|
|
1510
|
+
result.put("chipTypeA", input.chipTypeA)
|
|
1511
|
+
result.put("mifareMemory", input.mifareMemory)
|
|
1512
|
+
result.put("rfidType", input.rfidType)
|
|
1513
|
+
result.put("sAK", input.sAK)
|
|
1514
|
+
result.put("support4", input.support4)
|
|
1515
|
+
result.put("supportMifare", input.supportMifare)
|
|
1516
|
+
result.put("aTQB", input.aTQB)
|
|
1517
|
+
result.put("aTR", input.aTR)
|
|
1518
|
+
result.put("baudrate1", input.baudrate1)
|
|
1519
|
+
result.put("baudrate2", input.baudrate2)
|
|
1520
|
+
result.put("uID", input.uID)
|
|
1521
|
+
|
|
1522
|
+
return result
|
|
1523
|
+
}
|
|
1524
|
+
|
|
1525
|
+
fun rfidSessionDataFromJSON(temp: JSONObject?): RFIDSessionData? {
|
|
1526
|
+
temp ?: return null
|
|
1527
|
+
val input: JSONObject = temp
|
|
1528
|
+
val result = RFIDSessionData()
|
|
1529
|
+
|
|
1530
|
+
result.totalBytesReceived = input.optInt("totalBytesReceived")
|
|
1531
|
+
result.totalBytesSent = input.optInt("totalBytesSent")
|
|
1532
|
+
result.status = input.optInt("status").toLong()
|
|
1533
|
+
result.extLeSupport = input.optLong("extLeSupport")
|
|
1534
|
+
result.processTime = input.optLong("processTime")
|
|
1535
|
+
result.cardProperties = cardPropertiesFromJSON(input.optJSONObject("cardProperties"))
|
|
1536
|
+
result.accessControls = listFromJSON(input.optJSONArray("accessControls"), ::accessControlProcedureTypeFromJSON)!!
|
|
1537
|
+
result.applications = listFromJSON(input.optJSONArray("applications"), ::applicationFromJSON)!!
|
|
1538
|
+
result.securityObjects = listFromJSON(input.optJSONArray("securityObjects"), ::securityObjectFromJSON)!!
|
|
1539
|
+
result.dataFields = listFromJSON(input.optJSONArray("dataFields"), ::dataFieldFromJSON)!!
|
|
1540
|
+
result.dataGroups = input.optJSONArray("dataGroups").toIntArray()
|
|
1541
|
+
|
|
1542
|
+
return result
|
|
1543
|
+
}
|
|
1544
|
+
|
|
1545
|
+
fun generateRFIDSessionData(temp: RFIDSessionData?, context: Context?): JSONObject? {
|
|
1546
|
+
val result = JSONObject()
|
|
1547
|
+
temp ?: return null
|
|
1548
|
+
val input: RFIDSessionData = temp
|
|
1549
|
+
|
|
1550
|
+
result.put("totalBytesReceived", input.totalBytesReceived)
|
|
1551
|
+
result.put("totalBytesSent", input.totalBytesSent)
|
|
1552
|
+
result.put("status", input.status)
|
|
1553
|
+
result.put("extLeSupport", input.extLeSupport)
|
|
1554
|
+
result.put("processTime", input.processTime)
|
|
1555
|
+
result.put("cardProperties", generateCardProperties(input.cardProperties))
|
|
1556
|
+
result.put("accessControls", generateList(input.accessControls, ::generateAccessControlProcedureType))
|
|
1557
|
+
result.put("applications", generateList(input.applications, ::generateApplication, context))
|
|
1558
|
+
result.put("securityObjects", generateList(input.securityObjects, ::generateSecurityObject))
|
|
1559
|
+
result.put("dataGroups", input.dataGroups.generate())
|
|
1560
|
+
result.put("dataFields", generateList(input.dataFields, ::generateDataField))
|
|
1561
|
+
|
|
1562
|
+
return result
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
fun dataFieldFromJSON(temp: JSONObject?): DataField? {
|
|
1566
|
+
temp ?: return null
|
|
1567
|
+
val input: JSONObject = temp
|
|
1568
|
+
val result = DataField()
|
|
1569
|
+
|
|
1570
|
+
result.data = input.optString("data")
|
|
1571
|
+
result.fieldType = input.optInt("fieldType")
|
|
1572
|
+
|
|
1573
|
+
return result
|
|
1574
|
+
}
|
|
1575
|
+
|
|
1576
|
+
fun generateDataField(temp: DataField?): JSONObject? {
|
|
1577
|
+
val result = JSONObject()
|
|
1578
|
+
temp ?: return null
|
|
1579
|
+
val input: DataField = temp
|
|
1580
|
+
|
|
1581
|
+
result.put("data", input.data)
|
|
1582
|
+
result.put("fieldType", input.fieldType)
|
|
1583
|
+
|
|
1584
|
+
return result
|
|
1585
|
+
}
|
|
1586
|
+
|
|
1587
|
+
fun documentReaderAuthenticityCheckFromJSON(temp: JSONObject?): DocumentReaderAuthenticityCheck? {
|
|
1588
|
+
temp ?: return null
|
|
1589
|
+
val input: JSONObject = temp
|
|
1590
|
+
val result = DocumentReaderAuthenticityCheck()
|
|
1591
|
+
|
|
1592
|
+
result.type = input.optInt("type")
|
|
1593
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
1594
|
+
result.elements = listFromJSON(input.optJSONArray("elements"), ::documentReaderAuthenticityElementFromJSON)!!
|
|
1595
|
+
|
|
1596
|
+
return result
|
|
1597
|
+
}
|
|
1598
|
+
|
|
1599
|
+
fun generateDocumentReaderAuthenticityCheck(temp: DocumentReaderAuthenticityCheck?, context: Context?): JSONObject? {
|
|
1600
|
+
val result = JSONObject()
|
|
1601
|
+
temp ?: return null
|
|
1602
|
+
val input: DocumentReaderAuthenticityCheck = temp
|
|
1603
|
+
|
|
1604
|
+
result.put("type", input.type)
|
|
1605
|
+
result.put("status", input.status)
|
|
1606
|
+
result.put("typeName", input.getTypeName(context))
|
|
1607
|
+
result.put("pageIndex", input.pageIndex)
|
|
1608
|
+
result.put("elements", generateList(input.elements, ::generateDocumentReaderAuthenticityElement, context))
|
|
1609
|
+
|
|
1610
|
+
return result
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
fun pdf417InfoFromJSON(temp: JSONObject?): PDF417Info? {
|
|
1614
|
+
temp ?: return null
|
|
1615
|
+
val input: JSONObject = temp
|
|
1616
|
+
val result = PDF417Info()
|
|
1617
|
+
|
|
1618
|
+
result.errorLevel = input.optInt("errorLevel")
|
|
1619
|
+
result.columns = input.optInt("columns")
|
|
1620
|
+
result.rows = input.optInt("rows")
|
|
1621
|
+
|
|
1622
|
+
return result
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1625
|
+
fun generatePDF417Info(temp: PDF417Info?): JSONObject? {
|
|
1626
|
+
val result = JSONObject()
|
|
1627
|
+
temp ?: return null
|
|
1628
|
+
val input: PDF417Info = temp
|
|
1629
|
+
|
|
1630
|
+
result.put("errorLevel", input.errorLevel)
|
|
1631
|
+
result.put("columns", input.columns)
|
|
1632
|
+
result.put("rows", input.rows)
|
|
1633
|
+
|
|
1634
|
+
return result
|
|
1635
|
+
}
|
|
1636
|
+
|
|
1637
|
+
fun documentReaderBarcodeResultFromJSON(temp: JSONObject?): DocumentReaderBarcodeResult? {
|
|
1638
|
+
temp ?: return null
|
|
1639
|
+
val input: JSONObject = temp
|
|
1640
|
+
val result = DocumentReaderBarcodeResult()
|
|
1641
|
+
|
|
1642
|
+
result.fields = listFromJSON(input.optJSONArray("fields"), ::documentReaderBarcodeFieldFromJSON)!!
|
|
1643
|
+
|
|
1644
|
+
return result
|
|
1645
|
+
}
|
|
1646
|
+
|
|
1647
|
+
fun generateDocumentReaderBarcodeResult(temp: DocumentReaderBarcodeResult?): JSONObject? {
|
|
1648
|
+
val result = JSONObject()
|
|
1649
|
+
temp ?: return null
|
|
1650
|
+
val input: DocumentReaderBarcodeResult = temp
|
|
1651
|
+
|
|
1652
|
+
result.put("fields", generateList(input.fields, ::generateDocumentReaderBarcodeField))
|
|
1653
|
+
|
|
1654
|
+
return result
|
|
1655
|
+
}
|
|
1656
|
+
|
|
1657
|
+
fun documentReaderBarcodeFieldFromJSON(temp: JSONObject?): DocumentReaderBarcodeField? {
|
|
1658
|
+
temp ?: return null
|
|
1659
|
+
val input: JSONObject = temp
|
|
1660
|
+
val result = DocumentReaderBarcodeField()
|
|
1661
|
+
|
|
1662
|
+
result.barcodeType = input.optInt("barcodeType")
|
|
1663
|
+
result.status = input.optInt("status")
|
|
1664
|
+
result.pageIndex = input.optInt("pageIndex")
|
|
1665
|
+
result.pdf417Info = pdf417InfoFromJSON(input.optJSONObject("pdf417Info"))
|
|
1666
|
+
result.data = byteArrayFromBase64(input.optString("data"))
|
|
1667
|
+
|
|
1668
|
+
return result
|
|
1669
|
+
}
|
|
1670
|
+
|
|
1671
|
+
fun generateDocumentReaderBarcodeField(temp: DocumentReaderBarcodeField?): JSONObject? {
|
|
1672
|
+
val result = JSONObject()
|
|
1673
|
+
temp ?: return null
|
|
1674
|
+
val input: DocumentReaderBarcodeField = temp
|
|
1675
|
+
|
|
1676
|
+
result.put("barcodeType", input.barcodeType)
|
|
1677
|
+
result.put("status", input.status)
|
|
1678
|
+
result.put("pageIndex", input.pageIndex)
|
|
1679
|
+
result.put("pdf417Info", generatePDF417Info(input.pdf417Info))
|
|
1680
|
+
result.put("data", generateByteArray(input.data))
|
|
1681
|
+
|
|
1682
|
+
return result
|
|
1683
|
+
}
|
|
1684
|
+
|
|
1685
|
+
fun documentReaderAuthenticityResultFromJSON(temp: JSONObject?): DocumentReaderAuthenticityResult? {
|
|
1686
|
+
temp ?: return null
|
|
1687
|
+
val input: JSONObject = temp
|
|
1688
|
+
val result = DocumentReaderAuthenticityResult()
|
|
1689
|
+
|
|
1690
|
+
result.checks = listFromJSON(input.optJSONArray("checks"), ::documentReaderAuthenticityCheckFromJSON)!!
|
|
1691
|
+
|
|
1692
|
+
return result
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
fun generateDocumentReaderAuthenticityResult(temp: DocumentReaderAuthenticityResult?, context: Context?): JSONObject? {
|
|
1696
|
+
val result = JSONObject()
|
|
1697
|
+
temp ?: return null
|
|
1698
|
+
val input: DocumentReaderAuthenticityResult = temp
|
|
1699
|
+
|
|
1700
|
+
result.put("status", input.status)
|
|
1701
|
+
result.put("checks", generateList(input.checks, ::generateDocumentReaderAuthenticityCheck, context))
|
|
1702
|
+
|
|
1703
|
+
return result
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
fun documentReaderAuthenticityElementFromJSON(temp: JSONObject?): DocumentReaderAuthenticityElement? {
|
|
1707
|
+
temp ?: return null
|
|
1708
|
+
val input: JSONObject = temp
|
|
1709
|
+
val result = DocumentReaderAuthenticityElement()
|
|
1710
|
+
|
|
1711
|
+
result.status = input.optInt("status")
|
|
1712
|
+
result.elementType = input.optInt("elementType")
|
|
1713
|
+
result.elementDiagnose = input.optInt("elementDiagnose")
|
|
1714
|
+
|
|
1715
|
+
return result
|
|
1716
|
+
}
|
|
1717
|
+
|
|
1718
|
+
fun generateDocumentReaderAuthenticityElement(temp: DocumentReaderAuthenticityElement?, context: Context?): JSONObject? {
|
|
1719
|
+
val result = JSONObject()
|
|
1720
|
+
temp ?: return null
|
|
1721
|
+
val input: DocumentReaderAuthenticityElement = temp
|
|
1722
|
+
|
|
1723
|
+
result.put("status", input.status)
|
|
1724
|
+
result.put("elementType", input.elementType)
|
|
1725
|
+
result.put("elementDiagnose", input.elementDiagnose)
|
|
1726
|
+
result.put("elementTypeName", input.getElementTypeName(context))
|
|
1727
|
+
result.put("elementDiagnoseName", input.getElementDiagnoseName(context))
|
|
1728
|
+
|
|
1729
|
+
return result
|
|
1730
|
+
}
|
|
1731
|
+
|
|
1732
|
+
fun paResourcesIssuerFromJSON(temp: JSONObject?): PAResourcesIssuer? {
|
|
1733
|
+
temp ?: return null
|
|
1734
|
+
val input: JSONObject = temp
|
|
1735
|
+
val result = PAResourcesIssuer()
|
|
1736
|
+
|
|
1737
|
+
result.data = byteArrayFromBase64(input.optString("data"))
|
|
1738
|
+
result.friendlyName = input.optString("friendlyName")
|
|
1739
|
+
result.attributes = arrayFromJSON(input.optJSONArray("attributes"), ::paAttributeFromJSON, arrayOfNulls(input.optJSONArray("attributes")?.length() ?: 0))
|
|
1740
|
+
|
|
1741
|
+
return result
|
|
1742
|
+
}
|
|
1743
|
+
|
|
1744
|
+
fun generatePAResourcesIssuer(temp: PAResourcesIssuer?): JSONObject? {
|
|
1745
|
+
val result = JSONObject()
|
|
1746
|
+
temp ?: return null
|
|
1747
|
+
val input: PAResourcesIssuer = temp
|
|
1748
|
+
|
|
1749
|
+
result.put("data", generateByteArray(input.data))
|
|
1750
|
+
result.put("friendlyName", input.friendlyName)
|
|
1751
|
+
result.put("attributes", generateArray(input.attributes, ::generatePAAttribute))
|
|
1752
|
+
|
|
1753
|
+
return result
|
|
1754
|
+
}
|
|
1755
|
+
|
|
1756
|
+
fun paAttributeFromJSON(temp: JSONObject?): PAAttribute? {
|
|
1757
|
+
temp ?: return null
|
|
1758
|
+
val input: JSONObject = temp
|
|
1759
|
+
val result = PAAttribute()
|
|
1760
|
+
|
|
1761
|
+
result.type = input.optString("type")
|
|
1762
|
+
result.value = input.optString("value")
|
|
1763
|
+
|
|
1764
|
+
return result
|
|
1765
|
+
}
|
|
1766
|
+
|
|
1767
|
+
fun generatePAAttribute(temp: PAAttribute?): JSONObject? {
|
|
1768
|
+
val result = JSONObject()
|
|
1769
|
+
temp ?: return null
|
|
1770
|
+
val input: PAAttribute = temp
|
|
1771
|
+
|
|
1772
|
+
result.put("type", input.type)
|
|
1773
|
+
result.put("value", input.value)
|
|
1774
|
+
|
|
1775
|
+
return result
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
fun taChallengeFromJSON(temp: JSONObject?): TAChallenge? {
|
|
1779
|
+
temp ?: return null
|
|
1780
|
+
val input: JSONObject = temp
|
|
1781
|
+
val result = TAChallenge()
|
|
1782
|
+
|
|
1783
|
+
result.data = byteArrayFromBase64(input.optString("data"))
|
|
1784
|
+
result.auxPCD = input.optString("auxPCD")
|
|
1785
|
+
result.challengePICC = input.optString("challengePICC")
|
|
1786
|
+
result.hashPK = input.optString("hashPK")
|
|
1787
|
+
result.idPICC = input.optString("idPICC")
|
|
1788
|
+
|
|
1789
|
+
return result
|
|
1790
|
+
}
|
|
1791
|
+
|
|
1792
|
+
fun generateTAChallenge(temp: TAChallenge?): JSONObject? {
|
|
1793
|
+
val result = JSONObject()
|
|
1794
|
+
temp ?: return null
|
|
1795
|
+
val input: TAChallenge = temp
|
|
1796
|
+
|
|
1797
|
+
result.put("data", generateByteArray(input.data))
|
|
1798
|
+
result.put("auxPCD", input.auxPCD)
|
|
1799
|
+
result.put("challengePICC", input.challengePICC)
|
|
1800
|
+
result.put("hashPK", input.hashPK)
|
|
1801
|
+
result.put("idPICC", input.idPICC)
|
|
1802
|
+
|
|
1803
|
+
return result
|
|
1804
|
+
}
|
|
1805
|
+
|
|
1806
|
+
fun documentReaderResultsStatusFromJSON(temp: JSONObject?): DocumentReaderResultsStatus? {
|
|
1807
|
+
temp ?: return null
|
|
1808
|
+
val input: JSONObject = temp
|
|
1809
|
+
|
|
1810
|
+
input.remove("detailsRFID")
|
|
1811
|
+
|
|
1812
|
+
return DocumentReaderResultsStatus.fromJson(input)
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
fun generateDocumentReaderResultsStatus(temp: DocumentReaderResultsStatus?): JSONObject? {
|
|
1816
|
+
val result = JSONObject()
|
|
1817
|
+
temp ?: return null
|
|
1818
|
+
val input: DocumentReaderResultsStatus = temp
|
|
1819
|
+
|
|
1820
|
+
result.put("overallStatus", input.overallStatus)
|
|
1821
|
+
result.put("optical", input.optical)
|
|
1822
|
+
result.put("detailsOptical", generateDetailsOptical(input.detailsOptical))
|
|
1823
|
+
result.put("rfid", input.rfid)
|
|
1824
|
+
result.put("detailsRFID", generateDetailsRFID(input.detailsRFID))
|
|
1825
|
+
result.put("portrait", input.portrait)
|
|
1826
|
+
result.put("stopList", input.stopList)
|
|
1827
|
+
|
|
1828
|
+
return result
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
fun generateDetailsOptical(temp: DetailsOptical?): JSONObject? {
|
|
1832
|
+
val result = JSONObject()
|
|
1833
|
+
temp ?: return null
|
|
1834
|
+
val input: DetailsOptical = temp
|
|
1835
|
+
|
|
1836
|
+
result.put("overallStatus", input.overallStatus)
|
|
1837
|
+
result.put("mrz", input.mrz)
|
|
1838
|
+
result.put("text", input.text)
|
|
1839
|
+
result.put("docType", input.docType)
|
|
1840
|
+
result.put("security", input.security)
|
|
1841
|
+
result.put("imageQA", input.imageQA)
|
|
1842
|
+
result.put("expiry", input.expiry)
|
|
1843
|
+
result.put("vds", input.vds)
|
|
1844
|
+
result.put("pagesCount", input.pagesCount)
|
|
1845
|
+
|
|
1846
|
+
return result
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1849
|
+
fun generateDetailsRFID(temp: DetailsRFID?): JSONObject? {
|
|
1850
|
+
val result = JSONObject()
|
|
1851
|
+
temp ?: return null
|
|
1852
|
+
val input: DetailsRFID = temp
|
|
1853
|
+
|
|
1854
|
+
result.put("pa", input.pa)
|
|
1855
|
+
result.put("ca", input.ca)
|
|
1856
|
+
result.put("aa", input.aa)
|
|
1857
|
+
result.put("ta", input.ta)
|
|
1858
|
+
result.put("bac", input.bac)
|
|
1859
|
+
result.put("pace", input.pace)
|
|
1860
|
+
result.put("overallStatus", input.overallStatus)
|
|
1861
|
+
|
|
1862
|
+
return result
|
|
1863
|
+
}
|
|
1864
|
+
|
|
1865
|
+
fun vdsncDataDictionaryFromJSON(input: JSONObject): JSONObject {
|
|
1866
|
+
val temp = JSONObject(input.toString())
|
|
1867
|
+
|
|
1868
|
+
temp.put("Type", input.optString("type"))
|
|
1869
|
+
temp.put("Version", input.optInt("version"))
|
|
1870
|
+
temp.put("IssuingCountry", input.optString("issuingCountry"))
|
|
1871
|
+
temp.put("Message", input.optJSONObject("message"))
|
|
1872
|
+
temp.put("SignatureAlg", input.optString("signatureAlgorithm"))
|
|
1873
|
+
temp.put("Signature", bytesDataDictionaryFromJSON(input.optJSONObject("signature")))
|
|
1874
|
+
temp.put("Certificate", bytesDataDictionaryFromJSON(input.optJSONObject("certificate")))
|
|
1875
|
+
temp.put("CertificateChain", input.optJSONArray("certificateChain"))
|
|
1876
|
+
temp.put("Notifications", input.optJSONArray("notifications"))
|
|
1877
|
+
|
|
1878
|
+
return temp
|
|
1879
|
+
}
|
|
1880
|
+
|
|
1881
|
+
fun vdsncDataFromJSON(input: JSONObject) = VDSNCData.fromJson(vdsncDataDictionaryFromJSON(input))
|
|
1882
|
+
|
|
1883
|
+
fun generateVDSNCData(temp: VDSNCData?): JSONObject? {
|
|
1884
|
+
val result = JSONObject()
|
|
1885
|
+
temp ?: return null
|
|
1886
|
+
val input: VDSNCData = temp
|
|
1887
|
+
|
|
1888
|
+
result.put("type", input.type)
|
|
1889
|
+
result.put("version", input.version)
|
|
1890
|
+
result.put("issuingCountry", input.issuingCountry)
|
|
1891
|
+
result.put("message", input.message)
|
|
1892
|
+
result.put("signatureAlgorithm", input.signatureAlg)
|
|
1893
|
+
result.put("signature", generateBytesData(input.signature))
|
|
1894
|
+
result.put("certificate", generateBytesData(input.certificate))
|
|
1895
|
+
result.put("certificateChain", generateList(input.certificateChain, ::generateCertificateChain))
|
|
1896
|
+
result.put("notifications", generateLongArray(input.notifications))
|
|
1897
|
+
|
|
1898
|
+
return result
|
|
1899
|
+
}
|
|
1900
|
+
|
|
1901
|
+
fun bytesDataDictionaryFromJSON(input: JSONObject?): JSONObject? {
|
|
1902
|
+
input ?: return null
|
|
1903
|
+
val temp = JSONObject(input.toString())
|
|
1904
|
+
|
|
1905
|
+
temp.put("Data", input.optString("data"))
|
|
1906
|
+
temp.put("Length", input.optInt("length"))
|
|
1907
|
+
temp.put("Status", input.optLong("status"))
|
|
1908
|
+
temp.put("Type", input.optInt("type"))
|
|
1909
|
+
|
|
1910
|
+
return temp
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
fun bytesDataFromJSON(input: JSONObject?) = BytesData.fromJson(bytesDataDictionaryFromJSON(input))
|
|
1914
|
+
|
|
1915
|
+
fun generateBytesData(temp: BytesData?): JSONObject? {
|
|
1916
|
+
val result = JSONObject()
|
|
1917
|
+
temp ?: return null
|
|
1918
|
+
val input: BytesData = temp
|
|
1919
|
+
|
|
1920
|
+
result.put("data", input.data)
|
|
1921
|
+
result.put("length", input.length)
|
|
1922
|
+
result.put("status", input.status)
|
|
1923
|
+
result.put("type", input.type)
|
|
1924
|
+
|
|
1925
|
+
return result
|
|
1926
|
+
}
|
|
1927
|
+
|
|
1928
|
+
fun generateLicense(temp: License?): JSONObject? {
|
|
1929
|
+
val result = JSONObject()
|
|
1930
|
+
temp ?: return null
|
|
1931
|
+
val input: License = temp
|
|
1932
|
+
|
|
1933
|
+
result.put("expiryDate", input.expiryDate?.toString())
|
|
1934
|
+
result.put("countryFilter", generateList(input.countryFilter))
|
|
1935
|
+
result.put("isRfidAvailable", input.isRfidAvailable)
|
|
1936
|
+
|
|
1937
|
+
return result
|
|
1938
|
+
}
|
|
1939
|
+
|
|
1940
|
+
fun generateDocReaderVersion(temp: DocReaderVersion?): JSONObject? {
|
|
1941
|
+
val result = JSONObject()
|
|
1942
|
+
temp ?: return null
|
|
1943
|
+
val input: DocReaderVersion = temp
|
|
1944
|
+
|
|
1945
|
+
result.put("api", input.api)
|
|
1946
|
+
result.put("core", input.core)
|
|
1947
|
+
result.put("coreMode", input.coreMode)
|
|
1948
|
+
result.put("database", generateDocReaderDocumentsDatabase(input.database))
|
|
1949
|
+
|
|
1950
|
+
return result
|
|
1951
|
+
}
|
|
1952
|
+
|
|
1953
|
+
fun docReaderDocumentsDatabaseFromJSON(input: JSONObject?): DocReaderDocumentsDatabase? {
|
|
1954
|
+
input ?: return null
|
|
1955
|
+
val temp = JSONObject(input.toString())
|
|
1956
|
+
|
|
1957
|
+
temp.put("id", input.optString("databaseID"))
|
|
1958
|
+
temp.put("export_date", input.optString("date"))
|
|
1959
|
+
temp.put("description", input.optString("databaseDescription"))
|
|
1960
|
+
|
|
1961
|
+
return DocReaderDocumentsDatabase.fromJson(temp)
|
|
1962
|
+
}
|
|
1963
|
+
|
|
1964
|
+
fun generateDocReaderDocumentsDatabase(temp: DocReaderDocumentsDatabase?): JSONObject? {
|
|
1965
|
+
val result = JSONObject()
|
|
1966
|
+
temp ?: return null
|
|
1967
|
+
val input: DocReaderDocumentsDatabase = temp
|
|
1968
|
+
|
|
1969
|
+
result.put("databaseID", input.databaseID)
|
|
1970
|
+
result.put("version", input.version)
|
|
1971
|
+
result.put("date", input.date)
|
|
1972
|
+
result.put("databaseDescription", input.databaseDescription)
|
|
1973
|
+
result.put("countriesNumber", input.countriesNumber)
|
|
1974
|
+
result.put("documentsNumber", input.documentsNumber)
|
|
1975
|
+
result.put("size", input.size)
|
|
1976
|
+
|
|
1977
|
+
return result
|
|
1978
|
+
}
|
|
1979
|
+
|
|
1980
|
+
fun documentReaderComparisonFromJSON(temp: JSONObject?): DocumentReaderComparison? {
|
|
1981
|
+
temp ?: return null
|
|
1982
|
+
val input: JSONObject = temp
|
|
1983
|
+
val result = DocumentReaderComparison()
|
|
1984
|
+
|
|
1985
|
+
result.sourceTypeLeft = input.optInt("sourceTypeLeft")
|
|
1986
|
+
result.sourceTypeRight = input.optInt("sourceTypeRight")
|
|
1987
|
+
result.status = input.optInt("status")
|
|
1988
|
+
|
|
1989
|
+
return result
|
|
1990
|
+
}
|
|
1991
|
+
|
|
1992
|
+
fun generateDocumentReaderComparison(temp: DocumentReaderComparison?): JSONObject? {
|
|
1993
|
+
val result = JSONObject()
|
|
1994
|
+
temp ?: return null
|
|
1995
|
+
val input: DocumentReaderComparison = temp
|
|
1996
|
+
|
|
1997
|
+
result.put("sourceTypeLeft", input.sourceTypeLeft)
|
|
1998
|
+
result.put("sourceTypeRight", input.sourceTypeRight)
|
|
1999
|
+
result.put("status", input.status)
|
|
2000
|
+
|
|
2001
|
+
return result
|
|
2002
|
+
}
|
|
2003
|
+
|
|
2004
|
+
fun documentReaderRFIDOriginFromJSON(temp: JSONObject?): DocumentReaderRfidOrigin? {
|
|
2005
|
+
temp ?: return null
|
|
2006
|
+
val input: JSONObject = temp
|
|
2007
|
+
val result = DocumentReaderRfidOrigin()
|
|
2008
|
+
|
|
2009
|
+
result.dg = input.optInt("dg")
|
|
2010
|
+
result.dgTag = input.optInt("dgTag")
|
|
2011
|
+
result.entryView = input.optInt("entryView")
|
|
2012
|
+
result.tagEntry = input.optInt("tagEntry")
|
|
2013
|
+
|
|
2014
|
+
return result
|
|
2015
|
+
}
|
|
2016
|
+
|
|
2017
|
+
fun generateDocumentReaderRFIDOrigin(temp: DocumentReaderRfidOrigin?): JSONObject? {
|
|
2018
|
+
val result = JSONObject()
|
|
2019
|
+
temp ?: return null
|
|
2020
|
+
val input: DocumentReaderRfidOrigin = temp
|
|
2021
|
+
|
|
2022
|
+
result.put("dg", input.dg)
|
|
2023
|
+
result.put("dgTag", input.dgTag)
|
|
2024
|
+
result.put("entryView", input.entryView)
|
|
2025
|
+
result.put("tagEntry", input.tagEntry)
|
|
2026
|
+
|
|
2027
|
+
return result
|
|
2028
|
+
}
|
|
2029
|
+
|
|
2030
|
+
fun documentReaderTextSourceFromJSON(temp: JSONObject?): DocumentReaderTextSource? {
|
|
2031
|
+
temp ?: return null
|
|
2032
|
+
val input: JSONObject = temp
|
|
2033
|
+
val result = DocumentReaderTextSource()
|
|
2034
|
+
|
|
2035
|
+
result.sourceType = input.optInt("sourceType")
|
|
2036
|
+
result.source = input.optString("source")
|
|
2037
|
+
result.validityStatus = input.optInt("validityStatus")
|
|
2038
|
+
|
|
2039
|
+
return result
|
|
2040
|
+
}
|
|
2041
|
+
|
|
2042
|
+
fun generateDocumentReaderTextSource(temp: DocumentReaderTextSource?): JSONObject? {
|
|
2043
|
+
val result = JSONObject()
|
|
2044
|
+
temp ?: return null
|
|
2045
|
+
val input: DocumentReaderTextSource = temp
|
|
2046
|
+
|
|
2047
|
+
result.put("sourceType", input.sourceType)
|
|
2048
|
+
result.put("source", input.source)
|
|
2049
|
+
result.put("validityStatus", input.validityStatus)
|
|
2050
|
+
|
|
2051
|
+
return result
|
|
2052
|
+
}
|
|
2053
|
+
|
|
2054
|
+
fun documentReaderSymbolFromJSON(temp: JSONObject?): DocumentReaderSymbol? {
|
|
2055
|
+
temp ?: return null
|
|
2056
|
+
val input: JSONObject = temp
|
|
2057
|
+
val result = DocumentReaderSymbol()
|
|
2058
|
+
|
|
2059
|
+
result.code = input.optInt("code")
|
|
2060
|
+
result.probability = input.optInt("probability")
|
|
2061
|
+
result.rect = rectFromJSON(input.optJSONObject("rect"))
|
|
2062
|
+
|
|
2063
|
+
return result
|
|
2064
|
+
}
|
|
2065
|
+
|
|
2066
|
+
fun generateDocumentReaderSymbol(temp: DocumentReaderSymbol?): JSONObject? {
|
|
2067
|
+
val result = JSONObject()
|
|
2068
|
+
temp ?: return null
|
|
2069
|
+
val input: DocumentReaderSymbol = temp
|
|
2070
|
+
|
|
2071
|
+
result.put("code", input.code)
|
|
2072
|
+
result.put("rect", generateRect(input.rect))
|
|
2073
|
+
result.put("probability", input.probability)
|
|
2074
|
+
|
|
2075
|
+
return result
|
|
2076
|
+
}
|
|
2077
|
+
|
|
2078
|
+
fun documentReaderValidityFromJSON(temp: JSONObject?): DocumentReaderValidity? {
|
|
2079
|
+
temp ?: return null
|
|
2080
|
+
val input: JSONObject = temp
|
|
2081
|
+
val result = DocumentReaderValidity()
|
|
2082
|
+
|
|
2083
|
+
result.sourceType = input.optInt("sourceType")
|
|
2084
|
+
result.status = input.optInt("status")
|
|
2085
|
+
|
|
2086
|
+
return result
|
|
2087
|
+
}
|
|
2088
|
+
|
|
2089
|
+
fun generateDocumentReaderValidity(temp: DocumentReaderValidity?): JSONObject? {
|
|
2090
|
+
val result = JSONObject()
|
|
2091
|
+
temp ?: return null
|
|
2092
|
+
val input: DocumentReaderValidity = temp
|
|
2093
|
+
|
|
2094
|
+
result.put("sourceType", input.sourceType)
|
|
2095
|
+
result.put("status", input.status)
|
|
2096
|
+
|
|
2097
|
+
return result
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
fun barcodeTypeArrayFromJson(temp: JSONArray?): Array<String?>? {
|
|
2101
|
+
temp ?: return null
|
|
2102
|
+
val input: JSONArray = temp
|
|
2103
|
+
|
|
2104
|
+
val result = arrayOfNulls<String>(input.length())
|
|
2105
|
+
for (i in 0 until input.length()) result[i] = BarcodeType.valueOf(input.getInt(i))
|
|
2106
|
+
|
|
2107
|
+
return result
|
|
2108
|
+
}
|
|
2109
|
+
|
|
2110
|
+
fun generateBarcodeTypeArray(temp: Array<String?>?): JSONArray? {
|
|
2111
|
+
temp ?: return null
|
|
2112
|
+
val input: Array<String?> = temp
|
|
2113
|
+
val result = JSONArray()
|
|
2114
|
+
|
|
2115
|
+
for (s in input) result.put(generateBarcodeType(s))
|
|
2116
|
+
|
|
2117
|
+
return result
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
fun generateBarcodeType(input: String?) = when (input) {
|
|
2121
|
+
"bct_Code128" -> 1
|
|
2122
|
+
"bct_Code39" -> 2
|
|
2123
|
+
"bct_EAN8" -> 3
|
|
2124
|
+
"bct_ITF" -> 4
|
|
2125
|
+
"bct_PDF417" -> 5
|
|
2126
|
+
"bct_STF" -> 6
|
|
2127
|
+
"bct_MTF" -> 7
|
|
2128
|
+
"bct_IATA" -> 8
|
|
2129
|
+
"bct_CODABAR" -> 9
|
|
2130
|
+
"bct_UPCA" -> 10
|
|
2131
|
+
"bct_CODE93" -> 11
|
|
2132
|
+
"bct_UPCE" -> 12
|
|
2133
|
+
"bct_EAN13" -> 13
|
|
2134
|
+
"bct_QRCODE" -> 14
|
|
2135
|
+
"bct_AZTEC" -> 15
|
|
2136
|
+
"bct_DATAMATRIX" -> 16
|
|
2137
|
+
"bct_ALL_1D" -> 17
|
|
2138
|
+
"bct_Code11" -> 18
|
|
2139
|
+
"bct_JABCODE" -> 19
|
|
2140
|
+
else -> 0
|
|
2141
|
+
}
|
|
2142
|
+
|
|
2143
|
+
fun documentReaderResultsFromJSON(temp: JSONObject?): DocumentReaderResults? {
|
|
2144
|
+
temp ?: return null
|
|
2145
|
+
val input: JSONObject = temp
|
|
2146
|
+
val result = DocumentReaderResults()
|
|
2147
|
+
|
|
2148
|
+
result.chipPage = input.optInt("chipPage")
|
|
2149
|
+
result.processingFinishedStatus = input.optInt("processingFinishedStatus")
|
|
2150
|
+
result.elapsedTime = input.optInt("elapsedTime")
|
|
2151
|
+
result.elapsedTimeRFID = input.optInt("elapsedTimeRFID")
|
|
2152
|
+
result.morePagesAvailable = input.optInt("morePagesAvailable")
|
|
2153
|
+
result.graphicResult = documentReaderGraphicResultFromJSON(input.optJSONObject("graphicResult"))
|
|
2154
|
+
result.textResult = documentReaderTextResultFromJSON(input.optJSONObject("textResult"))
|
|
2155
|
+
result.documentPosition = listFromJSON(input.optJSONArray("documentPosition"), ::elementPositionFromJSON)!!
|
|
2156
|
+
result.barcodePosition = listFromJSON(input.optJSONArray("barcodePosition"), ::elementPositionFromJSON)!!
|
|
2157
|
+
result.mrzPosition = listFromJSON(input.optJSONArray("mrzPosition"), ::elementPositionFromJSON)!!
|
|
2158
|
+
result.imageQuality = listFromJSON(input.optJSONArray("imageQuality"), ::imageQualityGroupFromJSON)!!
|
|
2159
|
+
result.rawResult = input.optString("rawResult")
|
|
2160
|
+
result.rfidSessionData = rfidSessionDataFromJSON(input.optJSONObject("rfidSessionData"))
|
|
2161
|
+
result.authenticityResult = documentReaderAuthenticityResultFromJSON(input.optJSONObject("authenticityResult"))
|
|
2162
|
+
result.barcodeResult = documentReaderBarcodeResultFromJSON(input.optJSONObject("barcodeResult"))
|
|
2163
|
+
result.rfidSessionData = rfidSessionDataFromJSON(input.optJSONObject("rfidSessionData"))
|
|
2164
|
+
result.documentType = listFromJSON(input.optJSONArray("documentType"), ::documentReaderDocumentTypeFromJSON)!!
|
|
2165
|
+
result.status = documentReaderResultsStatusFromJSON(input.optJSONObject("status"))!!
|
|
2166
|
+
result.vdsncData = vdsncDataFromJSON(input.optJSONObject("vdsncData")!!)
|
|
2167
|
+
result.transactionInfo = transactionInfoFromJSON(input.optJSONObject("transactionInfo"))
|
|
2168
|
+
|
|
2169
|
+
return result
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
fun generateDocumentReaderResults(temp: DocumentReaderResults?, context: Context?): JSONObject? {
|
|
2173
|
+
val result = JSONObject()
|
|
2174
|
+
temp ?: return null
|
|
2175
|
+
val input: DocumentReaderResults = temp
|
|
2176
|
+
|
|
2177
|
+
result.put("chipPage", input.chipPage)
|
|
2178
|
+
result.put("processingFinishedStatus", input.processingFinishedStatus)
|
|
2179
|
+
result.put("elapsedTime", input.elapsedTime)
|
|
2180
|
+
result.put("elapsedTimeRFID", input.elapsedTimeRFID)
|
|
2181
|
+
result.put("morePagesAvailable", input.morePagesAvailable)
|
|
2182
|
+
result.put("graphicResult", generateDocumentReaderGraphicResult(input.graphicResult, context))
|
|
2183
|
+
result.put("textResult", generateDocumentReaderTextResult(input.textResult, context))
|
|
2184
|
+
result.put("documentPosition", generateList(input.documentPosition, ::generateElementPosition))
|
|
2185
|
+
result.put("barcodePosition", generateList(input.barcodePosition, ::generateElementPosition))
|
|
2186
|
+
result.put("mrzPosition", generateList(input.mrzPosition, ::generateElementPosition))
|
|
2187
|
+
result.put("imageQuality", generateList(input.imageQuality, ::generateImageQualityGroup))
|
|
2188
|
+
result.put("rawResult", input.rawResult)
|
|
2189
|
+
result.put("rfidSessionData", generateRFIDSessionData(input.rfidSessionData, context))
|
|
2190
|
+
result.put("authenticityResult", generateDocumentReaderAuthenticityResult(input.authenticityResult, context))
|
|
2191
|
+
result.put("barcodeResult", generateDocumentReaderBarcodeResult(input.barcodeResult))
|
|
2192
|
+
result.put("documentType", generateList(input.documentType, ::generateDocumentReaderDocumentType))
|
|
2193
|
+
result.put("status", generateDocumentReaderResultsStatus(input.status))
|
|
2194
|
+
result.put("vdsncData", generateVDSNCData(input.vdsncData))
|
|
2195
|
+
result.put("transactionInfo", generateTransactionInfo(input.transactionInfo))
|
|
2196
|
+
|
|
2197
|
+
return result
|
|
2198
|
+
}
|