Bug 70576 Eclipse doesn't enforce user to enter the path to the workspace
Problem Description: Eclipse doesn't enforce user to enter the path to the workspace. You may complete the following steps to reproduce this scenario: 1. Launch Eclipse for the first time or delete the current workspace and configurations directory except config.ini file. Workspace Launcher Dialog is displayed. <install location>\eclipse\workspace is initially given in the Workspace field. 2. Hit the Backspace Key to remove the default path from the Workspace filed. The path to the workspace is empty now. 3. Click on OK button. Expected Behavior: Error message is displayed stating that the location of the workspace must be specified. Workspace Launcher Dialog should remain opened until a valid path is given. Actual Behavior: Workspace Launcher Dialog is dismissed and then the Eclipse Workbench is launched. <install location>/eclipse directory is used as the workspace.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceDialog.java
ChooseWorkspaceData launchData, boolean suppressAskAgain, boolean centerOnMonitor) {
        super(parentShell);
        this.launchData = launchData;
        this.suppressAskAgain = suppressAskAgain;
        this.centerOnMonitor = centerOnMonitor;
    }
    /**
     * Show the dialog to the user (if needed). When this method finishes,
     * #getSelection will return the workspace that should be used (whether it
     * was just selected by the user or some previous default has been used.
     * The parameter can be used to override the users preference.  For example,
     * this is important in cases where the default selection is already in use
     * and the user is forced to choose a different one.
     * 
     * @param force
     *            true if the dialog should be opened regardless of the value of
     *            the show dialog checkbox
     */
    public void prompt(boolean force) {
        if (force || launchData.getShowDialog()) {
            open();
            
            if (getReturnCode() == CANCEL)
                launchData.workspaceSelected(null);
            return;
        }
        String[] recent = launchData.getRecentWorkspaces();
        
        
        String workspace = null;