[SDC-29] rebase continue work to align source
[sdc.git] / asdctool / src / main / java / org / openecomp / sdc / asdctool / impl / migration / v1707 / Migration1707.java
1 package org.openecomp.sdc.asdctool.impl.migration.v1707;
2
3 import org.openecomp.sdc.asdctool.impl.migration.Migration1707Task;
4 import org.openecomp.sdc.be.config.ConfigurationManager;
5 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory;
7 import org.springframework.stereotype.Component;
8
9 import java.util.List;
10 import java.util.Optional;
11
12 @Component("migration1707")
13 public class Migration1707 {
14
15     private static Logger LOGGER = LoggerFactory.getLogger(Migration1707.class);
16
17     private List<Migration1707Task> migrations;
18
19     public Migration1707(List<Migration1707Task> migrations) {
20         this.migrations = migrations;
21     }
22
23     public boolean migrate() {
24         int startMigrationFrom = Optional.ofNullable(ConfigurationManager.getConfigurationManager().getConfiguration().getStartMigrationFrom()).orElse(0);
25         List<Migration1707Task> migrations = this.migrations.subList(startMigrationFrom, this.migrations.size());
26         for (Migration1707Task migration : migrations) {
27             LOGGER.info(String.format("Starting migration. %s", migration.description()));
28             boolean migrationCompletedSuccessfully = migration.migrate();
29             if (!migrationCompletedSuccessfully) {
30                 LOGGER.error(String.format("Migration of class %s has failed.", migration.getClass()));
31                 return false;
32             }
33             LOGGER.info(String.format("Completed migration. %s", migration.description()));
34         }
35         return true;
36     }
37
38 }