X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=legacy%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcommands%2FOpenGenerateBinariesWizard.java;fp=legacy%2Forg.argeo.slc.client.ui.dist%2Fsrc%2Forg%2Fargeo%2Fslc%2Fclient%2Fui%2Fdist%2Fcommands%2FOpenGenerateBinariesWizard.java;h=c1b6c12db24f1f9b10115e7d42eb475540e56077;hb=6fc94d69efe089414ac9e63bde3efab1cbf7b7ca;hp=0000000000000000000000000000000000000000;hpb=b36c62642bd0db11b3133b369cc026fd4b7a1ec6;p=gpl%2Fargeo-slc.git diff --git a/legacy/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/commands/OpenGenerateBinariesWizard.java b/legacy/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/commands/OpenGenerateBinariesWizard.java new file mode 100644 index 000000000..c1b6c12db --- /dev/null +++ b/legacy/org.argeo.slc.client.ui.dist/src/org/argeo/slc/client/ui/dist/commands/OpenGenerateBinariesWizard.java @@ -0,0 +1,59 @@ +package org.argeo.slc.client.ui.dist.commands; + +import org.argeo.slc.client.ui.dist.DistPlugin; +import org.argeo.slc.client.ui.dist.utils.CommandHelpers; +import org.argeo.slc.client.ui.dist.wizards.GenerateBinariesWizard; +import org.argeo.slc.repo.RepoService; +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.wizard.WizardDialog; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.handlers.HandlerUtil; + +/** Open a {@code GenerateBinariesWizard} wizard for the selected node */ +public class OpenGenerateBinariesWizard extends AbstractHandler { + // private static final Log log = LogFactory.getLog(DeleteWorkspace.class); + + public final static String ID = DistPlugin.PLUGIN_ID + + ".openGenerateBinariesWizard"; + public final static String DEFAULT_LABEL = "Generate Aether Index"; + public final static ImageDescriptor DEFAULT_ICON = null; + + /* DEPENDENCY INJECTION */ + private RepoService repoService; + + // Absolute Coordinates of the current group node + public final static String PARAM_REPO_NODE_PATH = "param.repoNodePath"; + public final static String PARAM_WORKSPACE_NAME = "param.workspaceName"; + public final static String PARAM_MODULE_PATH = "param.modulePath"; + + public Object execute(ExecutionEvent event) throws ExecutionException { + IWorkbenchPart activePart = DistPlugin.getDefault().getWorkbench() + .getActiveWorkbenchWindow().getActivePage().getActivePart(); + + String repoNodePath = event.getParameter(PARAM_REPO_NODE_PATH); + String workspaceName = event.getParameter(PARAM_WORKSPACE_NAME); + String modulePath = event.getParameter(PARAM_MODULE_PATH); + + GenerateBinariesWizard wizard = new GenerateBinariesWizard(repoService, + repoNodePath, workspaceName, modulePath); + + WizardDialog dialog = new WizardDialog( + HandlerUtil.getActiveShell(event), wizard); + int result = dialog.open(); + + if (result == Dialog.OK + && (activePart instanceof RefreshDistributionsView)) + CommandHelpers.callCommand(RefreshDistributionsView.ID); + + return null; + } + + /* DEPENDENCY INJECTION */ + public void setRepoService(RepoService repoService) { + this.repoService = repoService; + } +} \ No newline at end of file