Source:
<code>public Object execute(ExecutionEvent event) { <START> ScriptDetails sd = new ScriptDetails(fWindow.getShell()); <END> sd.create(); if (sd.open() == Window.OK) { script = DashboardPlugin.getDefault().getPreferenceStore() .getString(DashboardPreferenceConstants.P_DASHBOARD_SCRIPT); DataSetWizard wizard = new DataSetWizard( GraphingConstants.DataSetMetaData, script); IWorkbench workbench = PlatformUI.getWorkbench(); wizard.init(workbench, null); WizardDialog dialog = new WizardDialog(workbench .getActiveWorkbenchWindow().getShell(), wizard); dialog.create(); dialog.open(); IDataSetParser parser = wizard.getParser(); IDataSet dataSet = wizard.getDataSet(); wizard.dispose(); if (null == parser || null == dataSet) return null; ExportScriptDialog exportDialog = new ExportScriptDialog(fWindow.getShell(), dataSet); exportDialog.create(); if(exportDialog.open() == Window.OK) { String category = exportDialog.getCategory(); String display = exportDialog.getDisplay(); String description = exportDialog.getDescription(); GraphData[] gd = exportDialog.getGraphs(); TreeNode filters = exportDialog.getGraphFilters(); validateDirectory(); File meta = saveMetaData( display, category, description, dataSet, parser, gd, filters, DashboardPlugin .getDefault() .getPreferenceStore() .getString( DashboardPreferenceConstants.P_DASHBOARD_EXAMPLES_DIR)); String archiveName = getSaveDirectory() + "/" + category.replace(' ', '_') + "." + display.replace(' ', '_'); buildArchive(archiveName, new File(script), meta); cleanupFiles(new String[] { archiveName, meta.getAbsolutePath() }); updateDashboard(); } } return null; }</code><technical_language>NPE thrown create a new dashboard module</technical_language>

Target:
public Object execute(ExecutionEvent event) { ScriptDetails sd = new ScriptDetails(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell()); sd.create(); if (sd.open() == Window.OK) { script = DashboardPlugin.getDefault().getPreferenceStore() .getString(DashboardPreferenceConstants.P_DASHBOARD_SCRIPT); DataSetWizard wizard = new DataSetWizard( GraphingConstants.DataSetMetaData, script); IWorkbench workbench = PlatformUI.getWorkbench(); wizard.init(workbench, null); WizardDialog dialog = new WizardDialog(workbench .getActiveWorkbenchWindow().getShell(), wizard); dialog.create(); dialog.open(); IDataSetParser parser = wizard.getParser(); IDataSet dataSet = wizard.getDataSet(); wizard.dispose(); if (null == parser || null == dataSet) return null; ExportScriptDialog exportDialog = new ExportScriptDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), dataSet); exportDialog.create(); if(exportDialog.open() == Window.OK) { String category = exportDialog.getCategory(); String display = exportDialog.getDisplay(); String description = exportDialog.getDescription(); GraphData[] gd = exportDialog.getGraphs(); TreeNode filters = exportDialog.getGraphFilters(); validateDirectory(); File meta = saveMetaData( display, category, description, dataSet, parser, gd, filters, DashboardPlugin .getDefault() .getPreferenceStore() .getString( DashboardPreferenceConstants.P_DASHBOARD_EXAMPLES_DIR)); String archiveName = getSaveDirectory() + "/" + category.replace(' ', '_') + "." + display.replace(' ', '_'); buildArchive(archiveName, new File(script), meta); cleanupFiles(new String[] { archiveName, meta.getAbsolutePath() }); updateDashboard(); } } return null; }