forked from I2P_Developers/i2p.i2p
Console: Fix NPE on /configsidebar (ticket #2220)
Don't throw NPE translating null Add note about split() Fix form inside table
This commit is contained in:
@ -1006,6 +1006,8 @@ public class SummaryHelper extends HelperBase {
|
||||
if (config == null)
|
||||
config = _context.getProperty(PROP_SUMMARYBAR + "default", isAdvanced() ? DEFAULT_FULL_ADVANCED : DEFAULT_FULL);
|
||||
}
|
||||
if (config.length() <= 0)
|
||||
return Collections.emptyList();
|
||||
return Arrays.asList(DataHelper.split(config, SS));
|
||||
}
|
||||
|
||||
@ -1081,14 +1083,17 @@ public class SummaryHelper extends HelperBase {
|
||||
.append("</th></tr>\n");
|
||||
for (String section : sections) {
|
||||
int i = sections.indexOf(section);
|
||||
String name = sectionNames.get(section);
|
||||
if (name == null)
|
||||
continue;
|
||||
buf.append("<tr><td align=\"center\"><input type=\"checkbox\" class=\"optbox\" id=\"")
|
||||
.append(sectionNames.get(section))
|
||||
.append(name)
|
||||
.append("\" name=\"delete_")
|
||||
.append(i)
|
||||
.append("\"></td><td align=\"left\"><label for=\"")
|
||||
.append(sectionNames.get(section))
|
||||
.append(name)
|
||||
.append("\">")
|
||||
.append(_t(sectionNames.get(section)))
|
||||
.append(_t(name))
|
||||
.append("</label></td><td align=\"right\"><input type=\"hidden\" name=\"order_")
|
||||
.append(i).append('_').append(section)
|
||||
.append("\" value=\"")
|
||||
@ -1151,8 +1156,11 @@ public class SummaryHelper extends HelperBase {
|
||||
.append("</option>\n");
|
||||
|
||||
for (String s : sortedSections) {
|
||||
String name = sectionNames.get(s);
|
||||
if (name == null)
|
||||
continue;
|
||||
buf.append("<option value=\"").append(s).append("\">")
|
||||
.append(sectionNames.get(s)).append("</option>\n");
|
||||
.append(name).append("</option>\n");
|
||||
}
|
||||
|
||||
buf.append("</select>\n" +
|
||||
|
@ -30,9 +30,9 @@ input.default {
|
||||
<jsp:setProperty name="summaryhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" />
|
||||
|
||||
<h3 class="tabletitle"><%=intl._t("Refresh Interval")%></h3>
|
||||
<form action="" method="POST">
|
||||
<table class="configtable">
|
||||
<tr>
|
||||
<form action="" method="POST">
|
||||
<td>
|
||||
<input type="hidden" name="nonce" value="<%=pageNonce%>" >
|
||||
<input type="hidden" name="group" value="0">
|
||||
@ -42,9 +42,9 @@ input.default {
|
||||
<td class="optionsave">
|
||||
<input type="submit" name="action" class="accept" value="<%=intl._t("Save")%>" >
|
||||
</td>
|
||||
</form>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<h3 class="tabletitle"><%=intl._t("Customize Summary Bar")%></h3>
|
||||
<form action="" method="POST">
|
||||
|
@ -1950,6 +1950,9 @@ public class DataHelper {
|
||||
* Same as s.split(regex) but caches the compiled pattern for speed.
|
||||
* This saves about 10 microseconds (Bulldozer) on subsequent invocations.
|
||||
*
|
||||
* Note: For an input "" this returns [""], not a zero-length array.
|
||||
* This is the same behavior as String.split().
|
||||
*
|
||||
* @param s non-null
|
||||
* @param regex non-null, don't forget to enclose multiple choices with []
|
||||
* @throws java.util.regex.PatternSyntaxException unchecked
|
||||
@ -1965,6 +1968,9 @@ public class DataHelper {
|
||||
* Same as s.split(regex, limit) but caches the compiled pattern for speed.
|
||||
* This saves about 10 microseconds (Bulldozer) on subsequent invocations.
|
||||
*
|
||||
* Note: For an input "" this returns [""], not a zero-length array.
|
||||
* This is the same behavior as String.split().
|
||||
*
|
||||
* @param s non-null
|
||||
* @param regex non-null, don't forget to enclose multiple choices with []
|
||||
* @param limit result threshold
|
||||
|
@ -43,6 +43,10 @@ public abstract class Translate {
|
||||
|
||||
/** lang in routerconsole.lang property, else current locale */
|
||||
public static String getString(String key, I2PAppContext ctx, String bun) {
|
||||
if (key == null) {
|
||||
(new NullPointerException("null translation string")).printStackTrace();
|
||||
return "";
|
||||
}
|
||||
String lang = getLanguage(ctx);
|
||||
if (lang.equals("en"))
|
||||
return key;
|
||||
|
@ -1,3 +1,11 @@
|
||||
2018-04-29 zzz
|
||||
* Console: Fix NPE on /configsidebar (ticket #2220)
|
||||
|
||||
2018-04-28 zzz
|
||||
* i2ptunnel:
|
||||
- Fix startup deadlock in TCG
|
||||
- Initial work on SSL wizard
|
||||
|
||||
2018-04-27 zzz
|
||||
* Tunnels: Fix and consolidate allow-zero-hop logic,
|
||||
prevent zero-hop client tunnels when no active peers
|
||||
|
@ -18,7 +18,7 @@ public class RouterVersion {
|
||||
/** deprecated */
|
||||
public final static String ID = "Monotone";
|
||||
public final static String VERSION = CoreVersion.VERSION;
|
||||
public final static long BUILD = 7;
|
||||
public final static long BUILD = 8;
|
||||
|
||||
/** for example "-test" */
|
||||
public final static String EXTRA = "";
|
||||
|
Reference in New Issue
Block a user