--- /dev/null
+package com.quantum.actions;
+
+import java.sql.SQLException;
+
+import com.quantum.Messages;
+import com.quantum.model.ConnectionException;
+import com.quantum.model.Table;
+import com.quantum.ui.dialog.ExceptionDisplayDialog;
+import com.quantum.view.bookmark.EntityNode;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IViewPart;
+import org.eclipse.ui.actions.SelectionListenerAction;
+
+/**
+ * @author root
+ *
+ */
+public class DeleteAllRowsAction extends SelectionListenerAction {
+ private IViewPart view;
+
+ /**
+ * @see org.eclipse.ui.IViewActionDelegate#init(IViewPart)
+ */
+ public DeleteAllRowsAction(IViewPart view) {
+ super(Messages.getString(DeleteAllRowsAction.class.getName() + ".text"));
+ this.view = view;
+ }
+
+ public void run() {
+ try {
+ Table table = getTable();
+ if (table != null) {
+ boolean flag = MessageDialog.openConfirm(
+ view.getSite().getShell(),
+ Messages.getString(DeleteAllRowsAction.class.getName() + ".confirmTitle"),
+ Messages.getString(DeleteAllRowsAction.class.getName() + ".confirmText",
+ new Object[] { table.getCondQualifiedName() }));
+ if (flag) {
+ table.deleteAllRows();
+ }
+ }
+ } catch (SQLException e) {
+ ExceptionDisplayDialog.openError(getShell(),
+ Messages.getString("ExecuteAgainstAction.title"),
+ Messages.getString("ExecuteAgainstAction.ConnectionException"), e);
+ } catch (ConnectionException e) {
+ ExceptionDisplayDialog.openError(getShell(),
+ Messages.getString("ExecuteAgainstAction.title"),
+ Messages.getString("ExecuteAgainstAction.ConnectionException"), e);
+ }
+ }
+
+ private Table getTable() {
+ EntityNode node = (EntityNode) getSelectedNonResources().get(0);
+ return node == null ? null : (Table) node.getEntity();
+ }
+
+
+
+ protected Shell getShell() {
+ return this.view.getViewSite().getShell();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.actions.SelectionListenerAction#updateSelection(org.eclipse.jface.viewers.IStructuredSelection)
+ */
+ protected boolean updateSelection(IStructuredSelection selection) {
+ boolean enabled = super.updateSelection(selection);
+ return enabled && selection.size() == 1 &&
+ (selection.getFirstElement() instanceof EntityNode) &&
+ ((EntityNode) selection.getFirstElement()).isTable();
+ }
+
+}