Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The UiExtensionService provides an API allowing the run-time addition (or removal) of UiExtension instances. The UiExtensionManager implements this service, and automatically registers the "core" UiExtension instance (shown at the top of the figure). ONOS applications may provide their own UiExtension instance, which they will register on activation, and unregister on deactivation (shown at the bottom of the figure).

When a UiExtension registers, a mapping is cached to bind the identifiers of the extension's views to the extension instance. 

See also the section on "When a GUI connects.."

UiExtension

UiExtension instances provide:

...

Code Block
languagejs
<script src="app/view/myviewid/myviewMain.js"></script>
<script src="app/view/myviewid/myviewUtil.js"></script>

 

UiMessageHandlerFactory

The UiMessageHandlerFactory is responsible for generating a set of UiMessageHandlers UiMessageHandlers on demand. These are requested when a GUI connection comes into is established with the server, to serve that GUI instance. The factory generates message handlers to handle all message events from the client (browser) that this UI extension is expecting.

UiMessageHandler

Generally, there is a 1:1 correspondence between a UiView and a UiMessageHandler; i.e. the message handler handles all request messages that a specific (client-side) view sends to the server. For example, the DeviceViewMessageHandler is responsible for fielding the messages received from the "Device" view.

RequestHandler

Each instance of RequestHandler handles one specific request type. When the corresponding event comes in from a client, the appropriate handler's process(...) method is invoked to handle the request.

TableRequestHandler

The TableRequestHandler is an abstract subclass of RequestHandler. The table pattern is so common that it made sense to provide a partial implementation of the handler, as well as additional constructs to model the table and facilitate custom sort orders and cell renderers.

 

 

 

 

 

Under review from here down.....

...