Java源码示例:org.apache.nifi.registry.flow.VersionedRemoteProcessGroup
示例1
private void compare(final VersionedRemoteProcessGroup rpgA, final VersionedRemoteProcessGroup rpgB, final Set<FlowDifference> differences) {
if (compareComponents(rpgA, rpgB, differences, false, true, false)) { // do not compare comments for RPG because they come from remote system, not our local flow
return;
}
addIfDifferent(differences, DifferenceType.RPG_COMMS_TIMEOUT_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getCommunicationsTimeout);
addIfDifferent(differences, DifferenceType.RPG_NETWORK_INTERFACE_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getLocalNetworkInterface);
addIfDifferent(differences, DifferenceType.RPG_PROXY_HOST_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getProxyHost);
addIfDifferent(differences, DifferenceType.RPG_PROXY_PORT_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getProxyPort);
addIfDifferent(differences, DifferenceType.RPG_PROXY_USER_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getProxyUser);
addIfDifferent(differences, DifferenceType.RPG_TRANSPORT_PROTOCOL_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getTransportProtocol);
addIfDifferent(differences, DifferenceType.YIELD_DURATION_CHANGED, rpgA, rpgB, VersionedRemoteProcessGroup::getYieldDuration);
differences.addAll(compareComponents(rpgA.getInputPorts(), rpgB.getInputPorts(), this::compare));
differences.addAll(compareComponents(rpgA.getOutputPorts(), rpgB.getOutputPorts(), this::compare));
}
示例2
public StatelessRemoteInputPort(final VersionedRemoteProcessGroup rpg, final VersionedRemoteGroupPort remotePort, final SSLContext sslContext) {
final String timeout = rpg.getCommunicationsTimeout();
final long timeoutMillis = FormatUtils.getTimeDuration(timeout, TimeUnit.MILLISECONDS);
url = rpg.getTargetUris();
name = remotePort.getName();
client = new SiteToSiteClient.Builder()
.portName(remotePort.getName())
.timeout(timeoutMillis, TimeUnit.MILLISECONDS)
.transportProtocol(SiteToSiteTransportProtocol.valueOf(rpg.getTransportProtocol()))
.url(rpg.getTargetUris())
.useCompression(remotePort.isUseCompression())
.sslContext(sslContext)
.eventReporter(EventReporter.NO_OP)
.build();
}
示例3
public VersionedRemoteProcessGroup mapRemoteProcessGroup(final RemoteProcessGroup remoteGroup) {
final VersionedRemoteProcessGroup rpg = new InstantiatedVersionedRemoteProcessGroup(remoteGroup.getIdentifier(), remoteGroup.getProcessGroupIdentifier());
rpg.setIdentifier(getId(remoteGroup.getVersionedComponentId(), remoteGroup.getIdentifier()));
rpg.setGroupIdentifier(getGroupId(remoteGroup.getProcessGroupIdentifier()));
rpg.setComments(remoteGroup.getComments());
rpg.setCommunicationsTimeout(remoteGroup.getCommunicationsTimeout());
rpg.setLocalNetworkInterface(remoteGroup.getNetworkInterface());
rpg.setName(remoteGroup.getName());
rpg.setInputPorts(remoteGroup.getInputPorts().stream()
.map(port -> mapRemotePort(port, ComponentType.REMOTE_INPUT_PORT))
.collect(Collectors.toSet()));
rpg.setOutputPorts(remoteGroup.getOutputPorts().stream()
.map(port -> mapRemotePort(port, ComponentType.REMOTE_OUTPUT_PORT))
.collect(Collectors.toSet()));
rpg.setPosition(mapPosition(remoteGroup.getPosition()));
rpg.setProxyHost(remoteGroup.getProxyHost());
rpg.setProxyPort(remoteGroup.getProxyPort());
rpg.setProxyUser(remoteGroup.getProxyUser());
rpg.setTargetUri(remoteGroup.getTargetUri());
rpg.setTargetUris(remoteGroup.getTargetUris());
rpg.setTransportProtocol(remoteGroup.getTransportProtocol().name());
rpg.setYieldDuration(remoteGroup.getYieldDuration());
return rpg;
}
示例4
@Override
public RemoteProcessGroupSchema apply(VersionedRemoteProcessGroup versionedRemoteProcessGroup) {
Map<String, Object> map = new HashMap<>();
map.put(CommonPropertyKeys.ID_KEY, versionedRemoteProcessGroup.getIdentifier());
map.put(CommonPropertyKeys.NAME_KEY, versionedRemoteProcessGroup.getName());
map.put(RemoteProcessGroupSchema.URL_KEY, versionedRemoteProcessGroup.getTargetUri());
Set<VersionedRemoteGroupPort> inputPorts = versionedRemoteProcessGroup.getInputPorts();
if (inputPorts != null) {
map.put(CommonPropertyKeys.INPUT_PORTS_KEY, inputPorts.stream()
.map(remotePortSchemaFunction)
.map(RemotePortSchema::toMap)
.collect(Collectors.toList()));
}
Set<VersionedRemoteGroupPort> outputPorts = versionedRemoteProcessGroup.getOutputPorts();
if (outputPorts != null) {
map.put(CommonPropertyKeys.OUTPUT_PORTS_KEY, outputPorts.stream()
.map(remotePortSchemaFunction)
.map(RemotePortSchema::toMap)
.collect(Collectors.toList()));
}
map.put(CommonPropertyKeys.COMMENT_KEY, versionedRemoteProcessGroup.getComments());
map.put(RemoteProcessGroupSchema.TIMEOUT_KEY, versionedRemoteProcessGroup.getCommunicationsTimeout());
map.put(CommonPropertyKeys.YIELD_PERIOD_KEY, versionedRemoteProcessGroup.getYieldDuration());
map.put(RemoteProcessGroupSchema.TRANSPORT_PROTOCOL_KEY, versionedRemoteProcessGroup.getTransportProtocol());
map.put(RemoteProcessGroupSchema.PROXY_HOST_KEY, versionedRemoteProcessGroup.getProxyHost());
map.put(RemoteProcessGroupSchema.PROXY_PORT_KEY, versionedRemoteProcessGroup.getProxyPort());
map.put(RemoteProcessGroupSchema.PROXY_USER_KEY, versionedRemoteProcessGroup.getProxyUser());
// TODO - we don't have this in registry data model, most likely templates blank it out too?
//map.put(RemoteProcessGroupSchema.PROXY_PASSWORD_KEY, versionedRemoteProcessGroup.getProxyPassword());
map.put(RemoteProcessGroupSchema.LOCAL_NETWORK_INTERFACE_KEY, versionedRemoteProcessGroup.getLocalNetworkInterface());
return new RemoteProcessGroupSchema(map);
}
示例5
public StatelessRemoteOutputPort(final VersionedRemoteProcessGroup rpg, final VersionedRemoteGroupPort remotePort, final SSLContext sslContext) {
final String timeout = rpg.getCommunicationsTimeout();
final long timeoutMillis = FormatUtils.getTimeDuration(timeout, TimeUnit.MILLISECONDS);
url = rpg.getTargetUris();
name = remotePort.getName();
final BatchSize batchSize = remotePort.getBatchSize();
final int batchCount;
final long batchBytes;
final long batchMillis;
if (batchSize == null) {
batchCount = 1;
batchBytes = 1L;
batchMillis = 1L;
} else {
batchCount = batchSize.getCount() == null ? 1 : batchSize.getCount();
batchBytes = batchSize.getSize() == null ? 1L : DataUnit.parseDataSize(batchSize.getSize(), DataUnit.B).longValue();
batchMillis = batchSize.getDuration() == null ? 1L : FormatUtils.getTimeDuration(batchSize.getDuration(), TimeUnit.MILLISECONDS);
}
client = new SiteToSiteClient.Builder()
.portName(remotePort.getName())
.timeout(timeoutMillis, TimeUnit.MILLISECONDS)
.requestBatchCount(batchCount)
.requestBatchDuration(batchMillis, TimeUnit.MILLISECONDS)
.requestBatchSize(batchBytes)
.transportProtocol(SiteToSiteTransportProtocol.valueOf(rpg.getTransportProtocol()))
.url(rpg.getTargetUris())
.sslContext(sslContext)
.useCompression(remotePort.isUseCompression())
.eventReporter(EventReporter.NO_OP)
.build();
}
示例6
private void findRemoteGroupRecursive(final VersionedProcessGroup group, final Map<String, VersionedRemoteProcessGroup> rpgs, final Map<String, VersionedRemoteGroupPort> ports) {
for (final VersionedRemoteProcessGroup rpg : group.getRemoteProcessGroups()) {
rpgs.put(rpg.getIdentifier(), rpg);
rpg.getInputPorts().forEach(port -> ports.put(port.getIdentifier(), port));
rpg.getOutputPorts().forEach(port -> ports.put(port.getIdentifier(), port));
}
}