1 package org.openecomp.sdc.be.components.validation;
3 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
4 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
5 import org.openecomp.sdc.be.model.Component;
6 import org.openecomp.sdc.be.model.User;
7 import org.openecomp.sdc.exception.ResponseFormat;
9 @org.springframework.stereotype.Component
10 public class AccessValidations {
12 private final UserValidations userValidations;
13 private final ComponentValidations componentValidations;
16 public AccessValidations(UserValidations userValidations, ComponentValidations componentValidations) {
17 this.userValidations = userValidations;
18 this.componentValidations = componentValidations;
21 public Component validateUserCanWorkOnComponentAndLockIt(ComponentTypeEnum componentTypeEnum, String componentId, String userId, String actionContext) {
22 userValidations.validateUserExists(userId, actionContext, false)
24 .on(this::onUserError);
26 return componentValidations.validateComponentIsCheckedOutByUserAndLockIt(componentTypeEnum, componentId, userId);
29 private User onUserError(ResponseFormat responseFormat) {
30 throw new ComponentException(responseFormat);