-
Notifications
You must be signed in to change notification settings - Fork 3
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
add support for Map argument #69
base: master
Are you sure you want to change the base?
Conversation
WalkthroughThe changes made in this pull request enhance the Changes
Assessment against linked issues
Tip CodeRabbit's docstrings feature is now available as part of our Early Access Program! Simply use the command Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #69 +/- ##
======================================
Coverage 0.00% 0.00%
======================================
Files 25 25
Lines 712 722 +10
Branches 64 67 +3
======================================
- Misses 712 722 +10 ☔ View full report in Codecov by Sentry. |
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.
Actionable comments posted: 0
Outside diff range and nitpick comments (1)
src/main/java/com/falkordb/impl/Utils.java (1)
88-101
: Add tests to improve code coverage.The static analysis tool has flagged that the added lines are not covered by tests. To ensure the reliability and maintainability of the code, it's important to have adequate test coverage.
Do you want me to generate test cases for the added functionality or open a GitHub issue to track this task?
Tools
GitHub Check: codecov/patch
[warning] 90-91: src/main/java/com/falkordb/impl/Utils.java#L90-L91
Added lines #L90 - L91 were not covered by tests
[warning] 93-94: src/main/java/com/falkordb/impl/Utils.java#L93-L94
Added lines #L93 - L94 were not covered by tests
[warning] 97-97: src/main/java/com/falkordb/impl/Utils.java#L97
Added line #L97 was not covered by tests
[warning] 99-100: src/main/java/com/falkordb/impl/Utils.java#L99-L100
Added lines #L99 - L100 were not covered by tests
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/main/java/com/falkordb/impl/Utils.java (1 hunks)
Additional context used
GitHub Check: codecov/patch
src/main/java/com/falkordb/impl/Utils.java
[warning] 90-91: src/main/java/com/falkordb/impl/Utils.java#L90-L91
Added lines #L90 - L91 were not covered by tests
[warning] 93-94: src/main/java/com/falkordb/impl/Utils.java#L93-L94
Added lines #L93 - L94 were not covered by tests
[warning] 97-97: src/main/java/com/falkordb/impl/Utils.java#L97
Added line #L97 was not covered by tests
[warning] 99-100: src/main/java/com/falkordb/impl/Utils.java#L99-L100
Added lines #L99 - L100 were not covered by tests
Additional comments not posted (1)
src/main/java/com/falkordb/impl/Utils.java (1)
88-101
: LGTM! The code changes align with the PR objectives.The added support for converting
Map
objects to string representations in thevalueToString
method addresses the limitation mentioned in the linked issue #68. The implementation correctly handles the recursive conversion of map entries and formats the resulting string appropriately.Tools
GitHub Check: codecov/patch
[warning] 90-91: src/main/java/com/falkordb/impl/Utils.java#L90-L91
Added lines #L90 - L91 were not covered by tests
[warning] 93-94: src/main/java/com/falkordb/impl/Utils.java#L93-L94
Added lines #L93 - L94 were not covered by tests
[warning] 97-97: src/main/java/com/falkordb/impl/Utils.java#L97
Added line #L97 was not covered by tests
[warning] 99-100: src/main/java/com/falkordb/impl/Utils.java#L99-L100
Added lines #L99 - L100 were not covered by tests
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.
Actionable comments posted: 0
🧹 Nitpick comments (1)
src/main/java/com/falkordb/impl/Utils.java (1)
87-101
: Consider quoting map keys for better consistency and safer Cypher queries.
Currently, map keys are converted to strings without quoting, which may lead to parsing issues if a JSON-like value contains spaces or punctuation. Also, if the key is of a different type, callingtoString()
might produce unexpected or ambiguous results. To improve safety and consistency (mirroring how string values are quoted), consider wrapping keys with quotes as well.For example:
for (Map.Entry<Object, Object> entry : map.entrySet()) { - sb.append(entry.getKey()).append(':').append(valueToString(entry.getValue())).append(","); + String keyStr = (entry.getKey() instanceof String) + ? quoteString((String) entry.getKey()) + : entry.getKey().toString(); + sb.append(keyStr) + .append(':') + .append(valueToString(entry.getValue())) + .append(","); }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
src/main/java/com/falkordb/impl/Utils.java
(1 hunks)src/test/java/com/falkordb/GraphAPITest.java
(1 hunks)
🔇 Additional comments (1)
src/test/java/com/falkordb/GraphAPITest.java (1)
698-719
: Well-structured test for validating map support.
The new test confirms that a node is created correctly with map properties and retrieved as expected. Consider adding an additional test for nested maps or edge cases (e.g., empty maps, null values in the map) to further increase coverage.
fix #68
Summary by CodeRabbit
New Features
Map
objects, allowing for improved representation of complex data structures.Tests