[jbosstools-commits] JBoss Tools SVN: r42917 - trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Aug 8 07:02:26 EDT 2012
Author: rob.stryker at jboss.com
Date: 2012-08-08 07:02:26 -0400 (Wed, 08 Aug 2012)
New Revision: 42917
Added:
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/DisableHandler.java
trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/EnableHandler.java
Log:
JBIDE-11927 part 2 to trunk
Added: trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/DisableHandler.java
===================================================================
--- trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/DisableHandler.java (rev 0)
+++ trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/DisableHandler.java 2012-08-08 11:02:26 UTC (rev 42917)
@@ -0,0 +1,65 @@
+package org.jboss.ide.eclipse.archives.ui.actions;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.jboss.ide.eclipse.archives.core.ArchivesCore;
+import org.jboss.ide.eclipse.archives.core.ArchivesCorePlugin;
+import org.jboss.ide.eclipse.archives.core.model.ArchivesModel;
+import org.jboss.ide.eclipse.archives.core.model.IArchiveModel;
+import org.jboss.ide.eclipse.archives.core.project.ArchivesNature;
+import org.jboss.ide.eclipse.archives.core.project.ProjectUtils;
+import org.jboss.ide.eclipse.archives.ui.ArchivesUIMessages;
+
+public class DisableHandler extends AbstractHandler implements IHandler {
+
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil
+ .getCurrentSelectionChecked(event);
+ final Object e = selection.getFirstElement();
+ if (e instanceof IProject) {
+ String pName = ((IProject)e).getName();
+ final String jobName = NLS.bind(ArchivesUIMessages.DisableProjectArchivesJob, pName);
+ new Job(jobName) {
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask(jobName, 300);
+ CoreException ce = null;
+ try {
+ SubProgressMonitor deletionMonitor = new SubProgressMonitor(monitor, 100);
+ IResource r = ((IProject)e).getFile(IArchiveModel.DEFAULT_PACKAGES_FILE);
+ if( r != null && r.exists() )
+ r.delete(true, deletionMonitor);
+
+ } catch(CoreException ce2) {
+ ce = ce2;
+ }
+
+ IPath loc = ((IProject) e).getLocation();
+ SubProgressMonitor mon1 = new SubProgressMonitor(monitor, 100);
+ ProjectUtils.removeProjectNature(((IProject) e), ArchivesNature.NATURE_ID, mon1);
+
+ SubProgressMonitor mon2 = new SubProgressMonitor(monitor, 100);
+ ArchivesModel.instance().unregisterProject(loc, mon2);
+
+ return ce == null ? Status.OK_STATUS : new Status(IStatus.ERROR, ArchivesCorePlugin.PLUGIN_ID,
+ "Unable to fully remove project archives support."); //$NON-NLS-1$
+ }
+ }.schedule();
+ }
+ return null; }
+
+}
Added: trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/EnableHandler.java
===================================================================
--- trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/EnableHandler.java (rev 0)
+++ trunk/archives/plugins/org.jboss.ide.eclipse.archives.ui/src/main/org/jboss/ide/eclipse/archives/ui/actions/EnableHandler.java 2012-08-08 11:02:26 UTC (rev 42917)
@@ -0,0 +1,45 @@
+package org.jboss.ide.eclipse.archives.ui.actions;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.jboss.ide.eclipse.archives.core.model.ArchivesModel;
+import org.jboss.ide.eclipse.archives.core.project.ArchivesNature;
+import org.jboss.ide.eclipse.archives.core.project.ProjectUtils;
+import org.jboss.ide.eclipse.archives.ui.ArchivesUIMessages;
+
+public class EnableHandler extends AbstractHandler {
+ public Object execute(ExecutionEvent event) throws ExecutionException {
+ IStructuredSelection selection = (IStructuredSelection) HandlerUtil
+ .getCurrentSelectionChecked(event);
+ final Object e = selection.getFirstElement();
+ if (e instanceof IProject) {
+ String pName = ((IProject)e).getName();
+ final String jobName = NLS.bind(ArchivesUIMessages.EnableProjectArchivesJob, pName);
+ new Job(jobName) {
+ protected IStatus run(IProgressMonitor monitor) {
+ monitor.beginTask(jobName, 200);
+ IPath loc = ((IProject) e).getLocation();
+
+ SubProgressMonitor mon1 = new SubProgressMonitor(monitor, 100);
+ ProjectUtils.addProjectNature(((IProject) e), ArchivesNature.NATURE_ID, mon1);
+
+ SubProgressMonitor mon2 = new SubProgressMonitor(monitor, 100);
+ ArchivesModel.instance().registerProject(loc, mon2);
+ return Status.OK_STATUS;
+ }
+ }.schedule();
+ }
+ return null;
+ }
+}
More information about the jbosstools-commits
mailing list