package eu.eudat.migration; import eu.eudat.logic.managers.AdminManager; import eu.eudat.logic.managers.MetricsManager; import eu.eudat.logic.services.ApiContext; import eu.eudat.migration.dao.TemplateRepository; import eu.eudat.migration.entities.Question; import eu.eudat.migration.entities.QuestionFormat; import eu.eudat.migration.entities.Template; import eu.eudat.migration.entities.Theme; import eu.eudat.models.data.admin.components.datasetprofile.Field; import eu.eudat.models.data.admin.components.datasetprofile.FieldSet; import eu.eudat.models.data.admin.components.datasetprofile.Page; import eu.eudat.models.data.admin.components.datasetprofile.Section; import eu.eudat.models.data.admin.composite.DatasetProfile; import eu.eudat.models.data.components.commons.DefaultValue; import eu.eudat.models.data.components.commons.Multiplicity; import eu.eudat.models.data.components.commons.ViewStyle; import eu.eudat.models.data.components.commons.Visibility; import eu.eudat.types.MetricNames; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import javax.transaction.Transactional; import java.util.*; import java.util.stream.Collectors; @Component @ConditionalOnProperty(prefix = "roadmap", name = "database.url") public class DMPRoadmapMigration implements CommandLineRunner { private final TemplateRepository templateRepository; private final ApiContext apiContext; private final MetricsManager metricsManager; /** Profiles */ private final List datasetProfiles = new ArrayList<>(); private final List profiles = new ArrayList<>(); /** Metadata */ private final Map groups = new HashMap<>(); @Autowired public DMPRoadmapMigration(TemplateRepository templateRepository, ApiContext apiContext, MetricsManager metricsManager) { this.templateRepository = templateRepository; this.apiContext = apiContext; this.metricsManager = metricsManager; } @Override public void run(String... args) { List