| /* |
| * 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. |
| * The ASF licenses this file to You under the Apache License, Version 2.0 |
| * (the "License"); you may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.apache.nifi.web.api.dto; |
| |
| import org.apache.nifi.web.api.dto.action.ActionDTO; |
| import org.apache.nifi.web.api.dto.diagnostics.ProcessorDiagnosticsDTO; |
| 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.ConnectionStatisticsDTO; |
| import org.apache.nifi.web.api.dto.status.ConnectionStatisticsSnapshotDTO; |
| 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.ControllerServiceStatusDTO; |
| 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.ReportingTaskStatusDTO; |
| 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.ActionEntity; |
| import org.apache.nifi.web.api.entity.AffectedComponentEntity; |
| import org.apache.nifi.web.api.entity.AllowableValueEntity; |
| import org.apache.nifi.web.api.entity.BucketEntity; |
| import org.apache.nifi.web.api.entity.BulletinEntity; |
| import org.apache.nifi.web.api.entity.ComponentReferenceEntity; |
| import org.apache.nifi.web.api.entity.ComponentValidationResultEntity; |
| import org.apache.nifi.web.api.entity.ConnectionEntity; |
| import org.apache.nifi.web.api.entity.ConnectionStatisticsEntity; |
| import org.apache.nifi.web.api.entity.ConnectionStatisticsSnapshotEntity; |
| 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; |
| 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.ParameterContextEntity; |
| import org.apache.nifi.web.api.entity.ParameterContextReferenceEntity; |
| 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.ProcessorDiagnosticsEntity; |
| 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.RegistryClientEntity; |
| import org.apache.nifi.web.api.entity.RegistryEntity; |
| 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; |
| import org.apache.nifi.web.api.entity.VariableRegistryEntity; |
| import org.apache.nifi.web.api.entity.VersionControlInformationEntity; |
| |
| import java.util.Date; |
| import java.util.List; |
| import java.util.stream.Collectors; |
| |
| public final class EntityFactory { |
| |
| public ProcessorDiagnosticsEntity createProcessorDiagnosticsEntity(final ProcessorDiagnosticsDTO dto, final RevisionDTO revision, final PermissionsDTO processorPermissions, |
| final ProcessorStatusDTO status, final List<BulletinEntity> bulletins) { |
| final ProcessorDiagnosticsEntity entity = new ProcessorDiagnosticsEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(processorPermissions); |
| entity.setId(dto.getProcessor().getId()); |
| if (processorPermissions != null && processorPermissions.getCanRead()) { |
| entity.setComponent(dto); |
| entity.setBulletins(bulletins); |
| } |
| } |
| |
| entity.setBulletins(bulletins); |
| return entity; |
| } |
| |
| 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.setId(status.getId()); |
| 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.setId(status.getId()); |
| 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 ConnectionStatisticsEntity createConnectionStatisticsEntity(final ConnectionStatisticsDTO statistics, final PermissionsDTO permissions) { |
| final ConnectionStatisticsEntity entity = new ConnectionStatisticsEntity(); |
| entity.setCanRead(permissions.getCanRead()); |
| entity.setConnectionStatistics(statistics); // always set the statistics, as it's always allowed... just need to provide permission context for merging responses |
| return entity; |
| } |
| |
| public ConnectionStatisticsSnapshotEntity createConnectionStatisticsSnapshotEntity(final ConnectionStatisticsSnapshotDTO statistics, final PermissionsDTO permissions) { |
| final ConnectionStatisticsSnapshotEntity entity = new ConnectionStatisticsSnapshotEntity(); |
| entity.setId(statistics.getId()); |
| entity.setCanRead(permissions.getCanRead()); |
| entity.setConnectionStatisticsSnapshot(statistics); // always set the statistics, 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.setId(status.getId()); |
| 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.setId(status.getId()); |
| 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.setId(status.getId()); |
| 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) { |
| final ControllerConfigurationEntity entity = new ControllerConfigurationEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public ProcessGroupFlowEntity createProcessGroupFlowEntity(final ProcessGroupFlowDTO dto, final PermissionsDTO permissions) { |
| final ProcessGroupFlowEntity entity = new ProcessGroupFlowEntity(); |
| entity.setProcessGroupFlow(dto); |
| entity.setPermissions(permissions); |
| return entity; |
| } |
| |
| public ProcessorEntity createProcessorEntity(final ProcessorDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final PermissionsDTO operatePermissions, |
| final ProcessorStatusDTO status, final List<BulletinEntity> bulletins) { |
| |
| final ProcessorEntity entity = new ProcessorEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setStatus(status); |
| entity.setId(dto.getId()); |
| entity.setInputRequirement(dto.getInputRequirement()); |
| entity.setPosition(dto.getPosition()); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| entity.setBulletins(bulletins); |
| } |
| } |
| return entity; |
| } |
| |
| public PortEntity createPortEntity(final PortDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final PermissionsDTO operatePermissions, |
| final PortStatusDTO status, final List<BulletinEntity> bulletins) { |
| final PortEntity entity = new PortEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setStatus(status); |
| entity.setId(dto.getId()); |
| entity.setPosition(dto.getPosition()); |
| entity.setPortType(dto.getType()); |
| entity.setAllowRemoteAccess(dto.getAllowRemoteAccess()); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| entity.setBulletins(bulletins); |
| } |
| } |
| return entity; |
| } |
| |
| public ProcessGroupEntity createProcessGroupEntity(final ProcessGroupDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, |
| final ProcessGroupStatusDTO status, final List<BulletinEntity> bulletins) { |
| |
| final ProcessGroupEntity entity = new ProcessGroupEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setStatus(status); |
| entity.setId(dto.getId()); |
| entity.setPosition(dto.getPosition()); |
| |
| entity.setLocalInputPortCount(dto.getLocalInputPortCount()); |
| entity.setLocalOutputPortCount(dto.getLocalOutputPortCount()); |
| entity.setPublicInputPortCount(dto.getPublicInputPortCount()); |
| entity.setPublicOutputPortCount(dto.getPublicOutputPortCount()); |
| entity.setRunningCount(dto.getRunningCount()); |
| entity.setStoppedCount(dto.getStoppedCount()); |
| entity.setInvalidCount(dto.getInvalidCount()); |
| entity.setDisabledCount(dto.getDisabledCount()); |
| entity.setActiveRemotePortCount(dto.getActiveRemotePortCount()); |
| entity.setInactiveRemotePortCount(dto.getInactiveRemotePortCount()); |
| |
| entity.setUpToDateCount(dto.getUpToDateCount()); |
| entity.setLocallyModifiedCount(dto.getLocallyModifiedCount()); |
| entity.setStaleCount(dto.getStaleCount()); |
| entity.setLocallyModifiedAndStaleCount(dto.getLocallyModifiedAndStaleCount()); |
| entity.setSyncFailureCount(dto.getSyncFailureCount()); |
| |
| final ParameterContextReferenceEntity parameterContextReference = dto.getParameterContext(); |
| if (parameterContextReference != null) { |
| entity.setParameterContext(parameterContextReference); |
| } |
| |
| if (dto.getVersionControlInformation() != null) { |
| entity.setVersionedFlowState(dto.getVersionControlInformation().getState()); |
| } |
| |
| entity.setBulletins(bulletins); // include bulletins as authorized descendant component bulletins should be available |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public LabelEntity createLabelEntity(final LabelDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final LabelEntity entity = new LabelEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| entity.setPosition(dto.getPosition()); |
| |
| final DimensionsDTO dimensions = new DimensionsDTO(); |
| dimensions.setHeight(dto.getHeight()); |
| dimensions.setWidth(dto.getWidth()); |
| entity.setDimensions(dimensions); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public UserEntity createUserEntity(final UserDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final UserEntity entity = new UserEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public TenantEntity createTenantEntity(final TenantDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final TenantEntity entity = new TenantEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public AccessPolicySummaryEntity createAccessPolicySummaryEntity(final AccessPolicySummaryDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final AccessPolicySummaryEntity entity = new AccessPolicySummaryEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public ComponentReferenceEntity createComponentReferenceEntity(final ComponentReferenceDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final ComponentReferenceEntity entity = new ComponentReferenceEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| entity.setParentGroupId(dto.getParentGroupId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public AffectedComponentEntity createAffectedComponentEntity(final AffectedComponentDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, |
| final ProcessGroupNameDTO processGroupNameDto, final List<BulletinDTO> bulletins) { |
| final AffectedComponentEntity entity = new AffectedComponentEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| entity.setReferenceType(dto.getReferenceType()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| |
| if (Boolean.TRUE == permissions.getCanRead()) { |
| final List<BulletinEntity> bulletinEntities = bulletins.stream().map(bulletin -> createBulletinEntity(bulletin, permissions.getCanRead())).collect(Collectors.toList()); |
| entity.setBulletins(bulletinEntities); |
| } else { |
| entity.setBulletins(null); |
| } |
| |
| entity.setProcessGroup(processGroupNameDto); |
| return entity; |
| } |
| |
| public ComponentValidationResultEntity createComponentValidationResultEntity(final ComponentValidationResultDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final ComponentValidationResultEntity entity = new ComponentValidationResultEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| |
| return entity; |
| } |
| |
| public UserGroupEntity createUserGroupEntity(final UserGroupDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final UserGroupEntity entity = new UserGroupEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public AccessPolicyEntity createAccessPolicyEntity(final AccessPolicyDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final AccessPolicyEntity entity = new AccessPolicyEntity(); |
| entity.setRevision(revision); |
| entity.setGenerated(new Date()); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public ParameterContextReferenceEntity createParameterReferenceEntity(final ParameterContextReferenceDTO dto, final PermissionsDTO permissions) { |
| final ParameterContextReferenceEntity entity = new ParameterContextReferenceEntity(); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public FunnelEntity createFunnelEntity(final FunnelDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| 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()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public ConnectionEntity createConnectionEntity(final ConnectionDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final ConnectionStatusDTO status) { |
| final ConnectionEntity entity = new ConnectionEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setStatus(status); |
| entity.setId(dto.getId()); |
| entity.setPosition(dto.getPosition()); |
| entity.setBends(dto.getBends()); |
| entity.setLabelIndex(dto.getLabelIndex()); |
| entity.setzIndex(dto.getzIndex()); |
| entity.setSourceId(dto.getSource().getId()); |
| entity.setSourceGroupId(dto.getSource().getGroupId()); |
| entity.setSourceType(dto.getSource().getType()); |
| entity.setDestinationId(dto.getDestination().getId()); |
| entity.setDestinationGroupId(dto.getDestination().getGroupId()); |
| entity.setDestinationType(dto.getDestination().getType()); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public RemoteProcessGroupEntity createRemoteProcessGroupEntity(final RemoteProcessGroupDTO dto, final RevisionDTO revision, |
| final PermissionsDTO permissions, final PermissionsDTO operatePermissions, |
| final RemoteProcessGroupStatusDTO status, final List<BulletinEntity> bulletins) { |
| final RemoteProcessGroupEntity entity = new RemoteProcessGroupEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setStatus(status); |
| entity.setId(dto.getId()); |
| entity.setPosition(dto.getPosition()); |
| entity.setInputPortCount(dto.getInputPortCount()); |
| entity.setOutputPortCount(dto.getOutputPortCount()); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| entity.setBulletins(bulletins); |
| } |
| } |
| return entity; |
| } |
| |
| public RemoteProcessGroupPortEntity createRemoteProcessGroupPortEntity(final RemoteProcessGroupPortDTO dto, final RevisionDTO revision, |
| final PermissionsDTO permissions, final PermissionsDTO operatePermissions) { |
| final RemoteProcessGroupPortEntity entity = new RemoteProcessGroupPortEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setId(dto.getId()); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setRemoteProcessGroupPort(dto); |
| } |
| } |
| |
| return entity; |
| } |
| |
| public SnippetEntity createSnippetEntity(final SnippetDTO dto) { |
| final SnippetEntity entity = new SnippetEntity(); |
| entity.setSnippet(dto); |
| return entity; |
| } |
| |
| public ReportingTaskEntity createReportingTaskEntity(final ReportingTaskDTO dto, final RevisionDTO revision, |
| final PermissionsDTO permissions, final PermissionsDTO operatePermissions, final List<BulletinEntity> bulletins) { |
| final ReportingTaskEntity entity = new ReportingTaskEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setId(dto.getId()); |
| |
| final ReportingTaskStatusDTO status = new ReportingTaskStatusDTO(); |
| status.setRunStatus(dto.getState()); |
| status.setValidationStatus(dto.getValidationStatus()); |
| status.setActiveThreadCount(dto.getActiveThreadCount()); |
| entity.setStatus(status); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| entity.setBulletins(bulletins); |
| } |
| } |
| |
| return entity; |
| } |
| |
| public ParameterContextEntity createParameterContextEntity(final ParameterContextDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final ParameterContextEntity entity = new ParameterContextEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| |
| return entity; |
| } |
| |
| public VariableRegistryEntity createVariableRegistryEntity(final VariableRegistryDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final VariableRegistryEntity entity = new VariableRegistryEntity(); |
| entity.setProcessGroupRevision(revision); |
| if (dto != null) { |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setVariableRegistry(dto); |
| } |
| } |
| |
| return entity; |
| } |
| |
| public ControllerServiceEntity createControllerServiceEntity(final ControllerServiceDTO dto, final RevisionDTO revision, |
| final PermissionsDTO permissions, final PermissionsDTO operatePermissions, final List<BulletinEntity> bulletins) { |
| final ControllerServiceEntity entity = new ControllerServiceEntity(); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setId(dto.getId()); |
| entity.setParentGroupId(dto.getParentGroupId()); |
| entity.setPosition(dto.getPosition()); |
| |
| final ControllerServiceStatusDTO status = new ControllerServiceStatusDTO(); |
| status.setRunStatus(dto.getState()); |
| status.setValidationStatus(dto.getValidationStatus()); |
| entity.setStatus(status); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| entity.setBulletins(bulletins); |
| } |
| } |
| return entity; |
| } |
| |
| public ControllerServiceReferencingComponentEntity createControllerServiceReferencingComponentEntity(final String id, |
| final ControllerServiceReferencingComponentDTO dto, final RevisionDTO revision, final PermissionsDTO permissions, final PermissionsDTO operatePermissions, |
| final List<BulletinDTO> bulletins) { |
| |
| final ControllerServiceReferencingComponentEntity entity = new ControllerServiceReferencingComponentEntity(); |
| entity.setId(id); |
| entity.setRevision(revision); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setOperatePermissions(operatePermissions); |
| entity.setId(dto.getId()); |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| |
| if (permissions.getCanRead() == Boolean.TRUE) { |
| final List<BulletinEntity> bulletinEntities = bulletins.stream().map(bulletin -> createBulletinEntity(bulletin, permissions.getCanRead())).collect(Collectors.toList()); |
| entity.setBulletins(bulletinEntities); |
| } else { |
| entity.setBulletins(null); |
| } |
| |
| return entity; |
| } |
| |
| public FlowBreadcrumbEntity createFlowBreadcrumbEntity(final FlowBreadcrumbDTO dto, final PermissionsDTO permissions) { |
| final FlowBreadcrumbEntity entity = new FlowBreadcrumbEntity(); |
| if (dto != null) { |
| entity.setPermissions(permissions); |
| entity.setId(dto.getId()); |
| |
| if (dto.getVersionControlInformation() != null) { |
| entity.setVersionedFlowState(dto.getVersionControlInformation().getState()); |
| } |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setBreadcrumb(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public AllowableValueEntity createAllowableValueEntity(final AllowableValueDTO dto, final boolean canRead) { |
| final AllowableValueEntity entity = new AllowableValueEntity(); |
| entity.setCanRead(canRead); |
| entity.setAllowableValue(dto); |
| return entity; |
| } |
| |
| public ActionEntity createActionEntity(final ActionDTO dto, final boolean canRead) { |
| final ActionEntity entity = new ActionEntity(); |
| if (dto != null) { |
| entity.setId(dto.getId()); |
| entity.setSourceId(dto.getSourceId()); |
| entity.setTimestamp(dto.getTimestamp()); |
| entity.setCanRead(canRead); |
| if (canRead) { |
| entity.setAction(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public BulletinEntity createBulletinEntity(final BulletinDTO dto, final boolean canRead) { |
| final BulletinEntity entity = new BulletinEntity(); |
| if (dto != null) { |
| entity.setId(dto.getId()); |
| entity.setSourceId(dto.getSourceId()); |
| entity.setGroupId(dto.getGroupId()); |
| entity.setTimestamp(dto.getTimestamp()); |
| entity.setNodeAddress(dto.getNodeAddress()); |
| entity.setCanRead(canRead); |
| if (canRead) { |
| entity.setBulletin(dto); |
| } |
| } |
| return entity; |
| } |
| |
| public VersionControlInformationEntity createVersionControlInformationEntity(final VersionControlInformationDTO dto, final RevisionDTO processGroupRevision) { |
| final VersionControlInformationEntity entity = new VersionControlInformationEntity(); |
| entity.setVersionControlInformation(dto); |
| entity.setProcessGroupRevision(processGroupRevision); |
| return entity; |
| } |
| |
| public RegistryClientEntity createRegistryClientEntity(final RegistryDTO dto, final RevisionDTO revision, final PermissionsDTO permissions) { |
| final RegistryClientEntity entity = new RegistryClientEntity(); |
| entity.setRevision(revision); |
| entity.setPermissions(permissions); |
| |
| if (dto != null) { |
| entity.setId(dto.getId()); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setComponent(dto); |
| } |
| } |
| |
| return entity; |
| } |
| |
| public RegistryEntity createRegistryEntity(final RegistryDTO dto) { |
| final RegistryEntity entity = new RegistryEntity(); |
| |
| if (dto != null) { |
| entity.setRegistry(dto); |
| } |
| |
| return entity; |
| } |
| |
| public BucketEntity createBucketEntity(final BucketDTO dto, final PermissionsDTO permissions) { |
| final BucketEntity entity = new BucketEntity(); |
| entity.setId(dto.getId()); |
| entity.setPermissions(permissions); |
| |
| if (permissions != null && permissions.getCanRead()) { |
| entity.setBucket(dto); |
| } |
| |
| return entity; |
| } |
| |
| } |