public AnalysisJobBuilder addSourceColumn(final MetaModelInputColumn inputColumn) { if (!_sourceColumns.contains(inputColumn)) { _sourceColumns.add(inputColumn); final List<SourceColumnChangeListener> listeners = new ArrayList<>(_sourceColumnListeners); for (final SourceColumnChangeListener listener : listeners) { listener.onAdd(inputColumn); } } return this; }
public void removeAllSourceColumns() { final Collection<ComponentBuilder> componentBuilders = getComponentBuilders(); for (final ComponentBuilder componentBuilder : componentBuilders) { componentBuilder.clearInputColumns(); } final List<SourceColumnChangeListener> listeners = new ArrayList<>(_sourceColumnListeners); for (final SourceColumnChangeListener listener : listeners) { for (final MetaModelInputColumn inputColumn : _sourceColumns) { listener.onRemove(inputColumn); } } _sourceColumns.clear(); }
public AnalysisJobBuilder removeSourceColumn(final MetaModelInputColumn inputColumn) { final int index = _sourceColumns.indexOf(inputColumn); if (index != -1) { final MetaModelInputColumn removedColumn = _sourceColumns.remove(index); // remove any references in components final Collection<ComponentBuilder> componentBuilders = getComponentBuilders(); for (final ComponentBuilder componentBuilder : componentBuilders) { final Set<ConfiguredPropertyDescriptor> configuredProperties = componentBuilder.getDescriptor().getConfiguredPropertiesByType(InputColumn.class, true); for (final ConfiguredPropertyDescriptor configuredPropertyDescriptor : configuredProperties) { componentBuilder.removeInputColumn(removedColumn, configuredPropertyDescriptor); } } // notify listeners final List<SourceColumnChangeListener> listeners = new ArrayList<>(_sourceColumnListeners); for (final SourceColumnChangeListener listener : listeners) { listener.onRemove(removedColumn); } } return this; }