X-Git-Url: http://secure.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkContentProvider.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkContentProvider.java index 2335110..680a382 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkContentProvider.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/BookmarkContentProvider.java @@ -1,17 +1,45 @@ package com.quantum.view.bookmark; +import java.sql.SQLException; + +import com.quantum.model.NotConnectedException; +import com.quantum.ui.dialog.ExceptionDisplayDialog; +import com.quantum.ui.dialog.SQLExceptionDialog; + import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IViewPart; public class BookmarkContentProvider implements ITreeContentProvider { + + private final IViewPart view; + + public BookmarkContentProvider(IViewPart view) { + this.view = view; + } + public Object[] getChildren(Object element) { - if (element instanceof TreeNode) { + if (element != null && element instanceof TreeNode) { TreeNode node = (TreeNode) element; - return node.getChildren(); + try { + return node.getChildren(); + } catch (NotConnectedException e) { + ExceptionDisplayDialog.openError(getShell(), null, null, e); + } catch (SQLException e) { + SQLExceptionDialog.openException(getShell(), node.getBookmark(), e); + } } return BookmarkListNode.EMPTY_ARRAY; } + /** + * @return + */ + private Shell getShell() { + return this.view.getSite().getShell(); + } + public Object[] getElements(Object inputElement) { return getChildren(inputElement); }