Eclipse 4.2 Juno、Java 1.6 を使用しています。アプリケーションには 2 つの部分があります。1 つの部分は、SelectionChangedListener の登録です。
@Inject
private ESelectionService selectionService;
@PostConstruct
public void init() {
TreeViewer bsTreeViewer = new TreeViewer(tabFolder, SWT.BORDER);
/* some other stuff */
// Event declaration
bsTreeViewer.addSelectionChangedListener(new SelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
if( selectionService != null ) {
selectionService.setSelection(((IStructuredSelection)event.getSelection()).getFirstElement());
}
}
});
}
このリスナーは正しく呼び出されます。最初に選択した要素も正しいタイプです。
私は受信側を設定している別の部分:
@Inject
public void setBS(@Named(IServiceConstants.ACTIVE_SELECTION) @Optional BS bs) {
if (bs == null) {
/* implementation not shown */
} else {
/* implementation not shown */
}
}
ただし、パイプのこの端では何も受信されません。私は何を間違っていますか、またはこれをどのようにデバッグできますか?