Versions Compared

Key

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

This will convert JSON event formatter converts the events which coming from Siddhi in to JSON events according to the mapping configurations. CEP back You can inject the CEP's back-end runtime event data can be injected to the output as json just by adding the appropriate back-end runtime event attribute names in double curly braces ( Ee.g., {{price}}) into the output json template.

Configuring through the Management Console UI

1. Log in to the CEP management console and select the Main menu in the left hand side of the screen. Then select the Add menu item under Event Formatter menu.

Image Removed

2. The Create a New Event Formatter window opens, using which you can configure new event formatters. Enter the following details in the form to create a json mapping based event formatter as shown in the screenshot below.

Image Removed

Here, there are several properties that need to be filled when creating a event formatter. User interface is divided in to 3 main components (From, Mapping and To) except the event formatter name to give more understanding to the user.

...

You can configure through the management console as explained below or by manually adding an XML file as explained in step 5.

  1. Start the CEP, log in to its management console, select Event Formatters and click Add Event Formatter.
  2. Enter details in the form that appears and click the Add Event Formatter button at the end of the form. For example,Image Added
    The fields in the above configuration are as follows:

    • Event Formatter Name : Property to uniquely identify an event formatter configuration
    • Event Stream (marked as 1 in the screenshot) : Select an event stream (stream name with version) to listen for events.
    • Stream Attributes : Based on the event stream selected earlier,

...

    • this shows what

...

    • the attributes available in the stream are. This field is only for reference

...

    • .
    • Output Event Adaptor Name

...

    • (marked as 2 in the screenshot) : Select the event adaptor used to publish events from the CEP. This drop-down list shows the output event adaptors already created.
    • Output Mapping Type (marked as 3 the screenshot) : Select json mapping type. This drop-down list is populated based on the event adaptor selected earlier. It lists only the mapping types supported by a particular event adaptor. Some event adaptors

...

    • support

...

    • multiple types of mappings.

...

    • Also, see JSON mapping section below.
       
    • Email Address / Subject: Since you selected the email type event adaptor

...

    • , you need to provide an email address

...

    • to send emails

...

    • to. Also specify the email subject.

 

    • JSON Mapping

      Here when you select the json mapping, you will see a textarea which let you to define the template of the output JSON event. Here you can define the template in two manner, they are In-Line and registry based.

      In-Line

      By-default json mapping is enabled for In-Line, Users just need to add the template of the output JSON event  as shown in number "4". 

      Info

      Please note any attribute name need to be mentioned in double curly braces. eg : {{symbol}}

      Registry Based 

      1. Create a plain text content file (resource)  with the name "quotationTemplate" in "config" directory of the registry, (You can create the resource in "governance" directory also)

      Image Modified

      2. Then select the resource that you created in registry. First click on the Pick from registry option , then you can see options (Configuration Registry and Governance Registry) to select the registry resource 

      Image Modified

      3. Then click on Configuration Registry link, since we have create the resource in config directory, select the specific resource as shown below and click on OK button. 

      Image Modified

3. After adding details click the Add Event Formatter button. The Available Event Formatter page will open. To view event formatter configurations, click on the event formatter name. To delete event formatter, click the Delete button.

Image Removed

 

Editing Event Formatter Configuration through the Management Console

...

  1. After an event formatter is successfully created, you can change its configuration and redeploy it.

...

  1. To do this, click the Edit

...

  1. link associated with it.
  2. An XML based editor opens allowing you to edit the event

...

  1. builder configuration from the UI itself, without

...

  1. having to edit the

...

  1. file in the file system.

...

Image Removed

Configuring through a xml File

...

  1. Do your modifications and click Update.
  2. Alternatively,  you can specify an event formatter configuration using an XML file and save it in <PRODUCT_HOME>/repository/deployment/server/eventformatters

...

  1. directory, which is the event formatter deployment directory. Since hot deployment is enabled, you can simply add/remove files to deploy/undeploy from the server.

    Create the XML file with the following JSON mapping event formatter configurations. Event formatter implementation must start with <eventformatter> root element as in the example below.

    Code Block
    languagehtml/xml
    <eventFormatter name="QuotationFormatter" xmlns="http://wso2.org/carbon/eventformatter">
      <from streamName="stockStream" version="1.0.0"/>
      <mapping type="json">
        <inline>{  "quotedata:StockQuoteDataEvent": {    "quotedata:StockSymbol": "{{symbol}}",    "quotedata:LastTradeAmount": "{{price}}"  }}</inline>
      </mapping>
      <to eventAdaptorName="emailAdaptor" eventAdaptorType="email">
        <property name="email.address">[email protected]</property>
        <property name="email.subject">Quotation Details</property>
      </to>
    </eventFormatter>

...