Package com.izforge.izpack.panels

Source Code of com.izforge.izpack.panels.DerbyPathPanel

package com.izforge.izpack.panels;

import com.izforge.izpack.installer.InstallData;
import com.izforge.izpack.installer.InstallerFrame;
import com.izforge.izpack.util.AbstractUIHandler;
import com.izforge.izpack.util.FileExecutor;
import com.izforge.izpack.util.OsVersion;
import com.izforge.izpack.util.os.RegistryDefaultHandler;
import com.izforge.izpack.util.os.RegistryHandler;
import com.izforge.izpack.util.VariableSubstitutor;

import java.io.File;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;

/**
* Panel which asks for the Derby database path.
*
* @author Klaus Bartz
*/
public class DerbyPathPanel extends PathInputPanel {

  private static final long serialVersionUID = 1L;

  private String variableName = null;

  /**
   * The constructor.
   *
   * @param parent The parent window.
   * @param idata  The installation data.
   */
  public DerbyPathPanel(InstallerFrame parent, InstallData idata) {
    super(parent, idata);
    setMustExist(false);
    setVariableName("DerbyDBPath");
  }

  /**
   * Indicates wether the panel has been validated or not.
   *
   * @return Wether the panel has been validated or not.
   */
  public boolean isValidated()
  {
    boolean retval = false;
    if (super.isValidated()) {
      idata.setVariable(getVariableName(), pathSelectionPanel.getPath());
      return true;
    }
    return false;
  }

  /**
   * Called when the panel becomes active.
   */
  public void panelActivate()
  {
    // Resolve the default for chosenPath
    super.panelActivate();
    String chosenPath = "";
    // The variable will be exist if we enter this panel
    // second time. We would maintain the previos
    // selected path.
    if (idata.getVariable(getVariableName()) != null) {
      chosenPath = idata.getVariable(getVariableName());
    } else {
      if (OsVersion.IS_WINDOWS)  {
        chosenPath = idata.getVariable(getVariableName()+".windows");
      }
      if (OsVersion.IS_OSX)  {
        chosenPath = idata.getVariable(getVariableName()+".mac");
      } else {
        if (OsVersion.IS_UNIX)  {
          chosenPath = idata.getVariable(getVariableName()+".unix");
        }
      }
    }
    VariableSubstitutor vs = new VariableSubstitutor(idata.getVariables());
    chosenPath = vs.substitute(chosenPath, null);
    // Set the path for method pathIsValid ...
    pathSelectionPanel.setPath(chosenPath);

    if (!pathIsValid())
    {
      chosenPath = "";
    }
    // Set the default to the path selection panel.
    pathSelectionPanel.setPath(chosenPath);
//     String var = idata.getVariable("DerbyPathPanel.skipIfValid");
//     // Should we skip this panel?
//     if (chosenPath.length() > 0 && var != null && "yes".equalsIgnoreCase(var))
//     {
//       idata.setVariable(getVariableName(), chosenPath);
//       parent.skipPanel();
//     }

  }

  /**
   * Returns the name of the variable which should be used for the path.
   *
   * @return the name of the variable which should be used for the path
   */
  public String getVariableName()
  {
    return variableName;
  }

  /**
   * Sets the name for the variable which should be set with the path.
   *
   * @param string variable name to be used
   */
  public void setVariableName(String string)
  {
    variableName = string;
  }

  /*
   * (non-Javadoc)
   *
   * @see com.izforge.izpack.installer.IzPanel#getSummaryBody()
   */
  public String getSummaryBody()
  {
    return (idata.getVariable(getVariableName()));
  }
}
TOP

Related Classes of com.izforge.izpack.panels.DerbyPathPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.