public <F extends Filter<C>, C extends Enum<C>> FilterComponentBuilder<F, C> addFilter( final FilterDescriptor<F, C> descriptor, final Map<ConfiguredPropertyDescriptor, Object> configuredProperties, final ComponentRequirement requirement, final Map<String, String> metadataProperties) { final FilterComponentBuilder<F, C> filter = new FilterComponentBuilder<>(this, descriptor); initializeComponentBuilder(filter, configuredProperties, requirement, metadataProperties); return addFilter(filter); }
public ComponentBuilder addComponent(final ComponentBuilder builder) { if (builder instanceof FilterComponentBuilder) { addFilter((FilterComponentBuilder<?, ?>) builder); } else if (builder instanceof TransformerComponentBuilder) { addTransformer((TransformerComponentBuilder<?>) builder); } else if (builder instanceof AnalyzerComponentBuilder) { addAnalyzer((AnalyzerComponentBuilder<?>) builder); } else { throw new UnsupportedOperationException("Unknown component type: " + builder); } return builder; }
public ComponentBuilder addComponent(final ComponentDescriptor<?> descriptor, final Map<ConfiguredPropertyDescriptor, Object> configuredProperties, final ComponentRequirement requirement, final Map<String, String> metadataProperties) { final ComponentBuilder builder; if (descriptor instanceof FilterDescriptor) { builder = addFilter((FilterDescriptor<?, ?>) descriptor, configuredProperties, requirement, metadataProperties); } else if (descriptor instanceof TransformerDescriptor) { builder = addTransformer((TransformerDescriptor<?>) descriptor, configuredProperties, requirement, metadataProperties); } else if (descriptor instanceof AnalyzerDescriptor) { builder = addAnalyzer((AnalyzerDescriptor<?>) descriptor, configuredProperties, requirement, metadataProperties); } else { throw new UnsupportedOperationException("Unknown component type: " + descriptor); } return builder; }
public <F extends Filter<C>, C extends Enum<C>> FilterComponentBuilder<F, C> addFilter(final Class<F> filterClass) { final FilterDescriptor<F, C> descriptor = _configuration.getEnvironment().getDescriptorProvider().getFilterDescriptorForClass(filterClass); if (descriptor == null) { throw new IllegalArgumentException("No descriptor found for: " + filterClass); } return addFilter(descriptor); }
jobBuilder.getFilterComponentBuilderByName(filterName).orElseGet(() -> { final FilterComponentBuilder<MaxRowsFilter, MaxRowsFilter.Category> filter = jobBuilder.addFilter(MaxRowsFilter.class); filter.setName(filterName); filter.getComponentInstance().setMaxRows(maxRows);
/** * Creates a slave job by copying the original job and adding a * {@link MaxRowsFilter} as a default requirement. * * @param job * @param firstRow * @param maxRows * @return */ private AnalysisJob buildSlaveJob(final AnalysisJob job, final int slaveJobIndex, final int firstRow, final int maxRows) { logger.info("Building slave job {} with firstRow={} and maxRow={}", slaveJobIndex + 1, firstRow, maxRows); try (AnalysisJobBuilder jobBuilder = new AnalysisJobBuilder(_configuration, job)) { final FilterComponentBuilder<MaxRowsFilter, Category> maxRowsFilter = jobBuilder.addFilter(MaxRowsFilter.class); maxRowsFilter.getComponentInstance().setFirstRow(firstRow); maxRowsFilter.getComponentInstance().setMaxRows(maxRows); final boolean naturalRecordOrderConsistent = jobBuilder.getDatastore().getPerformanceCharacteristics().isNaturalRecordOrderConsistent(); if (!naturalRecordOrderConsistent) { final InputColumn<?> orderColumn = findOrderByColumn(jobBuilder); maxRowsFilter.getComponentInstance().setOrderColumn(orderColumn); } jobBuilder.setDefaultRequirement(maxRowsFilter, MaxRowsFilter.Category.VALID); // in assertion/test mode do an early validation assert jobBuilder.isConfigured(true); return jobBuilder.toAnalysisJob(); } }