public void addRemoteProcessGroup(RemoteProcessGroupStatus r) { remoteProcessGroups.put(r.getId(), r); }
/** * Gets the status for the specified remote process group. * * @param remoteProcessGroupId remote process group id * @return the status for the specified remote process group */ public RemoteProcessGroupStatus getRemoteProcessGroupStatus(final String remoteProcessGroupId) { final ProcessGroup root = getRootGroup(); final RemoteProcessGroup remoteProcessGroup = root.findRemoteProcessGroup(remoteProcessGroupId); // ensure the output port was found if (remoteProcessGroup == null) { throw new ResourceNotFoundException(String.format("Unable to locate remote process group with id '%s'.", remoteProcessGroupId)); } final String groupId = remoteProcessGroup.getProcessGroup().getIdentifier(); final ProcessGroupStatus groupStatus = flowController.getEventAccess().getGroupStatus(groupId, NiFiUserUtils.getNiFiUser(), 1); if (groupStatus == null) { throw new ResourceNotFoundException(String.format("Unable to locate group with id '%s'.", groupId)); } final RemoteProcessGroupStatus status = groupStatus.getRemoteProcessGroupStatus().stream().filter(rpgStatus -> remoteProcessGroupId.equals(rpgStatus.getId())).findFirst().orElse(null); if (status == null) { throw new ResourceNotFoundException(String.format("Unable to locate remote process group with id '%s'.", remoteProcessGroupId)); } return status; }
public static ComponentDetails forRemoteProcessGroup(final RemoteProcessGroupStatus status) { return forRemoteProcessGroup(status.getId(), status.getGroupId(), status.getName(), status.getTargetUri()); }
final PermissionsDTO operatePermissions = createPermissionsDto(new OperationAuthorizable(rpg)); final RemoteProcessGroupStatusDTO status = getComponentStatus( () -> groupStatus.getRemoteProcessGroupStatus().stream().filter(remoteProcessGroupStatus -> rpg.getIdentifier().equals(remoteProcessGroupStatus.getId())).findFirst().orElse(null), remoteProcessGroupStatus -> createRemoteProcessGroupStatusDto(rpg, remoteProcessGroupStatus) );
final PermissionsDTO operatePermissions = createPermissionsDto(new OperationAuthorizable(remoteProcessGroup)); final RemoteProcessGroupStatusDTO status = getComponentStatus( () -> groupStatus.getRemoteProcessGroupStatus().stream().filter(rpgStatus -> remoteProcessGroup.getIdentifier().equals(rpgStatus.getId())).findFirst().orElse(null), remoteProcessGroupStatus -> createRemoteProcessGroupStatusDto(remoteProcessGroup, remoteProcessGroupStatus) );
if (childRemoteProcessGroupStatusCollection != null) { for (final RemoteProcessGroupStatus childRemoteProcessGroupStatus : childRemoteProcessGroupStatusCollection) { final RemoteProcessGroup remoteProcessGroup = processGroup.findRemoteProcessGroup(childRemoteProcessGroupStatus.getId()); final RemoteProcessGroupStatusDTO childRemoteProcessGroupStatusDto = createRemoteProcessGroupStatusDto(remoteProcessGroup, childRemoteProcessGroupStatus); final PermissionsDTO remoteProcessGroupPermissions = createPermissionsDto(remoteProcessGroup);
private void serializeRemoteProcessGroupStatus(final JsonArrayBuilder arrayBuilder, final JsonBuilderFactory factory, final RemoteProcessGroupStatus status, final DateFormat df, final String hostname, final String applicationName, final String platform, final String parentId, final Date currentDate) { final JsonObjectBuilder builder = factory.createObjectBuilder(); final String componentType = "RemoteProcessGroup"; final String componentName = status.getName(); if (componentMatchesFilters(componentType, componentName)) { addCommonFields(builder, df, hostname, applicationName, platform, parentId, currentDate, componentType, componentName); addField(builder, "componentId", status.getId()); addField(builder, "activeRemotePortCount", status.getActiveRemotePortCount()); addField(builder, "activeThreadCount", status.getActiveThreadCount()); addField(builder, "inactiveRemotePortCount", status.getInactiveRemotePortCount()); addField(builder, "receivedContentSize", status.getReceivedContentSize()); addField(builder, "receivedCount", status.getReceivedCount()); addField(builder, "sentContentSize", status.getSentContentSize()); addField(builder, "sentCount", status.getSentCount()); addField(builder, "averageLineageDuration", status.getAverageLineageDuration()); arrayBuilder.add(builder.build()); } }
public RemoteProcessGroupStatusDTO createRemoteProcessGroupStatusDto(final RemoteProcessGroup remoteProcessGroup, final RemoteProcessGroupStatus remoteProcessGroupStatus) { final RemoteProcessGroupStatusDTO dto = new RemoteProcessGroupStatusDTO(); dto.setId(remoteProcessGroupStatus.getId()); dto.setGroupId(remoteProcessGroupStatus.getGroupId()); dto.setTargetUri(remoteProcessGroupStatus.getTargetUri()); dto.setName(remoteProcessGroupStatus.getName()); dto.setTransmissionStatus(remoteProcessGroupStatus.getTransmissionStatus().toString()); dto.setStatsLastRefreshed(new Date()); dto.setValidationStatus(getRemoteProcessGroupValidationStatus(remoteProcessGroup).name()); final RemoteProcessGroupStatusSnapshotDTO snapshot = new RemoteProcessGroupStatusSnapshotDTO(); dto.setAggregateSnapshot(snapshot); snapshot.setId(remoteProcessGroupStatus.getId()); snapshot.setGroupId(remoteProcessGroupStatus.getGroupId()); snapshot.setName(remoteProcessGroupStatus.getName()); snapshot.setTargetUri(remoteProcessGroupStatus.getTargetUri()); snapshot.setTransmissionStatus(remoteProcessGroupStatus.getTransmissionStatus().toString()); snapshot.setActiveThreadCount(remoteProcessGroupStatus.getActiveThreadCount()); snapshot.setFlowFilesSent(remoteProcessGroupStatus.getSentCount()); snapshot.setBytesSent(remoteProcessGroupStatus.getSentContentSize()); snapshot.setFlowFilesReceived(remoteProcessGroupStatus.getReceivedCount()); snapshot.setBytesReceived(remoteProcessGroupStatus.getReceivedContentSize()); StatusMerger.updatePrettyPrintedFields(snapshot); return dto; }
public void addRemoteProcessGroup(RemoteProcessGroupStatus r) { remoteProcessGroups.put(r.getId(), r); }
private static List<PortStatus> getPortStatusList(RemoteProcessGroupStatus inputRemoteProcessGroupStatus, FlowController flowController, String rootGroupId, Function<RemoteProcessGroup, Set<RemoteGroupPort>> portFunction) { return portFunction.apply(flowController.getGroup(rootGroupId).getRemoteProcessGroup(inputRemoteProcessGroupStatus.getId())).stream().map(r -> { PortStatus portStatus = new PortStatus(); portStatus.setName(r.getName()); portStatus.setTargetExists(r.getTargetExists()); portStatus.setTargetRunning(r.isTargetRunning()); return portStatus; }).collect(Collectors.toList()); }
private static <E> Map<String, E> transformStatusCollection(Collection<E> statusCollection) { Map<String, E> statusMap = new HashMap<>(); for (E status : statusCollection) { if (status instanceof ProcessorStatus) { statusMap.put(((ProcessorStatus) status).getId(), status); if (((ProcessorStatus) status).getName() != null) { statusMap.put(((ProcessorStatus) status).getName(), status); } } else if (status instanceof ConnectionStatus) { statusMap.put(((ConnectionStatus) status).getId(), status); if (((ConnectionStatus) status).getName() != null) { statusMap.put(((ConnectionStatus) status).getName(), status); } } else if (status instanceof RemoteProcessGroupStatus) { statusMap.put(((RemoteProcessGroupStatus) status).getId(), status); if (((RemoteProcessGroupStatus) status).getName() != null) { statusMap.put(((RemoteProcessGroupStatus) status).getName(), status); } } } return statusMap; }
if (rpgStatus.getId().equals(componentId)) { return rpgStatus.getName();
.sourceIdMatches(inputRemoteProcessGroupStatus.getId()) .build());
private void serializeRemoteProcessGroupStatus(final JsonArrayBuilder arrayBuilder, final JsonBuilderFactory factory, final RemoteProcessGroupStatus status, final DateFormat df, final String hostname, final String applicationName, final String platform, final String parentId, final Date currentDate) { final JsonObjectBuilder builder = factory.createObjectBuilder(); final String componentType = "RemoteProcessGroup"; final String componentName = status.getName(); if (componentMatchesFilters(componentType, componentName)) { addCommonFields(builder, df, hostname, applicationName, platform, parentId, currentDate, componentType, componentName); addField(builder, "componentId", status.getId()); addField(builder, "activeRemotePortCount", status.getActiveRemotePortCount()); addField(builder, "activeThreadCount", status.getActiveThreadCount()); addField(builder, "inactiveRemotePortCount", status.getInactiveRemotePortCount()); addField(builder, "receivedContentSize", status.getReceivedContentSize()); addField(builder, "receivedCount", status.getReceivedCount()); addField(builder, "sentContentSize", status.getSentContentSize()); addField(builder, "sentCount", status.getSentCount()); addField(builder, "averageLineageDuration", status.getAverageLineageDuration()); arrayBuilder.add(builder.build()); } }