Patent ID: 8370400

Claim:
A computer-implemented metadata repository comprising: one or more storage devices storing: first metadata defining an instance of a first metaobject, wherein the first metaobject is an instance of a meta-metaobject; second metadata defining an instance of a solution supplement metaobject that is separate from the instance of the first metaobject, wherein the instance of the solution supplement metaobject comprises annotations to the instance of the first metaobject, and wherein the solution supplement metaobject is an instance of the same meta-metaobject of which the first metaobject is an instance; and executable program code of a service to determine merged metadata that is a subset of the first metadata defining the instance of the first metaobject based on: (i) the first metadata defining the instance of the first metaobject and (ii) the annotations of the instance of the solution supplement metaobject that is separate from the instance of the first metaobject and an instance of the same meta-metaobject of which the first metaobject is an instance; and a processor that executes the executable program code; wherein the request for first metadata of the instance of the first metaobject includes a name of the instance of the first metaobject, a filter parameter setting and a solution, and wherein the code to determine the merged metadata comprises: code to determine a root instance of the instance of the first metaobject and a root instance of the instance of the solution supplement metaobject as specified by the name of the instance of the first metaobject; code to determine a list of root instances of the instance of the first metaobject and root instances of the instance of the solution supplement metaobject according to the filter parameter setting and the solution; code to determine a root node instance of the instance of the first metaobject and an item instance of the instance of the solution supplement metaobject corresponding to the root node instance; code to determine a set of child nodes based on a parent node instance of the instance of the first metaobject, an item instance of the instance of the solution supplement metaobject corresponding to the parent node instance, and path information formed by a sequence of association keys connecting the parent node with the child nodes; code to determine a set of top level node elements of a node of the instance of the first metaobject and corresponding item instances of the instance of the solution supplement metaobject; and code to determine a set of child node elements of a node element and corresponding item instances of the instance of the solution supplement metaobject.