Griffon Ormlite 插件配置未获取环境设置

Griffon Ormlite plugin configuration not picking up environment settings

对于我的 griffon 桌面客户端应用程序,我正在尝试编写一些涉及 OrmLite 的测试。我已经使用 configuration section of the griffon-ormlite plugin guide 使用 java 配置文件配置了 OrmLite。我想要做的是将 OrmLite 配置为在测试期间使用不同的(空白)数据库。但是,应用程序没有选择测试配置,而是加载默认设置。

注意事项:

配置文件如下:

import java.util.Map;

import griffon.util.AbstractMapResourceBundle;

import static griffon.util.CollectionUtils.map;

public class Ormlite extends AbstractMapResourceBundle {
    @Override
    protected void initialize(Map<String, Object> entries) {
        map(entries)
            // the default database setting
            .e("database", map()
                .e("url", "jdbc:h2:internal")
            )
            .e("environments", map()
                .e("test", map()
                    // the database that should be used during testing, but is not being picked up
                    .e("database", map()
                        .e("url", "jdbc:h2:mem:internal-test")
                    )
                )
            );
    }
}

非常感谢任何帮助。

恐怕问题在于基于 class 的 ResourceBundle 不提供对 environments 块(或与此相关的任何其他条件块)的支持,就像 Groovy 脚本做。我们最近向属性文件添加了这种支持(参见 https://github.com/griffon/griffon/issues/196);让我们需要为基于 class 的捆绑包添加相同的东西。

如果可以,切换到 Groovy 脚本配置作为解决方法,确保将 griffon-groovy 添加为项目依赖项。这将添加至少 ~7M 的依赖项。

我已提交 https://github.com/griffon/griffon/issues/212 以跟踪此功能。