Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated code to work with 4.4.0 release #147

Merged
merged 2 commits into from
Jun 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
<maven-failsafe-plugin.version>2.22.2</maven-failsafe-plugin.version>
<liquibase.version>4.3.5</liquibase.version>
<liquibase.version>4.4.0</liquibase.version>
<jupiter.version>5.7.2</jupiter.version>
<jupiter.surefire.version>1.3.2</jupiter.surefire.version>
<mockito-core.version>3.10.0</mockito-core.version>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,62 +1,31 @@
package liquibase.ext.mongodb.configuration;

import liquibase.configuration.AbstractConfigurationContainer;
import liquibase.configuration.AutoloadedConfigurations;
import liquibase.configuration.ConfigurationDefinition;

import static java.lang.Boolean.TRUE;

public class MongoConfiguration extends AbstractConfigurationContainer {
public class MongoConfiguration implements AutoloadedConfigurations {


public static final String LIQUIBASE_MONGO_NAMESPACE = "liquibase.mongodb";
public static final String ADJUST_TRACKING_TABLES_ON_STARTUP = "adjustTrackingTablesOnStartup";
public static final String SUPPORTS_VALIDATOR = "supportsValidator";
public static final ConfigurationDefinition<Boolean> ADJUST_TRACKING_TABLES_ON_STARTUP;
public static final ConfigurationDefinition<Boolean> SUPPORTS_VALIDATOR;
static {
liquibase.configuration.ConfigurationDefinition.Builder builder = new ConfigurationDefinition.Builder(LIQUIBASE_MONGO_NAMESPACE);

public MongoConfiguration() {
this(LIQUIBASE_MONGO_NAMESPACE);
}

/**
* Subclasses must call this constructor passing the namespace, but must themselves provide a no-arg public constructor.
*
* @param namespace - default property prefix
*/
protected MongoConfiguration(final String namespace) {

super(namespace);

getContainer().addProperty(ADJUST_TRACKING_TABLES_ON_STARTUP, Boolean.class)
.setDescription("Enabling this property will validate History Change Log and Log Lock Collections " +
"on Startup and adjust if are not up to date with current release." +
"Worth keeping it disabled and re-enable when upgraded to a new Liquibase version.")
.setDefaultValue(TRUE);
ADJUST_TRACKING_TABLES_ON_STARTUP = builder.define("adjustTrackingTablesOnStartup", Boolean.class)
.setDescription("Enabling this property will validate History Change Log and Log Lock Collections " +
"on Startup and adjust if are not up to date with current release." +
"Worth keeping it disabled and re-enable when upgraded to a new Liquibase version.")
.setDefaultValue(TRUE)
.build();

getContainer().addProperty(SUPPORTS_VALIDATOR, Boolean.class)
SUPPORTS_VALIDATOR = builder.define("supportsValidator", Boolean.class)
.setDescription("Disabling this property will let create the Tracking Collections without validators." +
"This will permit usage on Mongo Versions not supporting Validators")
.setDefaultValue(TRUE);
}

/**
* Adjust DATABASECHANGELOG and DATABASECHANGELOGLOCK on Startup
*/
public Boolean getAdjustTrackingTablesOnStartup() {
return getContainer().getValue(ADJUST_TRACKING_TABLES_ON_STARTUP, Boolean.class);
}

public MongoConfiguration setAdjustTrackingTablesOnStartup(final Boolean value) {
getContainer().setValue(ADJUST_TRACKING_TABLES_ON_STARTUP, value);
return this;
}

/**
* Add Validator to DATABASECHANGELOG and DATABASECHANGELOGLOCK on Creation and Startup Adjustment
*/
public Boolean getSupportsValidator() {
return getContainer().getValue(SUPPORTS_VALIDATOR, Boolean.class);
}

public MongoConfiguration setSupportsValidator(final Boolean value) {
getContainer().setValue(SUPPORTS_VALIDATOR, value);
return this;
.setDefaultValue(TRUE)
.build();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -108,17 +108,15 @@ public Boolean getAdjustTrackingTablesOnStartup() {
return adjustTrackingTablesOnStartup;
}

return LiquibaseConfiguration.getInstance().getConfiguration(MongoConfiguration.class)
.getAdjustTrackingTablesOnStartup();
return MongoConfiguration.ADJUST_TRACKING_TABLES_ON_STARTUP.getCurrentValue();
}

public Boolean getSupportsValidator() {
if (supportsValidator != null) {
return supportsValidator;
}

return LiquibaseConfiguration.getInstance().getConfiguration(MongoConfiguration.class)
.getSupportsValidator();
return MongoConfiguration.SUPPORTS_VALIDATOR.getCurrentValue();
}


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
liquibase.ext.mongodb.configuration.MongoConfiguration

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,13 @@
class MongoLiquibaseDatabaseTest {

protected MongoLiquibaseDatabase database;
protected MongoConfiguration configuration;

@SneakyThrows
@BeforeEach
void setUp() {
resetServices();

database = new MongoLiquibaseDatabase();

configuration = LiquibaseConfiguration.getInstance()
.getConfiguration(MongoConfiguration.class);
}

@AfterEach
Expand All @@ -39,7 +35,6 @@ void tearDown() {

protected void resetServices() {
DatabaseFactory.reset();
LiquibaseConfiguration.getInstance().reset();
}

@SneakyThrows
Expand Down Expand Up @@ -73,42 +68,6 @@ void getDefaultDatabaseProductName() {
assertThat(database.getDefaultDatabaseProductName()).isEqualTo("MongoDB");
}

@Test
void getAdjustTrackingTablesOnStartup() {
assertThat(configuration.getAdjustTrackingTablesOnStartup()).isTrue();
assertThat(database.getAdjustTrackingTablesOnStartup()).isTrue();
configuration.setAdjustTrackingTablesOnStartup(FALSE);
assertThat(configuration.getAdjustTrackingTablesOnStartup()).isFalse();
assertThat(database.getAdjustTrackingTablesOnStartup()).isFalse();
}

@Test
void getSupportsValidator() {
assertThat(configuration.getSupportsValidator()).isTrue();
assertThat(database.getSupportsValidator()).isTrue();
configuration.setSupportsValidator(FALSE);
assertThat(configuration.getSupportsValidator()).isFalse();
assertThat(database.getSupportsValidator()).isFalse();
}

@Test
void setAdjustTrackingTablesOnStartup() {
assertThat(configuration.getAdjustTrackingTablesOnStartup()).isTrue();
assertThat(database.getAdjustTrackingTablesOnStartup()).isTrue();
database.setAdjustTrackingTablesOnStartup(FALSE);
assertThat(configuration.getAdjustTrackingTablesOnStartup()).isTrue();
assertThat(database.getAdjustTrackingTablesOnStartup()).isFalse();
}

@Test
void setSupportsValidator() {
assertThat(configuration.getSupportsValidator()).isTrue();
assertThat(database.getSupportsValidator()).isTrue();
database.setSupportsValidator(FALSE);
assertThat(configuration.getSupportsValidator()).isTrue();
assertThat(database.getSupportsValidator()).isFalse();
}

@Test
void getPriority() {
assertThat(database.getPriority())
Expand Down Expand Up @@ -162,4 +121,4 @@ void getDefaultSchema() {
.containsExactly("catalog1", "catalog1");
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@ void setUp() {
protected void resetServices() {
LockServiceFactory.reset();
Scope.getCurrentScope().getSingleton(ExecutorService.class).reset();
LiquibaseConfiguration.getInstance().init();
}

@AfterEach
Expand Down Expand Up @@ -707,4 +706,4 @@ void setChangeLogLockWaitTime() {
.isNotEqualTo(LiquibaseConfiguration.getInstance().getConfiguration(GlobalConfiguration.class).getDatabaseChangeLogLockWaitTime())
.isEqualTo(1000L);
}
}
}