{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": "@@ -1 +1 @@\n-<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-other-graph-services-nar</artifactId><version>2.0.0-M4</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-graph-client-service-api-nar</artifactId><version>2.0.0-M4</version></parentNar><systemApiVersion>2.0.0-M4</systemApiVersion><buildInfo><tag>nifi-2.0.0-M4-RC1</tag><branch>UNKNOWN</branch><revision>19c5be0</revision></buildInfo><extensions><extension><name>org.apache.nifi.graph.TinkerpopClientService</name><type>CONTROLLER_SERVICE</type><description>This service interacts with a tinkerpop-compliant graph service, providing both script submission and bytecode submission capabilities. Script submission is the default, with the script command being sent to the gremlin server as text. This should only be used for simple interactions with a tinkerpop-compliant server such as counts or other operations that do not require the injection of custom classed. Bytecode submission allows much more flexibility. When providing a jar, custom serializers can be used and pre-compiled graph logic can be utilized by groovy scriptsprovided by processors such as the ExecuteGraphQueryRecord.</description><tags><tag>graph</tag><tag>gremlin</tag></tags><properties><property><name>submission-type</name><displayName>Script Submission Type</displayName><description>A selection that toggles for between script submission or as bytecode submission</description><defaultValue>script-submission</defaultValue><allowableValues><allowableValue><displayName>Script Submission</displayName><value>script-submission</value><description>Script is sent to the gremlin server as a submission. Similar to a rest request. </description></allowableValue><allowableValue><displayName>ByteCode Submission</displayName><value>bytecode-submission</value><description>Groovy scripts are compiled within NiFi, with the GraphTraversalSource injected as a variable 'g'. Effectively allowing your logic to directly manipulates the graph without string serialization overheard.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>connection-settings</name><displayName>Settings Specification</displayName><description>Selecting \"Service-Defined Settings\" connects using the setting on this service. Selecting \"Yaml Settings\" uses the specified YAML file for connection settings. </description><defaultValue>service-settings</defaultValue><allowableValues><allowableValue><displayName>Service-Defined Settings</displayName><value>service-settings</value><description>Connection to the gremlin server will be specified via values on this controller (simpler). Only recommended for testing and development with a simple grpah instance. </description></allowableValue><allowableValue><displayName>Yaml Settings</displayName><value>yaml-settings</value><description>Connection to the gremlin server will be specified via a YAML file (very flexible)</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>remote-objects-file</name><displayName>Remote Objects File</displayName><description>The remote-objects file YAML used for connecting to the gremlin server.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>yaml-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>extension</name><displayName>Extension JARs</displayName><description>A comma-separated list of Java JAR files to be loaded. This should contain any Serializers or other classes specified in the YAML file. Additionally, any custom classes required for the groovy script to work in the bytecode submission setting should also be contained in these JAR files.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>true</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>MULTIPLE</cardinality><resourceTypes><resourceType>DIRECTORY</resourceType><resourceType>URL</resourceType><resourceType>FILE</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>yaml-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>extension-classes</name><displayName>Extension Classes</displayName><description>A comma-separated list of fully qualified Java class names that correspond to classes to implement. This is useful for services such as JanusGraph that need specific serialization classes. This configuration property has no effect unless a value for the Extension JAR field is also provided.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>yaml-settings</dependentValue></dependentValues></dependency><dependency><propertyName>extension</propertyName><propertyDisplayName>Extension JARs</propertyDisplayName></dependency></dependencies></property><property><name>tinkerpop-contact-points</name><displayName>Contact Points</displayName><description>A comma-separated list of hostnames or IP addresses where an Gremlin-enabled server can be found.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>service-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>tinkerpop-port</name><displayName>Port</displayName><description>The port where Gremlin Server is running on each host listed as a contact point.</description><defaultValue>8182</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>service-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>tinkerpop-path</name><displayName>Path</displayName><description>The URL path where Gremlin Server is running on each host listed as a contact point.</description><defaultValue>/gremlin</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>service-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>gremlin-traversal-source-name</name><displayName>Traversal Source Name</displayName><description>An optional property that lets you set the name of the remote traversal instance. This can be really important when working with databases like JanusGraph that support multiple backend traversal configurations simultaneously.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>user-name</name><displayName>Username</displayName><description>The username used to authenticate with the gremlin server. Note: when using a remote.yaml file, this username value (if set) will overload any username set in the YAML file.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>password</name><displayName>Password</displayName><description>The password used to authenticate with the gremlin server. Note: when using a remote.yaml file, this password setting (if set) will override any password set in the YAML file</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>ssl-context-service</name><displayName>SSL Context Service</displayName><description>The SSL Context Service used to provide client certificate information for TLS/SSL connections.</description><controllerServiceDefinition><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.graph.GraphClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-graph-client-service-api-nar</artifactId><version>2.0.0-M4</version></providedServiceAPI></providedServiceAPIs></extension></extensions></extensionManifest>\n+<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-other-graph-services-nar</artifactId><version>2.0.0-M4</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-graph-client-service-api-nar</artifactId><version>2.0.0-M4</version></parentNar><systemApiVersion>2.0.0-M4</systemApiVersion><buildInfo><tag>nifi-2.0.0-M4-RC1</tag><branch>UNKNOWN</branch><revision>19c5be0</revision></buildInfo><extensions><extension><name>org.apache.nifi.graph.TinkerpopClientService</name><type>CONTROLLER_SERVICE</type><description>This service interacts with a tinkerpop-compliant graph service, providing both script submission and bytecode submission capabilities. Script submission is the default, with the script command being sent to the gremlin server as text. This should only be used for simple interactions with a tinkerpop-compliant server such as counts or other operations that do not require the injection of custom classed. Bytecode submission allows much more flexibility. When providing a jar, custom serializers can be used and pre-compiled graph logic can be utilized by groovy scriptsprovided by processors such as the ExecuteGraphQueryRecord.</description><tags><tag>graph</tag><tag>gremlin</tag></tags><properties><property><name>submission-type</name><displayName>Script Submission Type</displayName><description>A selection that toggles for between script submission or as bytecode submission</description><defaultValue>script-submission</defaultValue><allowableValues><allowableValue><displayName>Script Submission</displayName><value>script-submission</value><description>Script is sent to the gremlin server as a submission. Similar to a rest request. </description></allowableValue><allowableValue><displayName>ByteCode Submission</displayName><value>bytecode-submission</value><description>Groovy scripts are compiled within NiFi, with the GraphTraversalSource injected as a variable 'g'. Effectively allowing your logic to directly manipulates the graph without string serialization overheard.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>connection-settings</name><displayName>Settings Specification</displayName><description>Selecting \"Service-Defined Settings\" connects using the setting on this service. Selecting \"Yaml Settings\" uses the specified YAML file for connection settings. </description><defaultValue>service-settings</defaultValue><allowableValues><allowableValue><displayName>Service-Defined Settings</displayName><value>service-settings</value><description>Connection to the gremlin server will be specified via values on this controller (simpler). Only recommended for testing and development with a simple grpah instance. </description></allowableValue><allowableValue><displayName>Yaml Settings</displayName><value>yaml-settings</value><description>Connection to the gremlin server will be specified via a YAML file (very flexible)</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>remote-objects-file</name><displayName>Remote Objects File</displayName><description>The remote-objects file YAML used for connecting to the gremlin server.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>yaml-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>extension</name><displayName>Extension JARs</displayName><description>A comma-separated list of Java JAR files to be loaded. This should contain any Serializers or other classes specified in the YAML file. Additionally, any custom classes required for the groovy script to work in the bytecode submission setting should also be contained in these JAR files.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>true</dynamicallyModifiesClasspath><dynamic>false</dynamic><resourceDefinition><cardinality>MULTIPLE</cardinality><resourceTypes><resourceType>URL</resourceType><resourceType>DIRECTORY</resourceType><resourceType>FILE</resourceType></resourceTypes></resourceDefinition><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>yaml-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>extension-classes</name><displayName>Extension Classes</displayName><description>A comma-separated list of fully qualified Java class names that correspond to classes to implement. This is useful for services such as JanusGraph that need specific serialization classes. This configuration property has no effect unless a value for the Extension JAR field is also provided.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>yaml-settings</dependentValue></dependentValues></dependency><dependency><propertyName>extension</propertyName><propertyDisplayName>Extension JARs</propertyDisplayName></dependency></dependencies></property><property><name>tinkerpop-contact-points</name><displayName>Contact Points</displayName><description>A comma-separated list of hostnames or IP addresses where an Gremlin-enabled server can be found.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>service-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>tinkerpop-port</name><displayName>Port</displayName><description>The port where Gremlin Server is running on each host listed as a contact point.</description><defaultValue>8182</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>service-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>tinkerpop-path</name><displayName>Path</displayName><description>The URL path where Gremlin Server is running on each host listed as a contact point.</description><defaultValue>/gremlin</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic><dependencies><dependency><propertyName>connection-settings</propertyName><propertyDisplayName>Settings Specification</propertyDisplayName><dependentValues><dependentValue>service-settings</dependentValue></dependentValues></dependency></dependencies></property><property><name>gremlin-traversal-source-name</name><displayName>Traversal Source Name</displayName><description>An optional property that lets you set the name of the remote traversal instance. This can be really important when working with databases like JanusGraph that support multiple backend traversal configurations simultaneously.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>user-name</name><displayName>Username</displayName><description>The username used to authenticate with the gremlin server. Note: when using a remote.yaml file, this username value (if set) will overload any username set in the YAML file.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>ENVIRONMENT</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>password</name><displayName>Password</displayName><description>The password used to authenticate with the gremlin server. Note: when using a remote.yaml file, this password setting (if set) will override any password set in the YAML file</description><required>false</required><sensitive>true</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>ssl-context-service</name><displayName>SSL Context Service</displayName><description>The SSL Context Service used to provide client certificate information for TLS/SSL connections.</description><controllerServiceDefinition><className>org.apache.nifi.ssl.SSLContextService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>2.0.0-M4</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><providedServiceAPIs><providedServiceAPI><className>org.apache.nifi.graph.GraphClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-graph-client-service-api-nar</artifactId><version>2.0.0-M4</version></providedServiceAPI></providedServiceAPIs></extension></extensions></extensionManifest>\n"}
