Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
COSMOS Design 208595
Contents
Change History
Name: | Date: | Revised Sections: |
---|---|---|
Bill Muldoon | 12/07/2007 |
|
Bill Muldoon | 12/11/2007 |
|
Bill Muldoon | 12/17/2007 |
|
Bill Muldoon | 12/18/2007 |
|
Overview
Design page for Bugzilla 208595 - Register Queries with Visualization - programming model [1]
This ER specifies the following Data Visualization Outputters, which conform to the Data Visualization programming model CosmosDataReportingComponent10_209226
Domain Outputter
The Domain Outputter requires the EPR of the Management Domain, which is configured in the deployment descriptor file (web.xml) as follows:
<context-param> <param-name>MANAGEMENT_DOMAIN_EPR</param-name> <param-value>http://localhost:8080/domain/services/managementDomain</param-value> </context-param>
The Domain Outputter generates JSON output for these requests:
1. Initialization of the root node for Data Managers (for M2)
This initialization displays the Data Managers as the top nodes of the COSMOS Navigator tree. It requires a query initialization value of "initDM" in the initQueryHandler value of the Navigator view.jprop definition:
{ clazz: "org.eclipse.cosmos.provisional.dr.ps.components.widget.Navigator", query: {nodeClass:'*'}, id:"myTree", initQueryHandler: "json?service=org/eclipse/cosmos/internal/dr/drs/service/outputter/DomainOutputter&query=initDM", publish: ['properties', 'detail'] }
The Domain Outputter retrieves the Broker EPR from the Management Domain Client (getBroker) and internally invokes the BrokerOutputter to display the Data Managers as the root nodes (see 'Expansion of a Broker Node' in the Broker Outputter).
2. Initialization of the root node for the Domain
This initialization displays the Domain as the root node of the COSMOS Navigator tree. It requires a query initialization value of "init" in the initQueryHandler value of the Navigator view.jprop definition:
{ clazz: "org.eclipse.cosmos.provisional.dr.ps.components.widget.Navigator", query: {nodeClass:'*'}, id:"myTree", initQueryHandler: "json?service=org/eclipse/cosmos/internal/dr/drs/service/outputter/DomainOutputter&query=init", publish: ['properties', 'detail'] }
The Domain Outputter retrieves the brokers from the Management Domain Client (getBrokers) and generates JSON for the root node that includes the nodeClass, title, epr and expandQuery attributes. The title is obtained from the caption property of the Domain. The expandQuery specifies the "expansion of the root node" request. For example:
{ identifier: "object", label: "title", items:[ { nodeClass:"domain", title:"Domain", expandQuery:"domain", object:"0", epr:"http://localhost:8080/domain/services/managementDomain"} ] }
3. Expansion of the Domain node
When the user expands the Domain node, the Domain Outputter uses the EPR of the domain with the management domain client interface to obtain the list of Brokers (getBrokers). It transforms the Broker list into JSON, which is rendered by the visualization as the child nodes of the domain. The title is obtained from the caption property of the Broker. For example:
{ identifier: "object", label: "title", items:[ { nodeClass:"broker", title:"Broker", expandQuery:"broker", object:"Broker", epr:"http://localhost:8080/broker/services/broker" } ] }
Note that the expansion query (expandQuery) is configured to use the Broker Outputter, which links the Broker Outputter as the child nodes of the domain node.
4. Properties of the Domain node
When the user clicks on the Domain node, the Domain Outputter receives a request to publish the Domain properties to the properties view. It converts the domain service group properties into JSON for display. The domain service group properties are defined at COSMOS_Design_205658:_Service_Group_in_Management_Domain_i8
Broker Outputter
The Broker Outputter generates JSON output for these requests:
1. Expansion of a Broker node
When the user expands a Broker node, the Broker Outputter uses the EPR of the broker with the broker client interface to obtain the list of data managers (getDataManagers). It transforms the Data Manager list into JSON, which is rendered by the visualization as the child nodes of the broker node. For example:
{ identifier: "object", label: "title", items:[ { nodeClass:"mdr", title:"SML_REPO_ID", expandQuery:"mdr", object:"SML_REPO_ID", epr:"http://localhost:8081/cosmos/services/org.eclipse.cosmos.rm.sml.mdr.impl.SmlRepositoryMdr", resid:"SML_REPO_ID" }, { nodeClass:"mdr", title:"Example", expandQuery:"mdr", object:"Example", epr:"http://localhost:8082/cosmos/services/org.eclipse.cosmos.example.mdr.ExampleMdr", resid:"Example" } ] }
Note that the expansion query (expandQuery) is configured to use the CMDBf MDR Outputter, which links the CMDBf MDR Outputter as the child nodes of the broker node.
2. Properties of a Broker node
When the user clicks on a Broker node, the Broker Outputter receives a request to publish the Broker properties to the properties view. It converts the service group properties of the broker into JSON for display. The broker service group properties are defined at COSMOS_Design_204921:_Service_Group_in_Broker_i8
CBE Data Source Outputter
The CBE Data Source Outputter generates JSON output for these requests:
1. Expansion of a CBE node
When the user expands a CBE node, the CBE Data Source Outputter uses the CBE EPR to access the CBE Data Manager Client to obtain the list of data sources (getDataSources). It transforms the data sources list into JSON, which is rendered by the visualization as the child nodes of the CBE node. Dependent on Data manager for log event collection
2. Properties of a CBE node
When the user clicks on a CBE node, the CBE Outputter receives a request to publish the CBE properties to the properties view. It converts the CBE properties into JSON for display.
3. Properties of a CBE Data Source node
When the user clicks on a CBE Data Source node, the CBE Outputter receives a request to publish the data source properties to the properties view. It converts the data source properties into JSON for display.
Note that right-clicking on a CBE Data Source node will display a popup menu to create a query.
Statistical Outputter
The Statistical Data Source Outputter generates JSON output for these requests:
1. Expansion of a Statistical node
When the user expands a Statistical node, the Statistical Data Source Outputter uses the Statistical EPR to access the Statistical Data Manager Client to obtain the list of data sources (getDataSources). It transforms the data sources list into JSON, which is rendered by the visualization as the child nodes of the Statistical node. Dependent on Data manager for statistical data
2. Properties of a Statistical node
When the user clicks on a Statistical node, the Statistical Outputter receives a request to publish the Statistical properties to the properties view. It converts the Statistical properties into JSON for display.
3. Properties of a Statistical Data Source node
When the user clicks on a Statistical Data Source node, the Statistical Outputter receives a request to publish the data source properties to the properties view. It converts the data source properties into JSON for display.
Note that right-clicking on a Statistical Data Source node will display a popup menu to create a query.
CMDBf Outputter
The CMDBf Outputter generates JSON output for these requests:
1. Execution of a CMDBf query
When the user executes a query, the CMDBf Outputter uses the CMDBf EPR to access the CMDBf Data Manager Client to obtain the query results (graphQuery). It transforms the query results into a JSON tree of nodes, which is rendered by the visualization in the Details view.
2. Properties of a CMDBf node
When the user clicks on a CMDBf node, the CMDBf Outputter receives a request to publish the CMDBf properties to the properties view. It converts the CMDBf properties into JSON for display.
Note that right-clicking on a CMDBf node will display a popup menu to create a query.