Skip to content

Commit

Permalink
Execute settings migration as migration step + move all steps to migr…
Browse files Browse the repository at this point in the history
…ation module
  • Loading branch information
dennishendriksen committed Aug 20, 2015
1 parent 44e6d77 commit fc90982
Show file tree
Hide file tree
Showing 40 changed files with 281 additions and 127 deletions.
50 changes: 35 additions & 15 deletions molgenis-app/src/main/java/org/molgenis/app/WebAppConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,30 +13,35 @@
import org.molgenis.data.elasticsearch.config.EmbeddedElasticSearchConfig;
import org.molgenis.data.elasticsearch.factory.EmbeddedElasticSearchServiceFactory;
import org.molgenis.data.jpa.JpaRepositoryCollection;
import org.molgenis.data.migrate.v1_9.Step14UpdateAttributeMapping;
import org.molgenis.data.mysql.AsyncJdbcTemplate;
import org.molgenis.data.mysql.MysqlRepository;
import org.molgenis.data.mysql.MysqlRepositoryCollection;
import org.molgenis.data.support.DataServiceImpl;
import org.molgenis.data.system.RepositoryTemplateLoader;
import org.molgenis.data.version.v1_5.Step1UpgradeMetaData;
import org.molgenis.data.version.v1_5.Step2;
import org.molgenis.data.version.v1_5.Step3AddOrderColumnToMrefTables;
import org.molgenis.data.version.v1_5.Step4VarcharToText;
import org.molgenis.data.version.v1_6.Step7UpgradeMetaDataTo1_6;
import org.molgenis.data.version.v1_6.Step8VarcharToTextRepeated;
import org.molgenis.data.version.v1_6.Step9MysqlTablesToInnoDB;
import org.molgenis.data.version.v1_8.Step11ConvertNames;
import org.molgenis.data.version.v1_8.Step12ChangeElasticsearchTokenizer;
import org.molgenis.data.version.v1_9.Step15AddDefaultValue;
import org.molgenis.dataexplorer.freemarker.DataExplorerHyperlinkDirective;
import org.molgenis.migrate.version.v1_5.Step1UpgradeMetaData;
import org.molgenis.migrate.version.v1_5.Step2;
import org.molgenis.migrate.version.v1_5.Step3AddOrderColumnToMrefTables;
import org.molgenis.migrate.version.v1_5.Step4VarcharToText;
import org.molgenis.migrate.version.v1_5.Step5AlterDataexplorerMenuURLs;
import org.molgenis.migrate.version.v1_5.Step6ChangeRScriptType;
import org.molgenis.migrate.version.v1_6.Step7UpgradeMetaDataTo1_6;
import org.molgenis.migrate.version.v1_6.Step8VarcharToTextRepeated;
import org.molgenis.migrate.version.v1_6.Step9MysqlTablesToInnoDB;
import org.molgenis.migrate.version.v1_8.Step10DeleteFormReferences;
import org.molgenis.migrate.version.v1_8.Step11ConvertNames;
import org.molgenis.migrate.version.v1_8.Step12ChangeElasticsearchTokenizer;
import org.molgenis.migrate.version.v1_8.Step13RemoveCatalogueMenuEntries;
import org.molgenis.migrate.version.v1_9.RuntimePropertyToAppSettingsMigrator;
import org.molgenis.migrate.version.v1_9.RuntimePropertyToDataExplorerSettingsMigrator;
import org.molgenis.migrate.version.v1_9.RuntimePropertyToGenomicDataSettingsMigrator;
import org.molgenis.migrate.version.v1_9.RuntimePropertyToStaticContentMigrator;
import org.molgenis.migrate.version.v1_9.Step14UpdateAttributeMapping;
import org.molgenis.migrate.version.v1_9.Step15AddDefaultValue;
import org.molgenis.migrate.version.v1_9.Step16RuntimePropertyToSettings;
import org.molgenis.system.core.FreemarkerTemplateRepository;
import org.molgenis.ui.MolgenisWebAppConfig;
import org.molgenis.ui.menumanager.MenuManagerService;
import org.molgenis.ui.migrate.v1_5.Step5AlterDataexplorerMenuURLs;
import org.molgenis.ui.migrate.v1_5.Step6ChangeRScriptType;
import org.molgenis.ui.migrate.v1_8.Step10DeleteFormReferences;
import org.molgenis.ui.migrate.v1_8.Step13RemoveCatalogueMenuEntries;
import org.molgenis.util.DependencyResolver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down Expand Up @@ -88,6 +93,18 @@ public class WebAppConfig extends MolgenisWebAppConfig
@Autowired
private EmbeddedElasticSearchServiceFactory embeddedElasticSearchServiceFactory;

@Autowired
private RuntimePropertyToAppSettingsMigrator runtimePropertyToAppSettingsMigrator;

@Autowired
private RuntimePropertyToGenomicDataSettingsMigrator runtimePropertyToGenomicDataSettingsMigrator;

@Autowired
private RuntimePropertyToDataExplorerSettingsMigrator runtimePropertyToDataExplorerSettingsMigrator;

@Autowired
private RuntimePropertyToStaticContentMigrator runtimePropertyToStaticContentMigrator;

@Override
public ManageableRepositoryCollection getBackend()
{
Expand Down Expand Up @@ -124,6 +141,9 @@ public void addUpgrades()
upgradeService.addUpgrade(new Step13RemoveCatalogueMenuEntries(dataSource));
upgradeService.addUpgrade(new Step14UpdateAttributeMapping(dataSource));
upgradeService.addUpgrade(new Step15AddDefaultValue(dataSource, searchService, jpaRepositoryCollection));
upgradeService.addUpgrade(new Step16RuntimePropertyToSettings(runtimePropertyToAppSettingsMigrator,
runtimePropertyToGenomicDataSettingsMigrator, runtimePropertyToDataExplorerSettingsMigrator,
runtimePropertyToStaticContentMigrator));
}

@Override
Expand Down
5 changes: 0 additions & 5 deletions molgenis-core-ui/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -237,11 +237,6 @@
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.molgenis</groupId>
<artifactId>molgenis-data-migrate</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
import org.molgenis.data.validation.EntityAttributesValidator;
import org.molgenis.data.validation.IndexedRepositoryValidationDecorator;
import org.molgenis.data.validation.RepositoryValidationDecorator;
import org.molgenis.data.version.MolgenisUpgradeService;
import org.molgenis.file.FileStore;
import org.molgenis.framework.MolgenisUpgradeService;
import org.molgenis.framework.db.WebAppDatabasePopulator;
import org.molgenis.framework.db.WebAppDatabasePopulatorService;
import org.molgenis.framework.ui.MolgenisPluginRegistry;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version;
package org.molgenis.framework;

/**
* Base class for Molgenis upgrade steps.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package org.molgenis.framework;

public interface MolgenisUpgradeService
{
boolean upgrade();

public void addUpgrade(MolgenisUpgrade upgrade);
}
5 changes: 5 additions & 0 deletions molgenis-data-import/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@
<artifactId>molgenis-data-jpa</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.molgenis</groupId>
<artifactId>molgenis-data-mysql</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.molgenis</groupId>
<artifactId>molgenis-security</artifactId>
Expand Down
15 changes: 15 additions & 0 deletions molgenis-data-migrate/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,20 @@
<artifactId>molgenis-security-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.molgenis</groupId>
<artifactId>molgenis-core-ui</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.molgenis</groupId>
<artifactId>molgenis-dataexplorer</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.molgenis</groupId>
<artifactId>molgenis-scripts</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version;
package org.molgenis.migrate.version;

import java.io.File;
import java.io.FileInputStream;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package org.molgenis.data.version;
package org.molgenis.migrate.version;

import static com.google.common.base.Preconditions.checkNotNull;

import java.util.ArrayList;
import java.util.List;

import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.framework.MolgenisUpgradeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -14,17 +18,17 @@
* Gets the current version from the {@link MolgenisVersionService}.
*/
@Service
public class MolgenisUpgradeService
public class MolgenisUpgradeServiceImpl implements MolgenisUpgradeService
{
private final Logger LOG = LoggerFactory.getLogger(getClass());

private final MolgenisVersionService versionService;
private final List<MolgenisUpgrade> upgrades = new ArrayList<>();

@Autowired
public MolgenisUpgradeService(MolgenisVersionService versionService)
public MolgenisUpgradeServiceImpl(MolgenisVersionService versionService)
{
this.versionService = versionService;
this.versionService = checkNotNull(versionService);
}

public void addUpgrade(MolgenisUpgrade upgrade)
Expand All @@ -37,16 +41,17 @@ public void addUpgrade(MolgenisUpgrade upgrade)
*
* @return true if an upgrade was necessary, false if not
*/
@Override
public boolean upgrade()
{
if (versionService.getMolgenisVersionFromServerProperties() < MolgenisVersionService.CURRENT_VERSION)
{
LOG.info("MetaData version:{}, current version:{} upgrade needed",
versionService.getMolgenisVersionFromServerProperties(), MolgenisVersionService.CURRENT_VERSION);

upgrades.stream()
.filter(upgrade -> upgrade.getFromVersion() >= versionService
.getMolgenisVersionFromServerProperties()).forEach(this::runUpgrade);
upgrades.stream().filter(
upgrade -> upgrade.getFromVersion() >= versionService.getMolgenisVersionFromServerProperties())
.forEach(this::runUpgrade);

versionService.updateToCurrentVersion();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version;
package org.molgenis.migrate.version;

import java.io.FileOutputStream;
import java.io.IOException;
Expand Down Expand Up @@ -39,7 +39,7 @@
@Service
public class MolgenisVersionService
{
public static final int CURRENT_VERSION = 15;
public static final int CURRENT_VERSION = 16;

private static final Logger LOG = LoggerFactory.getLogger(MolgenisVersionService.class);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.meta.migrate.v1_4;
package org.molgenis.migrate.version.v1_4;

import static org.molgenis.MolgenisFieldTypes.BOOL;
import static org.molgenis.MolgenisFieldTypes.MREF;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.meta.migrate.v1_4;
package org.molgenis.migrate.version.v1_4;

import static org.molgenis.MolgenisFieldTypes.BOOL;
import static org.molgenis.MolgenisFieldTypes.MREF;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.meta.migrate.v1_4;
package org.molgenis.migrate.version.v1_4;

import static org.molgenis.MolgenisFieldTypes.MREF;
import static org.molgenis.MolgenisFieldTypes.TEXT;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.meta.migrate.v1_4;
package org.molgenis.migrate.version.v1_4;

import org.molgenis.data.support.DefaultEntityMetaData;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version.v1_5;
package org.molgenis.migrate.version.v1_5;

import static org.molgenis.data.support.QueryImpl.EQ;

Expand All @@ -19,13 +19,13 @@
import org.molgenis.data.meta.MetaDataServiceImpl;
import org.molgenis.data.meta.PackageMetaData;
import org.molgenis.data.meta.TagMetaData;
import org.molgenis.data.meta.migrate.v1_4.AttributeMetaDataMetaData1_4;
import org.molgenis.data.meta.migrate.v1_4.EntityMetaDataMetaData1_4;
import org.molgenis.data.mysql.AsyncJdbcTemplate;
import org.molgenis.data.mysql.MysqlRepository;
import org.molgenis.data.mysql.MysqlRepositoryCollection;
import org.molgenis.data.support.DataServiceImpl;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.migrate.version.v1_4.AttributeMetaDataMetaData1_4;
import org.molgenis.migrate.version.v1_4.EntityMetaDataMetaData1_4;
import org.molgenis.security.core.runas.RunAsSystemProxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version.v1_5;
package org.molgenis.migrate.version.v1_5;

import static org.molgenis.data.elasticsearch.util.MapperTypeSanitizer.sanitizeMapperType;

Expand Down Expand Up @@ -30,9 +30,9 @@
import org.molgenis.data.meta.MetaDataServiceImpl;
import org.molgenis.data.support.DefaultAttributeMetaData;
import org.molgenis.data.support.DefaultEntityMetaData;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.fieldtypes.MrefField;
import org.molgenis.fieldtypes.XrefField;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.util.DependencyResolver;
import org.springframework.jdbc.core.JdbcTemplate;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version.v1_5;
package org.molgenis.migrate.version.v1_5;

import javax.sql.DataSource;

Expand All @@ -10,8 +10,8 @@
import org.molgenis.data.mysql.MysqlRepository;
import org.molgenis.data.mysql.MysqlRepositoryCollection;
import org.molgenis.data.support.DataServiceImpl;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.fieldtypes.MrefField;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.security.core.runas.RunAsSystemProxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.molgenis.data.version.v1_5;
package org.molgenis.migrate.version.v1_5;

import javax.sql.DataSource;

import org.molgenis.data.AttributeMetaData;
import org.molgenis.data.EntityMetaData;
import org.molgenis.data.Repository;
import org.molgenis.data.RepositoryCollection;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.fieldtypes.StringField;
import org.molgenis.framework.MolgenisUpgrade;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.dao.DataAccessException;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.ui.migrate.v1_5;
package org.molgenis.migrate.version.v1_5;

import static org.molgenis.data.support.QueryImpl.EQ;
import static org.molgenis.ui.menu.MenuItemType.MENU;
Expand All @@ -12,7 +12,7 @@
import org.elasticsearch.common.base.Joiner;
import org.elasticsearch.common.base.Joiner.MapJoiner;
import org.molgenis.data.Repository;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.system.core.RuntimeProperty;
import org.molgenis.ui.menu.Menu;
import org.molgenis.ui.menu.MenuItem;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.ui.migrate.v1_5;
package org.molgenis.migrate.version.v1_5;

import static com.google.common.collect.Iterables.transform;

Expand All @@ -15,7 +15,7 @@
import org.molgenis.data.support.DataServiceImpl;
import org.molgenis.data.support.MapEntity;
import org.molgenis.data.support.QueryImpl;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.script.Script;
import org.molgenis.script.ScriptParameter;
import org.molgenis.script.ScriptType;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version.v1_6;
package org.molgenis.migrate.version.v1_6;

import java.util.Arrays;
import java.util.List;
Expand All @@ -13,7 +13,7 @@
import org.molgenis.data.mysql.MysqlRepository;
import org.molgenis.data.mysql.MysqlRepositoryCollection;
import org.molgenis.data.support.DataServiceImpl;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.security.core.runas.RunAsSystemProxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.molgenis.data.version.v1_6;
package org.molgenis.migrate.version.v1_6;

import java.util.List;
import java.util.Map;
Expand All @@ -14,13 +14,13 @@
import org.molgenis.data.mysql.MysqlRepository;
import org.molgenis.data.mysql.MysqlRepositoryCollection;
import org.molgenis.data.support.DataServiceImpl;
import org.molgenis.data.version.MolgenisUpgrade;
import org.molgenis.fieldtypes.CategoricalField;
import org.molgenis.fieldtypes.CategoricalMrefField;
import org.molgenis.fieldtypes.FieldType;
import org.molgenis.fieldtypes.MrefField;
import org.molgenis.fieldtypes.StringField;
import org.molgenis.fieldtypes.XrefField;
import org.molgenis.framework.MolgenisUpgrade;
import org.molgenis.security.core.runas.RunAsSystemProxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Loading

0 comments on commit fc90982

Please sign in to comment.