public class StandardPublicPort extends AbstractPort implements PublicPort
| Modifier and Type | Class and Description |
|---|---|
private static class |
StandardPublicPort.FlowFileRequest |
private static class |
StandardPublicPort.ProcessingResult |
static class |
StandardPublicPort.StandardPortAuthorizationResult |
| Modifier and Type | Field and Description |
|---|---|
private Set<StandardPublicPort.FlowFileRequest> |
activeRequests |
private Authorizer |
authorizer |
private BulletinRepository |
bulletinRepository |
private static String |
CATEGORY |
private TransferDirection |
direction |
private EventReporter |
eventReporter |
private AtomicReference<Set<String>> |
groupAccessControl |
private List<org.apache.nifi.authorization.util.IdentityMapping> |
identityMappings |
private static org.slf4j.Logger |
logger |
private Set<Relationship> |
relationships |
private Lock |
requestLock |
private BlockingQueue<StandardPublicPort.FlowFileRequest> |
requestQueue |
private ProcessScheduler |
scheduler |
private boolean |
secure |
private boolean |
shutdown |
private AtomicReference<Set<String>> |
userAccessControl |
PORT_RELATIONSHIPMINIMUM_SCHEDULING_NANOS| Constructor and Description |
|---|
StandardPublicPort(String id,
String name,
TransferDirection direction,
ConnectableType type,
Authorizer authorizer,
BulletinRepository bulletinRepository,
ProcessScheduler scheduler,
boolean secure,
String yieldPeriod,
List<org.apache.nifi.authorization.util.IdentityMapping> identityMappings) |
addConnection, disable, enable, evaluateParameters, getBackoffMechanism, getComments, getConnectableType, getConnections, getConnections, getIdentifier, getIncomingConnections, getMaxBackoffPeriod, getMaxConcurrentTasks, getName, getParentAuthorizable, getPenalizationPeriod, getPenalizationPeriod, getPosition, getProcessGroup, getProcessGroupIdentifier, getRelationship, getResource, getRetriedRelationships, getRetryCount, getScheduledState, getSchedulingPeriod, getSchedulingPeriod, getVersionedComponentId, getYieldExpiration, getYieldPeriod, getYieldPeriod, hasIncomingConnection, isAutoTerminated, isLossTolerant, isRelationshipRetried, isRunning, removeConnection, setBackoffMechanism, setComments, setLossTolerant, setMaxBackoffPeriod, setMaxConcurrentTasks, setName, setPenalizationPeriod, setPosition, setProcessGroup, setRetriedRelationships, setRetryCount, setSchedulingPeriod, setVersionedComponentId, setYieldPeriod, updateConnection, verifyCanClearState, verifyCanDelete, verifyCanDelete, verifyCanDisable, verifyCanEnable, verifyCanStart, verifyCanStop, verifyCanUpdate, yield, yieldclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddConnection, evaluateParameters, getBackoffMechanism, getComments, getConnectableType, getConnections, getConnections, getIdentifier, getIncomingConnections, getMaxBackoffPeriod, getName, getPenalizationPeriod, getPenalizationPeriod, getProcessGroup, getRelationship, getRetriedRelationships, getRetryCount, getRunDuration, getRunnableComponent, getYieldExpiration, getYieldPeriod, getYieldPeriod, hasIncomingConnection, isAutoTerminated, isIsolated, isLossTolerant, isRelationshipRetried, isSessionBatchingSupported, isTriggerWhenAnyDestinationAvailable, removeConnection, setBackoffMechanism, setComments, setLossTolerant, setMaxBackoffPeriod, setName, setPenalizationPeriod, setProcessGroup, setRetriedRelationships, setRetryCount, setYieldPeriod, updateConnection, verifyCanClearState, verifyCanDelete, verifyCanDelete, verifyCanDisable, verifyCanEnable, verifyCanStart, verifyCanStop, verifyCanUpdate, yield, yieldgetMaxConcurrentTasks, getScheduledState, getSchedulingPeriod, getSchedulingPeriod, isRunning, setMaxConcurrentTasks, setSchedulingPeriodgetProcessGroupIdentifierauthorize, authorize, checkAuthorization, checkAuthorization, getParentAuthorizable, getRequestedResource, getResource, isAuthorizedgetPosition, setPositiongetVersionedComponentId, setVersionedComponentIdprivate static final String CATEGORY
private static final org.slf4j.Logger logger
private final AtomicReference<Set<String>> groupAccessControl
private final AtomicReference<Set<String>> userAccessControl
private final boolean secure
private final Authorizer authorizer
private final List<org.apache.nifi.authorization.util.IdentityMapping> identityMappings
private TransferDirection direction
private final BulletinRepository bulletinRepository
private final EventReporter eventReporter
private final ProcessScheduler scheduler
private final Set<Relationship> relationships
private final BlockingQueue<StandardPublicPort.FlowFileRequest> requestQueue
private final Set<StandardPublicPort.FlowFileRequest> activeRequests
private final Lock requestLock
private boolean shutdown
public StandardPublicPort(String id, String name, TransferDirection direction, ConnectableType type, Authorizer authorizer, BulletinRepository bulletinRepository, ProcessScheduler scheduler, boolean secure, String yieldPeriod, List<org.apache.nifi.authorization.util.IdentityMapping> identityMappings)
public Collection<Relationship> getRelationships()
getRelationships in interface ConnectablegetRelationships in class AbstractPortpublic boolean isTriggerWhenEmpty()
isTriggerWhenEmpty in interface Connectablepublic void onTrigger(ProcessContext context, ProcessSessionFactory sessionFactory)
onTrigger in interface TriggerableonTrigger in class AbstractPortpublic void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException
onTrigger in class AbstractPortProcessExceptionprivate void onTrigger(ProcessContext context, ProcessSession session, StandardPublicPort.FlowFileRequest flowFileRequest)
private int transferFlowFiles(ProcessContext context, ProcessSession session, org.apache.nifi.remote.codec.FlowFileCodec codec, StandardPublicPort.FlowFileRequest request) throws IOException
IOExceptionprivate int receiveFlowFiles(ProcessContext context, ProcessSession session, org.apache.nifi.remote.codec.FlowFileCodec codec, StandardPublicPort.FlowFileRequest receiveRequest) throws IOException
IOExceptionpublic boolean isValid()
true if the port is not a local input port (remote input ports are
handled by StandardRemoteGroupPort), or if the local input port has at least one
available connection.isValid in interface PortisValid in class AbstractPortpublic Collection<ValidationResult> getValidationErrors()
getValidationErrors in interface Connectablepublic boolean isTransmitting()
isTransmitting in interface PublicPortpublic void setGroupAccessControl(Set<String> groups)
setGroupAccessControl in interface PublicPortpublic Set<String> getGroupAccessControl()
getGroupAccessControl in interface PublicPortpublic void setUserAccessControl(Set<String> users)
setUserAccessControl in interface PublicPortpublic Set<String> getUserAccessControl()
getUserAccessControl in interface PublicPortpublic void shutdown()
shutdown in interface Portshutdown in class AbstractPortpublic void onSchedulingStart()
onSchedulingStart in interface PortonSchedulingStart in class AbstractPortpublic PortAuthorizationResult checkUserAuthorization(String dn)
checkUserAuthorization in interface PublicPortpublic PortAuthorizationResult checkUserAuthorization(NiFiUser user)
checkUserAuthorization in interface PublicPortpublic int receiveFlowFiles(Peer peer, ServerProtocol serverProtocol) throws NotAuthorizedException, BadRequestException, RequestExpiredException
receiveFlowFiles in interface PublicPortNotAuthorizedExceptionBadRequestExceptionRequestExpiredExceptionpublic int transferFlowFiles(Peer peer, ServerProtocol serverProtocol) throws NotAuthorizedException, BadRequestException, RequestExpiredException
transferFlowFiles in interface PublicPortNotAuthorizedExceptionBadRequestExceptionRequestExpiredExceptionpublic SchedulingStrategy getSchedulingStrategy()
getSchedulingStrategy in interface Connectablepublic boolean isSideEffectFree()
isSideEffectFree in interface Connectablepublic String getComponentType()
getComponentType in interface Connectablepublic TransferDirection getDirection()
getDirection in interface PublicPortpublic String toString()
toString in class AbstractPortCopyright © 2023 Apache NiFi Project. All rights reserved.