Example usage for org.eclipse.jface.dialogs MessageDialog openError

List of usage examples for org.eclipse.jface.dialogs MessageDialog openError

Introduction

In this page you can find the example usage for org.eclipse.jface.dialogs MessageDialog openError.

Prototype

public static void openError(Shell parent, String title, String message) 

Source Link

Document

Convenience method to open a standard error dialog.

Usage

From source file:au.gov.ansto.bragg.kakadu.ui.editors.AlgorithmTaskEditor.java

License:Open Source License

private void showErrorMessage(String message) {
    MessageDialog.openError(parent.getShell(), "Algorithm Task", message);
}

From source file:au.gov.ansto.bragg.kakadu.ui.plot.Plot.java

License:Open Source License

private void showErrorMessage(String message) {
    MessageDialog.openError(getShell(), "Plot", message);
}

From source file:au.gov.ansto.bragg.kakadu.ui.util.KakaduDOM.java

License:Open Source License

/**
 * Opens Analysis (Kakadu) perspective on active WorkbenchPage 
 * or create a new window if the are no active page available. 
 *//*from ww w. j  a  va  2s .  co  m*/
public void openKakaduPersective() {
    IWorkbench workbench;
    IWorkbenchWindow workbenchWindow;
    if (activePage == null) {
        workbench = PlatformUI.getWorkbench();
        //      final IWorkbenchPage activePage = workbenchWindow.getActivePage();
        IWorkbenchWindow[] windows = workbench.getWorkbenchWindows();
        for (int i = 0; i < windows.length; i++) {
            //            windows[i].
        }
        workbenchWindow = workbench.getActiveWorkbenchWindow();
        activePage = workbenchWindow.getActivePage();
    } else {
        workbenchWindow = activePage.getWorkbenchWindow();
        workbench = workbenchWindow.getWorkbench();
    }
    final IPerspectiveDescriptor kakaduPerspectiveDescriptor = workbench.getPerspectiveRegistry()
            .findPerspectiveWithId(KakaduPerspective.KAKADU_PERSPECTIVE_ID);
    if (kakaduPerspectiveDescriptor == null) {
        MessageDialog.openError(workbenchWindow.getShell(), "Error opening Analysis perspective",
                "Analysis perspective did not installed properly. " + "Try to reinstall Kakadu plug-in.");
        return;
    }

    if (workbenchWindow != null && activePage != null) {
        activePage.getWorkbenchWindow().getWorkbench().getDisplay().syncExec(new Runnable() {

            public void run() {
                // TODO Auto-generated method stub
                activePage.setPerspective(kakaduPerspectiveDescriptor);

                final IViewReference viewReference = activePage
                        .findViewReference(KakaduPerspective.DATA_SOURCE_VIEW_ID);
                try {
                    activePage.hideView(viewReference);
                    activePage.showView(KakaduPerspective.DATA_SOURCE_VIEW_ID);
                } catch (Exception e) {
                    showErrorMessage(e.getMessage());
                }

            }

        });
    } else {
        try {
            workbench.openWorkbenchWindow(KakaduPerspective.KAKADU_PERSPECTIVE_ID, activePage.getInput());
        } catch (WorkbenchException e) {
            e.printStackTrace();
            MessageDialog.openError(workbenchWindow.getShell(), "Error opening Kakadu perspective",
                    e.getMessage());
        }
    }
}

From source file:au.gov.ansto.bragg.kakadu.ui.util.Util.java

License:Open Source License

public static void handleException(Shell shell, Exception e) {
    //      e.printStackTrace();
    String errorMessage = "";
    DisplayManager.getDefault().setEnable(true);
    if (e != null && e.getMessage() != null && e.getMessage().contains("ThreadDeath"))
        errorMessage = "User interrupt";
    else {/*w  w w.j ava 2s.c  o m*/
        errorMessage = e.getLocalizedMessage();
        if (errorMessage != null && errorMessage.contains(":"))
            try {
                errorMessage = errorMessage.substring(errorMessage.lastIndexOf(":") + 1);
            } catch (Exception e2) {
            }
    }
    MessageDialog.openError(shell, "Error", "An error ocuured during the operation. "
            + "See detailes for more information. \n\n Details: " + errorMessage + "");
    LoggerFactory.getLogger(Activator.PLUGIN_ID).error(errorMessage, e);
}

From source file:au.gov.ansto.bragg.kakadu.ui.views.AlgorithmListView.java

License:Open Source License

private void showErrorMessage(String message) {
    MessageDialog.openError(viewer.getControl().getShell(), "Algorithm List", message);
}

From source file:au.gov.ansto.bragg.kakadu.ui.views.AnalysisParametersView.java

License:Open Source License

private void showErrorMessage(String message) {
    MessageDialog.openError(parent.getShell(), "Operation Parameters View", message);
}

From source file:au.gov.ansto.bragg.kakadu.ui.views.mask.AbstractMaskEditor.java

License:Open Source License

protected void showErrorMessage(String message) {
    MessageDialog.openError(getShell(), "Mask Editor", message);
}

From source file:au.gov.ansto.bragg.kowari.ui.tasks.KowariTableScanTask.java

License:Open Source License

@Override
protected SimpleTableScanCommand loadTableCommand(final Composite parent, final Label label) {
    FileDialog dialog = new FileDialog(parent.getShell(), SWT.SINGLE);
    if (fileDialogPath == null) {
        IWorkspace workspace = ResourcesPlugin.getWorkspace();
        IWorkspaceRoot root = workspace.getRoot();
        dialog.setFilterPath(root.getLocation().toOSString());
    } else {//from  ww w. ja  v  a  2  s  .  co  m
        dialog.setFilterPath(fileDialogPath);
    }
    dialog.setFilterExtensions(new String[] { "*.*" });
    dialog.open();
    if (dialog.getFileName() == null) {
        return null;
    }
    String filePath = dialog.getFilterPath() + File.separator + dialog.getFileName();
    File pickedFile = new File(filePath);
    if (!pickedFile.exists() || !pickedFile.isFile())
        return null;
    fileDialogPath = pickedFile.getParent();
    if (filePath != null) {
        BufferedReader reader = null;
        try {
            SimpleTableScanCommand command = new SimpleTableScanCommand();
            reader = new BufferedReader(new FileReader(pickedFile));
            int lineCount = 0;
            int parameterIndex = 0;
            int numberOfMotors = 0;
            while (reader.ready()) {
                String line = reader.readLine();
                if (line != null) {
                    line = line.trim();
                    if (line.startsWith("#") || line.length() == 0) {
                        continue;
                    }
                    //   line = line.replaceAll("\t", "");
                    String spliter = "\\s+";
                    if (line.contains(",")) {
                        spliter = ",";
                    } else if (line.contains("\t")) {
                        spliter = "\t";
                    }
                    String[] items = line.split(spliter);
                    ArrayList<String> newItems = new ArrayList<String>();
                    for (int i = 0; i < items.length; i++) {
                        if (items[i].trim().length() > 0) {
                            newItems.add(items[i].trim());
                        }
                    }
                    items = new String[newItems.size()];
                    newItems.toArray(items);
                    if (lineCount == 0 && SimpleTableScanTask.containsLetter(line)) {
                        for (int i = 0; i < items.length; i++) {
                            items[i] = items[i].trim();
                        }
                        numberOfMotors = items.length - 1;
                        String lastItme = items[items.length - 1].toLowerCase();
                        if (lastItme.startsWith("monitor_")) {
                            command.setScan_mode(lastItme.toUpperCase());
                        } else if (lastItme.equals("time") || lastItme.equals("unlimited")
                                || lastItme.equals("count") || lastItme.equals("frame")
                                || lastItme.equals("period") || lastItme.equals("count_roi")) {
                            command.setScan_mode(lastItme);
                        } else {
                            command.setScan_mode("time");
                            numberOfMotors = items.length;
                            newItems.add("time");
                        }
                        command.setPNames(newItems);
                        command.setNumberOfMotor(numberOfMotors);
                        lineCount++;
                        this.numberOfMotors = numberOfMotors;
                        continue;
                    } else if (lineCount < 2) {
                        if (lineCount == 0) {
                            command.setScan_mode("time");
                            if (items.length == 4 || items.length == 5) {
                                numberOfMotors = 4;
                                command.setPNames(Arrays.asList(FOUR_COLUMN_NAMES));
                            } else if (items.length == 7 || items.length == 8) {
                                numberOfMotors = 7;
                                command.setPNames(Arrays.asList(SEVEN_COLUMN_NAMES));
                            }
                            this.numberOfMotors = numberOfMotors;
                            command.setNumberOfMotor(numberOfMotors);
                        }
                        boolean isBoolean = true;
                        for (int i = 0; i < items.length; i++) {
                            String item = items[i].trim().toLowerCase();
                            if (!item.equals("1") && !item.equals("0") && !item.equals("true")
                                    && !item.equals("false")) {
                                isBoolean = false;
                            } else if (item.equals("1")) {
                                items[i] = "true";
                            } else if (item.equals("0")) {
                                items[i] = "false";
                            }
                        }
                        if (isBoolean) {
                            try {
                                if (numberOfMotors > 0) {
                                    command.setColumn0(Boolean.valueOf(items[0].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 1) {
                                    command.setColumn1(Boolean.valueOf(items[1].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 2) {
                                    command.setColumn2(Boolean.valueOf(items[2].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 3) {
                                    command.setColumn3(Boolean.valueOf(items[3].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 4) {
                                    command.setColumn4(Boolean.valueOf(items[4].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 5) {
                                    command.setColumn5(Boolean.valueOf(items[5].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 6) {
                                    command.setColumn6(Boolean.valueOf(items[6].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 7) {
                                    command.setColumn7(Boolean.valueOf(items[7].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 8) {
                                    command.setColumn8(Boolean.valueOf(items[8].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 9) {
                                    command.setColumn9(Boolean.valueOf(items[9].trim().toLowerCase()));
                                }
                            } catch (Exception e) {
                            }
                            lineCount++;
                            continue;
                        }
                    }
                    TableScanParameter parameter = new TableScanParameter();
                    parameterIndex++;
                    parameter.setIndex(parameterIndex);
                    try {
                        if (numberOfMotors > 0) {
                            parameter.setP0(Float.valueOf(items[0]));
                        }
                        if (numberOfMotors > 1) {
                            parameter.setP1(Float.valueOf(items[1]));
                        }
                        if (numberOfMotors > 2) {
                            parameter.setP2(Float.valueOf(items[2]));
                        }
                        if (numberOfMotors > 3) {
                            parameter.setP3(Float.valueOf(items[3]));
                        }
                        if (numberOfMotors > 4) {
                            parameter.setP4(Float.valueOf(items[4]));
                        }
                        if (numberOfMotors > 5) {
                            parameter.setP5(Float.valueOf(items[5]));
                        }
                        if (numberOfMotors > 6) {
                            parameter.setP6(Float.valueOf(items[6]));
                        }
                        if (numberOfMotors > 7) {
                            parameter.setP7(Float.valueOf(items[7]));
                        }
                        if (numberOfMotors > 8) {
                            parameter.setP8(Float.valueOf(items[8]));
                        }
                        if (numberOfMotors > 9) {
                            parameter.setP9(Float.valueOf(items[9]));
                        }
                        parameter.setPreset(Float.valueOf(items[items.length - 1]));
                        parameter.setIsSelected(true);
                    } catch (Exception e) {
                        reader.close();
                        throw new Exception("failed to interpret the line: " + line);
                    }
                    parameter.setCommand(command);
                    parameter.setLength(numberOfMotors);
                    parameter.setPNames(command.getPNames());
                    command.getParameterList().add(parameter);
                }
                lineCount++;
            }
            String filePathString;
            int FILE_NAME_LENGTH = 60;
            if (filePath.length() > FILE_NAME_LENGTH) {
                String spliter = "\\";
                if (filePath.contains("/")) {
                    spliter = "/";
                }
                int spliterIndex = filePath.indexOf(spliter, 3);
                if (spliterIndex > 0 && spliterIndex < 50) {
                    spliterIndex++;
                    filePathString = filePath.substring(0, spliterIndex) + "..." + filePath.subSequence(
                            filePath.length() - FILE_NAME_LENGTH + spliterIndex, filePath.length());
                } else {
                    filePathString = filePath.substring(0, 3) + "..."
                            + filePath.subSequence(filePath.length() - FILE_NAME_LENGTH + 3, filePath.length());
                    ;
                }
            } else {
                filePathString = filePath;
            }
            label.setText(filePathString);
            label.setToolTipText(filePath);
            reader.close();
            return command;
        } catch (Exception error) {
            error.printStackTrace();
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                }
            }
            MessageDialog.openError(parent.getShell(), "Error",
                    "Failed to load command: " + error.getLocalizedMessage());
        }
    }
    return null;
}

From source file:au.gov.ansto.bragg.kowari.ui.views.AnalysisControlView.java

License:Open Source License

@Override
public void createPartControl(Composite composite) {
    super.createPartControl(composite);
    defaultParametersButton.dispose();// w  ww .java2  s. c om
    revertParametersButton.dispose();
    configurationButton.dispose();
    applyParametersButton.setText("Apply");
    GridData data = new GridData();
    data = new GridData();
    data.horizontalAlignment = GridData.FILL;
    data.grabExcessHorizontalSpace = true;
    applyParametersButton.setLayoutData(data);
    generateReportButton = new Button(parameterGroupButtonsComposite, SWT.PUSH);
    data = new GridData();
    data.horizontalAlignment = GridData.FILL;
    data.grabExcessHorizontalSpace = true;
    generateReportButton.setLayoutData(data);
    generateReportButton.setText("Report");
    generateReportButton.setToolTipText("Generate the analysis report");
    generateReportButton.setImage(
            Activator.imageDescriptorFromPlugin(Activator.PLUGIN_ID, "icons/report16x16.png").createImage());
    parametersComposite.layout(parameterGroupButtonsComposite.getChildren());

    initReportListener();
    //      parameterGroupButtonsComposite.layout();
    //      parameterGroupButtonsComposite.update();
    //      parameterGroupButtonsComposite.redraw();
    //      parameterGroupButtonsComposite.getParent().update();
    //      parameterGroupButtonsComposite.getParent().redraw();
    AlgorithmTask task = getAlgorithmTask();
    final Operation operation = task.getOperationManager(0).getOperation(NAVIGATION_PROCESSOR_NAME);
    final Tuner isInLoopTuner = ((ProcessorAgent) operation.getAgent()).getTuner(IS_IN_LOOP_TUNER_NAME);
    final OperationParameter parameter = operation.getOperationParameter(SCAN_VARIABLE_NAME);
    final Operation plotOperation = task.getOperationManager(0).getOperation(ONEDPLOT_PROCESSOR_NAME);
    final Operation geometryOperation = task.getOperationManager(0)
            .getOperation(CORRECTED_HISTOGRAM_PROCESSOR_NAME);
    final Operation integrationOperation = task.getOperationManager(0).getOperation(INTEGRATION_PROCESSOR_NAME);

    generateReportButton.addSelectionListener(new SelectionListener() {

        public void widgetDefaultSelected(SelectionEvent arg0) {
        }

        public void widgetSelected(SelectionEvent arg0) {
            IGroup result = plotOperation.getOutputData();
            if (result == null) {
                MessageDialog.openError(getSite().getShell(), "Report Error",
                        "There is no result data available");
            }
            Plot algorithmResult = (Plot) result;
            String filename = Util.selectDirectoryFromShell(getSite().getShell());
            if (filename == null || filename.trim().length() == 0)
                return;
            URI targetFolderURI = null;
            try {
                targetFolderURI = ConverterLib.path2URI(filename);
            } catch (FileAccessException e) {
                Util.handleException(getSite().getShell(), new FileAccessException("Illegal folder path"));
            }
            exportReport(targetFolderURI, algorithmResult);
        }
    });
    //      final IPointLocatorListener mouseListener = new IPointLocatorListener(){
    //
    //         public void locationUpdated(double x, double y, double val) {
    //            List<OperationParameterEditor> editors = parameterEditorsMap.get(operation.getName());
    //            for (OperationParameterEditor editor : editors){
    //               if (editor.getOperationParameter() == parameter){
    ////                  parameter.setValue(new Double(x));
    ////                  editor.loadData();
    //                  if (editor instanceof OptionOperationParameterEditor)
    //                     ((OptionOperationParameterEditor) editor).setSelection(new Double(x));
    //               }
    //            }
    //            
    //            applyParameters();
    //         }
    //      };

    //      final KurandaMouseListener doubleClickListener = new KurandaMouseListener(){
    //
    //         public void mouseDoubleClick(EventData eventData) {
    //            List<OperationParameterEditor> editors = parameterEditorsMap.get(operation.getName());
    //            for (OperationParameterEditor editor : editors){
    //               if (editor.getOperationParameter() == parameter){
    ////                  parameter.setValue(new Double(x));
    ////                  editor.loadData();
    //                  if (editor instanceof OptionOperationParameterEditor)
    //                     ((OptionOperationParameterEditor) editor).setSelection(
    //                           new Position(String.valueOf(eventData.getX())));
    //               }
    //            }
    //            
    //            applyParameters();            
    //         }
    //
    //         public void mouseDown(EventData eventData) {
    //            
    //         }
    //
    //         public void mouseUp(EventData eventData) {
    //            
    //         }
    //         
    //      };

    final ChartMouseListener chartMouseListener = new ChartMouseListener() {

        @Override
        public void chartMouseMoved(ChartMouseEvent event) {
            // TODO Auto-generated method stub
        }

        @Override
        public void chartMouseClicked(ChartMouseEvent event) {
            if (event instanceof XYChartMouseEvent) {
                List<OperationParameterEditor> editors = parameterEditorsMap.get(operation.getName());
                for (OperationParameterEditor editor : editors) {
                    if (editor.getOperationParameter() == parameter) {
                        if (editor instanceof OptionOperationParameterEditor) {
                            ((OptionOperationParameterEditor) editor).setSelection(
                                    new Position(String.valueOf(((XYChartMouseEvent) event).getX())));
                            applyParameters();
                        }
                    }
                }
            }
        }
    };

    PlotManager.addOpenNewPlotListener(new PlotManager.OpenNewPlotListener() {

        public void newPlotOpened(au.gov.ansto.bragg.kakadu.ui.plot.Plot plot) {
            if (plot.getOperaton() == plotOperation)
                //               plot.getCurrentPlotWidget().addPointLocatorListener(mouseListener);
                plot.getCurrentPlotWidget().addChartMouseListener(chartMouseListener);
        }
    });

    final IMaskEventListener maskEventListener = new IMaskEventListener() {

        @Override
        public void maskAdded(AbstractMask mask) {
            runDelayedTask();
        }

        @Override
        public void maskRemoved(AbstractMask mask) {
            runDelayedTask();
        }

        @Override
        public void maskUpdated(AbstractMask mask) {
            runDelayedTask();
        }

    };

    PlotManager.addOpenNewPlotListener(new PlotManager.OpenNewPlotListener() {

        public void newPlotOpened(au.gov.ansto.bragg.kakadu.ui.plot.Plot plot) {
            if (plot.getOperaton() == geometryOperation)
                plot.getCurrentPlotWidget().addMaskEventListener(maskEventListener);
        }
    });

    final TunerPortListener applyToAllListener = new TunerPortListener(isInLoopTuner) {

        @Override
        public void updateUIMax(Object max) {
        }

        @Override
        public void updateUIMin(Object min) {
        }

        @Override
        public void updateUIOptions(List<?> options) {
        }

        @Override
        public void updateUIValue(Object newData) {
            if (newData instanceof Boolean) {
                DisplayManager.getDefault().setEnable(!(Boolean) newData);
                System.err.println("Display manager " + (!(Boolean) newData ? "enabled" : "disabled"));
                //               geometryOperation.setOperationDataListenerEnabled(!(Boolean) newData);
                //               integrationOperation.setOperationDataListenerEnabled(!(Boolean) newData);
                //               plotOperation.setOperationDataListenerEnabled(!(Boolean) newData);
            }
        }

    };
    isInLoopTuner.addVarPortListener(applyToAllListener);
}

From source file:au.gov.ansto.bragg.nbi.ui.tasks.SimpleTableScanTask.java

License:Open Source License

protected SimpleTableScanCommand loadTableCommand(final Composite parent, final Label label) {
    FileDialog dialog = new FileDialog(parent.getShell(), SWT.SINGLE);
    if (fileDialogPath == null) {
        IWorkspace workspace = ResourcesPlugin.getWorkspace();
        IWorkspaceRoot root = workspace.getRoot();
        dialog.setFilterPath(root.getLocation().toOSString());
    } else {// w ww . j  a v  a  2s.c  om
        dialog.setFilterPath(fileDialogPath);
    }
    dialog.setFilterExtensions(new String[] { "*.*" });
    dialog.open();
    if (dialog.getFileName() == null) {
        return null;
    }
    String filePath = dialog.getFilterPath() + File.separator + dialog.getFileName();
    File pickedFile = new File(filePath);
    if (!pickedFile.exists() || !pickedFile.isFile())
        return null;
    fileDialogPath = pickedFile.getParent();
    if (filePath != null) {
        BufferedReader reader = null;
        try {
            SimpleTableScanCommand command = new SimpleTableScanCommand();
            reader = new BufferedReader(new FileReader(pickedFile));
            int lineCount = 0;
            int parameterIndex = 0;
            int numberOfMotors = 0;
            while (reader.ready()) {
                String line = reader.readLine();
                if (line != null) {
                    line = line.trim();
                    if (line.startsWith("#") || line.length() == 0) {
                        continue;
                    }
                    //   line = line.replaceAll("\t", "");
                    String spliter = "\\s+";
                    if (line.contains(",")) {
                        spliter = ",";
                    } else if (line.contains("\t")) {
                        spliter = "\t";
                    }
                    String[] items = line.split(spliter);
                    ArrayList<String> newItems = new ArrayList<String>();
                    for (int i = 0; i < items.length; i++) {
                        if (items[i].trim().length() > 0) {
                            newItems.add(items[i].trim());
                        }
                    }
                    items = new String[newItems.size()];
                    newItems.toArray(items);
                    if (lineCount == 0) {
                        if (!containsLetter(line)) {
                            MessageDialog.openError(parent.getShell(), "Error Loading File",
                                    "Failed to load file " + filePath + ". Please check the file format.");
                            reader.close();
                            return null;
                        }
                        for (int i = 0; i < items.length; i++) {
                            items[i] = items[i].trim();
                        }
                        numberOfMotors = items.length - 1;
                        String lastItme = items[items.length - 1].toLowerCase();
                        if (lastItme.startsWith("monitor_")) {
                            command.setScan_mode(lastItme.toUpperCase());
                        } else if (lastItme.equals("time") || lastItme.equals("unlimited")
                                || lastItme.equals("count") || lastItme.equals("frame")
                                || lastItme.equals("period") || lastItme.equals("count_roi")) {
                            command.setScan_mode(lastItme);
                        } else {
                            command.setScan_mode("time");
                            numberOfMotors = items.length;
                            newItems.add("time");
                        }
                        command.setPNames(newItems);
                        command.setNumberOfMotor(numberOfMotors);
                        lineCount++;
                        continue;
                    } else if (lineCount == 1) {
                        boolean isBoolean = true;
                        for (int i = 0; i < items.length; i++) {
                            String item = items[i].trim().toLowerCase();
                            if (!item.equals("1") && !item.equals("0") && !item.equals("true")
                                    && !item.equals("false")) {
                                isBoolean = false;
                            } else if (item.equals("1")) {
                                items[i] = "true";
                            } else if (item.equals("0")) {
                                items[i] = "false";
                            }
                        }
                        if (isBoolean) {
                            try {
                                if (numberOfMotors > 0) {
                                    command.setColumn0(Boolean.valueOf(items[0].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 1) {
                                    command.setColumn1(Boolean.valueOf(items[1].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 2) {
                                    command.setColumn2(Boolean.valueOf(items[2].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 3) {
                                    command.setColumn3(Boolean.valueOf(items[3].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 4) {
                                    command.setColumn4(Boolean.valueOf(items[4].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 5) {
                                    command.setColumn5(Boolean.valueOf(items[5].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 6) {
                                    command.setColumn6(Boolean.valueOf(items[6].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 7) {
                                    command.setColumn7(Boolean.valueOf(items[7].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 8) {
                                    command.setColumn8(Boolean.valueOf(items[8].trim().toLowerCase()));
                                }
                                if (numberOfMotors > 9) {
                                    command.setColumn9(Boolean.valueOf(items[9].trim().toLowerCase()));
                                }
                            } catch (Exception e) {
                            }
                            lineCount++;
                            continue;
                        }
                    }
                    TableScanParameter parameter = new TableScanParameter();
                    parameterIndex++;
                    parameter.setIndex(parameterIndex);
                    try {
                        if (numberOfMotors > 0) {
                            parameter.setP0(Float.valueOf(items[0]));
                        }
                        if (numberOfMotors > 1) {
                            parameter.setP1(Float.valueOf(items[1]));
                        }
                        if (numberOfMotors > 2) {
                            parameter.setP2(Float.valueOf(items[2]));
                        }
                        if (numberOfMotors > 3) {
                            parameter.setP3(Float.valueOf(items[3]));
                        }
                        if (numberOfMotors > 4) {
                            parameter.setP4(Float.valueOf(items[4]));
                        }
                        if (numberOfMotors > 5) {
                            parameter.setP5(Float.valueOf(items[5]));
                        }
                        if (numberOfMotors > 6) {
                            parameter.setP6(Float.valueOf(items[6]));
                        }
                        if (numberOfMotors > 7) {
                            parameter.setP7(Float.valueOf(items[7]));
                        }
                        if (numberOfMotors > 8) {
                            parameter.setP8(Float.valueOf(items[8]));
                        }
                        if (numberOfMotors > 9) {
                            parameter.setP9(Float.valueOf(items[9]));
                        }
                        parameter.setPreset(Float.valueOf(items[items.length - 1]));
                        parameter.setIsSelected(true);
                    } catch (Exception e) {
                        reader.close();
                        throw new Exception("failed to interpret the line: " + line);
                    }
                    parameter.setCommand(command);
                    parameter.setLength(numberOfMotors);
                    parameter.setPNames(command.getPNames());
                    command.getParameterList().add(parameter);
                }
                lineCount++;
            }
            String filePathString;
            int FILE_NAME_LENGTH = 60;
            if (filePath.length() > FILE_NAME_LENGTH) {
                String spliter = "\\";
                if (filePath.contains("/")) {
                    spliter = "/";
                }
                int spliterIndex = filePath.indexOf(spliter, 3);
                if (spliterIndex > 0 && spliterIndex < 50) {
                    spliterIndex++;
                    filePathString = filePath.substring(0, spliterIndex) + "..." + filePath.subSequence(
                            filePath.length() - FILE_NAME_LENGTH + spliterIndex, filePath.length());
                } else {
                    filePathString = filePath.substring(0, 3) + "..."
                            + filePath.subSequence(filePath.length() - FILE_NAME_LENGTH + 3, filePath.length());
                    ;
                }
            } else {
                filePathString = filePath;
            }
            label.setText(filePathString);
            label.setToolTipText(filePath);
            reader.close();
            return command;
        } catch (Exception error) {
            error.printStackTrace();
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                }
            }
            MessageDialog.openError(parent.getShell(), "Error",
                    "Failed to load command: " + error.getLocalizedMessage());
        }
    }
    return null;
}