@Override protected String getRawProtocolPortId(ProvenanceEventRecord event) { return event.getComponentId(); } }
@Override public String getComponentId() { return record.getComponentId(); }
@Override public String getComponentId() { return event.getComponentId(); }
@Override public DataSetRefs analyze(AnalysisContext context, ProvenanceEventRecord event) { // Check if this component is a processor that generates data. final String componentId = event.getComponentId(); final List<ConnectionStatus> incomingConnections = context.findConnectionTo(componentId); if (incomingConnections != null && !incomingConnections.isEmpty()) { return null; } return super.analyze(context, event); }
@Override public void authorize(final ProvenanceEventRecord event) { if (authorizer == null) { return; } final Authorizable eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); eventAuthorizable.authorize(authorizer, RequestAction.READ, user); } }
public void authorize(final ProvenanceEventRecord event, final NiFiUser user) { if (authorizer == null || user == null) { return; } final Authorizable eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); eventAuthorizable.authorize(authorizer, RequestAction.READ, user); }
protected void authorize(final ProvenanceEventRecord event, final NiFiUser user) { if (authorizer == null || user == null) { return; } final Authorizable eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); eventAuthorizable.authorize(authorizer, RequestAction.READ, user); }
private void authorize(final ProvenanceEventRecord event, final NiFiUser user) { if (authorizer == null || user == null) { return; } final Authorizable eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); eventAuthorizable.authorize(authorizer, RequestAction.READ, user); }
@Override public void update(final ProvenanceEventRecord event, final StorageSummary storageSummary) { final String componentId = event.getComponentId(); final RingBuffer<Long> ringBuffer = latestRecords.computeIfAbsent(componentId, id -> new RingBuffer<>(1000)); ringBuffer.add(storageSummary.getEventId()); }
private Authorizable getDataAuthorizable(final ProvenanceEventRecord event) { if (event.isRemotePortType()) { return flowController.getProvenanceAuthorizableFactory().createRemoteDataAuthorizable(event.getComponentId()); } else { return flowController.getProvenanceAuthorizableFactory().createLocalDataAuthorizable(event.getComponentId()); } }
@Override public DataSetRefs analyze(AnalysisContext context, ProvenanceEventRecord event) { final String componentId = event.getComponentId(); final DataSetRefs refs = new DataSetRefs(componentId); final Referenceable ref = createDataSetRef(context, event); refs.addInput(ref); return refs; } }
@Override public DataSetRefs analyze(AnalysisContext context, ProvenanceEventRecord event) { final String componentId = event.getComponentId(); final DataSetRefs refs = new DataSetRefs(componentId); final Referenceable ref = createDataSetRef(context, event); refs.addOutput(ref); return refs; } }
@Override public String toString() { return "Event[ID=" + record.getEventId() + ", Type=" + record.getEventType() + ", UUID=" + record.getFlowFileUuid() + ", Component=" + record.getComponentId() + "]"; } }
public PlaceholderProvenanceEvent(final ProvenanceEventRecord original) { this.componentId = original.getComponentId(); this.eventId = original.getEventId(); this.eventTime = original.getEventTime(); this.flowFileUuid = original.getFlowFileUuid(); }
private void analyzeLineagePath(AnalysisContext analysisContext, LineagePath lineagePath) { final List<ProvenanceEventRecord> events = lineagePath.getEvents(); final DataSetRefs parentRefs = new DataSetRefs(events.get(0).getComponentId()); events.forEach(event -> { final DataSetRefs refs = executeAnalyzer(analysisContext, event); if (refs == null || refs.isEmpty()) { return; } refs.getInputs().forEach(parentRefs::addInput); refs.getOutputs().forEach(parentRefs::addOutput); }); lineagePath.setRefs(parentRefs); // Analyse parents. lineagePath.getParents().forEach(parent -> analyzeLineagePath(analysisContext, parent)); }
public boolean isAuthorized(final ProvenanceEventRecord event, final NiFiUser user) { if (authorizer == null || user == null) { return true; } final Authorizable eventAuthorizable; try { eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); } catch (final ResourceNotFoundException rnfe) { return false; } final AuthorizationResult result = eventAuthorizable.checkAuthorization(authorizer, RequestAction.READ, user); return Result.Approved.equals(result.getResult()); }
public boolean isAuthorized(final ProvenanceEventRecord event, final NiFiUser user) { if (authorizer == null || user == null) { return true; } final Authorizable eventAuthorizable; try { eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); } catch (final ResourceNotFoundException rnfe) { return false; } final AuthorizationResult result = eventAuthorizable.checkAuthorization(authorizer, RequestAction.READ, user); return Result.Approved.equals(result.getResult()); }
@Override public boolean isAuthorized(final ProvenanceEventRecord event) { if (authorizer == null || user == null) { return true; } final Authorizable eventAuthorizable; try { eventAuthorizable = resourceFactory.createProvenanceDataAuthorizable(event.getComponentId()); } catch (final ResourceNotFoundException rnfe) { return false; } final AuthorizationResult result = eventAuthorizable.checkAuthorization(authorizer, RequestAction.READ, user); return Result.Approved.equals(result.getResult()); }
@Override public DataSetRefs analyze(AnalysisContext context, ProvenanceEventRecord event) { final Referenceable ref = new Referenceable(TYPE); final URI uri = parseUri(event.getTransitUri()); final String clusterName = context.getClusterResolver().fromHostNames(uri.getHost()); final String path = uri.getPath(); ref.set(ATTR_NAME, path); ref.set(ATTR_PATH, path); ref.set(ATTR_CLUSTER_NAME, clusterName); ref.set(ATTR_QUALIFIED_NAME, toQualifiedName(clusterName, path)); return singleDataSetRef(event.getComponentId(), event.getEventType(), ref); }
protected Referenceable createDataSetRef(AnalysisContext context, ProvenanceEventRecord event) { final Referenceable ref = new Referenceable(TYPE); ref.set(ATTR_NAME, event.getComponentType()); ref.set(ATTR_QUALIFIED_NAME, toQualifiedName(context.getNiFiClusterName(), event.getComponentId())); ref.set(ATTR_DESCRIPTION, event.getEventType() + " was performed by " + event.getComponentType()); return ref; }