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
if (recent != null && recent.length > 0)
        	workspace = recent[0];
        if (workspace == null || workspace.length() == 0)
        	workspace = launchData.getInitialDefault();
        launchData.workspaceSelected(workspace);
    }
    /**
     * Creates and returns the contents of the upper part of this dialog (above
     * the button bar).
     * <p>
     * The <code>Dialog</code> implementation of this framework method creates
     * and returns a new <code>Composite</code> with no margins and spacing.
     * </p>
     *
     * @param parent the parent composite to contain the dialog area
     * @return the dialog area control
     */
    protected Control createDialogArea(Composite parent) {
        String productName = null;
        IProduct product = Platform.getProduct();
        if (product != null) {
            productName = product.getName();
        }
        if (productName == null) {
            productName = IDEWorkbenchMessages.ChooseWorkspaceDialog_defaultProductName;
        }
        Composite composite = (Composite) super.createDialogArea(parent);
        setTitle(IDEWorkbenchMessages.ChooseWorkspaceDialog_dialogTitle);
        setMessage(NLS.bind(IDEWorkbenchMessages.ChooseWorkspaceDialog_dialogMessage, productName));