Author: dazarov
Date: 2012-04-02 13:03:53 -0400 (Mon, 02 Apr 2012)
New Revision: 39969
Added:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/DeleteDomainAction.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/DeleteDomainActionProvider.java
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/plugin.xml
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/AbstractAction.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.java
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.properties
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/AbstractActionProvider.java
Log:
Delete OpenShift domain with JBoss toolingDelete OpenShift domain with JBoss tooling
JBIDE-10666
Modified: trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/plugin.xml
===================================================================
--- trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/plugin.xml 2012-04-02
16:13:40 UTC (rev 39968)
+++ trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/plugin.xml 2012-04-02
17:03:53 UTC (rev 39969)
@@ -373,6 +373,17 @@
</enablement>
</actionProvider>
<actionProvider
+
class="org.jboss.tools.openshift.express.internal.ui.viewer.actionProvider.DeleteDomainActionProvider"
+
id="org.jboss.tools.openshift.express.internal.ui.viewer.actionProvider.deleteDomainActionProvider">
+ <enablement>
+ <and>
+ <instanceof
+
value="org.jboss.tools.openshift.express.internal.core.console.UserDelegate">
+ </instanceof>
+ </and>
+ </enablement>
+ </actionProvider>
+ <actionProvider
class="org.jboss.tools.openshift.express.internal.ui.viewer.actionProvider.DeleteConnectionActionProvider"
id="org.jboss.tools.openshift.express.internal.ui.viewer.actionProvider.DeleteConnectionActionProvider">
<enablement>
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/AbstractAction.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/AbstractAction.java 2012-04-02
16:13:40 UTC (rev 39968)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/AbstractAction.java 2012-04-02
17:03:53 UTC (rev 39969)
@@ -68,5 +68,9 @@
public void setViewer(StructuredViewer viewer) {
this.viewer = viewer;
}
+
+ public void validate(){
+
+ }
}
\ No newline at end of file
Added:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/DeleteDomainAction.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/DeleteDomainAction.java
(rev 0)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/DeleteDomainAction.java 2012-04-02
17:03:53 UTC (rev 39969)
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.openshift.express.internal.ui.action;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITreeSelection;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.ISharedImages;
+import org.eclipse.ui.PlatformUI;
+import org.jboss.tools.openshift.express.internal.core.console.UserDelegate;
+import
org.jboss.tools.openshift.express.internal.ui.messages.OpenShiftExpressUIMessages;
+import org.jboss.tools.openshift.express.internal.ui.utils.Logger;
+
+import com.openshift.express.client.IDomain;
+import com.openshift.express.client.OpenShiftException;
+
+public class DeleteDomainAction extends AbstractAction {
+
+ public DeleteDomainAction() {
+ super(OpenShiftExpressUIMessages.DELETE_DOMAIN_ACTION);
+ setImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
+ .getImageDescriptor(ISharedImages.IMG_ETOOL_DELETE));
+ }
+
+ @Override
+ public void validate() {
+ boolean enable = false;
+ if (selection instanceof ITreeSelection
+ && ((IStructuredSelection) selection).getFirstElement() instanceof
UserDelegate
+ && ((ITreeSelection) selection).size() == 1) {
+ UserDelegate user = (UserDelegate) ((IStructuredSelection) selection)
+ .getFirstElement();
+ try {
+ IDomain domain = user.getDomain();
+
+ if (domain != null && user.getApplications().size() == 0) {
+ enable = true;
+ }
+ } catch (OpenShiftException e) {
+ Logger.warn(
+ "Failed to retrieve User domain, prompting for creation",
+ e);
+ }
+ }
+ setEnabled(enable);
+ }
+
+ @Override
+ public void run() {
+ final ITreeSelection treeSelection = (ITreeSelection) selection;
+ if (selection instanceof ITreeSelection
+ && treeSelection.getFirstElement() instanceof UserDelegate) {
+ UserDelegate user = (UserDelegate) treeSelection.getFirstElement();
+ try {
+ final IDomain domain = user.getDomain();
+ if (domain != null) {
+ boolean confirm = false;
+ confirm = MessageDialog.openConfirm(Display.getCurrent()
+ .getActiveShell(), "Domain deletion", NLS.bind(
+ "You are about to delete the \"{0}\" domain.\n"
+ + "Do you want to continue?",
+ domain.getNamespace()));
+ if (confirm) {
+ Job job = new Job("Deleting OpenShift Domain...") {
+ @Override
+ protected IStatus run(IProgressMonitor monitor) {
+ try {
+ try {
+ domain.destroy();
+ } catch (OpenShiftException e) {
+ Logger.error(
+ NLS.bind(
+ "Failed to delete domain \"{0}\"",
+ domain.getNamespace()),
+ e);
+ }
+ } finally {
+ monitor.done();
+ }
+
+ return Status.OK_STATUS;
+ }
+ };
+ job.setPriority(Job.SHORT);
+ job.schedule(); // start as soon as possible
+ }
+
+ }
+ } catch (OpenShiftException e) {
+ Logger.warn(
+ "Failed to retrieve User domain, prompting for creation",
+ e);
+ }
+
+ }
+ }
+}
Property changes on:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/action/DeleteDomainAction.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.java 2012-04-02
16:13:40 UTC (rev 39968)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.java 2012-04-02
17:03:53 UTC (rev 39969)
@@ -21,6 +21,8 @@
public static String CREATE_OR_EDIT_DOMAIN_ACTION;
+ public static String DELETE_DOMAIN_ACTION;
+
public static String SHOW_IN_ACTION_GROUP;
public static String SHOW_IN_BROWSER_ACTION;
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.properties
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.properties 2012-04-02
16:13:40 UTC (rev 39968)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/messages/OpenShiftExpressUIMessages.properties 2012-04-02
17:03:53 UTC (rev 39969)
@@ -3,6 +3,7 @@
#
CREATE_OR_EDIT_DOMAIN_ACTION=Create or Edit Domain
+DELETE_DOMAIN_ACTION=Delete Domain
#
SHOW_IN_ACTION_GROUP=Show In
SHOW_IN_BROWSER_ACTION=Web Browser
Modified:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/AbstractActionProvider.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/AbstractActionProvider.java 2012-04-02
16:13:40 UTC (rev 39968)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/AbstractActionProvider.java 2012-04-02
17:03:53 UTC (rev 39969)
@@ -46,7 +46,8 @@
@Override
public void fillContextMenu(IMenuManager menu) {
- if (action != null && action.isEnabled()) {
+ action.validate();
+ if (action != null/* && action.isEnabled()*/) {
menu.appendToGroup(group, action);
}
}
Added:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/DeleteDomainActionProvider.java
===================================================================
---
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/DeleteDomainActionProvider.java
(rev 0)
+++
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/DeleteDomainActionProvider.java 2012-04-02
17:03:53 UTC (rev 39969)
@@ -0,0 +1,21 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.openshift.express.internal.ui.viewer.actionProvider;
+
+import org.jboss.tools.openshift.express.internal.ui.action.DeleteDomainAction;
+
+public class DeleteDomainActionProvider extends AbstractActionProvider {
+
+ public DeleteDomainActionProvider() {
+ super(new DeleteDomainAction(), "group.edition");
+ }
+
+}
Property changes on:
trunk/openshift/plugins/org.jboss.tools.openshift.express.ui/src/org/jboss/tools/openshift/express/internal/ui/viewer/actionProvider/DeleteDomainActionProvider.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain