Repository: nifi Updated Branches: refs/heads/master a9675552d -> 6799bd491
http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/NiFiServiceFacade.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/NiFiServiceFacade.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/NiFiServiceFacade.java index 08a56e2..ee5487f 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/NiFiServiceFacade.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/NiFiServiceFacade.java @@ -63,15 +63,10 @@ import org.apache.nifi.web.api.dto.provenance.ProvenanceEventDTO; import org.apache.nifi.web.api.dto.provenance.ProvenanceOptionsDTO; import org.apache.nifi.web.api.dto.provenance.lineage.LineageDTO; import org.apache.nifi.web.api.dto.search.SearchResultsDTO; -import org.apache.nifi.web.api.dto.status.ConnectionStatusDTO; import org.apache.nifi.web.api.dto.status.ControllerStatusDTO; -import org.apache.nifi.web.api.dto.status.PortStatusDTO; -import org.apache.nifi.web.api.dto.status.ProcessGroupStatusDTO; -import org.apache.nifi.web.api.dto.status.ProcessorStatusDTO; -import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusDTO; -import org.apache.nifi.web.api.dto.status.StatusHistoryDTO; import org.apache.nifi.web.api.entity.AccessPolicyEntity; import org.apache.nifi.web.api.entity.ConnectionEntity; +import org.apache.nifi.web.api.entity.ConnectionStatusEntity; import org.apache.nifi.web.api.entity.ControllerBulletinsEntity; import org.apache.nifi.web.api.entity.ControllerConfigurationEntity; import org.apache.nifi.web.api.entity.ControllerServiceEntity; @@ -82,14 +77,19 @@ import org.apache.nifi.web.api.entity.FlowEntity; import org.apache.nifi.web.api.entity.FunnelEntity; import org.apache.nifi.web.api.entity.LabelEntity; import org.apache.nifi.web.api.entity.PortEntity; +import org.apache.nifi.web.api.entity.PortStatusEntity; import org.apache.nifi.web.api.entity.ProcessGroupEntity; import org.apache.nifi.web.api.entity.ProcessGroupFlowEntity; +import org.apache.nifi.web.api.entity.ProcessGroupStatusEntity; import org.apache.nifi.web.api.entity.ProcessorEntity; +import org.apache.nifi.web.api.entity.ProcessorStatusEntity; import org.apache.nifi.web.api.entity.RemoteProcessGroupEntity; import org.apache.nifi.web.api.entity.RemoteProcessGroupPortEntity; +import org.apache.nifi.web.api.entity.RemoteProcessGroupStatusEntity; import org.apache.nifi.web.api.entity.ReportingTaskEntity; import org.apache.nifi.web.api.entity.ScheduleComponentsEntity; import org.apache.nifi.web.api.entity.SnippetEntity; +import org.apache.nifi.web.api.entity.StatusHistoryEntity; import org.apache.nifi.web.api.entity.TemplateEntity; import org.apache.nifi.web.api.entity.UserEntity; import org.apache.nifi.web.api.entity.UserGroupEntity; @@ -290,7 +290,7 @@ public interface NiFiServiceFacade { * @param groupId group * @return The process group status */ - ProcessGroupStatusDTO getProcessGroupStatus(String groupId); + ProcessGroupStatusEntity getProcessGroupStatus(String groupId, boolean recursive); /** * Gets the process group status history. @@ -298,7 +298,7 @@ public interface NiFiServiceFacade { * @param groupId id * @return history */ - StatusHistoryDTO getProcessGroupStatusHistory(String groupId); + StatusHistoryEntity getProcessGroupStatusHistory(String groupId); /** * Returns the controller status. @@ -455,7 +455,7 @@ public interface NiFiServiceFacade { * @param id id * @return status */ - ProcessorStatusDTO getProcessorStatus(String id); + ProcessorStatusEntity getProcessorStatus(String id); /** * Gets the processor status history. @@ -463,7 +463,7 @@ public interface NiFiServiceFacade { * @param id id * @return history */ - StatusHistoryDTO getProcessorStatusHistory(String id); + StatusHistoryEntity getProcessorStatusHistory(String id); /** * Get the descriptor for the specified property of the specified processor. @@ -540,7 +540,7 @@ public interface NiFiServiceFacade { * @param connectionId connection * @return status */ - ConnectionStatusDTO getConnectionStatus(String connectionId); + ConnectionStatusEntity getConnectionStatus(String connectionId); /** * Gets the status history of the specified connection. @@ -548,7 +548,7 @@ public interface NiFiServiceFacade { * @param connectionId connection * @return history */ - StatusHistoryDTO getConnectionStatusHistory(String connectionId); + StatusHistoryEntity getConnectionStatusHistory(String connectionId); /** * Creates a new Relationship target. @@ -708,7 +708,7 @@ public interface NiFiServiceFacade { * @param inputPortId input port * @return status */ - PortStatusDTO getInputPortStatus(String inputPortId); + PortStatusEntity getInputPortStatus(String inputPortId); /** * Determines if the input port could be updated. @@ -777,7 +777,7 @@ public interface NiFiServiceFacade { * @param outputPortId output port * @return status */ - PortStatusDTO getOutputPortStatus(String outputPortId); + PortStatusEntity getOutputPortStatus(String outputPortId); /** * Determines if the output port could be updated. @@ -937,7 +937,7 @@ public interface NiFiServiceFacade { * @param id remote process group * @return status */ - RemoteProcessGroupStatusDTO getRemoteProcessGroupStatus(String id); + RemoteProcessGroupStatusEntity getRemoteProcessGroupStatus(String id); /** * Gets the remote process group status history. @@ -945,7 +945,7 @@ public interface NiFiServiceFacade { * @param id The id of the remote process group * @return history */ - StatusHistoryDTO getRemoteProcessGroupStatusHistory(String id); + StatusHistoryEntity getRemoteProcessGroupStatusHistory(String id); /** * Verifies the specified remote process group can be updated. http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java index 56d6595..f5cb078 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java @@ -1,4 +1,5 @@ /* +/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. @@ -139,14 +140,17 @@ import org.apache.nifi.web.api.dto.provenance.lineage.LineageDTO; import org.apache.nifi.web.api.dto.search.SearchResultsDTO; import org.apache.nifi.web.api.dto.status.ConnectionStatusDTO; import org.apache.nifi.web.api.dto.status.ControllerStatusDTO; +import org.apache.nifi.web.api.dto.status.NodeProcessGroupStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.PortStatusDTO; import org.apache.nifi.web.api.dto.status.ProcessGroupStatusDTO; +import org.apache.nifi.web.api.dto.status.ProcessGroupStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.ProcessorStatusDTO; import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusDTO; import org.apache.nifi.web.api.dto.status.StatusHistoryDTO; import org.apache.nifi.web.api.entity.AccessPolicyEntity; import org.apache.nifi.web.api.entity.AccessPolicySummaryEntity; import org.apache.nifi.web.api.entity.ConnectionEntity; +import org.apache.nifi.web.api.entity.ConnectionStatusEntity; import org.apache.nifi.web.api.entity.ControllerBulletinsEntity; import org.apache.nifi.web.api.entity.ControllerConfigurationEntity; import org.apache.nifi.web.api.entity.ControllerServiceEntity; @@ -158,14 +162,19 @@ import org.apache.nifi.web.api.entity.FlowEntity; import org.apache.nifi.web.api.entity.FunnelEntity; import org.apache.nifi.web.api.entity.LabelEntity; import org.apache.nifi.web.api.entity.PortEntity; +import org.apache.nifi.web.api.entity.PortStatusEntity; import org.apache.nifi.web.api.entity.ProcessGroupEntity; import org.apache.nifi.web.api.entity.ProcessGroupFlowEntity; +import org.apache.nifi.web.api.entity.ProcessGroupStatusEntity; import org.apache.nifi.web.api.entity.ProcessorEntity; +import org.apache.nifi.web.api.entity.ProcessorStatusEntity; import org.apache.nifi.web.api.entity.RemoteProcessGroupEntity; import org.apache.nifi.web.api.entity.RemoteProcessGroupPortEntity; +import org.apache.nifi.web.api.entity.RemoteProcessGroupStatusEntity; import org.apache.nifi.web.api.entity.ReportingTaskEntity; import org.apache.nifi.web.api.entity.ScheduleComponentsEntity; import org.apache.nifi.web.api.entity.SnippetEntity; +import org.apache.nifi.web.api.entity.StatusHistoryEntity; import org.apache.nifi.web.api.entity.TemplateEntity; import org.apache.nifi.web.api.entity.TenantEntity; import org.apache.nifi.web.api.entity.UserEntity; @@ -850,6 +859,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { @Override public ConnectionEntity deleteConnection(final Revision revision, final String connectionId) { final Connection connection = connectionDAO.getConnection(connectionId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(connection); final ConnectionDTO snapshot = deleteComponent( revision, connection.getResource(), @@ -857,7 +867,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { false, // no policies to remove dtoFactory.createConnectionDto(connection)); - return entityFactory.createConnectionEntity(snapshot, null, null, null); + return entityFactory.createConnectionEntity(snapshot, null, permissions, null); } @Override @@ -884,6 +894,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { @Override public ProcessorEntity deleteProcessor(final Revision revision, final String processorId) { final ProcessorNode processor = processorDAO.getProcessor(processorId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(processor); final ProcessorDTO snapshot = deleteComponent( revision, processor.getResource(), @@ -891,12 +902,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createProcessorDto(processor)); - return entityFactory.createProcessorEntity(snapshot, null, null, null, null); + return entityFactory.createProcessorEntity(snapshot, null, permissions, null, null); } @Override public LabelEntity deleteLabel(final Revision revision, final String labelId) { final Label label = labelDAO.getLabel(labelId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(label); final LabelDTO snapshot = deleteComponent( revision, label.getResource(), @@ -904,12 +916,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createLabelDto(label)); - return entityFactory.createLabelEntity(snapshot, null, null); + return entityFactory.createLabelEntity(snapshot, null, permissions); } @Override public UserEntity deleteUser(final Revision revision, final String userId) { final User user = userDAO.getUser(userId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant()); final Set<TenantEntity> userGroups = user != null ? userGroupDAO.getUserGroupsForUser(userId).stream() .map(g -> g.getIdentifier()).map(mapUserGroupIdToTenantEntity()).collect(Collectors.toSet()) : null; final Set<AccessPolicySummaryEntity> policyEntities = user != null ? userGroupDAO.getAccessPoliciesForUser(userId).stream() @@ -933,12 +946,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { false, // no user specific policies to remove dtoFactory.createUserDto(user, userGroups, policyEntities)); - return entityFactory.createUserEntity(snapshot, null, null); + return entityFactory.createUserEntity(snapshot, null, permissions); } @Override public UserGroupEntity deleteUserGroup(final Revision revision, final String userGroupId) { final Group userGroup = userGroupDAO.getUserGroup(userGroupId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getTenant()); final Set<TenantEntity> users = userGroup != null ? userGroup.getUsers().stream() .map(mapUserIdToTenantEntity()).collect(Collectors.toSet()) : null; @@ -961,12 +975,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { false, // no user group specific policies to remove dtoFactory.createUserGroupDto(userGroup, users)); - return entityFactory.createUserGroupEntity(snapshot, null, null); + return entityFactory.createUserGroupEntity(snapshot, null, permissions); } @Override public AccessPolicyEntity deleteAccessPolicy(final Revision revision, final String accessPolicyId) { final AccessPolicy accessPolicy = accessPolicyDAO.getAccessPolicy(accessPolicyId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(authorizableLookup.getAccessPolicyById(accessPolicyId)); final Set<TenantEntity> userGroups = accessPolicy != null ? accessPolicy.getGroups().stream().map(mapUserGroupIdToTenantEntity()).collect(Collectors.toSet()) : null; final Set<TenantEntity> users = accessPolicy != null ? accessPolicy.getUsers().stream().map(mapUserIdToTenantEntity()).collect(Collectors.toSet()) : null; final AccessPolicyDTO snapshot = deleteComponent( @@ -987,12 +1002,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { dtoFactory.createAccessPolicyDto(accessPolicy, userGroups, users)); - return entityFactory.createAccessPolicyEntity(snapshot, null, null); + return entityFactory.createAccessPolicyEntity(snapshot, null, permissions); } @Override public FunnelEntity deleteFunnel(final Revision revision, final String funnelId) { final Funnel funnel = funnelDAO.getFunnel(funnelId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(funnel); final FunnelDTO snapshot = deleteComponent( revision, funnel.getResource(), @@ -1000,7 +1016,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createFunnelDto(funnel)); - return entityFactory.createFunnelEntity(snapshot, null, null); + return entityFactory.createFunnelEntity(snapshot, null, permissions); } /** @@ -1131,6 +1147,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { @Override public PortEntity deleteInputPort(final Revision revision, final String inputPortId) { final Port port = inputPortDAO.getPort(inputPortId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(port); final PortDTO snapshot = deleteComponent( revision, port.getResource(), @@ -1138,12 +1155,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createPortDto(port)); - return entityFactory.createPortEntity(snapshot, null, null, null, null); + return entityFactory.createPortEntity(snapshot, null, permissions, null, null); } @Override public PortEntity deleteOutputPort(final Revision revision, final String outputPortId) { final Port port = outputPortDAO.getPort(outputPortId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(port); final PortDTO snapshot = deleteComponent( revision, port.getResource(), @@ -1151,12 +1169,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createPortDto(port)); - return entityFactory.createPortEntity(snapshot, null, null, null, null); + return entityFactory.createPortEntity(snapshot, null, permissions, null, null); } @Override public ProcessGroupEntity deleteProcessGroup(final Revision revision, final String groupId) { final ProcessGroup processGroup = processGroupDAO.getProcessGroup(groupId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(processGroup); // grab the resources in the snippet so we can delete the policies afterwards final Set<Resource> groupResources = new HashSet<>(); @@ -1180,12 +1199,13 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { // delete all applicable component policies groupResources.forEach(groupResource -> cleanUpPolicies(groupResource)); - return entityFactory.createProcessGroupEntity(snapshot, null, null, null, null); + return entityFactory.createProcessGroupEntity(snapshot, null, permissions, null, null); } @Override public RemoteProcessGroupEntity deleteRemoteProcessGroup(final Revision revision, final String remoteProcessGroupId) { final RemoteProcessGroup remoteProcessGroup = remoteProcessGroupDAO.getRemoteProcessGroup(remoteProcessGroupId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(remoteProcessGroup); final RemoteProcessGroupDTO snapshot = deleteComponent( revision, remoteProcessGroup.getResource(), @@ -1193,7 +1213,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createRemoteProcessGroupDto(remoteProcessGroup)); - return entityFactory.createRemoteProcessGroupEntity(snapshot, null, null, null, null); + return entityFactory.createRemoteProcessGroupEntity(snapshot, null, permissions, null, null); } @Override @@ -1846,6 +1866,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { @Override public ControllerServiceEntity deleteControllerService(final Revision revision, final String controllerServiceId) { final ControllerServiceNode controllerService = controllerServiceDAO.getControllerService(controllerServiceId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(controllerService); final ControllerServiceDTO snapshot = deleteComponent( revision, controllerService.getResource(), @@ -1853,7 +1874,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createControllerServiceDto(controllerService)); - return entityFactory.createControllerServiceEntity(snapshot, null, null, null); + return entityFactory.createControllerServiceEntity(snapshot, null, permissions, null); } @@ -1900,6 +1921,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { @Override public ReportingTaskEntity deleteReportingTask(final Revision revision, final String reportingTaskId) { final ReportingTaskNode reportingTask = reportingTaskDAO.getReportingTask(reportingTaskId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(reportingTask); final ReportingTaskDTO snapshot = deleteComponent( revision, reportingTask.getResource(), @@ -1907,7 +1929,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { true, dtoFactory.createReportingTaskDto(reportingTask)); - return entityFactory.createReportingTaskEntity(snapshot, null, null, null); + return entityFactory.createReportingTaskEntity(snapshot, null, permissions, null); } @Override @@ -2001,8 +2023,33 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public ProcessGroupStatusDTO getProcessGroupStatus(final String groupId) { - return dtoFactory.createProcessGroupStatusDto(controllerFacade.getProcessGroupStatus(groupId)); + public ProcessGroupStatusEntity getProcessGroupStatus(final String groupId, final boolean recursive) { + final ProcessGroup processGroup = processGroupDAO.getProcessGroup(groupId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(processGroup); + final ProcessGroupStatusDTO dto = dtoFactory.createProcessGroupStatusDto(controllerFacade.getProcessGroupStatus(groupId)); + + // prune the response as necessary + if (!recursive) { + pruneChildGroups(dto.getAggregateSnapshot()); + if (dto.getNodeSnapshots() != null) { + for (final NodeProcessGroupStatusSnapshotDTO nodeSnapshot : dto.getNodeSnapshots()) { + pruneChildGroups(nodeSnapshot.getStatusSnapshot()); + } + } + } + + return entityFactory.createProcessGroupStatusEntity(dto, permissions); + } + + private void pruneChildGroups(final ProcessGroupStatusSnapshotDTO snapshot) { + for (final ProcessGroupStatusSnapshotDTO childProcessGroupStatus : snapshot.getProcessGroupStatusSnapshots()) { + childProcessGroupStatus.setConnectionStatusSnapshots(null); + childProcessGroupStatus.setProcessGroupStatusSnapshots(null); + childProcessGroupStatus.setInputPortStatusSnapshots(null); + childProcessGroupStatus.setOutputPortStatusSnapshots(null); + childProcessGroupStatus.setProcessorStatusSnapshots(null); + childProcessGroupStatus.setRemoteProcessGroupStatusSnapshots(null); + } } @Override @@ -2103,13 +2150,19 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public ConnectionStatusDTO getConnectionStatus(final String connectionId) { - return dtoFactory.createConnectionStatusDto(controllerFacade.getConnectionStatus(connectionId)); + public ConnectionStatusEntity getConnectionStatus(final String connectionId) { + final Connection connection = connectionDAO.getConnection(connectionId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(connection); + final ConnectionStatusDTO dto = dtoFactory.createConnectionStatusDto(controllerFacade.getConnectionStatus(connectionId)); + return entityFactory.createConnectionStatusEntity(dto, permissions); } @Override - public StatusHistoryDTO getConnectionStatusHistory(final String connectionId) { - return controllerFacade.getConnectionStatusHistory(connectionId); + public StatusHistoryEntity getConnectionStatusHistory(final String connectionId) { + final Connection connection = connectionDAO.getConnection(connectionId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(connection); + final StatusHistoryDTO dto = controllerFacade.getConnectionStatusHistory(connectionId); + return entityFactory.createStatusHistoryEntity(dto, permissions); } private ProcessorEntity createProcessorEntity(final ProcessorNode processor) { @@ -2198,13 +2251,19 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public ProcessorStatusDTO getProcessorStatus(final String id) { - return dtoFactory.createProcessorStatusDto(controllerFacade.getProcessorStatus(id)); + public ProcessorStatusEntity getProcessorStatus(final String id) { + final ProcessorNode processor = processorDAO.getProcessor(id); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(processor); + final ProcessorStatusDTO dto = dtoFactory.createProcessorStatusDto(controllerFacade.getProcessorStatus(id)); + return entityFactory.createProcessorStatusEntity(dto, permissions); } @Override - public StatusHistoryDTO getProcessorStatusHistory(final String id) { - return controllerFacade.getProcessorStatusHistory(id); + public StatusHistoryEntity getProcessorStatusHistory(final String id) { + final ProcessorNode processor = processorDAO.getProcessor(id); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(processor); + final StatusHistoryDTO dto = controllerFacade.getProcessorStatusHistory(id); + return entityFactory.createStatusHistoryEntity(dto, permissions); } private boolean authorizeBulletin(final Bulletin bulletin) { @@ -2696,8 +2755,11 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public PortStatusDTO getInputPortStatus(final String inputPortId) { - return dtoFactory.createPortStatusDto(controllerFacade.getInputPortStatus(inputPortId)); + public PortStatusEntity getInputPortStatus(final String inputPortId) { + final Port inputPort = inputPortDAO.getPort(inputPortId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(inputPort); + final PortStatusDTO dto = dtoFactory.createPortStatusDto(controllerFacade.getInputPortStatus(inputPortId)); + return entityFactory.createPortStatusEntity(dto, permissions); } @Override @@ -2707,8 +2769,11 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public PortStatusDTO getOutputPortStatus(final String outputPortId) { - return dtoFactory.createPortStatusDto(controllerFacade.getOutputPortStatus(outputPortId)); + public PortStatusEntity getOutputPortStatus(final String outputPortId) { + final Port outputPort = outputPortDAO.getPort(outputPortId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(outputPort); + final PortStatusDTO dto = dtoFactory.createPortStatusDto(controllerFacade.getOutputPortStatus(outputPortId)); + return entityFactory.createPortStatusEntity(dto, permissions); } @Override @@ -2718,13 +2783,19 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public RemoteProcessGroupStatusDTO getRemoteProcessGroupStatus(final String id) { - return dtoFactory.createRemoteProcessGroupStatusDto(controllerFacade.getRemoteProcessGroupStatus(id)); + public RemoteProcessGroupStatusEntity getRemoteProcessGroupStatus(final String id) { + final RemoteProcessGroup remoteProcessGroup = remoteProcessGroupDAO.getRemoteProcessGroup(id); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(remoteProcessGroup); + final RemoteProcessGroupStatusDTO dto = dtoFactory.createRemoteProcessGroupStatusDto(controllerFacade.getRemoteProcessGroupStatus(id)); + return entityFactory.createRemoteProcessGroupStatusEntity(dto, permissions); } @Override - public StatusHistoryDTO getRemoteProcessGroupStatusHistory(final String id) { - return controllerFacade.getRemoteProcessGroupStatusHistory(id); + public StatusHistoryEntity getRemoteProcessGroupStatusHistory(final String id) { + final RemoteProcessGroup remoteProcessGroup = remoteProcessGroupDAO.getRemoteProcessGroup(id); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(remoteProcessGroup); + final StatusHistoryDTO dto = controllerFacade.getRemoteProcessGroupStatusHistory(id); + return entityFactory.createStatusHistoryEntity(dto, permissions); } @Override @@ -2870,8 +2941,11 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade { } @Override - public StatusHistoryDTO getProcessGroupStatusHistory(final String groupId) { - return controllerFacade.getProcessGroupStatusHistory(groupId); + public StatusHistoryEntity getProcessGroupStatusHistory(final String groupId) { + final ProcessGroup processGroup = processGroupDAO.getProcessGroup(groupId); + final PermissionsDTO permissions = dtoFactory.createPermissionsDto(processGroup); + final StatusHistoryDTO dto = controllerFacade.getProcessGroupStatusHistory(groupId); + return entityFactory.createStatusHistoryEntity(dto, permissions); } private boolean authorizeAction(final Action action) { http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiWebConfigurationContext.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiWebConfigurationContext.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiWebConfigurationContext.java index 3800161..73d4a0f 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiWebConfigurationContext.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiWebConfigurationContext.java @@ -47,6 +47,7 @@ import org.apache.nifi.controller.reporting.ReportingTaskProvider; import org.apache.nifi.registry.VariableRegistry; import org.apache.nifi.controller.service.ControllerServiceProvider; import org.apache.nifi.util.NiFiProperties; +import org.apache.nifi.web.api.dto.AllowableValueDTO; import org.apache.nifi.web.api.dto.ControllerServiceDTO; import org.apache.nifi.web.api.dto.ProcessorConfigDTO; import org.apache.nifi.web.api.dto.ProcessorDTO; @@ -476,11 +477,11 @@ public class StandardNiFiWebConfigurationContext implements NiFiWebConfiguration for(String key : processorConfig.getDescriptors().keySet()){ PropertyDescriptorDTO descriptor = processorConfig.getDescriptors().get(key); - List<PropertyDescriptorDTO.AllowableValueDTO> allowableValuesDTO = descriptor.getAllowableValues(); + List<AllowableValueDTO> allowableValuesDTO = descriptor.getAllowableValues(); Map<String,String> allowableValues = new HashMap<>(); if(allowableValuesDTO != null) { - for (PropertyDescriptorDTO.AllowableValueDTO value : allowableValuesDTO) { + for (AllowableValueDTO value : allowableValuesDTO) { allowableValues.put(value.getValue(), value.getDisplayName()); } } http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ControllerResource.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ControllerResource.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ControllerResource.java index e622b04..4063a72 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ControllerResource.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/ControllerResource.java @@ -184,7 +184,7 @@ public class ControllerResource extends ApplicationResource { required = true ) final ControllerConfigurationEntity configEntity) { - if (configEntity == null || configEntity.getControllerConfiguration() == null) { + if (configEntity == null || configEntity.getComponent() == null) { throw new IllegalArgumentException("Controller configuration must be specified"); } @@ -205,7 +205,7 @@ public class ControllerResource extends ApplicationResource { }, null, () -> { - final ControllerConfigurationEntity entity = serviceFacade.updateControllerConfiguration(revision, configEntity.getControllerConfiguration()); + final ControllerConfigurationEntity entity = serviceFacade.updateControllerConfiguration(revision, configEntity.getComponent()); return clusterContext(generateOkResponse(entity)).build(); } ); http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FlowResource.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FlowResource.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FlowResource.java index 151a9c8..8dcbd73 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FlowResource.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/FlowResource.java @@ -61,15 +61,7 @@ import org.apache.nifi.web.api.dto.flow.FlowDTO; import org.apache.nifi.web.api.dto.flow.ProcessGroupFlowDTO; import org.apache.nifi.web.api.dto.search.NodeSearchResultDTO; import org.apache.nifi.web.api.dto.search.SearchResultsDTO; -import org.apache.nifi.web.api.dto.status.ConnectionStatusDTO; import org.apache.nifi.web.api.dto.status.ControllerStatusDTO; -import org.apache.nifi.web.api.dto.status.NodeProcessGroupStatusSnapshotDTO; -import org.apache.nifi.web.api.dto.status.PortStatusDTO; -import org.apache.nifi.web.api.dto.status.ProcessGroupStatusDTO; -import org.apache.nifi.web.api.dto.status.ProcessGroupStatusSnapshotDTO; -import org.apache.nifi.web.api.dto.status.ProcessorStatusDTO; -import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusDTO; -import org.apache.nifi.web.api.dto.status.StatusHistoryDTO; import org.apache.nifi.web.api.entity.AboutEntity; import org.apache.nifi.web.api.entity.ActionEntity; import org.apache.nifi.web.api.entity.BannerEntity; @@ -465,6 +457,10 @@ public class FlowResource extends ApplicationResource { authorizeFlow(); + if (isReplicateRequest()) { + return replicate(HttpMethod.GET); + } + // get all the controller services final Set<ControllerServiceEntity> controllerServices = serviceFacade.getControllerServices(groupId); controllerServiceResource.populateRemainingControllerServiceEntitiesContent(controllerServices); @@ -1273,13 +1269,7 @@ public class FlowResource extends ApplicationResource { } // get the specified processor status - final ProcessorStatusDTO processorStatus = serviceFacade.getProcessorStatus(id); - - // generate the response entity - final ProcessorStatusEntity entity = new ProcessorStatusEntity(); - entity.setProcessorStatus(processorStatus); - - // generate the response + final ProcessorStatusEntity entity = serviceFacade.getProcessorStatus(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1352,13 +1342,7 @@ public class FlowResource extends ApplicationResource { } // get the specified input port status - final PortStatusDTO portStatus = serviceFacade.getInputPortStatus(id); - - // generate the response entity - final PortStatusEntity entity = new PortStatusEntity(); - entity.setPortStatus(portStatus); - - // generate the response + final PortStatusEntity entity = serviceFacade.getInputPortStatus(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1431,13 +1415,7 @@ public class FlowResource extends ApplicationResource { } // get the specified output port status - final PortStatusDTO portStatus = serviceFacade.getOutputPortStatus(id); - - // generate the response entity - final PortStatusEntity entity = new PortStatusEntity(); - entity.setPortStatus(portStatus); - - // generate the response + final PortStatusEntity entity = serviceFacade.getOutputPortStatus(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1510,13 +1488,7 @@ public class FlowResource extends ApplicationResource { } // get the specified remote process group status - final RemoteProcessGroupStatusDTO remoteProcessGroupStatus = serviceFacade.getRemoteProcessGroupStatus(id); - - // generate the response entity - final RemoteProcessGroupStatusEntity entity = new RemoteProcessGroupStatusEntity(); - entity.setRemoteProcessGroupStatus(remoteProcessGroupStatus); - - // generate the response + final RemoteProcessGroupStatusEntity entity = serviceFacade.getRemoteProcessGroupStatus(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1597,37 +1569,10 @@ public class FlowResource extends ApplicationResource { } // get the status - final ProcessGroupStatusDTO statusReport = serviceFacade.getProcessGroupStatus(groupId); - - // prune the response as necessary - if (!recursive) { - pruneChildGroups(statusReport.getAggregateSnapshot()); - if (statusReport.getNodeSnapshots() != null) { - for (final NodeProcessGroupStatusSnapshotDTO nodeSnapshot : statusReport.getNodeSnapshots()) { - pruneChildGroups(nodeSnapshot.getStatusSnapshot()); - } - } - } - - // create the response entity - final ProcessGroupStatusEntity entity = new ProcessGroupStatusEntity(); - entity.setProcessGroupStatus(statusReport); - - // generate the response + final ProcessGroupStatusEntity entity = serviceFacade.getProcessGroupStatus(groupId, recursive); return clusterContext(generateOkResponse(entity)).build(); } - private void pruneChildGroups(final ProcessGroupStatusSnapshotDTO snapshot) { - for (final ProcessGroupStatusSnapshotDTO childProcessGroupStatus : snapshot.getProcessGroupStatusSnapshots()) { - childProcessGroupStatus.setConnectionStatusSnapshots(null); - childProcessGroupStatus.setProcessGroupStatusSnapshots(null); - childProcessGroupStatus.setInputPortStatusSnapshots(null); - childProcessGroupStatus.setOutputPortStatusSnapshots(null); - childProcessGroupStatus.setProcessorStatusSnapshots(null); - childProcessGroupStatus.setRemoteProcessGroupStatusSnapshots(null); - } - } - /** * Retrieves the specified connection status. * @@ -1697,13 +1642,7 @@ public class FlowResource extends ApplicationResource { } // get the specified connection status - final ConnectionStatusDTO connectionStatus = serviceFacade.getConnectionStatus(id); - - // generate the response entity - final ConnectionStatusEntity entity = new ConnectionStatusEntity(); - entity.setConnectionStatus(connectionStatus); - - // generate the response + final ConnectionStatusEntity entity = serviceFacade.getConnectionStatus(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1753,13 +1692,7 @@ public class FlowResource extends ApplicationResource { } // get the specified processor status history - final StatusHistoryDTO processorStatusHistory = serviceFacade.getProcessorStatusHistory(id); - - // generate the response entity - final StatusHistoryEntity entity = new StatusHistoryEntity(); - entity.setStatusHistory(processorStatusHistory); - - // generate the response + final StatusHistoryEntity entity = serviceFacade.getProcessorStatusHistory(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1805,13 +1738,7 @@ public class FlowResource extends ApplicationResource { } // get the specified processor status history - final StatusHistoryDTO processGroupStatusHistory = serviceFacade.getProcessGroupStatusHistory(groupId); - - // generate the response entity - final StatusHistoryEntity entity = new StatusHistoryEntity(); - entity.setStatusHistory(processGroupStatusHistory); - - // generate the response + final StatusHistoryEntity entity = serviceFacade.getProcessGroupStatusHistory(groupId); return clusterContext(generateOkResponse(entity)).build(); } @@ -1857,13 +1784,7 @@ public class FlowResource extends ApplicationResource { } // get the specified processor status history - final StatusHistoryDTO remoteProcessGroupStatusHistory = serviceFacade.getRemoteProcessGroupStatusHistory(id); - - // generate the response entity - final StatusHistoryEntity entity = new StatusHistoryEntity(); - entity.setStatusHistory(remoteProcessGroupStatusHistory); - - // generate the response + final StatusHistoryEntity entity = serviceFacade.getRemoteProcessGroupStatusHistory(id); return clusterContext(generateOkResponse(entity)).build(); } @@ -1909,13 +1830,7 @@ public class FlowResource extends ApplicationResource { } // get the specified processor status history - final StatusHistoryDTO connectionStatusHistory = serviceFacade.getConnectionStatusHistory(id); - - // generate the response entity - final StatusHistoryEntity entity = new StatusHistoryEntity(); - entity.setStatusHistory(connectionStatusHistory); - - // generate the response + final StatusHistoryEntity entity = serviceFacade.getConnectionStatusHistory(id); return clusterContext(generateOkResponse(entity)).build(); } http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java index e847b8b..119e477 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java @@ -110,7 +110,6 @@ import org.apache.nifi.util.FormatUtils; import org.apache.nifi.util.StringUtils; import org.apache.nifi.web.FlowModification; import org.apache.nifi.web.Revision; -import org.apache.nifi.web.api.dto.PropertyDescriptorDTO.AllowableValueDTO; import org.apache.nifi.web.api.dto.action.ActionDTO; import org.apache.nifi.web.api.dto.action.HistoryDTO; import org.apache.nifi.web.api.dto.action.component.details.ComponentDetailsDTO; @@ -141,7 +140,12 @@ import org.apache.nifi.web.api.dto.status.ProcessorStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusDTO; import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusSnapshotDTO; import org.apache.nifi.web.api.entity.AccessPolicySummaryEntity; +import org.apache.nifi.web.api.entity.ConnectionStatusSnapshotEntity; import org.apache.nifi.web.api.entity.FlowBreadcrumbEntity; +import org.apache.nifi.web.api.entity.PortStatusSnapshotEntity; +import org.apache.nifi.web.api.entity.ProcessGroupStatusSnapshotEntity; +import org.apache.nifi.web.api.entity.ProcessorStatusSnapshotEntity; +import org.apache.nifi.web.api.entity.RemoteProcessGroupStatusSnapshotEntity; import org.apache.nifi.web.api.entity.TenantEntity; import org.apache.nifi.web.controller.ControllerFacade; import org.apache.nifi.web.revision.RevisionManager; @@ -900,73 +904,86 @@ public final class DtoFactory { return processGroupStatusDto; } - public ProcessGroupStatusDTO createProcessGroupStatusDto(final ProcessGroupStatus processGroupStatus) { + public ProcessGroupStatusDTO createProcessGroupStatusDto(final ProcessGroup processGroup, final ProcessGroupStatus processGroupStatus) { final ProcessGroupStatusDTO processGroupStatusDto = createConciseProcessGroupStatusDto(processGroupStatus); final ProcessGroupStatusSnapshotDTO snapshot = processGroupStatusDto.getAggregateSnapshot(); // processor status - final Collection<ProcessorStatusSnapshotDTO> processorStatDtoCollection = new ArrayList<>(); - snapshot.setProcessorStatusSnapshots(processorStatDtoCollection); + final Collection<ProcessorStatusSnapshotEntity> processorStatusSnapshotEntities = new ArrayList<>(); + snapshot.setProcessorStatusSnapshots(processorStatusSnapshotEntities); final Collection<ProcessorStatus> processorStatusCollection = processGroupStatus.getProcessorStatus(); if (processorStatusCollection != null) { for (final ProcessorStatus processorStatus : processorStatusCollection) { final ProcessorStatusDTO processorStatusDto = createProcessorStatusDto(processorStatus); - processorStatDtoCollection.add(processorStatusDto.getAggregateSnapshot()); + final ProcessorNode processor = processGroup.findProcessor(processorStatusDto.getId()); + final PermissionsDTO processorPermissions = createPermissionsDto(processor); + processorStatusSnapshotEntities.add(entityFactory.createProcessorStatusSnapshotEntity(processorStatusDto.getAggregateSnapshot(), processorPermissions)); } } // connection status - final Collection<ConnectionStatusSnapshotDTO> connectionStatusDtoCollection = new ArrayList<>(); + final Collection<ConnectionStatusSnapshotEntity> connectionStatusDtoCollection = new ArrayList<>(); snapshot.setConnectionStatusSnapshots(connectionStatusDtoCollection); final Collection<ConnectionStatus> connectionStatusCollection = processGroupStatus.getConnectionStatus(); if (connectionStatusCollection != null) { for (final ConnectionStatus connectionStatus : connectionStatusCollection) { final ConnectionStatusDTO connectionStatusDto = createConnectionStatusDto(connectionStatus); - connectionStatusDtoCollection.add(connectionStatusDto.getAggregateSnapshot()); + final Connection connection = processGroup.findConnection(connectionStatusDto.getId()); + final PermissionsDTO connectionPermissions = createPermissionsDto(connection); + connectionStatusDtoCollection.add(entityFactory.createConnectionStatusSnapshotEntity(connectionStatusDto.getAggregateSnapshot(), connectionPermissions)); } } // local child process groups - final Collection<ProcessGroupStatusSnapshotDTO> childProcessGroupStatusDtoCollection = new ArrayList<>(); + final Collection<ProcessGroupStatusSnapshotEntity> childProcessGroupStatusDtoCollection = new ArrayList<>(); snapshot.setProcessGroupStatusSnapshots(childProcessGroupStatusDtoCollection); final Collection<ProcessGroupStatus> childProcessGroupStatusCollection = processGroupStatus.getProcessGroupStatus(); if (childProcessGroupStatusCollection != null) { for (final ProcessGroupStatus childProcessGroupStatus : childProcessGroupStatusCollection) { - final ProcessGroupStatusDTO childProcessGroupStatusDto = createProcessGroupStatusDto(childProcessGroupStatus); - childProcessGroupStatusDtoCollection.add(childProcessGroupStatusDto.getAggregateSnapshot()); + final ProcessGroupStatusDTO childProcessGroupStatusDto = createProcessGroupStatusDto(processGroup, childProcessGroupStatus); + final ProcessGroup childProcessGroup = processGroup.findProcessGroup(childProcessGroupStatusDto.getId()); + final PermissionsDTO childProcessGroupPermissions = createPermissionsDto(childProcessGroup); + childProcessGroupStatusDtoCollection.add(entityFactory.createProcessGroupStatusSnapshotEntity(childProcessGroupStatusDto.getAggregateSnapshot(), childProcessGroupPermissions)); } } // remote child process groups - final Collection<RemoteProcessGroupStatusSnapshotDTO> childRemoteProcessGroupStatusDtoCollection = new ArrayList<>(); + final Collection<RemoteProcessGroupStatusSnapshotEntity> childRemoteProcessGroupStatusDtoCollection = new ArrayList<>(); snapshot.setRemoteProcessGroupStatusSnapshots(childRemoteProcessGroupStatusDtoCollection); final Collection<RemoteProcessGroupStatus> childRemoteProcessGroupStatusCollection = processGroupStatus.getRemoteProcessGroupStatus(); if (childRemoteProcessGroupStatusCollection != null) { for (final RemoteProcessGroupStatus childRemoteProcessGroupStatus : childRemoteProcessGroupStatusCollection) { final RemoteProcessGroupStatusDTO childRemoteProcessGroupStatusDto = createRemoteProcessGroupStatusDto(childRemoteProcessGroupStatus); - childRemoteProcessGroupStatusDtoCollection.add(childRemoteProcessGroupStatusDto.getAggregateSnapshot()); + final RemoteProcessGroup remoteProcessGroup = processGroup.findRemoteProcessGroup(childRemoteProcessGroupStatusDto.getId()); + final PermissionsDTO remoteProcessGroupPermissions = createPermissionsDto(remoteProcessGroup); + childRemoteProcessGroupStatusDtoCollection.add(entityFactory.createRemoteProcessGroupStatusSnapshotEntity(childRemoteProcessGroupStatusDto.getAggregateSnapshot(), + remoteProcessGroupPermissions)); } } // input ports - final Collection<PortStatusSnapshotDTO> inputPortStatusDtoCollection = new ArrayList<>(); + final Collection<PortStatusSnapshotEntity> inputPortStatusDtoCollection = new ArrayList<>(); snapshot.setInputPortStatusSnapshots(inputPortStatusDtoCollection); final Collection<PortStatus> inputPortStatusCollection = processGroupStatus.getInputPortStatus(); if (inputPortStatusCollection != null) { for (final PortStatus portStatus : inputPortStatusCollection) { final PortStatusDTO portStatusDto = createPortStatusDto(portStatus); - inputPortStatusDtoCollection.add(portStatusDto.getAggregateSnapshot()); + final Port inputPort = processGroup.findInputPort(portStatus.getId()); + final PermissionsDTO inputPortPermissions = createPermissionsDto(inputPort); + inputPortStatusDtoCollection.add(entityFactory.createPortStatusSnapshotEntity(portStatusDto.getAggregateSnapshot(), inputPortPermissions)); } } // output ports - final Collection<PortStatusSnapshotDTO> outputPortStatusDtoCollection = new ArrayList<>(); + final Collection<PortStatusSnapshotEntity> outputPortStatusDtoCollection = new ArrayList<>(); snapshot.setOutputPortStatusSnapshots(outputPortStatusDtoCollection); final Collection<PortStatus> outputPortStatusCollection = processGroupStatus.getOutputPortStatus(); if (outputPortStatusCollection != null) { for (final PortStatus portStatus : outputPortStatusCollection) { final PortStatusDTO portStatusDto = createPortStatusDto(portStatus); - outputPortStatusDtoCollection.add(portStatusDto.getAggregateSnapshot()); + final Port outputPort = processGroup.findOutputPort(portStatus.getId()); + final PermissionsDTO outputPortPermissions = createPermissionsDto(outputPort); + outputPortStatusDtoCollection.add(entityFactory.createPortStatusSnapshotEntity(portStatusDto.getAggregateSnapshot(), outputPortPermissions)); } } http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java index e3e30d5..00e239c 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java @@ -19,13 +19,21 @@ package org.apache.nifi.web.api.dto; import org.apache.nifi.web.api.dto.flow.FlowBreadcrumbDTO; import org.apache.nifi.web.api.dto.flow.ProcessGroupFlowDTO; import org.apache.nifi.web.api.dto.status.ConnectionStatusDTO; +import org.apache.nifi.web.api.dto.status.ConnectionStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.PortStatusDTO; +import org.apache.nifi.web.api.dto.status.PortStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.ProcessGroupStatusDTO; +import org.apache.nifi.web.api.dto.status.ProcessGroupStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.ProcessorStatusDTO; +import org.apache.nifi.web.api.dto.status.ProcessorStatusSnapshotDTO; import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusDTO; +import org.apache.nifi.web.api.dto.status.RemoteProcessGroupStatusSnapshotDTO; +import org.apache.nifi.web.api.dto.status.StatusHistoryDTO; import org.apache.nifi.web.api.entity.AccessPolicyEntity; import org.apache.nifi.web.api.entity.AccessPolicySummaryEntity; import org.apache.nifi.web.api.entity.ConnectionEntity; +import org.apache.nifi.web.api.entity.ConnectionStatusEntity; +import org.apache.nifi.web.api.entity.ConnectionStatusSnapshotEntity; import org.apache.nifi.web.api.entity.ControllerConfigurationEntity; import org.apache.nifi.web.api.entity.ControllerServiceEntity; import org.apache.nifi.web.api.entity.ControllerServiceReferencingComponentEntity; @@ -33,13 +41,22 @@ import org.apache.nifi.web.api.entity.FlowBreadcrumbEntity; import org.apache.nifi.web.api.entity.FunnelEntity; import org.apache.nifi.web.api.entity.LabelEntity; import org.apache.nifi.web.api.entity.PortEntity; +import org.apache.nifi.web.api.entity.PortStatusEntity; +import org.apache.nifi.web.api.entity.PortStatusSnapshotEntity; import org.apache.nifi.web.api.entity.ProcessGroupEntity; import org.apache.nifi.web.api.entity.ProcessGroupFlowEntity; +import org.apache.nifi.web.api.entity.ProcessGroupStatusEntity; +import org.apache.nifi.web.api.entity.ProcessGroupStatusSnapshotEntity; import org.apache.nifi.web.api.entity.ProcessorEntity; +import org.apache.nifi.web.api.entity.ProcessorStatusEntity; +import org.apache.nifi.web.api.entity.ProcessorStatusSnapshotEntity; import org.apache.nifi.web.api.entity.RemoteProcessGroupEntity; import org.apache.nifi.web.api.entity.RemoteProcessGroupPortEntity; +import org.apache.nifi.web.api.entity.RemoteProcessGroupStatusEntity; +import org.apache.nifi.web.api.entity.RemoteProcessGroupStatusSnapshotEntity; import org.apache.nifi.web.api.entity.ReportingTaskEntity; import org.apache.nifi.web.api.entity.SnippetEntity; +import org.apache.nifi.web.api.entity.StatusHistoryEntity; import org.apache.nifi.web.api.entity.TenantEntity; import org.apache.nifi.web.api.entity.UserEntity; import org.apache.nifi.web.api.entity.UserGroupEntity; @@ -49,20 +66,105 @@ import java.util.List; public final class EntityFactory { + private static final String NO_PERMISSIONS_MESSAGE = "No permissions were associated with this request"; + + public StatusHistoryEntity createStatusHistoryEntity(final StatusHistoryDTO statusHistory, final PermissionsDTO permissions) { + final StatusHistoryEntity entity = new StatusHistoryEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setStatusHistory(statusHistory); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public ProcessorStatusEntity createProcessorStatusEntity(final ProcessorStatusDTO status, final PermissionsDTO permissions) { + final ProcessorStatusEntity entity = new ProcessorStatusEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setProcessorStatus(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public ProcessorStatusSnapshotEntity createProcessorStatusSnapshotEntity(final ProcessorStatusSnapshotDTO status, final PermissionsDTO permissions) { + final ProcessorStatusSnapshotEntity entity = new ProcessorStatusSnapshotEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setProcessorStatusSnapshot(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public ConnectionStatusEntity createConnectionStatusEntity(final ConnectionStatusDTO status, final PermissionsDTO permissions) { + final ConnectionStatusEntity entity = new ConnectionStatusEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setConnectionStatus(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public ConnectionStatusSnapshotEntity createConnectionStatusSnapshotEntity(final ConnectionStatusSnapshotDTO status, final PermissionsDTO permissions) { + final ConnectionStatusSnapshotEntity entity = new ConnectionStatusSnapshotEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setConnectionStatusSnapshot(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public ProcessGroupStatusEntity createProcessGroupStatusEntity(final ProcessGroupStatusDTO status, final PermissionsDTO permissions) { + final ProcessGroupStatusEntity entity = new ProcessGroupStatusEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setProcessGroupStatus(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public ProcessGroupStatusSnapshotEntity createProcessGroupStatusSnapshotEntity(final ProcessGroupStatusSnapshotDTO status, final PermissionsDTO permissions) { + final ProcessGroupStatusSnapshotEntity entity = new ProcessGroupStatusSnapshotEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setProcessGroupStatusSnapshot(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public RemoteProcessGroupStatusEntity createRemoteProcessGroupStatusEntity(final RemoteProcessGroupStatusDTO status, final PermissionsDTO permissions) { + final RemoteProcessGroupStatusEntity entity = new RemoteProcessGroupStatusEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setRemoteProcessGroupStatus(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public RemoteProcessGroupStatusSnapshotEntity createRemoteProcessGroupStatusSnapshotEntity(final RemoteProcessGroupStatusSnapshotDTO status, final PermissionsDTO permissions) { + final RemoteProcessGroupStatusSnapshotEntity entity = new RemoteProcessGroupStatusSnapshotEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setRemoteProcessGroupStatusSnapshot(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public PortStatusEntity createPortStatusEntity(final PortStatusDTO status, final PermissionsDTO permissions) { + final PortStatusEntity entity = new PortStatusEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setPortStatus(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + + public PortStatusSnapshotEntity createPortStatusSnapshotEntity(final PortStatusSnapshotDTO status, final PermissionsDTO permissions) { + final PortStatusSnapshotEntity entity = new PortStatusSnapshotEntity(); + entity.setCanRead(permissions.getCanRead()); + entity.setPortStatusSnapshot(status); // always set the status, as it's always allowed... just need to provide permission context for merging responses + return entity; + } + public ControllerConfigurationEntity createControllerConfigurationEntity(final ControllerConfigurationDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ControllerConfigurationEntity entity = new ControllerConfigurationEntity(); entity.setRevision(revision); entity.setCurrentTime(new Date()); if (dto != null) { entity.setPermissions(permissions); - if (permissions != null && permissions.getCanRead()) { - entity.setControllerConfiguration(dto); + if (permissions.getCanRead()) { + entity.setComponent(dto); } } return entity; } public ProcessGroupFlowEntity createProcessGroupFlowEntity(final ProcessGroupFlowDTO dto, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ProcessGroupFlowEntity entity = new ProcessGroupFlowEntity(); entity.setProcessGroupFlow(dto); entity.setPermissions(permissions); @@ -72,6 +174,9 @@ public final class EntityFactory { public ProcessorEntity createProcessorEntity(final ProcessorDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final ProcessorStatusDTO status, final List<BulletinDTO> bulletins) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ProcessorEntity entity = new ProcessorEntity(); entity.setRevision(revision); if (dto != null) { @@ -80,7 +185,7 @@ public final class EntityFactory { entity.setId(dto.getId()); entity.setInputRequirement(dto.getInputRequirement()); entity.setPosition(dto.getPosition()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); entity.setBulletins(bulletins); } @@ -89,6 +194,9 @@ public final class EntityFactory { } public PortEntity createPortEntity(final PortDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final PortStatusDTO status, final List<BulletinDTO> bulletins) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final PortEntity entity = new PortEntity(); entity.setRevision(revision); if (dto != null) { @@ -97,7 +205,7 @@ public final class EntityFactory { entity.setId(dto.getId()); entity.setPosition(dto.getPosition()); entity.setPortType(dto.getType()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); entity.setBulletins(bulletins); } @@ -108,6 +216,9 @@ public final class EntityFactory { public ProcessGroupEntity createProcessGroupEntity(final ProcessGroupDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final ProcessGroupStatusDTO status, final List<BulletinDTO> bulletins) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ProcessGroupEntity entity = new ProcessGroupEntity(); entity.setRevision(revision); entity.setCurrentTime(new Date()); @@ -133,6 +244,9 @@ public final class EntityFactory { } public LabelEntity createLabelEntity(final LabelDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final LabelEntity entity = new LabelEntity(); entity.setRevision(revision); if (dto != null) { @@ -145,7 +259,7 @@ public final class EntityFactory { dimensions.setWidth(dto.getWidth()); entity.setDimensions(dimensions); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -153,13 +267,16 @@ public final class EntityFactory { } public UserEntity createUserEntity(final UserDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final UserEntity entity = new UserEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -167,13 +284,16 @@ public final class EntityFactory { } public TenantEntity createTenantEntity(final TenantDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final TenantEntity entity = new TenantEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -181,13 +301,16 @@ public final class EntityFactory { } public AccessPolicySummaryEntity createAccessPolicySummaryEntity(final AccessPolicySummaryDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final AccessPolicySummaryEntity entity = new AccessPolicySummaryEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -195,13 +318,16 @@ public final class EntityFactory { } public UserGroupEntity createUserGroupEntity(final UserGroupDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final UserGroupEntity entity = new UserGroupEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -209,6 +335,9 @@ public final class EntityFactory { } public AccessPolicyEntity createAccessPolicyEntity(final AccessPolicyDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final AccessPolicyEntity entity = new AccessPolicyEntity(); entity.setRevision(revision); entity.setGenerated(new Date()); @@ -216,7 +345,7 @@ public final class EntityFactory { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -224,13 +353,16 @@ public final class EntityFactory { } public FunnelEntity createFunnelEntity(final FunnelDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final FunnelEntity entity = new FunnelEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); entity.setPosition(dto.getPosition()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -238,6 +370,9 @@ public final class EntityFactory { } public ConnectionEntity createConnectionEntity(final ConnectionDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final ConnectionStatusDTO status) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ConnectionEntity entity = new ConnectionEntity(); entity.setRevision(revision); if (dto != null) { @@ -254,7 +389,7 @@ public final class EntityFactory { entity.setDestinationId(dto.getDestination().getId()); entity.setDestinationGroupId(dto.getDestination().getGroupId()); entity.setDestinationType(dto.getDestination().getType()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -264,6 +399,9 @@ public final class EntityFactory { public RemoteProcessGroupEntity createRemoteProcessGroupEntity(final RemoteProcessGroupDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final RemoteProcessGroupStatusDTO status, final List<BulletinDTO> bulletins) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final RemoteProcessGroupEntity entity = new RemoteProcessGroupEntity(); entity.setRevision(revision); if (dto != null) { @@ -273,7 +411,7 @@ public final class EntityFactory { entity.setPosition(dto.getPosition()); entity.setInputPortCount(dto.getInputPortCount()); entity.setOutputPortCount(dto.getOutputPortCount()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); entity.setBulletins(bulletins); } @@ -282,12 +420,15 @@ public final class EntityFactory { } public RemoteProcessGroupPortEntity createRemoteProcessGroupPortEntity(final RemoteProcessGroupPortDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final RemoteProcessGroupPortEntity entity = new RemoteProcessGroupPortEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setRemoteProcessGroupPort(dto); } } @@ -302,12 +443,15 @@ public final class EntityFactory { } public ReportingTaskEntity createReportingTaskEntity(final ReportingTaskDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final List<BulletinDTO> bulletins) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ReportingTaskEntity entity = new ReportingTaskEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); entity.setBulletins(bulletins); } @@ -317,13 +461,16 @@ public final class EntityFactory { } public ControllerServiceEntity createControllerServiceEntity(final ControllerServiceDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final List<BulletinDTO> bulletins) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ControllerServiceEntity entity = new ControllerServiceEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); entity.setPosition(dto.getPosition()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); entity.setBulletins(bulletins); } @@ -334,12 +481,15 @@ public final class EntityFactory { public ControllerServiceReferencingComponentEntity createControllerServiceReferencingComponentEntity( final ControllerServiceReferencingComponentDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final ControllerServiceReferencingComponentEntity entity = new ControllerServiceReferencingComponentEntity(); entity.setRevision(revision); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setComponent(dto); } } @@ -348,11 +498,14 @@ public final class EntityFactory { } public FlowBreadcrumbEntity createFlowBreadcrumbEntity(final FlowBreadcrumbDTO dto, final PermissionsDTO permissions) { + if (permissions == null || permissions.getCanRead() == null) { + throw new IllegalStateException(NO_PERMISSIONS_MESSAGE); + } final FlowBreadcrumbEntity entity = new FlowBreadcrumbEntity(); if (dto != null) { entity.setPermissions(permissions); entity.setId(dto.getId()); - if (permissions != null && permissions.getCanRead()) { + if (permissions.getCanRead()) { entity.setBreadcrumb(dto); } } http://git-wip-us.apache.org/repos/asf/nifi/blob/572dfed7/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js index 713a2c2..eb0180b 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-settings.js @@ -62,7 +62,7 @@ nf.Settings = (function () { 'version': version } }), - 'controllerConfiguration': configuration + 'component': configuration }; // save the new configuration details @@ -860,8 +860,8 @@ nf.Settings = (function () { if (response.permissions.canWrite) { // populate the settings - $('#maximum-timer-driven-thread-count-field').removeClass('unset').val(response.controllerConfiguration.maxTimerDrivenThreadCount); - $('#maximum-event-driven-thread-count-field').removeClass('unset').val(response.controllerConfiguration.maxEventDrivenThreadCount); + $('#maximum-timer-driven-thread-count-field').removeClass('unset').val(response.component.maxTimerDrivenThreadCount); + $('#maximum-event-driven-thread-count-field').removeClass('unset').val(response.component.maxEventDrivenThreadCount); setEditable(true); @@ -872,8 +872,8 @@ nf.Settings = (function () { } else { if (response.permissions.canRead) { // populate the settings - $('#read-only-maximum-timer-driven-thread-count-field').removeClass('unset').text(response.controllerConfiguration.maxTimerDrivenThreadCount); - $('#read-only-maximum-event-driven-thread-count-field').removeClass('unset').text(response.controllerConfiguration.maxEventDrivenThreadCount); + $('#read-only-maximum-timer-driven-thread-count-field').removeClass('unset').text(response.component.maxTimerDrivenThreadCount); + $('#read-only-maximum-event-driven-thread-count-field').removeClass('unset').text(response.component.maxEventDrivenThreadCount); } else { setUnauthorizedText(); }