private Collection<FilterOutcome> getProcessingDependencies(final ComponentRequirement componentRequirement) { if (componentRequirement == null) { return Collections.emptyList(); } final Collection<FilterOutcome> processingDependencies = componentRequirement.getProcessingDependencies(); if (processingDependencies == null) { return Collections.emptyList(); } return processingDependencies; }
public CompoundComponentRequirement(final ComponentRequirement existingRequirement, final FilterOutcome filterOutcome) { _outcomes = new LinkedHashSet<>(); _outcomes.addAll(existingRequirement.getProcessingDependencies()); _outcomes.add(filterOutcome); }
private Collection<FilterOutcome> getProcessingDependencyFilterOutcomes(final HasComponentRequirement item) { final ComponentRequirement componentRequirement = item.getComponentRequirement(); if (componentRequirement == null) { return Collections.emptyList(); } return componentRequirement.getProcessingDependencies(); }
public Column[] getPhysicalColumns(final SourceColumnFinder sourceColumnFinder, final ComponentJob componentJob) { final Set<Column> physicalColumns = new HashSet<>(); final InputColumn<?>[] inputColumns = componentJob.getInput(); for (final InputColumn<?> inputColumn : inputColumns) { physicalColumns.addAll(sourceColumnFinder.findOriginatingColumns(inputColumn)); } final ComponentRequirement requirement = componentJob.getComponentRequirement(); if (requirement != null) { for (final FilterOutcome filterOutcome : requirement.getProcessingDependencies()) { physicalColumns.addAll(sourceColumnFinder.findOriginatingColumns(filterOutcome)); } } return physicalColumns.toArray(new Column[physicalColumns.size()]); }
public AnalysisJobBuilder removeFilter(final FilterComponentBuilder<?, ?> filterJobBuilder) { final boolean removed = _filterComponentBuilders.remove(filterJobBuilder); if (removed) { final ComponentRequirement previousRequirement = filterJobBuilder.getComponentRequirement(); // clean up components who depend on this filter final Collection<FilterOutcome> outcomes = filterJobBuilder.getFilterOutcomes(); for (final FilterOutcome outcome : outcomes) { if (_defaultRequirement != null && _defaultRequirement.getProcessingDependencies().contains(outcome)) { setDefaultRequirement((ComponentRequirement) null); } for (final ComponentBuilder cb : getComponentBuilders()) { final ComponentRequirement requirement = cb.getComponentRequirement(); if (requirement != null && requirement.getProcessingDependencies().contains(outcome)) { cb.setComponentRequirement(previousRequirement); } } } filterJobBuilder.onRemoved(); // removal last, so listeners gets triggered onComponentRemoved(); } return this; }
public boolean validateRequirementCandidate(final FilterOutcome requirement) { if (requirement == null) { return true; } final HasFilterOutcomes source = requirement.getSource(); if (source == this) { return false; } if (source instanceof HasComponentRequirement) { final ComponentRequirement componentRequirement = ((HasComponentRequirement) source).getComponentRequirement(); if (componentRequirement != null) { final Collection<FilterOutcome> requirements = componentRequirement.getProcessingDependencies(); for (final FilterOutcome transitiveRequirement : requirements) { final boolean transitiveValidation = validateRequirementCandidate(transitiveRequirement); if (!transitiveValidation) { return false; } } } } return true; }
/** * Ensures that ALL outcomes are available */ @Override public final boolean satisfiedForFlowOrdering(final FilterOutcomes outcomes) { if (isAlwaysSatisfiedRequirement()) { return true; } final ComponentRequirement componentRequirement = _hasComponentRequirement.getComponentRequirement(); if (componentRequirement == null) { return true; } final Collection<FilterOutcome> dependencies = componentRequirement.getProcessingDependencies(); for (final FilterOutcome filterOutcome : dependencies) { final boolean contains = outcomes.contains(filterOutcome); if (!contains) { return false; } } return componentRequirement.isSatisfied(null, outcomes); }
final ComponentRequirement componentRequirement = componentJob.getComponentRequirement(); if (componentRequirement != null) { final Collection<FilterOutcome> requirements = componentRequirement.getProcessingDependencies(); for (final FilterOutcome requirement : requirements) { if (!satisfiedRequirements.contains(requirement)) {
: currentComponentRequirement.getProcessingDependencies();