| This component loads the "/components" servlet, which displays
information from the component model's
ViewService .
Load with:
<component class="org.cougaar.core.util.ComponentViewServlet">
<argument>/components</argument>
</component>
The supported URL-parameter arguments can easily be seen
in the zero-parameter printUsage method's page.
This servlet generates XML. A future client-side GUI could use
this XML to draw pretty graphical displays of the component model.
Another idea is to generate output in a standard graph
node/edge format (e.g. GXL for client-side JGraph viewing, or
DOT for webdot
PNGs).
In the generated XML, there are <component-view>s and
<container-view>s, where the container view includes all
the fields of the component view, which are:
id=.. unique identifier, also useful for sorting
<load-time> millis when loaded
<component> the component description
<advertised-services> "addService" classes and info
<obtained-services> "getService" class info
and the <container-view> adds:
<children> child component/container views.
The <advertised-services> contains:
class=.. service class name
id=.. unique identifier
<advertise-time> timestamp when advertised, if not
revoked yet
and <obtained-services> contains:
class=.. service class name
id=.. unique identifier
sp-id=.. if the URL parameters ?hideT=true and
?hideSP=true are enabled and the service provider's
id is known
<obtain-time> timestamp when obtained, if not
released yet
<service-provider> service provider of this service,
plus the provider's id and <component>
description.
<indirectly-advertised-services> if the service
contains a "get.*ServiceBroker" method,
such as
org.cougaar.core.node.NodeControlService ,
this will show services indirectly advertised through
that ServiceBroker.
|