package com.izforge.izpack.rules; import com.izforge.izpack.util.Debug; import com.izforge.izpack.adaptator.IXMLElement; /** * Checks to see whether the user who is running the installer is the same as the user who should be * running the installer. * * @author J. Chris Folsom <jchrisfolsom@gmail.com> * @author Dennis Reil <izpack@reil-online.de> * */ public class UserCondition extends Condition { private static final long serialVersionUID = -2076347348048202718L; private String requiredUsername; @Override public boolean isTrue() { boolean result = false; if (this.requiredUsername == null) { Debug.log("Expected user name not set in user condition. Condition will return false."); } else { String actualUsername = System.getProperty("user.name"); if ((actualUsername != null) || (actualUsername.length() >= 0)){ result = this.requiredUsername.equals(actualUsername); } else { Debug.log("No user.name found in system properties. Condition will return false."); } } return result; } @Override public void readFromXML(IXMLElement xmlcondition) { IXMLElement userElement = xmlcondition.getFirstChildNamed("requiredusername"); if (userElement == null) { Debug.log("Condition or type \"user\" requires child element: user"); } else { this.requiredUsername = userElement.getContent(); } } }