/** Reinitializes widgets to display selected DataNode. */ protected void refreshView(DataNodeDescriptor node) { this.node = node; if (node == null) { getView().setVisible(false); return; } refreshLocalDataSources(); for (ObjectBinding binding : bindings) { binding.updateView(); } showDataSourceSubview(getFactoryName()); }
protected void refreshLocalDataSources() { localDataSources.clear(); Map sources = getApplication() .getCayenneProjectPreferences() .getDetailObject(DBConnectionInfo.class) .getChildrenPreferences(); int len = sources.size(); Object[] keys = new Object[len + 1]; // a slight chance that a real datasource is called NO_LOCAL_DATA_SOURCE... keys[0] = NO_LOCAL_DATA_SOURCE; Object[] dataSources = sources.keySet().toArray(); localDataSources.add(dataSources); for (int i = 0; i < dataSources.length; i++) { keys[i + 1] = dataSources[i]; } view.getLocalDataSources().setModel(new DefaultComboBoxModel(keys)); localDataSourceBinding.updateView(); }