X-Git-Url: http://secure.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/RefreshBookmarkAction.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/RefreshBookmarkAction.java index 525503f..3250564 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/RefreshBookmarkAction.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/RefreshBookmarkAction.java @@ -1,12 +1,14 @@ package com.quantum.actions; +import java.sql.SQLException; import java.util.Iterator; import java.util.List; +import com.quantum.ImageStore; import com.quantum.Messages; -import com.quantum.QuantumPlugin; -import com.quantum.sql.SQLHelper; -import com.quantum.view.bookmark.BookmarkView; +import com.quantum.model.NotConnectedException; +import com.quantum.ui.dialog.ExceptionDisplayDialog; +import com.quantum.ui.dialog.SQLExceptionDialog; import com.quantum.view.bookmark.TreeNode; import org.eclipse.ui.IViewPart; @@ -16,13 +18,11 @@ import org.eclipse.ui.actions.SelectionListenerAction; * @author root */ public class RefreshBookmarkAction extends SelectionListenerAction { - SQLHelper helper = new SQLHelper(); - - BookmarkView view; + private IViewPart view; public RefreshBookmarkAction(IViewPart view) { - super(Messages.getString(RefreshBookmarkAction.class.getName() + ".text")); - this.view = (BookmarkView) view; - setImageDescriptor(QuantumPlugin.getImageDescriptor("refresh.gif")); + super(Messages.getString(RefreshBookmarkAction.class, "text")); + this.view = view; + setImageDescriptor(ImageStore.getImageDescriptor(ImageStore.REFRESH)); } public void run() { @@ -30,8 +30,27 @@ public class RefreshBookmarkAction extends SelectionListenerAction { for (Iterator i = list.iterator(); i.hasNext(); ) { Object object = i.next(); if (object != null && object instanceof TreeNode) { - ((TreeNode) object).reload(); + try { + ((TreeNode) object).reload(); + } catch (NotConnectedException e) { + handleException(e); + } catch (SQLException e) { + handleException(e); + } } } } + + /** + * @param e + */ + private void handleException(Throwable t) { + if (t instanceof SQLException) { + SQLExceptionDialog.openException( + this.view.getSite().getShell(), null, (SQLException) t); + } else { + ExceptionDisplayDialog.openError( + this.view.getSite().getShell(), null, null, t); + } + } }