Skip to content

Commit

Permalink
fixes #45
Browse files Browse the repository at this point in the history
fixes #46
  • Loading branch information
rmpestano committed Sep 8, 2016
1 parent 78bfde3 commit 9e030b2
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import com.github.dbunit.rules.cdi.api.UsingDataSet;
import com.github.dbunit.rules.configuration.DBUnitConfig;
import com.github.dbunit.rules.configuration.DataSetConfig;
import com.github.dbunit.rules.configuration.GlobaConfig;
import com.github.dbunit.rules.configuration.GlobalConfig;
import com.github.dbunit.rules.leak.LeakHunterException;
import com.github.dbunit.rules.leak.LeakHunterFactory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public static DBUnitConfig from(DBUnit dbUnit) {
}

public static DBUnitConfig fromGlobalConfig() {
return GlobaConfig.instance().getDbUnitConfig();
return GlobalConfig.instance().getDbUnitConfig();
}

public static DBUnitConfig from(Method method) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.github.dbunit.rules.configuration;

import org.apache.xmlbeans.impl.common.GlobalLock;
import org.yaml.snakeyaml.Yaml;

import java.io.InputStream;
Expand All @@ -10,38 +11,41 @@
* pojo which represents dbunit.yml, used for global which can be overrided via @DataSet annotation
* at class or method level and with @DBUnit at class or method level
*/
public class GlobaConfig {
public class GlobalConfig {

private static GlobaConfig instance;
private static GlobalConfig instance;

private DBUnitConfig dbUnitConfig;


private GlobaConfig() {
private GlobalConfig() {
}

public static GlobaConfig instance() {
public static GlobalConfig instance() {
if (instance == null) {
createInstance();
}
return instance;
}

public static GlobaConfig newInstance() {
public static GlobalConfig newInstance() {
instance = null;
return instance();
}

private static void createInstance() {
instance = new GlobaConfig();
DBUnitConfig dbUnitConfig;
instance = new GlobalConfig();
DBUnitConfig dbUnitConfig = null;
//try to instance user provided dbunit.yml
InputStream customConfiguration = Thread.currentThread().getContextClassLoader().getResourceAsStream("dbunit.yml");
if (customConfiguration != null) {
dbUnitConfig = new Yaml().loadAs(customConfiguration, DBUnitConfig.class);
} else {
//default config
dbUnitConfig = new Yaml().loadAs(GlobaConfig.class.getResourceAsStream("/default/dbunit.yml"), DBUnitConfig.class);
}

if(dbUnitConfig == null) {
//default config
dbUnitConfig = new Yaml().loadAs(GlobalConfig.class.getResourceAsStream("/default/dbunit.yml"), DBUnitConfig.class);

}

if (dbUnitConfig.getProperties().containsKey("escapePattern")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public class ConfigurationTest {

@Test
public void shouldLoadDBUnitConfigViaGlobalFile(){
GlobaConfig globaConfig = GlobaConfig.newInstance();
GlobalConfig globaConfig = GlobalConfig.newInstance();
assertThat(globaConfig).isNotNull()
.extracting("dbUnitConfig.cacheConnection","dbUnitConfig.cacheTableNames","dbUnitConfig.leakHunter")
.contains(true,true,false);
Expand All @@ -47,7 +47,7 @@ public void shouldLoadDBUnitConfigViaCustomGlobalFile() throws IOException {
fos.flush();
fos.close();

GlobaConfig globaConfig = GlobaConfig.newInstance();
GlobalConfig globaConfig = GlobalConfig.newInstance();
assertThat(globaConfig).isNotNull()
.extracting("dbUnitConfig.cacheConnection","dbUnitConfig.cacheTableNames","dbUnitConfig.leakHunter")
.contains(false,false,true);
Expand Down

0 comments on commit 9e030b2

Please sign in to comment.