package com.installshield.watchpoint.event.dialog.console;


import com.installshield.event.ui.*;
import com.installshield.database.designtime.*;
import com.installshield.wizard.service.*;
import com.installshield.wizard.console.*;
import com.installshield.product.service.product.*;
import com.installshield.wizardx.conditions.*;
import com.installshield.util.*;

public class PanelInstallCheckConsoleImpl {

    private static final String SUMMARY_KEY =
        InstallCheckWizardBeanCondition.PROPERTY_KEY
            + ProductService.SUMMARY_MSG.replace('.', '_');

    public void consoleInteractionInstallCheck(ISDialogContext context) {

        TTYDisplay tty = ((ConsoleWizardUI)context.getWizardUI()).getTTY();
        WizardServices wServices = context.getServices();

        //Display console interaction
        String summaryText = getSummary(wServices);
        tty.printLine();
        tty.printPage(new HtmlToTextConverter().convertText(summaryText));

        //Disable Next in Navigation options
        ConsoleWizardUI consoleUI = (ConsoleWizardUI)context.getWizardUI();

        consoleUI.showNext(false);
    }

    private String getSummary(WizardServices wServices) {

        try {
            ISDatabaseDef db = wServices.getISDatabase().getDatabaseDef();
            ISVariableDef var = db.getVariable(SUMMARY_KEY);
            if (var == null) {
                return "";
            }
            return var.getValue();
        }
        catch (ServiceException e) {
            LogUtils.getLog().logEvent(this, Log.ERROR, e);
            return "";
        }
    }

}
