[ 
https://issues.apache.org/jira/browse/NIFIREG-190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16574916#comment-16574916
 ] 

ASF GitHub Bot commented on NIFIREG-190:
----------------------------------------

Github user kevdoran commented on the issue:

    https://github.com/apache/nifi-registry/pull/133
  
    If we are allowing each implementation to decide the logic in the handle 
method, I don't see the value in the "share property" concept as documented:
    
    > There are certain properties that are shared amongst all of the NiFi 
Registry provided Event Hook implementations.
    
    I don't think we should introduce the concept of a shared property that is 
documented as being honored by all implementations when we really have no way 
to guarantee that. 
    
    In this PR, the implementation that does handle the Event Whitelist is 
implemented as an Abstract base class in the framework, which would make it 
difficult for third-party extension providers to implement (or they could 
ignore it if they want as it is not part of the API).
    
    If we want to make it universal, I think we would need to introduce a 
dedicated field for whitelist that is enforced by the framework code (perhaps 
using a decorator / wrapper), not the extension. Otherwise, don't think we make 
it universal at all, it can just be an optional thing that third parties can 
choose to implement. 
    
    One way to make it more obvious to custom implementations that this is 
intended to be implemented would be to make it part of the interface they have 
to implement (otherwise it is just documentation and hard to enforce). For 
example, we could add a new method with a default implementation to the 
`EventHookProvider` interface. For example:
    
    ```
        default boolean shouldHandle(EventType eventType) {
            return true;
        }
    ```
    
    If it's not overridden with a custom implementation, the event hook 
provider will always be called. If it is overridden, they can return a boolean 
for the event types they are interested in, either as a hard-coded set or a 
user-configurable set (they would still need to document their own 
configuration property for that).


> Support for Event Whitelisting in the Registry Event Hooks
> ----------------------------------------------------------
>
>                 Key: NIFIREG-190
>                 URL: https://issues.apache.org/jira/browse/NIFIREG-190
>             Project: NiFi Registry
>          Issue Type: New Feature
>    Affects Versions: 0.2.0
>            Reporter: Jeremy Dyer
>            Assignee: Jeremy Dyer
>            Priority: Major
>             Fix For: 0.3.0
>
>
> Today when an event hook is configured it will be invoked for all of the NiFi 
> Registry events. While a user can parse the arguments in the script and 
> manually write scripts which ignore certain events it makes more sense to 
> provide this event whitelisting the the registry itself.
> I propose adding a new property called something like "Event Whitelist" to 
> the current configuration logic. If this property is not present things 
> should continue to operate just as they do now, AKA the script is sent all of 
> the events, if the property is specified it should contain a comma delimited 
> list of events that the hook provider should be triggered for.
> This will be extremely useful when providers that do not provider any sort of 
> filtering logic like the script hook provider come along.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to