Versions Compared

Key

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

Map Event Builder converts the events/streams from an input event adaptoradapter that supports Map input streams into an event stream that is compatible with the event processor. The event attributes are extracted using XPath expressions and converted to the type specified in the mapping before sent to the event processor.

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

  1. Log Start the CEP, log in to the CEP its management console, select Event Builders and click Add Event Builder.
  2. Enter details in the form that appears and click the Add Event Builder button at the end of the form. For example,

    The fields in the above configuration are as follows:

    • Event Builder Name : Property to uniquely identify an event formatter configuration
    • Input Event Adaptor Adapter (marked as 1 in the screenshot) : The input event adaptoradapter used to publish events to the CEP. This drop-down list only displays the adaptors adapters that are already created. In this example, we select an Input JMS Event AdaptorAdapter already created.
    • Input Event Adaptor Adapter properties (marked as 2 in the screenshot) : Properties required by the input event adaptor adapter depending on the input event adaptor adapter type selected before. For example, if you select  an event adaptor adapter that supports Map, then the required properties are:
      • Destination - The topic to which event publishers send the events
    • Input Mapping Type (marked as 3 in the screenshot): Select map as the mapping type. This property changes based on the event adaptor adapter selected. It lists only the mapping types supported by a particular event adaptoradapter.
    • Mapping properties (marked as 4 in the screenshot) : Map the incoming stream to the outgoing stream received by the event processor. Provide the necessary details in the input fields:
      • Enter the  Input Attribute Name , Mapped To  and  To Stream Data Type  under Properties
      • Click Add to add the individual attribute mapping to the event builder

        Info

        For the correct properties to show, you must selected a transport adaptor an event adapter that supports Map mapping type.

    • To Stream Name/Version : Stream name/version of the outgoing stream
  3. After a builder is successfully created, you can change its configuration and redeploy it. To do this, click the Edit link associated with it. You can also click the other links associated with it to delete or enable statistics and tracing.
  4. An XML based editor opens allowing you to edit the event builder configuration from the UI itself, without having to edit the file in the file system. Do your modifications and click Update.
  5. Alternatively,

    Anchor
    step5
    step5
    y ou can specify an event builder configuration using an XML file and save it in <PRODUCT_HOME>/repository/deployment/server/eventbuilders directory, which is the event builder 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 Map based event builder configurations. Event builder implementation must start with <eventbuilder> root element and the namespace set to http://wso2.org/carbon/eventbuilder  as in the example below:

    Code Block
    languagehtml/xml
    <eventBuilder name="mapbuilder" xmlns="http://wso2.org/carbon/eventbuilder">
      <from transportAdaptorNameeventAdaptorName="jmsActiveMqAdaptor" transportAdaptorTypeeventAdaptorType="jms">
        <property name="transport.jms.Destination">PurchasesUK</property>
      </from>
      <mapping type="map" >
        <property>
          <from name="cardNo" />
          <to name="cardNo" type="string" />
        </property>
        <property>
          <from name="price" />
          <to name="price" type="float" />
        </property>
      </mapping>
      <to streamName="purchases" version="1.0.0" />
    </eventBuilder>