@Override public Set<Relationship> getAvailableRelationships() { if (!(component instanceof Processor)) { return Collections.emptySet(); } final Set<Relationship> relationships = new HashSet<>(((Processor) component).getRelationships()); relationships.removeAll(unavailableRelationships); return relationships; }
protected void initialize(final Processor processor) { processor.initialize(new DocumentationProcessorInitializationContext()); }
public Set<Relationship> getUndefinedRelationships() { final Set<Relationship> undefined = new HashSet<>(); final Set<Relationship> relationships; final Processor processor = processorRef.get().getProcessor(); try (final NarCloseable narCloseable = NarCloseable.withComponentNarLoader(getExtensionManager(), processor.getClass(), processor.getIdentifier())) { relationships = processor.getRelationships(); } if (relationships == null) { return undefined; } for (final Relationship relation : relationships) { final Set<Connection> connectionSet = this.connections.get(relation); if (connectionSet == null || connectionSet.isEmpty()) { undefined.add(relation); } } return undefined; }
@Override public void onTrigger(final ProcessContext context, final ProcessSessionFactory sessionFactory) { final Processor processor = processorRef.get().getProcessor(); activateThread(); try (final NarCloseable narCloseable = NarCloseable.withComponentNarLoader(getExtensionManager(), processor.getClass(), processor.getIdentifier())) { processor.onTrigger(context, sessionFactory); } finally { deactivateThread(); } }
public boolean isProcessorRegistered(final Processor processor) { return this.processor != null && this.processor.getIdentifier().equals(processor.getIdentifier()); }
/** * <p> * Returns the currently configured value for the property with the given name. * </p> */ @Override public PropertyValue getProperty(final String propertyName) { verifyTaskActive(); final Processor processor = procNode.getProcessor(); final PropertyDescriptor descriptor = processor.getPropertyDescriptor(propertyName); if (descriptor == null) { return null; } final String setPropertyValue = properties.get(descriptor); final String propValue = (setPropertyValue == null) ? descriptor.getDefaultValue() : setPropertyValue; return new StandardPropertyValue(propValue, this, preparedQueries.get(descriptor), procNode.getVariableRegistry()); }
@Override public Throwable call() throws Exception { invocations.incrementAndGet(); try { processor.onTrigger(context, sessionFactory); } catch (final Throwable t) { return t; } return null; } }
if (instance != null) { try { final List<PropertyDescriptor> instanceDescriptors = instance.getPropertyDescriptors(); if (instanceDescriptors != null) { supportedPropertyDescriptors.addAll(instanceDescriptors);
public MockProcessSession(final SharedSessionState sharedState, final Processor processor, final boolean enforceStreamsClosed) { this.processor = processor; this.enforceStreamsClosed = enforceStreamsClosed; this.sharedState = sharedState; this.processorQueue = sharedState.getFlowFileQueue(); provenanceReporter = new MockProvenanceReporter(this, sharedState, processor.getIdentifier(), processor.getClass().getSimpleName()); }
@Override public PropertyValue getProperty(final PropertyDescriptor descriptor) { verifyTaskActive(); final String setPropertyValue = properties.get(descriptor); if (setPropertyValue != null) { return new StandardPropertyValue(setPropertyValue, this, preparedQueries.get(descriptor), procNode.getVariableRegistry()); } // Get the "canonical" Property Descriptor from the Processor final PropertyDescriptor canonicalDescriptor = procNode.getProcessor().getPropertyDescriptor(descriptor.getName()); final String defaultValue = canonicalDescriptor.getDefaultValue(); return new StandardPropertyValue(defaultValue, this, preparedQueries.get(descriptor), procNode.getVariableRegistry()); }
try { instance.onTrigger(context, sessionFactory); } catch (final ProcessException e) { final String message = String.format("An error occurred executing the configured Processor [%s]: %s",
final List<PropertyDescriptor> descriptors = processor.getPropertyDescriptors(); if (descriptors != null && !descriptors.isEmpty()) { for (final PropertyDescriptor descriptor : descriptors) {
@Override public void transfer(FlowFile flowFile, final Relationship relationship) { if (relationship == Relationship.SELF) { transfer(flowFile); return; } if(!processor.getRelationships().contains(relationship)){ throw new IllegalArgumentException("this relationship " + relationship.getName() + " is not known"); } flowFile = validateState(flowFile); List<MockFlowFile> list = transferMap.computeIfAbsent(relationship, r -> new ArrayList<>()); beingProcessed.remove(flowFile.getId()); list.add((MockFlowFile) flowFile); updateLastQueuedDate((MockFlowFile) flowFile); }
@Override public void initialize(ConfigurableComponent component) { Processor processor = (Processor) component; ProcessorInitializationContext initializationContext = new MockProcessorInitializationContext(); try (NarCloseable narCloseable = NarCloseable.withComponentNarLoader(extensionManager, component.getClass(), initializationContext.getIdentifier())) { processor.initialize(initializationContext); } }
@Override public Collection<Relationship> getRelationships() { final Processor processor = processorRef.get().getProcessor(); try (final NarCloseable narCloseable = NarCloseable.withComponentNarLoader(getExtensionManager(), processor.getClass(), processor.getIdentifier())) { return getProcessor().getRelationships(); } }
@Override public String toString() { final Processor processor = processorRef.get().getProcessor(); try (final NarCloseable narCloseable = NarCloseable.withComponentNarLoader(getExtensionManager(), processor.getClass(), processor.getIdentifier())) { return getProcessor().toString(); } }
final PropertyDescriptor propertyDescriptor = processor.getProcessor().getPropertyDescriptor(property); if (propertyDescriptor != null && propertyDescriptor.isSensitive()) { if (newValue != null) {
@Override public Throwable call() throws Exception { invocations.incrementAndGet(); try { processor.onTrigger(context, sessionFactory); } catch (final Throwable t) { return t; } return null; } }
dto.setReferenceType(Processor.class.getSimpleName()); propertyDescriptors = node.getProcessor().getPropertyDescriptors(); validationErrors = node.getValidationErrors(); processGroupId = node.getProcessGroup().getIdentifier();
/** * Writes a table describing the relations a processor has. * * @param processor the processor to describe * @param xmlStreamWriter the stream writer to use * @throws XMLStreamException thrown if there was a problem writing the xml */ private void writeRelationships(final Processor processor, final XMLStreamWriter xmlStreamWriter) throws XMLStreamException { writeSimpleElement(xmlStreamWriter, "h3", "Relationships: "); if (processor.getRelationships().size() > 0) { xmlStreamWriter.writeStartElement("table"); xmlStreamWriter.writeAttribute("id", "relationships"); xmlStreamWriter.writeStartElement("tr"); writeSimpleElement(xmlStreamWriter, "th", "Name"); writeSimpleElement(xmlStreamWriter, "th", "Description"); xmlStreamWriter.writeEndElement(); for (Relationship relationship : processor.getRelationships()) { xmlStreamWriter.writeStartElement("tr"); writeSimpleElement(xmlStreamWriter, "td", relationship.getName()); writeSimpleElement(xmlStreamWriter, "td", relationship.getDescription()); xmlStreamWriter.writeEndElement(); } xmlStreamWriter.writeEndElement(); } else { xmlStreamWriter.writeCharacters("This processor has no relationships."); } }