Service picker
The service picker is a graphical user interface (GUI) for selecting a service, hence its name. The service picker is displayed when choosing a service to be invoked by an endpoint when it is triggered, a package during startup or shutdown, a Gloop API operation, and more.
Conditionally displaying services
Before displaying the list of selectable services, Martini will inspect all services first, and filter those that are compatible with the feature you are trying to use. In most cases, Martini compares the names and types of variables in your services against the names and types of parameters that the endpoint or functionality supports. If a service has a parameter whose name and type does not match the endpoint or functionality, it will not be included in the list.
The service you select from the service picker will be highlighted and a preview of that service's documentation (from) its comments) will be shown at the bottom panel. As seen in the screenshot above, Markdown is honored and rendered.
Demonstration
To show the service picker in action, you can create a directory watcher endpoint that uses a Gloop service.
- Right click the
code
directory of a Martini package and select New > Gloop Service. UseWatcherService
as the name of the service and click Finish. - Right click Endpoints and select New > Martini Endpoint. Select Directory Watcher as the type of the
endpoint and use
watcher
as its name then click Finish. - After creating the endpoint, the endpoint configuration page should show up. To show the service picker, click the Choose… button beside the Service field.
The service picker will be shown displaying the list of services that are compatible with your directory watcher
endpoint. You should be able to see WatcherService
on the list.
Show hidden services? option
Some Java or Groovy methods are not visible in the service picker by default. These kinds of methods are called advanced services. A method is considered advanced if it is any of the following:
- A method of
java.lang.Object
- A synthetic method
- A method signature containing
$
- Annotated with
io.toro.martini.core.service.annotation.ESBAdvanced
To view these hidden services, check the Show hidden services checkbox.
Creating a new service
You can create a new Flux, Gloop, or Groovy service straight from the service picker using the New service wizard. To create a service using this method:
- Click the New... button located at the bottom part of the service picker.
- Enter the name of your service.
- Select the type of service you want to create.
- Click the Next button.
- Select the properties that you want to use as inputs of your service.
- Click Finish.