From 3ab00f44d23f402349f9370adb98a87de7f73b5e Mon Sep 17 00:00:00 2001 From: Phil Barber Date: Mon, 21 Jul 2025 16:43:26 -0400 Subject: [PATCH] MLE-23004 - Cleaning up compiler warnings --- .../datamovement/DatabaseClientSingleton.java | 4 ++- .../client/datamovement/TypedRow.java | 6 ++++- .../com/marklogic/client/impl/BasicPage.java | 2 +- .../marklogic/client/impl/OkHttpServices.java | 6 ++--- .../marklogic/client/test/HandleAsTest.java | 8 +++--- .../marklogic/client/test/ssl/SSLTest.java | 8 +++--- .../client/tools/gradle/ToolsPlugin.kt | 6 ++--- .../marklogic/client/tools/proxy/Generator.kt | 25 ++++++++++--------- 8 files changed, 36 insertions(+), 29 deletions(-) diff --git a/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/DatabaseClientSingleton.java b/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/DatabaseClientSingleton.java index 36401e157..cab5b6b27 100644 --- a/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/DatabaseClientSingleton.java +++ b/examples/src/main/java/com/marklogic/client/example/cookbook/datamovement/DatabaseClientSingleton.java @@ -38,7 +38,9 @@ private static void registerHandlers() { } catch (JAXBException e) { throw new IllegalStateException(e); } - ObjectMapper mapper = new JacksonDatabindHandle(null).getMapper(); + + @SuppressWarnings("unchecked") + ObjectMapper mapper = new JacksonDatabindHandle(null).getMapper(); // we do the next three lines so dates are written in xs:dateTime format // which makes them ready for range indexes in MarkLogic Server String ISO_8601_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX"; diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/datamovement/TypedRow.java b/marklogic-client-api/src/main/java/com/marklogic/client/datamovement/TypedRow.java index 538cdb840..be752a183 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/datamovement/TypedRow.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/datamovement/TypedRow.java @@ -20,7 +20,11 @@ public String getUri() { } public long getRowNum() { - return new Long(rowNum).longValue(); + try { + return Long.valueOf(rowNum).longValue(); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Invalid rowNum value: " + rowNum, e); + } } public XsAnyAtomicTypeVal put(String name, XsAnyAtomicTypeVal val) { diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/BasicPage.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/BasicPage.java index feff5d63f..bca0466a6 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/BasicPage.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/BasicPage.java @@ -69,7 +69,7 @@ public BasicPage setTotalSize(long totalSize) { } public BasicPage setSize(long size) { - this.size = new Long(size); + this.size = Long.valueOf(size); return this; } diff --git a/marklogic-client-api/src/main/java/com/marklogic/client/impl/OkHttpServices.java b/marklogic-client-api/src/main/java/com/marklogic/client/impl/OkHttpServices.java index 08b7150cd..dd8a81bc0 100644 --- a/marklogic-client-api/src/main/java/com/marklogic/client/impl/OkHttpServices.java +++ b/marklogic-client-api/src/main/java/com/marklogic/client/impl/OkHttpServices.java @@ -3580,10 +3580,10 @@ public Number getNumber() { String value = getString(); if (value == null) return null; if (getType() == EvalResult.Type.DECIMAL) return new BigDecimal(value); - else if (getType() == EvalResult.Type.DOUBLE) return new Double(value); - else if (getType() == EvalResult.Type.FLOAT) return new Float(value); + else if (getType() == EvalResult.Type.DOUBLE) return Double.valueOf(value); + else if (getType() == EvalResult.Type.FLOAT) return Float.valueOf(value); // MarkLogic integers can be much larger than Java integers, so we'll use Long instead - else if (getType() == EvalResult.Type.INTEGER) return new Long(value); + else if (getType() == EvalResult.Type.INTEGER) return Long.valueOf(value); else return new BigDecimal(value); } diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/HandleAsTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/HandleAsTest.java index 40e2c967b..4ca6f1604 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/HandleAsTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/HandleAsTest.java @@ -70,15 +70,15 @@ public void testBuiltinReadWrite() String binDocId = "/test/testAs1.bin"; BinaryDocumentManager binMgr = Common.client.newBinaryDocumentManager(); - byte[] beforeBytes = beforeText.getBytes("UTF-8"); + byte[] beforeBytes = beforeText.getBytes(java.nio.charset.StandardCharsets.UTF_8); binMgr.writeAs(binDocId, beforeBytes); - afterText = new String(binMgr.readAs(binDocId, byte[].class), "UTF-8"); + afterText = new String(binMgr.readAs(binDocId, byte[].class), java.nio.charset.StandardCharsets.UTF_8); binMgr.delete(binDocId); assertEquals(beforeText, afterText); binMgr.writeAs(binDocId, new ByteArrayInputStream(beforeBytes)); - try ( Reader reader = new InputStreamReader( binMgr.readAs(binDocId, InputStream.class), "UTF-8") ) { + try ( Reader reader = new InputStreamReader( binMgr.readAs(binDocId, InputStream.class), java.nio.charset.StandardCharsets.UTF_8) ) { cnum = reader.read(cbuf); binMgr.delete(binDocId); assertEquals(beforeText.length(), cnum); @@ -341,7 +341,7 @@ private void verifyHandleRegistry(DatabaseClientFactory.Bean clientFactoryBean) boolean threwError = false; try { - textMgr.writeAs(textDocId, new Integer(5)); + textMgr.writeAs(textDocId, 5); } catch(Exception e) { threwError = true; } diff --git a/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java index 7b646e049..366bc6074 100644 --- a/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java +++ b/marklogic-client-api/src/test/java/com/marklogic/client/test/ssl/SSLTest.java @@ -116,10 +116,10 @@ public void testHostnameVerifier() throws SSLException, CertificateParsingExcept // if the entry is 2 it's a DNS or 7 then it's an IP address // according to https://docs.oracle.com/javase/8/docs/api/java/security/cert/X509Certificate.html#getSubjectAlternativeNames-- Collection> listSas = new ArrayList<>(); - listSas.add(Arrays.asList(new Object[] {new Integer(type_dnsName), passedSas[0]})); - listSas.add(Arrays.asList(new Object[] {new Integer(type_ipAddress), passedSas[1]})); - listSas.add(Arrays.asList(new Object[] {new Integer(type_dnsName), passedSas[2]})); - listSas.add(Arrays.asList(new Object[] {new Integer(type_dnsName), passedSas[3]})); + listSas.add(Arrays.asList(new Object[] { type_dnsName, passedSas[0] })); + listSas.add(Arrays.asList(new Object[] { type_ipAddress, passedSas[1] })); + listSas.add(Arrays.asList(new Object[] { type_dnsName, passedSas[2] })); + listSas.add(Arrays.asList(new Object[] { type_dnsName, passedSas[3] })); when(cert.getSubjectAlternativeNames()).thenReturn(listSas); // now that we have the cert all mocked with common names and subject alts, call the diff --git a/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/gradle/ToolsPlugin.kt b/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/gradle/ToolsPlugin.kt index 7fd0584fe..3c5c998fd 100644 --- a/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/gradle/ToolsPlugin.kt +++ b/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/gradle/ToolsPlugin.kt @@ -11,8 +11,8 @@ open class ToolsPlugin : Plugin { project.extensions.add("endpointProxiesConfig", EndpointProxiesConfig()) - project.tasks.create("generateEndpointProxies", EndpointProxiesGenTask::class.java) - project.tasks.create("initializeModule", ModuleInitTask::class.java) - project.tasks.create("checkCustomService", ServiceCompareTask::class.java) + project.tasks.register("generateEndpointProxies", EndpointProxiesGenTask::class.java) + project.tasks.register("initializeModule", ModuleInitTask::class.java) + project.tasks.register("checkCustomService", ServiceCompareTask::class.java) } } diff --git a/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/proxy/Generator.kt b/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/proxy/Generator.kt index 6628a63ab..7cbd0e2a0 100644 --- a/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/proxy/Generator.kt +++ b/ml-development-tools/src/main/kotlin/com/marklogic/client/tools/proxy/Generator.kt @@ -667,9 +667,9 @@ ${funcDecls} } else { """return BaseProxy.${typeConverter(returnType)}.to${ if (returnMapped.contains(".")) - returnMapped.substringAfterLast(".").capitalize() + returnMapped.substringAfterLast(".").replaceFirstChar { it.uppercase() } else - returnMapped.capitalize() + returnMapped.replaceFirstChar { it.uppercase() } }( ${callImpl} );""" @@ -757,7 +757,7 @@ ${funcDecls} private ${className}(${paramSig}) {${ paramNames.map{paramName -> """ - set${paramName.capitalize()}(${paramName});""" + set${paramName.replaceFirstChar { it.uppercase() }}(${paramName});""" }.joinToString("")} }""" return constructor @@ -795,10 +795,10 @@ ${funcDecls} val mappedType = getJavaDataType(paramType, paramMapping, paramKind, isMultiple) val sigType = getSigDataType(mappedType, isMultiple) """ - ${getterAccess}${sigType} get${paramName.capitalize()}(){ + ${getterAccess}${sigType} get${paramName.replaceFirstChar { it.uppercase() }}(){ return arg_${paramName}; } - private void set${paramName.capitalize()}(${sigType} value){ + private void set${paramName.replaceFirstChar { it.uppercase() }}(${sigType} value){ this.arg_${paramName} = value; }""" }.joinToString("") @@ -809,9 +809,9 @@ ${funcDecls} if (paramType == "anyDocument") paramName else """BaseProxy.${typeConverter(paramType)}.from${ if (mappedType.contains(".")) - mappedType.substringAfterLast(".").capitalize() + mappedType.substringAfterLast(".").replaceFirstChar { it.uppercase() } else - mappedType.capitalize() + mappedType.replaceFirstChar { it.uppercase() } }(${paramName})""" val converter = """BaseProxy.${paramKind}Param("${paramName}", ${isNullable}, ${convertExpr})""" @@ -821,14 +821,14 @@ ${funcDecls} val converter = if (datatype == "int") "Integer" else if (datatype == "unsignedInt") "UnsignedInteger" - else datatype.capitalize() + else datatype.replaceFirstChar { it.uppercase() } return converter+"Type" } fun typeFormat(documentType: String) : String { val format = if (documentType == "array" || documentType == "object") "Format.JSON" else if (documentType == "anyDocument") "Format.UNKNOWN" - else "Format."+documentType.substringBefore("Document").toUpperCase() + else "Format."+documentType.substringBefore("Document").uppercase() return format } fun paramKindCardinality(currCardinality: ValueCardinality, param: ObjectNode): ValueCardinality { @@ -953,7 +953,7 @@ declare option xdmp:mapping "false"; when (paramType) { "array","object" -> if (moduleExtension == "mjs" || moduleExtension == "sjs") - paramType.capitalize()+"Node" + paramType.replaceFirstChar { it.uppercase() }+"Node" else paramType+"-node()" else -> @@ -1104,7 +1104,8 @@ ${errorReport}""" return rootPath+appendSuffix } fun checkObjectsEqual(errors: MutableList, parentKey: String, customObj: ObjectNode, baseObj: ObjectNode) { - customObj.fields().forEach{(key, customVal) -> + customObj.fieldNames().forEach { key -> + val customVal = customObj.get(key) if (key.startsWith("$")) { } else if (!baseObj.has(key)) { errors.add("${key} property of ${parentKey} exists in custom service but not base service") @@ -1112,7 +1113,7 @@ ${errorReport}""" checkValuesEqual(errors, key, customVal, baseObj.get(key)) } } - baseObj.fields().forEach{(key, _) -> + baseObj.fieldNames().forEach { key -> if (!customObj.has(key)) { errors.add("${key} property of ${parentKey} exists in base service but not custom service") }