首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse e4 EventBroker Map<String,String> NullPointer

Eclipse e4 EventBroker Map<String,String> NullPointer
EN

Stack Overflow用户
提问于 2015-12-02 10:05:48
回答 1查看 175关注 0票数 0

我需要用eclipse框架的EventBroker发送一个事件。一切正常(字符串,列表.)除了地图实例。

代码语言:javascript
复制
Map<String, String> test = new LinkedHashMap<>();
test.put("test1", "1");
test.put("test2", "2");

broker.send(EventConstants.EXTENDED_SEARCH_ACTICE_HEADER, test);

以及接收部分

代码语言:javascript
复制
@Inject
@Optional
public void onExtendedSearchActiveHeaderEvent(
        @UIEventTopic(EventConstants.EXTENDED_SEARCH_ACTICE_HEADER) Map<String, String> test) {

    System.out.println(test.size()); 

}

分派事件org.osgi.service.event.Event时的异常

随后-当然-一个NullPointer异常

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-02 10:47:22

event send (和post)方法专门处理Map参数,并期望它包含完整的事件。这有一个副作用,即@UIEventTopic认为没有任何Map数据。

为处理这一用途:

代码语言:javascript
复制
Map<String, Object> eventMap = new HashMap<String, Object>();

// Your map goes under the `IEventBroker.DATA` key
eventMap.put(IEventBroker.DATA, test);

broker.send(EventConstants.EXTENDED_SEARCH_ACTICE_HEADER, eventMap);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34039914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档