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;
* @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() {
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);
+ }
+ }
}