迁移到 wicket 1.5 - 资源(路径)问题

Migration to wicket 1.5 - resource (path) issue

我得到了从 wicket 1.4 迁移到 wicket 1.5 的任务。尽管迁移指南中缺少信息,但我还是能够以某种方式重构大多数问题。不幸的是,我遇到了 "resource" - atm 我收到了这个错误

java.lang.IllegalArgumentException: Argument 'resource' may not be null.

据我所知,有些事情发生了变化,wicket 无法再 "get" 我的资源。所以我曾经(在 wicket 1.4 中)有一段代码负责创建图像并传递它(该方法在扩展网页的 class 中):

    private void addImageLogo() {
            Resource res = new Resource() {
                @Override
                public IResourceStream getResourceStream() {
                    String logo = ConfigurationManager.getInstance().getPathValue(ConfigurationManager.LOGO_FILE_PATH);
                    return new FileResourceStream(new File(logo));

        };

        Image logo = new Image("logo", res);
        add(logo);
    }

现在资源 class 已不存在或找不到。在互联网上搜索时,我能够将其更改为这个

private void addImageLogo() {
    String logoTxt = ConfigurationManager.getInstance().getPathValue(ConfigurationManager.LOGO_FILE_PATH);
    ResourceReference res = new ResourceReference(logoTxt) {
        @Override
        public IResource getResource() {
            return null;
        }
    };

    Image logo = new Image("logo", res);
    add(logo);
}

它负责获取路径(及其工作):ConfigurationManager.getInstance().getPathValue(ConfigurationManager.LOGO_FILE_PATH)

不幸的是,我仍然遇到上面提到的这个错误。方法 getResource() 自动生成,我认为这是一个问题,因为我正在重新调整 null 但我不知道我应该 return.

做什么(或如何)

因为它在 1.4.x 中使用了 IResourceStream,所以你可以只使用 org.apache.wicket.request.resource.ResourceStreamResource 作为图像的 IResource。

您的第一个代码片段不完整,因此我无法为您提供确切的替换代码。