@SuppressFBWarnings(value = "PATH_TRAVERSAL_IN", justification = "code runs in same security context as user who providing the file") private void precomputeDefaultValue() { String v; if (isInterpolated()) { PropertiesConfiguration pconf = new PropertiesConfiguration(); Properties systemProperties = System.getProperties(); synchronized (systemProperties) { pconf.append(new MapConfiguration(systemProperties)); } pconf.addProperty("hack_default_value", this.defaultValue); v = pconf.getString("hack_default_value"); } else { v = getRawDefaultValue(); } if (this.type == PropertyType.ABSOLUTEPATH && !(v.trim().equals(""))) v = new File(v).getAbsolutePath(); computedDefaultValue = v; defaultValueComputed = true; }
void property(Property prop) { boolean depr = prop.isDeprecated(); doc.print("| <a name=\"" + prop.getKey().replace(".", "_") + "\" class=\"prop\"></a> " + prop.getKey() + " | "); doc.print(prop.isExperimental() ? "**Experimental.** " : ""); doc.print( (depr ? "**Deprecated.** " : "") + strike(sanitize(prop.getDescription()), depr) + "<br>"); doc.print(strike("**type:** " + prop.getType().name(), depr) + ", "); doc.print(strike("**zk mutable:** " + isZooKeeperMutable(prop), depr) + ", "); String defaultValue = sanitize(prop.getRawDefaultValue()).trim(); if (defaultValue.length() == 0) { defaultValue = strike("**default value:** empty", depr); } else if (defaultValue.contains("\n")) { // deal with multi-line values, skip strikethrough of value defaultValue = strike("**default value:** ", depr) + "\n```\n" + defaultValue + "\n```\n"; } else { if (prop.getType() == PropertyType.CLASSNAME && defaultValue.startsWith("org.apache.accumulo")) { defaultValue = strike("**default value:** " + "{% jlink -f " + defaultValue + " %}", depr); } else { defaultValue = strike("**default value:** " + "`" + defaultValue + "`", depr); } } doc.println(defaultValue + " |"); }
private void precomputeDefaultValue() { String v; if (isInterpolated()) { PropertiesConfiguration pconf = new PropertiesConfiguration(); Properties systemProperties = System.getProperties(); synchronized (systemProperties) { pconf.append(new MapConfiguration(systemProperties)); } pconf.addProperty("hack_default_value", this.defaultValue); v = pconf.getString("hack_default_value"); } else { v = getRawDefaultValue(); } if (this.type == PropertyType.ABSOLUTEPATH && !(v.trim().equals(""))) v = new File(v).getAbsolutePath(); computedDefaultValue = v; defaultValueComputed = true; }
@Override void property(Property prefix, Property prop) { boolean depr = prefix.isDeprecated() || prop.isDeprecated(); if (prop.getKey().startsWith(prefix.getKey())) { doc.println("===== " + prop.getKey()); doc.println(strike((depr ? "_Deprecated._ " : "") + sanitize(prop.getDescription()), depr)); doc.println(); doc.println(strike("_Type:_ " + prop.getType().name(), depr) + " +"); doc.println(strike("_Zookeeper Mutable:_ " + isZooKeeperMutable(prop), depr) + " +"); String defaultValue = sanitize(prop.getRawDefaultValue()).trim(); if (defaultValue.length() == 0) { // need a placeholder or the asciidoc line break won't work defaultValue = strike("_Default Value:_ _empty_", depr); } else if (defaultValue.contains("\n")) { // deal with multi-line values, skip strikethrough of value defaultValue = strike("_Default Value:_ ", depr) + "\n----\n" + defaultValue + "\n----\n"; } else { defaultValue = strike("_Default Value:_ " + "`" + defaultValue + "`", depr); } doc.println(defaultValue); doc.println(); } }
@Override void property(Property prefix, Property prop) { boolean isDeprecated = prefix.isDeprecated() || prop.isDeprecated(); if (prop.getKey().startsWith(prefix.getKey())) { beginRow(); cellData(prop.getKey(), isDeprecated ? "class='deprecated'" : null); cellData( "<b><a href='#" + prop.getType().name() + "'>" + prop.getType().toString().replaceAll(" ", " ") + "</a></b>", isDeprecated ? "class='deprecated'" : null); cellData(isZooKeeperMutable(prop), isDeprecated ? "class='deprecated'" : null); cellData( "<pre>" + (prop.getRawDefaultValue().isEmpty() ? " " : sanitize(prop.getRawDefaultValue().replaceAll(" ", " "))) + "</pre>", isDeprecated ? "class='deprecated'" : null); cellData( (isDeprecated ? "<b><i>Deprecated.</i></b> " : "") + sanitize(prop.getDescription()), isDeprecated ? "class='deprecated'" : null); endRow(); } }