我将GWT应用程序集成到具有不同bundle的OSGi环境中。说实话,我并不是图形用户界面和GWT开发方面的专家,所以,也许我正在尝试做任何不可能的事情。在OSGi环境中,我正在使用事件通信过程。通过这种方式,GWT项目将一个事件发送到基于Hibernate的数据库通信器包。然后,另一个事件,其属性包含一个如下涉及对象的列表数据库连接器的响应:管理GWT-OSGi中的不同对象
List<KpiDesc> lKPIs = (List<KpiDesc>)event.getProperty("KPIlist");
此列表中包含的对象,其类型为com.cartif.hibernatemappings.KpiDesc。但是,这个包是数据库连接器的内部组件,如果我尝试在GWT的客户端使用它,则会出现错误。试图解决它,我已经在GWT项目的共享包中复制了相同的对象,以避免编译错误,我想将一个对象投射到另一个对象。对于这样prupose的代码是下一个:
List<com.cartif.gui.optimization.shared.KpiDesc> lKPIs2 = new ArrayList<com.cartif.gui.optimization.shared.KpiDesc>();
for(int i = 0; i < lKPIs.size(); i++){
lKPIs2.add(new KpiDesc(lKPIs.get(i).getKpiId(), lKPIs.get(i).getName(), lKPIs.get(i).getDescription(),lKPIs.get(i).getDefinition(), lKPIs.get(i).getBuildingName()));
}
然而,在创建新对象(调用构造函数),在eventmanager进行代码代表和没有响应。你知道我怎么能管理不同的物体?
非常感谢
如何从服务器返回对象到客户端?你可以发布它 –
嗯,我创建了一个HashMap,其中的键是我在内部使用的参数和上述列表。这是来自客户端的异步调用中的返回类型。我的意思是,onSuccess方法返回对象与此类似。 –