@Override public String getSimpleName() { return _outcome.getCategory() + ""; }
@Override public String getSimpleName() { final StringBuilder sb = new StringBuilder(); for (final FilterOutcome outcome : _outcomes) { if (sb.length() != 0) { sb.append(" OR "); } sb.append(outcome.getSimpleName()); } return sb.toString(); }
@Override public String toString() { final String filterLabel = LabelUtils.getLabel(_outcome.getFilterJob()); return filterLabel + "=" + _outcome.getCategory(); }
private FilterOutcome findFilterOutcome(final FilterOutcome originalFilterOutcome, final Map<ComponentJob, ComponentBuilder> componentBuilders) { final HasFilterOutcomes source = originalFilterOutcome.getSource(); final ComponentBuilder builder = componentBuilders.get(source); if (builder == null) { throw new IllegalStateException( "Could not find builder corresponding to " + source + " in builder map: " + componentBuilders); } final Enum<?> category = originalFilterOutcome.getCategory(); final FilterComponentBuilder<?, ?> filterJobBuilder = (FilterComponentBuilder<?, ?>) builder; return filterJobBuilder.getFilterOutcome(category); }
public boolean hasMultipleRequirementsFrom(final HasFilterOutcomes producingComponent) { int count = 0; for (final FilterOutcome outcome : _outcomes) { final HasFilterOutcomes source = outcome.getSource(); if (producingComponent.equals(source)) { count++; } } return count > 1; }
public Set<FilterOutcome> getOutcomesFrom(final HasFilterOutcomes producingComponent) { final Set<FilterOutcome> result = new LinkedHashSet<>(); for (final FilterOutcome outcome : _outcomes) { final HasFilterOutcomes source = outcome.getSource(); if (producingComponent.equals(source)) { result.add(outcome); } } return result; }
public boolean isQueryOptimizable(final FilterOutcome filterOutcome) { if (_filter instanceof QueryOptimizedFilter) { @SuppressWarnings("rawtypes") final QueryOptimizedFilter queryOptimizedFilter = (QueryOptimizedFilter) _filter; @SuppressWarnings("unchecked") final boolean optimizable = queryOptimizedFilter.isOptimizable(filterOutcome.getCategory()); return optimizable; } return false; }
for (final FilterOutcome filterOutcome : filterOutcomes) { final JMenuItem menuItem = WidgetFactory.createMenuItem(filterOutcome.getSimpleName(), IconUtils.FILTER_OUTCOME_PATH); menuItem.addActionListener(e -> { if (scopeUpdatePermitted(sourceAnalysisJobBuilder, componentBuilder)) {
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; }
@Override public Query getOptimizedQuery() { Query query = _baseQuery; final Set<Entry<FilterConsumer, FilterOutcome>> entries = _optimizedFilters.entrySet(); if (!entries.isEmpty()) { // create a copy/clone of the original query query = query.clone(); for (final Entry<FilterConsumer, FilterOutcome> entry : entries) { final FilterConsumer consumer = entry.getKey(); final FilterOutcome outcome = entry.getValue(); final Filter<?> filter = consumer.getComponent(); @SuppressWarnings("rawtypes") final QueryOptimizedFilter queryOptimizedFilter = (QueryOptimizedFilter) filter; @SuppressWarnings("unchecked") final Query newQuery = queryOptimizedFilter.optimizeQuery(query, outcome.getCategory()); query = newQuery; } } return query; }
outcomeType.setCategory(outcome.getCategory().name()); outcomeType.setId(id); filterType.getOutcome().add(outcomeType);
/** * Gets the label (if any) to show towards the user in the {@link JobGraph}. * * @return */ public String getLinkLabel() { final FilterOutcome filterOutcome = getFilterOutcome(); if (filterOutcome != null) { return filterOutcome.getCategory() + ""; } final ComponentRequirement req = getRequirement(); if (req != null) { return req.getSimpleName(); } final OutputDataStream outputDataStream = getOutputDataStream(); if (outputDataStream != null) { return outputDataStream.getName(); } return null; } }