Show TOC

Sample Configuration File for the File/Hadoop XML Input AdapterLocate this document in the navigation structure

Two sample adapter configuration files for the File/Hadoop XML Input adapter.

The example below shows how the adapter parses datetime and timestamp data from SAP Event Stream Processor projects.
<?xml version="1.0" encoding="utf-8"?>
<Adapter>
  <Name>File/Hadoop XML Input</Name>
  <Description>An adapter which gets data from xml files on the local file system or Hadoop Distributed File System, transforms it to ESP data format and publishes to a stream.</Description>
  <Log4jProperty>./log4j.properties</Log4jProperty>
  <Modules>
    <Module type="transporter">
      <InstanceName>FileInputTransporter</InstanceName>
      <Name>FileInputTransporter</Name>
      <Next>MyXMLDocESPFORMATTER</Next>
      <BufferMaxSize>10240</BufferMaxSize>
      <Parameters>
          <FileInputTransporterParameters>
              <!-- Set the "Dir" to absolute path pointing to $STREAMING_HOME\adapters\framework\exampleAdapters\XMLDocumentAdapters\XMLDocumentInputAdapter\datetimeExample\data -->
              <Dir></Dir>
              <File>.*\.xml</File>
              <AccessMode>streaming</AccessMode>
			  <DynamicMode>dynamicPath</DynamicMode>
              <PollingPeriod>3</PollingPeriod>
              <RemoveAfterProcess>false</RemoveAfterProcess>
          </FileInputTransporterParameters>
      </Parameters>
    </Module>

    <Module type="formatter">
      <InstanceName>MyXMLDocESPFORMATTER</InstanceName>
      <Name>XmlDocStreamToEspFormatter</Name>
      <Next>MyInStream_Publisher</Next>
      <Parallel>true</Parallel>
      <Parameters>
           <XmlDocStreamToEspFormatterParameters>
                <XmlElemMappingRowPattern>/orders/purchase-order</XmlElemMappingRowPattern>
                <ColsMapping>
                     <Column>/purchase-order/@id</Column>
                     <Column>//name</Column>
                     <Column>date</Column>
                     <Column>datetime</Column>
                     <Column>totalPrice</Column>
                </ColsMapping>
                <SecondDateFormat> yyyy-MM-dd'T'HH:mm:ss</SecondDateFormat>
                <MsDateFormat> yyyy-MM-dd'T'HH:mm:ss.SSS</MsDateFormat>
                <TimeFormat>HH:mm:ss</TimeFormat>
           </XmlDocStreamToEspFormatterParameters>
      </Parameters>
    </Module>

    <Module type="espconnector">
      <InstanceName>MyInStream_Publisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>EspProject1</ProjectName>
          <StreamName>MyInStream</StreamName>
          <MaxPubPoolSize>1</MaxPubPoolSize>
          <UseTransactions>false</UseTransactions>
        </EspPublisherParameters>
      </Parameters>
      <BufferMaxSize>10240</BufferMaxSize>
    </Module>

  </Modules>

  <EspProjects>
    <EspProject>
      <Name>EspProject1</Name>
      <Uri>esp[s]://localhost:19011/sample_workspace/file_xmldoc_input_2</Uri>
      
    <Security>
        <User></User>
        <Password encrypted="false"></Password>
        <AuthType>user_password</AuthType>
      </Security>
    </EspProject>
  </EspProjects>
  <GlobalParameters></GlobalParameters>
</Adapter>

This example shows how the adapter obtains data from an XML document with name space declaration.

<?xml version="1.0" encoding="utf-8"?>
<Adapter>
  <Name>File/Hadoop XML Input</Name>
  <Description>An adapter which gets data from xml files on the local file system or Hadoop Distributed File System, transforms it to ESP data format and publishes to a stream.</Description>
  <Log4jProperty>./log4j.properties</Log4jProperty>
  <Modules>
    <Module type="transporter">
      <InstanceName>FileInputTransporter</InstanceName>
      <Name>FileInputTransporter</Name>
      <Next>MyXMLDocESPFORMATTER</Next>
      <BufferMaxSize>10240</BufferMaxSize>
      <Parameters>
          <FileInputTransporterParameters>
              <!-- Set the "Dir" to absolute path pointing to $STREAMING_HOME\adapters\framework\exampleAdapters\XMLDocumentAdapters\XMLDocumentInputAdapter\namespaceExample\data -->
              <Dir></Dir>
              <File>.*\.xml</File>
              <AccessMode>streaming</AccessMode>
			  <DynamicMode>dynamicPath</DynamicMode>
              <PollingPeriod>3</PollingPeriod>
              <RemoveAfterProcess>false</RemoveAfterProcess>
          </FileInputTransporterParameters>
      </Parameters>
    </Module>

    <Module type="formatter">
      <InstanceName>MyXMLDocESPFORMATTER</InstanceName>
      <Name>XmlDocStreamToEspFormatter</Name>
      <Next>MyInStream_Publisher</Next>
      <Parallel>true</Parallel>
      <Parameters>
           <XmlDocStreamToEspFormatterParameters>
                <XmlElemMappingRowPattern>books/book</XmlElemMappingRowPattern>
                <XmlElemNamespaceURI>http://sap.com/xmlns/books</XmlElemNamespaceURI>
                <ColsMapping>
                     <Column>/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='book']/@*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='id']</Column>
                     <Column>/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='book']/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='name']</Column>
                     <Column>/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='book']/*[namespace-uri()='http://sap.com/xmlns/books' and local-name()='price']</Column>
                </ColsMapping>
           </XmlDocStreamToEspFormatterParameters>
      </Parameters>
    </Module>

    <Module type="espconnector">
      <InstanceName>MyInStream_Publisher</InstanceName>
      <Name>EspPublisher</Name>
      <Parameters>
        <EspPublisherParameters>
          <ProjectName>EspProject1</ProjectName>
          <StreamName>MyInStream</StreamName>
          <MaxPubPoolSize>1</MaxPubPoolSize>
          <UseTransactions>false</UseTransactions>
          <GDMode>false</GDMode>
        </EspPublisherParameters>
      </Parameters>
      <BufferMaxSize>10240</BufferMaxSize>
    </Module>

  </Modules>

  <EspProjects>
    <EspProject>
      <Name>EspProject1</Name>
      <Uri>esp[s]://localhost:19011/sample_workspace/file_xmldoc_input_1</Uri>
      
      <Security>
        <User></User>
        <Password encrypted="false"></Password>
        <AuthType>user_password</AuthType>
      </Security>
    </EspProject>
  </EspProjects>
  <GlobalParameters></GlobalParameters>
</Adapter>