private boolean isUpdateable(final Connection connection) { final Connectable source = connection.getSource(); if (source.getConnectableType() != ConnectableType.FUNNEL && source.isRunning()) { return false; } final Connectable destination = connection.getDestination(); if (destination.getConnectableType() != ConnectableType.FUNNEL && destination.isRunning()) { return false; } return true; }
@Override public String toString() { return "Connection[ID=" + getIdentifier() + ", Source ID=" + getSource().getIdentifier() + ", Dest ID=" + getDestination().getIdentifier() + "]"; }
@Override public List<FlowFileRecord> poll(final Connection connection, final Set<FlowFileRecord> expiredRecords) { return connection.poll(filter, expiredRecords); } }, true);
public static boolean flowFilesQueued(final Connectable connectable) { for (final Connection conn : connectable.getIncomingConnections()) { if (!conn.getFlowFileQueue().isActiveQueueEmpty()) { return true; } } return false; }
public static boolean hasNonLoopConnection(final Connectable connectable) { final List<Connection> connections = connectable.getIncomingConnections(); for (final Connection connection : connections) { if (!connection.getSource().equals(connectable)) { return true; } } return false; } }
@Override public String getName() { return connectable.getName(); } }
@Override public Connectable getDestination() { return connection.getDestination(); }
@Override public Connectable getSource() { return connection.getSource(); }
@Override public ScheduledState getScheduledState(final Port port) { return port.getScheduledState(); } };
@Override public ProcessGroup getParentGroup() { return connection.getProcessGroup(); } }
@Override public void triggerDestinationEvent() { if (getDestination().getSchedulingStrategy() == SchedulingStrategy.EVENT_DRIVEN) { scheduler.registerEvent(getDestination()); } }
@Override public void triggerSourceEvent() { if (getSource().getSchedulingStrategy() == SchedulingStrategy.EVENT_DRIVEN) { scheduler.registerEvent(getSource()); } }
@Override public String getSafeDescription() { return "Connection " + StandardConnection.this.getIdentifier(); } };
@Override public boolean hasIncomingConnection() { return connectable.hasIncomingConnection(); }
@Override public void yield() { connectable.yield(); }
@Override public int getMaxConcurrentTasks() { return connectable.getMaxConcurrentTasks(); }
@Override public Authorizable getParentAuthorizable() { return getProcessGroup(); }
private int getWorkCount(final Connectable connectable) { int sum = 0; for (final Connection connection : connectable.getIncomingConnections()) { sum += connection.getFlowFileQueue().size().getObjectCount(); } return sum; }
@Override public String getIdentifier() { return "/connections/" + StandardConnection.this.getIdentifier(); }