All -

I believe this may be tied to RIVER-292, but I'll just outline the issue

The UIDescriptor is being asked to load the UIFactory via the current
thread's Context Class Loader rather than the
classloader that the service itself is being loaded with.

Thus the code:

try {
    JFrameFactory uiFactory = (JFrameFactory)
uiDescriptor.getUIFactory(Thread.currentThread().getContextClassLoader());
    JFrame frame = uiFactory.getJFrame(item);
    frame.validate();
    frame.setVisible(true);
}

should be

try {
    JFrameFactory uiFactory = (JFrameFactory)
uiDescriptor.getUIFactory(item.service.getClass().getClassLoader());
    JFrame frame = uiFactory.getJFrame(item);
    frame.validate();
    frame.setVisible(true);
}

as per http://www.artima.com/jini/serviceui/doc11/index.html

Also I think the restriction of just JFrameFactory might require new
additional code to support the other UIFactory types.

Thanks

Calum

Reply via email to