This Bugzilla instance is deprecated, and most Eclipse projects now use GitHub or Eclipse GitLab. Please see the deprecation plan for details.
Bug 206770 - Implement Broker View
Summary: Implement Broker View
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Cosmos (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Sheldon Lee-Loy CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 200254
Blocks:
  Show dependency tree
 
Reported: 2007-10-18 11:04 EDT by Sheldon Lee-Loy CLA
Modified: 2012-01-03 13:46 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sheldon Lee-Loy CLA 2007-10-18 11:04:35 EDT
A widget is required to visualize the contents of the data broker. This view will be composed of a tree widget that will show a list of brokers registered with the management domain. Under each broker a list of associated MDRs are shown.

A second flavor of the navigator will display only the list of MDRs without showing the Brokers within the tree.

=Published Events=
Select - When the user clicks on a node within the tree the widget publishes a 'Select' event to the event bus that contains the node id. This will notify any widget listening to the event bus that a node was clicked with a particular id. 

=Subscribed Events=
None 

= Dojo Widgets=
Tree View - this widgets consumes a JSON data feed that contains a list of MDRs organized by classification. The widget shows the MDR names in the tree node. When the user clicks on a tree node an event is thrown to the properties widget with the MDR id. 
Properties Table - this widget listens to the event bus for an event that contains a MDR id. The id is then sent to a REST service that provides the meta data for the MDR. An action button is rendered that sends an event with the MDR id to the parent widget to visualize the custom MDR UI. 

=Data Feeds=
Managed Domain feed - Provides a JSON feed that contains the list of brokers that are registered with the Domain. Note the JSON feed should conform to a tree data structure. The following shows a JSON feed that lists 3 brokers. The first broker contains 3 MDRs while the other two brokers have 1 MDR each. 

More information can be found on the wiki page http://wiki.eclipse.org/CosmosDataReportingComponent10#Management_Domain_Widget
Comment 1 Sheldon Lee-Loy CLA 2007-10-23 21:36:41 EDT
The following shows the JSON structure when requesting for a list of Brokers from a particular Managed Domain.  Note the EPR location of the managed domain is pre-configured by the JSON data feed.:


{ identifier: "object",  label: "title",  items:[
{title:"broker1",nodeClass:"broker",object:"1",eprAddress:"http://myepraddress", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"},
{title:"broker2",nodeClass:"broker",object:"2",eprAddress:"http://myepraddress", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"},
{title:"broker3",nodeClass:"broker",object:"3",eprAddress:"http://myepraddress", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"},
{title:"broker4",nodeClass:"broker",object:"4",eprAddress:"http://myepraddress", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"}
]}

Where 
  title - the broker name
  object - unique identifier
  nodeClass - tag that allows the ui to add cosmetic decorators on the node
  eprAddress - eprAddress of the Broker
  store - additional properties on the broker.  Note that the store is a string that is a JSON array that represents an array of name value pairs.


The following shows the JSON structure when requesting for a list of MDRs from a particular Broker.  Note the request would contain the EPR address of the Broker:


{ identifier: "object",  label: "title",  items:[
{title:"MDR-Asset",nodeClass:"mdrasset",object:"1",eprAddress:"http://myepraddress", classification:"asset", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"},
{title:"MDR-Config",nodeClass:"mdrconfig",object:"2",eprAddress:"http://myepraddress", classification:"configuration", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]" },
{title:"MDR-Statistical",nodeClass:"mdrstat",object:"3",eprAddress:"http://myepraddress", classification:"statistical", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"},
{title:"MDR-CBE",nodeClass:"mdrcbe",object:"4",eprAddress:"http://myepraddress", classification:"cbe", store:"[{name:'somepropertyName1', value:'propertyValue1'},{name:'somepropertyName2', value:'propertyValue2'}]"}
]}

Where 
  title - the name of the tree node
  object - unique identifier
  nodeClass - tag that allows the ui to add cosmetic decorators on the node
  eprAddress - eprAddress of the MDR
  classification - the mdr classification property value of the MDR
  store - additional properties on the MDR.  Note that the store is a string that is a JSON array that represents an array of name value pairs.
Comment 2 Sheldon Lee-Loy CLA 2007-11-12 09:30:15 EST
A tree view was implemented along with the data feeds required to display a list of data managers.  Note that the current implementation does not show a list of brokers.  This is due to the limited apis from the data collection component.
Comment 3 Sheldon Lee-Loy CLA 2007-11-29 16:18:20 EST
Iteration clean up.