joshelser commented on a change in pull request #347: ACCUMULO-4746 Fluent API
for Mutation
URL: https://github.com/apache/accumulo/pull/347#discussion_r160792277
##########
File path: core/src/test/java/org/apache/accumulo/core/data/MutationTest.java
##########
@@ -183,6 +185,190 @@ private Value nv(String s) {
return new Value(s.getBytes());
}
+ @Test
+ public void testAtFamilyTypes() {
+ final String fam = "f16bc";
+ final String qual = "q1pm2";
+ final String val = "v8672194923750";
+
+ Mutation expected = new Mutation("row5");
+ expected.put(fam, qual, val);
+
+ // Test all family methods, keeping qual and val constant as Strings
+ // fam: byte[]
+ Mutation actual = new Mutation("row5");
+ actual.at().family(fam.getBytes(UTF_8)).qualifier(qual).set(val);
Review comment:
This makes me uncomfortable seeing Mutation be mutable. Can the fluent API
be applied as a MutationBuilder instead of to the Object we're creating? I
think that would also remove the need for the (to me) odd `at()` method.
e.g.
`Mutation actual =
Mutation.newBuilder("row5").family(fam.getBytes(UTF_8)).qualifier(qual).set(val);`
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services