/* * @see Action#run() */ @Override public void run() { IActiveJvm jvm = section.getJvm(); if (jvm == null) { return; } // get file name for remote host final String fileName[] = new String[1]; final boolean transfer[] = new boolean[] {false}; try { if (jvm.isRemote()) { final FileNameInputDialog dialog = new FileNameInputDialog( section.getPart().getSite().getShell(), getInitialFileName(jvm), isAgentLoaded(jvm)); Display.getDefault() .syncExec( new Runnable() { @Override public void run() { if (dialog.open() == Window.OK) { fileName[0] = dialog.getFileName(); transfer[0] = dialog.isFileTransfered(); } } }); if (fileName[0] == null) { return; } } } catch (JvmCoreException e) { Activator.log(Messages.dumpHeapDataFailedMsg, e); return; } dumpHprof(fileName[0], transfer[0]); }