<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-geohash-nar</artifactId><version>2.0.0-M3</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-shared-nar</artifactId><version>2.0.0-M3</version></parentNar><systemApiVersion>2.0.0-M3</systemApiVersion><buildInfo><tag>nifi-2.0.0-M3-RC1</tag><branch>UNKNOWN</branch><revision>f2215c6</revision></buildInfo><extensions><extension><name>org.apache.nifi.processors.geohash.GeohashRecord</name><type>PROCESSOR</type><description>A record-based processor that encodes and decodes Geohashes from and to latitude/longitude coordinates.</description><tags><tag>geo</tag><tag>geohash</tag><tag>record</tag></tags><properties><property><name>mode</name><displayName>Mode</displayName><description>Specifies whether to encode latitude/longitude to geohash or decode geohash to latitude/longitude</description><defaultValue>ENCODE</defaultValue><allowableValues><allowableValue><displayName>ENCODE</displayName><value>ENCODE</value><description></description></allowableValue><allowableValue><displayName>DECODE</displayName><value>DECODE</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-reader</name><displayName>Record Reader</displayName><description>Specifies the record reader service to use for reading incoming data</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordReaderFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M3</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>record-writer</name><displayName>Record Writer</displayName><description>Specifies the record writer service to use for writing data</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordSetWriterFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M3</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>routing-strategy</name><displayName>Routing Strategy</displayName><description>Specifies how to route flowfiles after encoding or decoding being performed. SKIP will enrich those records that can be enriched and skip the rest. The SKIP strategy will route a flowfile to failure only if unable to parse the data. Otherwise, it will route the enriched flowfile to success, and the original input to original. SPLIT will separate the records that have been enriched from those that have not and send them to matched, while unenriched records will be sent to unmatched; the original input flowfile will be sent to original. The SPLIT strategy will route a flowfile to failure only if unable to parse the data. REQUIRE will route a flowfile to success only if all of its records are enriched, and the original input will be sent to original. The REQUIRE strategy will route the original input flowfile to failure if any of its records cannot be enriched or unable to be parsed</description><defaultValue>SKIP</defaultValue><allowableValues><allowableValue><displayName>SKIP</displayName><value>SKIP</value><description></description></allowableValue><allowableValue><displayName>SPLIT</displayName><value>SPLIT</value><description></description></allowableValue><allowableValue><displayName>REQUIRE</displayName><value>REQUIRE</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>latitude-record-path</name><displayName>Latitude Record Path</displayName><description>In the ENCODE mode, this property specifies the record path to retrieve the latitude values. Latitude values should be in the range of [-90, 90]; invalid values will be logged at warn level. In the DECODE mode, this property specifies the record path to put the latitude value</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>longitude-record-path</name><displayName>Longitude Record Path</displayName><description>In the ENCODE mode, this property specifies the record path to retrieve the longitude values; Longitude values should be in the range of [-180, 180]; invalid values will be logged at warn level. In the DECODE mode, this property specifies the record path to put the longitude value</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>geohash-record-path</name><displayName>Geohash Record Path</displayName><description>In the ENCODE mode, this property specifies the record path to put the geohash value; in the DECODE mode, this property specifies the record path to retrieve the geohash value</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>geohash-format</name><displayName>Geohash Format</displayName><description>In the ENCODE mode, this property specifies the desired format for encoding geohash; in the DECODE mode, this property specifies the format of geohash provided</description><defaultValue>BASE32</defaultValue><allowableValues><allowableValue><displayName>BASE32</displayName><value>BASE32</value><description></description></allowableValue><allowableValue><displayName>BINARY</displayName><value>BINARY</value><description></description></allowableValue><allowableValue><displayName>LONG</displayName><value>LONG</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>geohash-level</name><displayName>Geohash Level</displayName><description>The integer precision level(1-12) desired for encoding geohash</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>mode</propertyName><propertyDisplayName>Mode</propertyDisplayName><dependentValues><dependentValue>ENCODE</dependentValue></dependentValues></dependency></dependencies></property></properties><relationships><relationship><name>success</name><description>Flowfiles that are successfully encoded or decoded will be routed to success</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>Flowfiles that cannot be encoded or decoded will be routed to failure</description><autoTerminated>false</autoTerminated></relationship><relationship><name>original</name><description>The original input flowfile will be sent to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>mime.type</name><description>The MIME type indicated by the record writer</description></writesAttribute><writesAttribute><name>record.count</name><description>The number of records in the resulting flow file</description></writesAttribute></writesAttributes><supportsBatching>true</supportsBatching><sideEffectFree>true</sideEffectFree><inputRequirement>INPUT_REQUIRED</inputRequirement></extension></extensions></extensionManifest>