|parsing query results from multiple MDRs [message #11403]
||Mon, 13 October 2008 16:27
| David Loewenstern
Registered: July 2009
I apologize if this question has been answered before, but I have not |
seen it in the archives.
Say I have an application that queries two _different_ MDRs with
_different_ underlying object models. The application can be configured
so it knows which model goes with which MDR. To make this concrete,
say we have one MDR that handles personnel and a different MDR that
handles IT assets, and we need to construct queries across both (e.g.,
"list all assets that are assigned to managers with pay grade above 10").
I realize it isn't Cosmos's or CMDBf's job to tear apart the query and
route the subqueries to the appropriate MDR, and I'm not worried about
that. The problem I have is specific, and has to do with handling the
Both MDRs will send back query responses containing records. For one,
the records will be personnel, for the other, IT assets. As far as I
can tell, the CMDBf will handle both by way of the
QueryOutputStreamHandler, ultimately calling
CMDBfServicesUtil.getRecordSerializer(). There can be only one record
serializer -- it's a class variable, so even if I have two separate
instances of QueryOutputStreamHandler, they will both use the same
record serializer. But I need two serializers, one for the personnel
data model, one for the IT data model. How do I accomplish this?
It seems that there is a problem in that QueryOutputStreamHandler
accepts a user-defined ArtifactFactory but ignores it in favor of
CommonArtifactFactory when creating most object types.