Search in sources :

Example 1 with UserFilterBuilder

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.");
}
Also used : UserFilterActivityResource(com.epam.ta.reportportal.ws.model.activity.UserFilterActivityResource) UserFilter(com.epam.ta.reportportal.entity.filter.UserFilter) FilterUpdatedEvent(com.epam.ta.reportportal.core.events.activity.FilterUpdatedEvent) UserFilterBuilder(com.epam.ta.reportportal.ws.converter.builders.UserFilterBuilder) OperationCompletionRS(com.epam.ta.reportportal.ws.model.OperationCompletionRS)

Example 2 with UserFilterBuilder

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());
}
Also used : UserFilter(com.epam.ta.reportportal.entity.filter.UserFilter) FilterCreatedEvent(com.epam.ta.reportportal.core.events.activity.FilterCreatedEvent) EntryCreatedRS(com.epam.ta.reportportal.ws.model.EntryCreatedRS) ReportPortalUser(com.epam.ta.reportportal.commons.ReportPortalUser) UserFilterBuilder(com.epam.ta.reportportal.ws.converter.builders.UserFilterBuilder)

Aggregations

UserFilter (com.epam.ta.reportportal.entity.filter.UserFilter)2 UserFilterBuilder (com.epam.ta.reportportal.ws.converter.builders.UserFilterBuilder)2 ReportPortalUser (com.epam.ta.reportportal.commons.ReportPortalUser)1 FilterCreatedEvent (com.epam.ta.reportportal.core.events.activity.FilterCreatedEvent)1 FilterUpdatedEvent (com.epam.ta.reportportal.core.events.activity.FilterUpdatedEvent)1 EntryCreatedRS (com.epam.ta.reportportal.ws.model.EntryCreatedRS)1 OperationCompletionRS (com.epam.ta.reportportal.ws.model.OperationCompletionRS)1 UserFilterActivityResource (com.epam.ta.reportportal.ws.model.activity.UserFilterActivityResource)1