This is an automated email from the ASF dual-hosted git repository.
rfellows pushed a commit to branch NIFI-15258
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/NIFI-15258 by this push:
new c7bb74f17f NIFI-15323: Adding operate permissions to the
ConnectorEntity. (#10625)
c7bb74f17f is described below
commit c7bb74f17f9e92c5e08aeb848bb49d01daa884d7
Author: Matt Gilman <[email protected]>
AuthorDate: Wed Dec 10 14:55:50 2025 -0500
NIFI-15323: Adding operate permissions to the ConnectorEntity. (#10625)
This closes #10625
---
.../nifi/web/api/entity/ConnectorEntity.java | 8 +++++---
.../apache/nifi/web/StandardNiFiServiceFacade.java | 24 +++++++++++++++-------
.../org/apache/nifi/web/api/dto/EntityFactory.java | 4 +++-
3 files changed, 25 insertions(+), 11 deletions(-)
diff --git
a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/ConnectorEntity.java
b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/ConnectorEntity.java
index 1e533823fa..0cf02aaa00 100644
---
a/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/ConnectorEntity.java
+++
b/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/entity/ConnectorEntity.java
@@ -28,6 +28,7 @@ import org.apache.nifi.web.api.dto.status.ConnectorStatusDTO;
public class ConnectorEntity extends ComponentEntity implements
Permissible<ConnectorDTO>, OperationPermissible {
private ConnectorDTO component;
private ConnectorStatusDTO status;
+ private PermissionsDTO operatePermissions;
@Override
@Schema(description = "The Connector DTO")
@@ -40,14 +41,15 @@ public class ConnectorEntity extends ComponentEntity
implements Permissible<Conn
this.component = component;
}
+ @Schema(description = "The permissions for this component operations.")
@Override
public PermissionsDTO getOperatePermissions() {
- return getPermissions();
+ return operatePermissions;
}
@Override
- public void setOperatePermissions(final PermissionsDTO permissions) {
- setPermissions(permissions);
+ public void setOperatePermissions(final PermissionsDTO operatePermissions)
{
+ this.operatePermissions = operatePermissions;
}
@Schema(description = "The status of the connector.")
diff --git
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
index 61a8f40711..de1e068bdc 100644
---
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
+++
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
@@ -3493,7 +3493,8 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorNode connector =
connectorDAO.getConnector(snapshot.getComponent().getId());
final PermissionsDTO permissions =
dtoFactory.createPermissionsDto(connector);
- return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
+ final PermissionsDTO operatePermissions =
dtoFactory.createPermissionsDto(new OperationAuthorizable(connector));
+ return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions,
operatePermissions);
}
@Override
@@ -3502,7 +3503,8 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorDTO dto = dtoFactory.createConnectorDto(node);
final RevisionDTO revision =
dtoFactory.createRevisionDTO(revisionManager.getRevision(node.getIdentifier()));
final PermissionsDTO permissions =
dtoFactory.createPermissionsDto(node);
- return entityFactory.createConnectorEntity(dto, revision,
permissions);
+ final PermissionsDTO operatePermissions =
dtoFactory.createPermissionsDto(new OperationAuthorizable(node));
+ return entityFactory.createConnectorEntity(dto, revision,
permissions, operatePermissions);
}).collect(Collectors.toSet());
}
@@ -3512,7 +3514,8 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorDTO dto = dtoFactory.createConnectorDto(node);
final RevisionDTO revision =
dtoFactory.createRevisionDTO(revisionManager.getRevision(node.getIdentifier()));
final PermissionsDTO permissions =
dtoFactory.createPermissionsDto(node);
- return entityFactory.createConnectorEntity(dto, revision, permissions);
+ final PermissionsDTO operatePermissions =
dtoFactory.createPermissionsDto(new OperationAuthorizable(node));
+ return entityFactory.createConnectorEntity(dto, revision, permissions,
operatePermissions);
}
@Override
@@ -3538,7 +3541,8 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorNode node =
connectorDAO.getConnector(snapshot.getComponent().getId());
final PermissionsDTO permissions =
dtoFactory.createPermissionsDto(node);
- return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
+ final PermissionsDTO operatePermissions =
dtoFactory.createPermissionsDto(new OperationAuthorizable(node));
+ return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions,
operatePermissions);
}
@Override
@@ -3564,7 +3568,11 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorDTO dto = snapshot.getComponent();
final PermissionsDTO permissions = new PermissionsDTO();
permissions.setCanRead(Boolean.FALSE);
- return entityFactory.createConnectorEntity(dto,
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
+ permissions.setCanWrite(Boolean.FALSE);
+ final PermissionsDTO operatePermissions = new PermissionsDTO();
+ operatePermissions.setCanRead(Boolean.FALSE);
+ operatePermissions.setCanWrite(Boolean.FALSE);
+ return entityFactory.createConnectorEntity(dto,
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions,
operatePermissions);
}
@Override
@@ -3589,7 +3597,8 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorNode node =
connectorDAO.getConnector(snapshot.getComponent().getId());
final PermissionsDTO permissions =
dtoFactory.createPermissionsDto(node);
- return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
+ final PermissionsDTO operatePermissions =
dtoFactory.createPermissionsDto(new OperationAuthorizable(node));
+ return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions,
operatePermissions);
}
@Override
@@ -3647,7 +3656,8 @@ public class StandardNiFiServiceFacade implements
NiFiServiceFacade {
final ConnectorNode node =
connectorDAO.getConnector(snapshot.getComponent().getId());
final PermissionsDTO permissions =
dtoFactory.createPermissionsDto(node);
- return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions);
+ final PermissionsDTO operatePermissions =
dtoFactory.createPermissionsDto(new OperationAuthorizable(node));
+ return entityFactory.createConnectorEntity(snapshot.getComponent(),
dtoFactory.createRevisionDTO(snapshot.getLastModification()), permissions,
operatePermissions);
}
@Override
diff --git
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
index ee21df4e48..5e6cacb696 100644
---
a/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
+++
b/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/EntityFactory.java
@@ -130,11 +130,13 @@ public final class EntityFactory {
public ConnectorEntity createConnectorEntity(final ConnectorDTO dto,
final RevisionDTO revision,
- final PermissionsDTO
permissions) {
+ final PermissionsDTO
permissions,
+ final PermissionsDTO
operatePermissions) {
final ConnectorEntity entity = new ConnectorEntity();
entity.setRevision(revision);
if (dto != null) {
entity.setPermissions(permissions);
+ entity.setOperatePermissions(operatePermissions);
entity.setId(dto.getId());
if (permissions != null && permissions.getCanRead()) {
entity.setComponent(dto);