protected void setConfiguredProperty(final ConfiguredPropertyDescriptor propertyDescriptor, final Object value) { getComponentBuilder().setConfiguredProperty(propertyDescriptor, value); }
/** * Gets the current value of the property in the job builder. * * @return */ @SuppressWarnings("unchecked") protected E getCurrentValue() { return (E) getComponentBuilder().getConfiguredProperty(getPropertyDescriptor()); }
private void synchronizeInputColumns(final TransformerComponentBuilder<?> changedBuilder) { if (!changedBuilder.equals(_componentBuilder)) { final List<InputColumn<?>> availableColumns = _componentBuilder.getAnalysisJobBuilder() .getAvailableInputColumns(_componentBuilder, _propertyDescriptor.getTypeArgument(0)); for (final ConfiguredPropertyDescriptor propertyDescriptor : _componentBuilder.getDescriptor() .getConfiguredPropertiesForInput()) { final Object configuredProperty = _componentBuilder.getConfiguredProperty(propertyDescriptor); if (configuredProperty != null) { if (ReflectionUtils.isInputColumn(configuredProperty.getClass())) { if (ReflectionUtils.isArray(configuredProperty)) { for (final InputColumn<?> column : (InputColumn<?>[]) configuredProperty) { if (!availableColumns.contains(column)) { _componentBuilder.removeInputColumn(column, propertyDescriptor); } } } else { if (!availableColumns.contains(configuredProperty)) { _componentBuilder .removeInputColumn((InputColumn<?>) configuredProperty, propertyDescriptor); } } } } } } }
private void initializeComponentBuilder(final ComponentBuilder component, final Map<ConfiguredPropertyDescriptor, Object> configuredProperties, final ComponentRequirement requirement, final Map<String, String> metadataProperties) { if (configuredProperties != null) { component.setConfiguredProperties(configuredProperties); } if (requirement != null) { component.setComponentRequirement(requirement); } if (metadataProperties != null) { component.setMetadataProperties(metadataProperties); } }
/** * This gets all job builders from consumed {@link OutputDataStream}s. This * only pertains to immediate children. */ public List<AnalysisJobBuilder> getConsumedOutputDataStreamsJobBuilders() { final List<AnalysisJobBuilder> consumedOutputDataStreamJobBuilders = new ArrayList<>(); for (final ComponentBuilder builder : getComponentBuilders()) { for (final OutputDataStream outputDataStream : builder.getOutputDataStreams()) { if (builder.isOutputDataStreamConsumed(outputDataStream)) { consumedOutputDataStreamJobBuilders.add(builder.getOutputDataStreamJobBuilder(outputDataStream)); } } } return consumedOutputDataStreamJobBuilders; }
/** * Adds a {@link ComponentBuilder} and removes it from its previous scope. * * @param builder * The builder to add * @return The same builder */ public ComponentBuilder moveComponent(final ComponentBuilder builder) { if (builder.getAnalysisJobBuilder() != this) { builder.getAnalysisJobBuilder().removeComponent(builder); // when moving the component to a different scope we need to first // reset // the prior input builder.clearInputColumns(); addComponent(builder); builder.setAnalysisJobBuilder(this); } return builder; }
cb.getDescriptor().getConfiguredPropertiesByType(UpdateableDatastore.class, false); for (final ConfiguredPropertyDescriptor targetDatastoreProperty : targetDatastoreProperties) { final Object datastoreObject = cb.getConfiguredProperty(targetDatastoreProperty); if (datastoreObject instanceof ResourceDatastore) { final ResourceDatastore resourceDatastore = (ResourceDatastore) datastoreObject; createReplacementDatastore(cb, resourceDatastore, replacementResource); if (replacementDatastore != null) { cb.setConfiguredProperty(targetDatastoreProperty, replacementDatastore); cb.getDescriptor().getConfiguredPropertiesByType(Resource.class, false); for (final ConfiguredPropertyDescriptor resourceProperty : resourceProperties) { final Resource resource = (Resource) cb.getConfiguredProperty(resourceProperty); final Resource replacementResource = createReplacementResource(resource, partitionNumber); if (replacementResource != null) { cb.setConfiguredProperty(resourceProperty, replacementResource); if (cb.getComponentInstance() instanceof CreateCsvFileAnalyzer) { if (partitionNumber > 0) { cb.setConfiguredProperty(CreateCsvFileAnalyzer.PROPERTY_INCLUDE_HEADER, false);
if (componentBuilder.getDescriptor().isMultiStreamComponent()) { if (!fromVertex.getAnalysisJobBuilder().isRootJobBuilder()) { componentBuilder.getDefaultConfiguredPropertyForInput(); .escalateToMultipleJobs())) { componentBuilder .addInputColumns(getRelevantSourceColumns(sourceColumns, inputProperty), inputProperty); } else { final InputColumn<?> firstRelevantSourceColumn = getFirstRelevantSourceColumn(sourceColumns, inputProperty); if (firstRelevantSourceColumn != null) { componentBuilder.setConfiguredProperty(inputProperty, firstRelevantSourceColumn);
onScopeChangeStart(); _rootJobBuilder.moveComponent(_componentBuilder); _componentBuilder.setComponentRequirement(null); onScopeChangeComplete(_rootJobBuilder, null); }); if (_rootJobBuilder == _componentBuilder.getAnalysisJobBuilder()) { rootMenuItem.setIcon(selectedScopeIcon); final JMenu componentMenu = new JMenu(LabelUtils.getLabel(osComponentBuilder)); for (final OutputDataStream outputDataStream : osComponentBuilder.getOutputDataStreams()) { final AnalysisJobBuilder osJobBuilder = osComponentBuilder.getOutputDataStreamJobBuilder(outputDataStream); if (osJobBuilder == _componentBuilder.getAnalysisJobBuilder()) { componentMenu.setIcon(selectedScopeIcon); scopeMenuItem.setIcon(selectedScopeIcon); onScopeChangeStart(); osJobBuilder.moveComponent(_componentBuilder); _componentBuilder.setComponentRequirement(null); onScopeChangeComplete(osJobBuilder, osComponentBuilder); });
private void handleRemovedColumn(final InputColumn<?> column) { if (isColumnApplicable(column)) { final ComponentBuilder componentBuilder = getComponentBuilder(); final InputColumn<?> currentValue = (InputColumn<?>) componentBuilder.getConfiguredProperty(_propertyDescriptor); if (currentValue != null) { if (currentValue.equals(column)) { componentBuilder.setConfiguredProperty(_propertyDescriptor, null); } } updateComponents(); updateUI(); if (column instanceof MutableInputColumn) { ((MutableInputColumn<?>) column).removeListener(this); } } }
final boolean isMultiStream = componentBuilder.getDescriptor().isMultiStreamComponent(); for (final OutputDataStream dataStream : componentBuilder.getOutputDataStreams()) { final JobGraphLinkPainter.VertexContext vertexContext = new JobGraphLinkPainter.VertexContext(componentBuilder, componentBuilder.getOutputDataStreamJobBuilder(dataStream), dataStream); popup.add(createLinkMenuItem(vertexContext)); ImageManager.get().getImageIcon(IconUtils.ACTION_PREVIEW, IconUtils.ICON_SIZE_SMALL)); previewMenuItem.addActionListener(new PreviewTransformedDataActionListener(_windowContext, tjb)); previewMenuItem.setEnabled(componentBuilder.isConfigured()); popup.add(previewMenuItem);
final InputColumn<?>[] input = componentBuilder.getInput(); if (input.length > 0) { if (componentBuilder.getDescriptor().isMultiStreamComponent() || sourceColumnFinder.findOriginatingTable(input[0]) == table) { final ComponentRequirement existingRequirement = componentBuilder.getComponentRequirement(); if (existingRequirement != null) { if (componentBuilder.getDescriptor().isMultiStreamComponent()) { componentBuilder.setComponentRequirement( new CompoundComponentRequirement(existingRequirement, maxRowFilter.getFilterOutcome(MaxRowsFilter.Category.VALID))); componentBuilder.setComponentRequirement(new SimpleComponentRequirement( maxRowFilter.getFilterOutcome(MaxRowsFilter.Category.VALID)));
if (configuredPropertiesType != null) { final List<Property> properties = configuredPropertiesType.getProperty(); final ComponentDescriptor<?> descriptor = builder.getDescriptor(); builder.getMetadataProperties() .put(DATACLEANER_JAXB_VARIABLE_PREFIX + configuredProperty.getName(), variableRef); builder.setConfiguredProperty(configuredProperty, newUnits); } else { builder.setConfiguredProperty(configuredProperty, value); builder.setConfiguredProperty(configuredProperty, value); final String name = property.getName(); final String value = property.getValue(); builder.setMetadataProperty(name, value);
private static Image getBannerImage(final ComponentBuilder componentBuilder) { final ImageIcon descriptorIcon = IconUtils.getDescriptorIcon(componentBuilder.getDescriptor(), IconUtils.ICON_SIZE_LARGE); return descriptorIcon.getImage(); }
final ComponentRequirement componentRequirement = findImportedRequirement(originalRequirement, componentBuilders); builder.setComponentRequirement(componentRequirement); final Object newInputColumnValue = findImportedInputColumns(originalInputColumnValue, componentBuilders, sourceColumnFinder); builder.setConfiguredProperty(inputColumnProperty, newInputColumnValue); final OutputDataStream outputDataStream = outputDataStreamJob.getOutputDataStream(); final AnalysisJobBuilder outputDataStreamJobBuilder = builder.getOutputDataStreamJobBuilder(outputDataStream.getName());
@Override protected void configure(final AnalysisJobBuilder analysisJobBuilder, final ComponentBuilder componentBuilder) { final Component component = componentBuilder.getComponentInstance(); if (component instanceof PrecedingComponentConsumer) { final LifeCycleHelper helper = new LifeCycleHelper(analysisJobBuilder.getConfiguration(), null, true); helper.assignProvidedProperties(componentBuilder.getDescriptor(), component); ((PrecedingComponentConsumer) component) .configureForFilterOutcome(analysisJobBuilder, _filterJobBuilder.getDescriptor(), _categoryName); } final FilterOutcome outcome = _filterJobBuilder.getFilterOutcome(_categoryName); final ComponentRequirement requirement = new SimpleComponentRequirement(outcome); componentBuilder.setComponentRequirement(requirement); }
final List<OutputDataStream> streams = componentBuilder.getOutputDataStreams(); for (final OutputDataStream stream : streams) { if (componentBuilder.isOutputDataStreamConsumed(stream)) { final AnalysisJobBuilder childJobBuilder = componentBuilder.getOutputDataStreamJobBuilder(stream); if (relevantAnalysisJobBuilders.contains(childJobBuilder)) { importantComponent = true; if (!componentBuilder.isConfigured(false)) { relevantAnalysisJobBuilder.removeComponent(componentBuilder);
@Override protected void configure(final AnalysisJobBuilder analysisJobBuilder, final ComponentBuilder componentBuilder) { final Component component = componentBuilder.getComponentInstance(); if (component instanceof PrecedingComponentConsumer) { final LifeCycleHelper helper = new LifeCycleHelper(analysisJobBuilder.getConfiguration(), null, true); helper.assignProvidedProperties(componentBuilder.getDescriptor(), component); ((PrecedingComponentConsumer) component) .configureForTransformedData(analysisJobBuilder, _transformerJobBuilder.getDescriptor()); } final Set<ConfiguredPropertyDescriptor> inputProperties = componentBuilder.getDescriptor().getConfiguredPropertiesForInput(false); if (!inputProperties.isEmpty()) { final ConfiguredPropertyDescriptor property = inputProperties.iterator().next(); final List<InputColumn<?>> inputColumnsToAdd = new ArrayList<>(); inputColumnsToAdd.addAll(_transformerJobBuilder.getInputColumns()); final List<MutableInputColumn<?>> outputColumns = _transformerJobBuilder.getOutputColumns(); for (final MutableInputColumn<?> outputColumn : outputColumns) { if (!outputColumn.isHidden()) { inputColumnsToAdd.add(outputColumn); } } componentBuilder.addInputColumns(inputColumnsToAdd, property); } }
protected void addOrSetFilterOutcomeAsRequirement(final ComponentBuilder componentBuilder, final FilterOutcome filterOutcome) { final ComponentRequirement existingRequirement = componentBuilder.getComponentRequirement(); if (existingRequirement == null) { // set a new requirement final ComponentRequirement requirement = new SimpleComponentRequirement(filterOutcome); componentBuilder.setComponentRequirement(requirement); return; } final ComponentRequirement defaultRequirement = componentBuilder.getAnalysisJobBuilder().getDefaultRequirement(); if (existingRequirement.equals(defaultRequirement)) { // override the default requirement final ComponentRequirement requirement = new SimpleComponentRequirement(filterOutcome); componentBuilder.setComponentRequirement(requirement); return; } // add outcome to a compound requirement final CompoundComponentRequirement requirement = new CompoundComponentRequirement(existingRequirement, filterOutcome); componentBuilder.setComponentRequirement(requirement); }
private String getOutputStreamColumnPath(final String suggestedPath, final ComponentType componentType, final ComponentBuilder componentBuilder, final int sourceColumnIndex) { // Stupid special case for FuseStreamsComponent if (componentType.getDescriptor().getRef().equals("Union")) { final ConfiguredPropertyDescriptor configuredPropertyDescriptor = componentBuilder.getDescriptor().getConfiguredProperty("Units"); final CoalesceUnit[] units = (CoalesceUnit[]) componentBuilder.getConfiguredProperty(configuredPropertyDescriptor); final CoalesceUnit unit = units[sourceColumnIndex]; return unit.getSuggestedOutputColumnName(); } else { return suggestedPath; } }