private Set<Column> findOriginatingColumnsOfSource(final Object source) { final Set<Column> cachedOriginatingColumns = originatingColumnsOfSourceCache.get(source); if (cachedOriginatingColumns != null) { return cachedOriginatingColumns; } final Set<Column> originatingColumns = new HashSet<>(); if (source != null) { if (source instanceof InputColumnSinkJob) { final InputColumn<?>[] input = ((InputColumnSinkJob) source).getInput(); if (input != null) { for (final InputColumn<?> inputColumn : input) { originatingColumns.addAll(findOriginatingColumnsOfInputColumn(inputColumn)); } } } if (source instanceof HasComponentRequirement) { final HasComponentRequirement hasComponentRequirement = (HasComponentRequirement) source; final ComponentRequirement componentRequirement = hasComponentRequirement.getComponentRequirement(); final Collection<FilterOutcome> requirements = getProcessingDependencies(componentRequirement); for (final FilterOutcome outcome : requirements) { originatingColumns.addAll(findOriginatingColumnsOfOutcome(outcome)); } } } originatingColumnsOfSourceCache.put(source, originatingColumns); return originatingColumns; }
final HasComponentRequirement hasComponentRequirement = (HasComponentRequirement) source; final ComponentRequirement componentRequirement = hasComponentRequirement.getComponentRequirement(); final Collection<FilterOutcome> requirements = getProcessingDependencies(componentRequirement); for (final FilterOutcome outcome : requirements) { final Table table = findOriginatingTable(outcome, resolvedSet);
final Collection<FilterOutcome> requirements = getProcessingDependencies((ComponentRequirement) job); for (final FilterOutcome outcome : requirements) { final HasFilterOutcomes source = findOutcomeSource(outcome);