Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

COSMOS Design 208595

Change History

Name: Date: Revised Sections:
Bill Muldoon 12/07/2007
  • Initial version with Domain Outputter
Bill Muldoon 12/11/2007
  • Added Broker Outputter
Bill Muldoon 12/17/2007
  • Changed the Domain Outputter initialization to only show the Data Managers (for M2)


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 Outputter

TODO


Statistical Outputter

TODO


CMDBf Outputter

TODO



Back to the top