Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement NiFi service #2

Closed
evren opened this issue Apr 4, 2020 · 2 comments
Closed

Implement NiFi service #2

evren opened this issue Apr 4, 2020 · 2 comments
Milestone

Comments

@evren
Copy link
Member

evren commented Apr 4, 2020

Creation of a Stardog connection should be done by a NiFi ControllerService not the AbstractStardogProcessor.

@PaulJackson123
Copy link
Contributor

The way this works is the consumers of the service (Processors) add a PropertyDescriptor for the service to their SupportedPropertyDescriptors, which causes it to appear as a property in the UI. If the user adds a compatible controller service in scope of the processor, the user can select that service and assign it to that property.

A custom validator could take into account the service and require that either the service or the processor define each required property. I guess if both the service and the processor define the same property then the processor should take precedence (rather than flag the configuration as invalid).

@PaulJackson123
Copy link
Contributor

Conditionally required fields is hard to implement in Nifi.

Validation is only called if a field is set. There's no way to make a field invalid aside from requiring it, in which case it is always invalid if it is not set.

Could come up with a hack where we treat an empty string as a missing value... Meh.

@PaulJackson123 PaulJackson123 added this to the 0.1.4 milestone Jun 16, 2020
@PaulJackson123 PaulJackson123 modified the milestones: 0.1.4, 0.2.0 Jun 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants