use of com.epam.ta.reportportal.ws.converter.builders.UserFilterBuilder in project service-api by reportportal.
the class UpdateUserFilterHandlerImpl method updateUserFilter.
@Override
public OperationCompletionRS updateUserFilter(Long userFilterId, UpdateUserFilterRQ updateRQ, ReportPortalUser.ProjectDetails projectDetails, ReportPortalUser user) {
validateFilterRq(updateRQ);
UserFilter userFilter = getShareableEntityHandler.getAdministrated(userFilterId, projectDetails);
expect(userFilter.getProject().getId(), Predicate.isEqual(projectDetails.getProjectId())).verify(USER_FILTER_NOT_FOUND, userFilterId, projectDetails.getProjectId(), user.getUserId());
if (!userFilter.getName().equals(updateRQ.getName())) {
BusinessRule.expect(userFilterRepository.existsByNameAndOwnerAndProjectId(updateRQ.getName(), userFilter.getOwner(), projectDetails.getProjectId()), BooleanUtils::isFalse).verify(ErrorType.USER_FILTER_ALREADY_EXISTS, updateRQ.getName(), userFilter.getOwner(), projectDetails.getProjectName());
}
UserFilterActivityResource before = TO_ACTIVITY_RESOURCE.apply(userFilter);
UserFilter updated = new UserFilterBuilder(userFilter).addFilterRq(updateRQ).get();
if (before.isShared() != updated.isShared()) {
aclHandler.updateAcl(updated, projectDetails.getProjectId(), updated.isShared());
}
messageBus.publishActivity(new FilterUpdatedEvent(before, TO_ACTIVITY_RESOURCE.apply(updated), user.getUserId(), user.getUsername()));
return new OperationCompletionRS("User filter with ID = '" + updated.getId() + "' successfully updated.");
}
use of com.epam.ta.reportportal.ws.converter.builders.UserFilterBuilder in project service-api by reportportal.
the class UpdateUserFilterHandlerImpl method createFilter.
@Override
public EntryCreatedRS createFilter(UpdateUserFilterRQ createFilterRQ, String projectName, ReportPortalUser user) {
ReportPortalUser.ProjectDetails projectDetails = projectExtractor.extractProjectDetails(user, projectName);
validateFilterRq(createFilterRQ);
BusinessRule.expect(userFilterRepository.existsByNameAndOwnerAndProjectId(createFilterRQ.getName(), user.getUsername(), projectDetails.getProjectId()), BooleanUtils::isFalse).verify(ErrorType.USER_FILTER_ALREADY_EXISTS, createFilterRQ.getName(), user.getUsername(), projectName);
UserFilter filter = new UserFilterBuilder().addFilterRq(createFilterRQ).addProject(projectDetails.getProjectId()).addOwner(user.getUsername()).get();
userFilterRepository.save(filter);
aclHandler.initAcl(filter, user.getUsername(), projectDetails.getProjectId(), BooleanUtils.isTrue(createFilterRQ.getShare()));
messageBus.publishActivity(new FilterCreatedEvent(TO_ACTIVITY_RESOURCE.apply(filter), user.getUserId(), user.getUsername()));
return new EntryCreatedRS(filter.getId());
}
Aggregations