-
Notifications
You must be signed in to change notification settings - Fork 74
MLE-23146 Address compile warnings in src/main/java #1809
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR addresses compile warnings in the MarkLogic Java Client codebase by removing deprecated method usage, eliminating unsafe operations, and modernizing code patterns. The changes primarily focus on resolving unchecked warnings, replacing deprecated Jackson methods, and updating deprecated Java language features.
- Updates Jackson methods from deprecated
reader()
toreaderFor()
,enableDefaultTyping()
toactivateDefaultTyping()
, andgetCurrentName()
tocurrentName()
- Removes unnecessary
finalize()
methods and replaces deprecated object instantiation patterns - Adds appropriate
@SuppressWarnings
annotations for unavoidable unchecked operations and updates Kotlin version
Reviewed Changes
Copilot reviewed 49 out of 51 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
test-app/src/main/java/com/marklogic/client/test/ReverseProxyServer.java | Replace length check with isEmpty() for string validation |
ml-development-tools/build.gradle | Update Kotlin version from 1.9.24 to 2.1.0 |
marklogic-client-api/src/test/java/com/marklogic/client/test/datamovement/QueryBatcherTest.java | Replace empty string check with isEmpty() and use diamond operator |
marklogic-client-api/src/test/java/com/marklogic/client/test/datamovement/LegalHoldsTest.java | Replace Hashtable with ConcurrentHashMap |
marklogic-client-api/src/test/java/com/marklogic/client/test/SPARQLManagerTest.java | Update deprecated Jackson reader() method |
marklogic-client-api/src/test/java/com/marklogic/client/test/JacksonDatabindTest.java | Update deprecated Jackson methods and type safety |
marklogic-client-api/src/main/java/com/marklogic/client/pojo/PojoRepository.java | Add @SuppressWarnings for varargs method |
marklogic-client-api/src/main/java/com/marklogic/client/io/marker/StreamingContentHandle.java | Add @SuppressWarnings for unchecked cast |
marklogic-client-api/src/main/java/com/marklogic/client/io/marker/ContentHandle.java | Replace deprecated newInstance() with getDeclaredConstructor().newInstance() |
marklogic-client-api/src/main/java/com/marklogic/client/io/JacksonDatabindHandle.java | Add @SuppressWarnings annotations for unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/io/JAXBHandle.java | Add @SuppressWarnings for unchecked cast operations |
marklogic-client-api/src/main/java/com/marklogic/client/impl/okhttp/OkHttpUtil.java | Add @SuppressWarnings and comment for deprecated class usage |
marklogic-client-api/src/main/java/com/marklogic/client/impl/Utilities.java | Add @SuppressWarnings for unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/impl/RowManagerImpl.java | Remove finalize() method and update Jackson field iteration |
marklogic-client-api/src/main/java/com/marklogic/client/impl/RawQueryDefinitionImpl.java | Add @SuppressWarnings for unchecked cast |
marklogic-client-api/src/main/java/com/marklogic/client/impl/PojoRepositoryImpl.java | Add @SafeVarargs for varargs method |
marklogic-client-api/src/main/java/com/marklogic/client/impl/PojoPageImpl.java | Update deprecated Jackson enableDefaultTyping method |
marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderSubImpl.java | Remove deprecated XML attribute methods and add @SafeVarargs |
marklogic-client-api/src/main/java/com/marklogic/client/impl/PlanBuilderImpl.java | Remove deprecated xmlAttributeSeq method |
marklogic-client-api/src/main/java/com/marklogic/client/impl/PatchBuilderImpl.java | Add class-level @SuppressWarnings |
marklogic-client-api/src/main/java/com/marklogic/client/impl/NodeConverter.java | Add @SuppressWarnings for unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/impl/HTTPKerberosAuthInterceptor.java | Add @SuppressWarnings for unchecked operation |
marklogic-client-api/src/main/java/com/marklogic/client/impl/DatabaseClientImpl.java | Remove finalize() method |
marklogic-client-api/src/main/java/com/marklogic/client/extra/gson/GSONHandle.java | Mark getParser() as deprecated with explanation |
marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilderBase.java | Move @SuppressWarnings annotation |
marklogic-client-api/src/main/java/com/marklogic/client/expression/PlanBuilder.java | Remove deprecated xmlAttributeSeq method |
marklogic-client-api/src/main/java/com/marklogic/client/dataservices/impl/OutputEndpointImpl.java | Extract method to handle unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/dataservices/impl/IOEndpointImpl.java | Add @SuppressWarnings for unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/dataservices/impl/ExecEndpointImpl.java | Extract method to handle unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/dataservices/OutputCaller.java | Add @SuppressWarnings for static methods |
marklogic-client-api/src/main/java/com/marklogic/client/dataservices/InputOutputCaller.java | Add @SuppressWarnings for static method |
marklogic-client-api/src/main/java/com/marklogic/client/dataservices/InputCaller.java | Add @SuppressWarnings for static methods |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/impl/RowBatcherImpl.java | Add type safety and @SafeVarargs annotations |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/impl/QueryBatcherImpl.java | Remove finalize() method |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/impl/BatchImpl.java | Add @SuppressWarnings for unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/XMLSplitter.java | Add @SuppressWarnings for unchecked cast |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/RowBatcher.java | Add @SuppressWarnings for varargs method |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/ProgressListener.java | Add @SafeVarargs for constructor |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/PathSplitter.java | Add @SuppressWarnings for unchecked operations |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/JSONSplitter.java | Update deprecated Jackson methods and add type safety |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/HostAvailabilityListener.java | Add @SafeVarargs for method |
marklogic-client-api/src/main/java/com/marklogic/client/datamovement/ExtractRowsViaTemplateListener.java | Update deprecated Jackson getCurrentName() calls |
marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/fastfunctest/TestPartialUpdate.java | Replace Boolean constructor with literal |
marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WriteHostBatcherTest.java | Replace Integer constructor with autoboxing |
marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/WriteBatcherJobReportTest.java | Replace StringBuffer with StringBuilder |
marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/StringQueryHostBatcherTest.java | Replace StringBuffer with StringBuilder and use diamond operator |
marklogic-client-api-functionaltests/src/test/java/com/marklogic/client/datamovement/functionaltests/ApplyTransformTest.java | Replace Vector with Collections.synchronizedList and use diamond operator |
examples/src/main/java/com/marklogic/client/example/extension/SearchCollector.java | Replace length check with isEmpty() and remove finalize() method |
examples/src/main/java/com/marklogic/client/example/extension/BatchManager.java | Remove finalize() method |
Comments suppressed due to low confidence (1)
ml-development-tools/build.gradle:10
- The Kotlin version 2.1.0 may not exist. My knowledge cutoff is January 2025, and as of then, the latest stable Kotlin version was 1.9.x. Please verify that version 2.1.0 is available and stable.
id 'org.jetbrains.kotlin.jvm' version '2.1.0'
@@ -764,7 +758,7 @@ public RowRecord next() { | |||
|
|||
break; | |||
case OBJECT: | |||
Iterator<Map.Entry<String,JsonNode>> fields = rowNode.fields(); | |||
Iterator<Map.Entry<String,JsonNode>> fields = rowNode.properties().iterator(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The method properties().iterator()
may not be the correct replacement for the deprecated fields()
method. Consider using fields()
directly or verify that properties().iterator()
provides the same functionality for iterating over object fields.
Iterator<Map.Entry<String,JsonNode>> fields = rowNode.properties().iterator(); | |
Iterator<Map.Entry<String,JsonNode>> fields = rowNode.fields(); |
Copilot uses AI. Check for mistakes.
Copilot got a little carried away and knocked out some issues in src/test/java too. More to come after this PR.
Addresses unchecked and deprecation warnings by:
finalize()
methods.