[ https://issues.apache.org/jira/browse/FELIX-5678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16169637#comment-16169637 ]
David Leangen commented on FELIX-5678: -------------------------------------- Hi [~bosschaert], thank you for your reply! I got sidetracked, but am finally turning my attention back to this. :-) bq. so you really want to convert two objects into one That is a good question, and I suppose that it depends on the level of abstraction. From a conceptual level, I think the intent is to update an object. For instance (just an example I am pulling out of my ear), say I have a Customer object, and I notice that the last name is spelled incorrectly. All I want to do is correct that part, so the system somehow receives a message with the ID of the customer to update, and the portions of the records that need to be updated. There is no point sending along the entire record if I only want to change an "i" to an "e" in one single field! However, from the converter/data level, I suppose you are right: it is really just merging two objects. (Or is it?? Not sure yet.) I was also starting to think that maybe a [diff format|http://wiki.c2.com/?DiffAlgorithm] would work well. Each field, instead of containing an actual value, would contain only a diff value. bq. While the converter API isn't really designed for this, you could achieve it with a custom rule, where the rule is specifically created for this conversion with the second object as context provided to the rule Possible, yes. And IIUC the API is no longer open for comments, correct? So either we'd have to go about it this way, or build an extra layer on top of the Converter. Or, maybe this is something all together different. wdyt? > Allow merging of objects > ------------------------ > > Key: FELIX-5678 > URL: https://issues.apache.org/jira/browse/FELIX-5678 > Project: Felix > Issue Type: Bug > Components: Converter > Reporter: David Leangen > > Given a typed object O1 and a "partial" representation of an object O2 (for > instance in the form of a Map), allow O2 to be merged into O1. > Example: > {code} > public class Foo { > public String a; > public String b; > public String c; > } > Foo f = new Foo(); > a = "Eh!"; > b = "Be cool."; > c = "See you later?"; > Map<String, String> m = new Map<>(); > m.put("b", "Be there or be square"); > Foo f2 = Converter.convert(f).merge(m); > {code} > I am sure there are many ways to skin this cat. > If the Converter API cannot be changed, what would be the best way to tackle > this problem? > (In the meantime, while awaiting comments form [~bosschaert], I'll try to run > a few experiments to see if I can come up with something reasonable.) -- This message was sent by Atlassian JIRA (v6.4.14#64029)