9dd3fc4853a0555c11eab07d78cfbce40be6742a
[sdc.git] /
1 package org.openecomp.sdc.asdctool.impl.migration.v1707.jsonmodel;
2
3 import fj.Function;
4 import fj.data.Either;
5 import org.openecomp.sdc.asdctool.impl.migration.v1707.MigrationUtils;
6 import org.openecomp.sdc.be.dao.api.ActionStatus;
7 import org.openecomp.sdc.be.dao.utils.UserStatusEnum;
8 import org.openecomp.sdc.be.model.User;
9 import org.openecomp.sdc.be.model.operations.api.IUserAdminOperation;
10 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
11 import org.slf4j.Logger;
12 import org.slf4j.LoggerFactory;
13
14 import javax.annotation.Resource;
15 import java.util.List;
16
17 import static org.openecomp.sdc.asdctool.impl.migration.v1707.MigrationUtils.handleError;
18
19 public class UsersMigration extends JsonModelMigration<User> {
20
21     private static Logger LOGGER = LoggerFactory.getLogger(UsersMigration.class);
22
23     @Resource(name = "user-operation")
24     IUserAdminOperation userAdminOperation;
25
26     @Resource(name = "user-operation-migration")
27     IUserAdminOperation userAdminOperationMigration;
28
29
30     @Override
31     Either<List<User>, ActionStatus> getElementsToMigrate() {
32         LOGGER.debug("fetching users to migrate from old graph");
33         return userAdminOperation.getAllUsers();
34     }
35
36     @Override
37     Either<User, ActionStatus> getElementFromNewGraph(User user) {
38         LOGGER.debug(String.format("trying to load user %s from new graph", user.getUserId()));
39         return userAdminOperationMigration.getUserData(user.getUserId(), false);
40     }
41
42     @Override
43     Either<User, StorageOperationStatus> save(User user) {
44         LOGGER.debug(String.format("trying to save user %s to new graph", user.getUserId()));
45         return userAdminOperationMigration.saveUserData(user);
46     }
47
48     @Override
49     public ActionStatus getNotFoundErrorStatus() {
50         return ActionStatus.USER_NOT_FOUND;
51     }
52
53     @Override
54     public String description() {
55         return "migrate users";
56     }
57
58 }