<?xml version="1.0" encoding="UTF-8"?>
<!--
     # Licensed Materials - Property of IBM
     # Copyright IBM Corp. 2015  
-->
<operatorModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ibm.com/xmlns/prod/streams/spl/operator" xmlns:cmn="http://www.ibm.com/xmlns/prod/streams/spl/common" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/streams/spl/operator operatorModel.xsd">
  <cppOperatorModel>
    <context>
      <description>
Filter tuples only allowing output if the first attribute is less than the second.

Returns the sum of the first two attributes.
# Python
    @spl.map(style=&#x27;position&#x27;)
    def SimpleFilter(a,b):
       &quot;&quot;&quot;
       Filter tuples only allowing output if the first attribute is less than the second.
       
       Returns the sum of the first two attributes.
       &quot;&quot;&quot;
       if (a &lt; b):
           return a+b,

      </description>
      <iconUri size="16">../../opt/.splpy/icons/python-powered16.gif</iconUri>
      <iconUri size="32">../../opt/.splpy/icons/python-powered32.gif</iconUri>
      <metrics>
      </metrics>
      <libraryDependencies>
        <library>
          <cmn:description>SPLPY header</cmn:description>
          <cmn:managedLibrary>
            <cmn:includePath>../../opt/.splpy/include</cmn:includePath>
          </cmn:managedLibrary>
        </library>
        <library>
          <cmn:description>Python libraries.</cmn:description>
          <cmn:managedLibrary>
            <cmn:command>../../opt/.splpy/common/pyversion3.sh</cmn:command>
          </cmn:managedLibrary>
        </library>
      </libraryDependencies>
      <providesSingleThreadedContext>Always</providesSingleThreadedContext>
      <allowCustomLogic>false</allowCustomLogic>
    </context>
    <parameters>
      <allowAny>false</allowAny>
      
    </parameters>
    <inputPorts>
      <inputPortSet>
        <description>

           Tuple attribute values are passed by position to the Python callable.
                 
        </description>
        <tupleMutationAllowed>false</tupleMutationAllowed>
        <windowingMode>NonWindowed</windowingMode>
        <windowPunctuationInputMode>Oblivious</windowPunctuationInputMode>
        <cardinality>1</cardinality>
        <optional>false</optional>
      </inputPortSet>
    </inputPorts>
    <outputPorts>
      <outputPortSet>
        <expressionMode>Nonexistent</expressionMode>
        <autoAssignment>true</autoAssignment>
        <completeAssignment>false</completeAssignment>
        <rewriteAllowed>true</rewriteAllowed>
        <windowPunctuationOutputMode>Preserving</windowPunctuationOutputMode>
        <windowPunctuationInputPort>0</windowPunctuationInputPort>
        <tupleMutationAllowed>true</tupleMutationAllowed>
        <cardinality>1</cardinality>
        <optional>false</optional>
      </outputPortSet>
    </outputPorts>
  </cppOperatorModel>
</operatorModel>
