1a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beustpackage org.testng.xml;
2a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust
351e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beustimport org.testng.reporters.XMLStringBuffer;
451e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust
551e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beustimport java.util.Map;
651e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beustimport java.util.Map.Entry;
7a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beustimport java.util.Properties;
8a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust
9a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beustpublic class XmlUtils {
10a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust
11a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust  /**
12a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust   * Don't add this property if it's equal to its default value.
13a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust   */
14a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust  public static void setProperty(Properties p, String name, String value, String def) {
15a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust    if (! def.equals(value) && value != null) {
16a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust      p.setProperty(name, value);
17a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust    }
18a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust  }
19a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust
2051e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust  public static void dumpParameters(XMLStringBuffer xsb, Map<String, String> parameters) {
2151e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust    // parameters
2251e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust    if (!parameters.isEmpty()) {
2351e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust      for(Map.Entry<String, String> para: parameters.entrySet()) {
2451e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust        Properties paramProps= new Properties();
2551e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust        paramProps.setProperty("name", para.getKey());
2651e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust        paramProps.setProperty("value", para.getValue());
2751e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust        xsb.addEmptyElement("parameter", paramProps); // BUGFIX: TESTNG-27
2851e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust      }
2951e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust    }
3051e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust  }
3151e86014271f581e2168bb4e1230bcc9c6dd7d79Cédric Beust
32a780839c3e037a634e1cabefb8a35fdbd8b1a960Cédric Beust}
33