提交 3e98c254 编写于 作者: S Serge Rider

Properties page for EntityEditor fix


Former-commit-id: e1edcafb
上级 3d0c236d
......@@ -29,6 +29,7 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Link;
import org.eclipse.ui.*;
import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.DBeaverPreferences;
......@@ -44,7 +45,6 @@ import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.model.runtime.DBRProgressMonitor;
import org.jkiss.dbeaver.model.runtime.DBRRunnableWithProgress;
import org.jkiss.dbeaver.model.DBPDataSourceContainer;
import org.jkiss.dbeaver.model.struct.DBSObject;
import org.jkiss.dbeaver.registry.editor.EntityEditorDescriptor;
import org.jkiss.dbeaver.registry.editor.EntityEditorsRegistry;
......@@ -52,6 +52,7 @@ import org.jkiss.dbeaver.runtime.DefaultProgressMonitor;
import org.jkiss.dbeaver.ui.*;
import org.jkiss.dbeaver.ui.actions.navigator.NavigatorHandlerObjectOpen;
import org.jkiss.dbeaver.ui.controls.ProgressPageControl;
import org.jkiss.dbeaver.ui.controls.PropertyPageStandard;
import org.jkiss.dbeaver.ui.controls.folders.IFolder;
import org.jkiss.dbeaver.ui.controls.folders.IFolderContainer;
import org.jkiss.dbeaver.ui.controls.folders.IFolderListener;
......@@ -795,7 +796,13 @@ public class EntityEditor extends MultiPageDatabaseEditor
@Override
public Object getAdapter(Class adapter) {
Object activeAdapter = getNestedAdapter(adapter);
return activeAdapter == null ? super.getAdapter(adapter) : activeAdapter;
if (activeAdapter != null) {
return activeAdapter;
}
if (adapter == IPropertySheetPage.class) {
return new PropertyPageStandard();
}
return super.getAdapter(adapter);
}
public <T> T getNestedAdapter(Class<T> adapter) {
......
......@@ -17,6 +17,7 @@
*/
package org.jkiss.dbeaver.ui.editors.entity.properties;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.swt.SWT;
......@@ -24,12 +25,14 @@ import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.MultiPageEditorSite;
import org.eclipse.ui.views.properties.IPropertySheetPage;
import org.jkiss.dbeaver.model.navigator.DBNDatabaseNode;
import org.jkiss.dbeaver.model.navigator.DBNEvent;
import org.jkiss.dbeaver.model.navigator.DBNNode;
import org.jkiss.dbeaver.model.navigator.meta.DBXTreeNode;
import org.jkiss.dbeaver.ui.*;
import org.jkiss.dbeaver.ui.controls.ProgressPageControl;
import org.jkiss.dbeaver.ui.controls.PropertyPageStandard;
import org.jkiss.dbeaver.ui.controls.folders.FolderPage;
import org.jkiss.dbeaver.ui.controls.itemlist.ItemListControl;
import org.jkiss.dbeaver.ui.editors.IDatabaseEditor;
......@@ -39,7 +42,7 @@ import org.jkiss.dbeaver.ui.navigator.INavigatorModelView;
/**
* EntityNodeEditor
*/
class FolderPageNode extends FolderPage implements ISearchContextProvider, IRefreshablePart, INavigatorModelView
class FolderPageNode extends FolderPage implements ISearchContextProvider, IRefreshablePart, INavigatorModelView, IAdaptable
{
private IDatabaseEditor editor;
......@@ -184,4 +187,9 @@ class FolderPageNode extends FolderPage implements ISearchContextProvider, IRefr
public Viewer getNavigatorViewer() {
return itemControl.getNavigatorViewer();
}
@Override
public Object getAdapter(Class adapter) {
return null;
}
}
\ No newline at end of file
......@@ -20,7 +20,6 @@ package org.jkiss.dbeaver.model;
import org.jkiss.code.NotNull;
import org.jkiss.code.Nullable;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.model.*;
import org.jkiss.dbeaver.model.connection.DBPClientHome;
import org.jkiss.dbeaver.model.connection.DBPConnectionConfiguration;
import org.jkiss.dbeaver.model.connection.DBPDriver;
......
......@@ -79,19 +79,19 @@ public class DBNDataSource extends DBNDatabaseNode implements IAdaptable
@Override
public Object getValueObject()
{
return dataSource == null ? null : dataSource.getDataSource();
return dataSource.getDataSource();
}
@Override
public String getNodeName()
{
return dataSource == null ? "" : dataSource.getName();
return dataSource.getName();
}
@Override
public String getNodeDescription()
{
return dataSource == null ? "" : dataSource.getDescription();
return dataSource.getDescription();
}
@Override
......@@ -120,9 +120,6 @@ public class DBNDataSource extends DBNDatabaseNode implements IAdaptable
@Override
public boolean initializeNode(@Nullable DBRProgressMonitor monitor, DBRProgressListener onFinish)
{
if (dataSource == null) {
return false;
}
if (!dataSource.isConnected()) {
dataSource.initConnection(monitor, onFinish);
} else {
......@@ -189,10 +186,6 @@ public class DBNDataSource extends DBNDatabaseNode implements IAdaptable
@Override
public void rename(DBRProgressMonitor monitor, String newName)
{
if (dataSource == null) {
log.warn("Try to rename data source after dispose");
return;
}
dataSource.setName(newName);
dataSource.persistConfiguration();
dataSource.fireEvent(new DBPEvent(DBPEvent.Action.OBJECT_UPDATE, dataSource, null));
......@@ -201,10 +194,6 @@ public class DBNDataSource extends DBNDatabaseNode implements IAdaptable
@Override
protected void afterChildRead()
{
if (dataSource == null) {
log.warn("Try to update data source after dispose");
return;
}
// Notify datasource listeners about state change.
// We make this action here because we can't update state in
// initializeNode if this action caused by readChildren.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册