Implement XQuery 4.0 core functions (fn:, array:, map:, math:) #6218
90 new issues (0 max.) of at least severity.
Here is an overview of what got changed by this pull request:
Issues
======
- Added 90
Complexity increasing per file
==============================
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnInvisibleXml.java 33
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnPartialApply.java 17
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHighestLowest.java 28
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortBy.java 33
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnReplicate.java 6
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSortBy.java 46
- exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java 49
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnInsertSeparator.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnMessage.java 6
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnEverySome.java 26
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnBuildUri.java 98
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnGraphemes.java 5
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortWith.java 15
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseHtml.java 22
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnCollation.java 7
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnTypeAnnotation.java 109
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnInScopeNamespaces.java 27
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnUnparsedBinary.java 13
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHtmlDoc.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnIsNaN.java 4
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySplit.java 3
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDistinctOrderedNodes.java 3
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayIndexOf.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseUri.java 100
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayOfMembers.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnIdentityVoid.java 3
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayBuild.java 6
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDateTimeParts.java 16
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseQName.java 35
- exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java 38
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnItemsAt.java 7
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSchemaType.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSubsequenceMatching.java 22
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnFunctionIdentity.java 10
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnGet.java 10
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDuplicateValues.java 13
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnFunctionAnnotations.java 9
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnChar.java 44
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDecodeFromUri.java 33
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnElementToMapPlan.java 70
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHigherOrderFun40.java 46
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnUnixDateTime.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHash.java 25
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnElementToMap.java 109
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnPartition.java 13
- exist-core/src/main/java/org/exist/xquery/functions/fn/DeepEqualOptions.java 226
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnOp.java 150
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDeepEqualOptions.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSlice.java 20
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSeconds.java 6
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDivideDecimals.java 8
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSubsequenceWhere.java 27
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnExpandedQName.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnCivilTimezone.java 16
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnAtomicEqual.java 51
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnTransitiveClosure.java 17
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSiblings.java 10
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnTypeOf.java 22
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySlice.java 19
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnCharacters.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnAllEqualDifferent.java 23
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseInteger.java 19
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayIndexWhere.java 8
Clones added
============
- exist-core/src/main/java/org/exist/xquery/util/DocUtils.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunDocAvailable.java 1
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayFunction.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunReplace.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunCompare.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunUnparsedText.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunDeepEqual.java 8
- exist-core/src/main/java/org/exist/xquery/functions/map/MapFunction.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunDoc.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FunMatches.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnFormatDates.java 3
- exist-core/src/main/java/org/exist/util/Collations.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/JSON.java 3
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnInvisibleXml.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnPartialApply.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHighestLowest.java 10
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortBy.java 8
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnReplicate.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSortBy.java 12
- exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnInsertSeparator.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnMessage.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnEverySome.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnBuildUri.java 10
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnGraphemes.java 2
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortWith.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseHtml.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnCollation.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnTypeAnnotation.java 7
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnInScopeNamespaces.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnUnparsedBinary.java 3
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHtmlDoc.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnIsNaN.java 1
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySplit.java 3
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDistinctOrderedNodes.java 1
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayIndexOf.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseUri.java 5
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnIdentityVoid.java 1
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayBuild.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDateTimeParts.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseQName.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java 7
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnItemsAt.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSubsequenceMatching.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnFunctionIdentity.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDuplicateValues.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnFunctionAnnotations.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnChar.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDecodeFromUri.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnElementToMapPlan.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHigherOrderFun40.java 12
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnHash.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnElementToMap.java 13
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnPartition.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/DeepEqualOptions.java 9
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnOp.java 10
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnDeepEqualOptions.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSlice.java 12
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSeconds.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnSubsequenceWhere.java 3
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnExpandedQName.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnAtomicEqual.java 2
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnTransitiveClosure.java 12
- exist-core/src/main/java/org/exist/xquery/functions/array/ArraySlice.java 8
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnCharacters.java 1
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnAllEqualDifferent.java 4
- exist-core/src/main/java/org/exist/xquery/functions/fn/FnParseInteger.java 1
- exist-core/src/main/java/org/exist/xquery/functions/array/ArrayIndexWhere.java 1
Clones removed
==============
+ exist-core/src/main/java/org/exist/xquery/functions/fn/FunMin.java -5
+ exist-core/src/main/java/org/exist/xquery/functions/fn/FunMax.java -5
+ exist-core/src/main/java/org/exist/xquery/functions/fn/FnFormatNumbers.java -10
See the complete overview on Codacy
Annotations
Check notice on line 355 in exist-core/src/main/java/org/exist/util/Collations.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/util/Collations.java#L355
Use one line for each declaration, it enhances code readability.
Check notice on line 922 in exist-core/src/main/java/org/exist/util/Collations.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/util/Collations.java#L922
Document empty method body
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/array/ArrayIndexWhere.java#L97
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/array/ArraySlice.java#L91
The method 'eval(Sequence, Sequence)' has an NPath complexity of 1500, current threshold is 200
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortBy.java#L86
The method 'eval(Sequence, Sequence)' has an NPath complexity of 840, current threshold is 200
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortBy.java#L146
Avoid throwing raw exception types.
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/array/ArraySortWith.java#L116
Avoid throwing raw exception types.
Check notice on line 183 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java#L183
Document empty method body
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java#L221
Avoid unused method parameters such as 'options'.
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java#L402
The method 'parseOptions(Sequence)' has an NPath complexity of 972000, current threshold is 200
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvFunctions.java#L553
The method 'eval(Sequence, Item)' has an NPath complexity of 351, current threshold is 200
Check notice on line 55 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L55
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 56 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L56
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 57 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L57
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 58 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L58
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 59 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L59
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 60 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L60
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 61 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L61
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check notice on line 62 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L62
Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.
Check warning on line 78 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L78
The method 'parse(String, CsvConverter)' has an NPath complexity of 25600, current threshold is 200
Check warning on line 92 in exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/CsvParser.java#L92
Switch statements should be exhaustive, add a default case (or missing enum branches)
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/DeepEqualOptions.java#L194
Switch statements should be exhaustive, add a default case (or missing enum branches)
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/DeepEqualOptions.java#L220
These nested if statements could be combined
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/DeepEqualOptions.java#L333
The method 'deepCompare(Item, Item)' has an NPath complexity of 249602, current threshold is 200
codacy-production / Codacy Static Code Analysis
exist-core/src/main/java/org/exist/xquery/functions/fn/DeepEqualOptions.java#L464
These nested if statements could be combined