1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
4 import org.openecomp.sdc.be.dao.api.ActionStatus;
5 import org.openecomp.sdc.be.dao.utils.UserStatusEnum;
6 import org.openecomp.sdc.be.model.User;
7 import org.openecomp.sdc.be.model.operations.api.IUserAdminOperation;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
11 import javax.annotation.Resource;
12 import java.util.List;
14 import static org.openecomp.sdc.asdctool.impl.migration.v1707.MigrationUtils.handleError;
16 public class UsersMigration extends JsonModelMigration<User> {
18 private static Logger LOGGER = LoggerFactory.getLogger(UsersMigration.class);
20 @Resource(name = "user-operation")
21 IUserAdminOperation userAdminOperation;
23 @Resource(name = "user-operation-migration")
24 IUserAdminOperation userAdminOperationMigration;
28 Either<List<User>, ActionStatus> getElementsToMigrate() {
29 LOGGER.debug("fetching users to migrate from old graph");
30 return userAdminOperation.getAllUsers();
34 Either<User, ActionStatus> getElementFromNewGraph(User user) {
35 LOGGER.debug(String.format("trying to load user %s from new graph", user.getUserId()));
36 return user.getStatus().equals(UserStatusEnum.ACTIVE) ? userAdminOperationMigration.getUserData(user.getUserId(), false) :
37 userAdminOperationMigration.getInactiveUserData(user.getUserId());
41 boolean save(User user) {
42 LOGGER.debug(String.format("trying to save user %s to new graph", user.getUserId()));
43 return userAdminOperationMigration.saveUserData(user)
44 .either(savedUser -> true,
45 err -> handleError(String.format("failed when saving user %s. error %s", user.getUserId(), err.name())));
49 public ActionStatus getNotFoundErrorStatus() {
50 return ActionStatus.USER_NOT_FOUND;
54 public String description() {
55 return "migrate users";