Changeset b8d33f7 for apps


Ignore:
Timestamp:
Oct 6, 2018 4:50:32 PM (22 months ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
ff1e53a
Parents:
8dc3163
Message:

Console: Tab /peers, fix html errors

Location:
apps/routerconsole
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • apps/routerconsole/java/src/net/i2p/router/web/helpers/PeerHelper.java

    r8dc3163 rb8d33f7  
    3030    private int _sortFlags;
    3131    private String _urlBase;
     32    private String _transport;
     33    private boolean _graphical;
     34
     35    private static final String titles[] = {
     36                                            _x("Addresses"),
     37                                             "NTCP",
     38                                             "SSU",
     39                                             _x("UPnP Status")
     40                                           };
     41
     42    private static final String links[] = {
     43                                            "",
     44                                             "?tx=ntcp",
     45                                             "?tx=ssu",
     46                                             "?tx=upnp"
     47                                           };
    3248
    3349    // Opera doesn't have the char, TODO check UA
     
    4864        }
    4965    }
     66
    5067    public void setUrlBase(String base) { _urlBase = base; }
     68
     69    /** @since 0.9.38 */
     70    public void setTransport(String t) { _transport = t; }
     71
     72    /**
     73     *  call for non-text-mode browsers
     74     *  @since 0.9.38
     75     */
     76    public void allowGraphical() {
     77        _graphical = true;
     78    }
    5179
    5280    public String getPeerSummary() {
     
    6896     */
    6997    private void renderStatusHTML(Writer out, String urlBase, int sortFlags) throws IOException {
    70         if (isAdvanced()) {
     98        if (_context.commSystem().isDummy()) {
     99            out.write("<p>No peers, no transports, no UPnP: i2p.vmCommSystem=true</p>");
     100            return;
     101        }
     102        renderNavBar(out);
     103        if (isAdvanced() && _transport == null) {
    71104            out.write("<p id=\"upnpstatus\"><b>");
    72105            out.write(_t("Status"));
     
    75108            out.write("</b></p>");
    76109        }
     110
    77111        SortedMap<String, Transport> transports = _context.commSystem().getTransports();
    78         for (Map.Entry<String, Transport> e : transports.entrySet()) {
    79             String style = e.getKey();
    80             Transport t = e.getValue();
    81             if (style.equals("NTCP")) {
    82                 NTCPTransport nt = (NTCPTransport) t;
    83                 render(nt, out, urlBase, sortFlags);
    84             } else if (style.equals("SSU")) {
    85                 UDPTransport ut = (UDPTransport) t;
    86                 render(ut, out, urlBase, sortFlags);
    87             } else {
    88                 // pluggable (none yet)
    89                 t.renderStatusHTML(out, urlBase, sortFlags);
    90             }
    91         }
    92 
    93         if (!transports.isEmpty()) {
    94             out.write(getTransportsLegend());
    95         }
    96 
    97         StringBuilder buf = new StringBuilder(4*1024);
    98         buf.append("<h3 id=\"transports\">").append(_t("Router Transport Addresses")).append("</h3><pre id=\"transports\">\n");
    99         for (Transport t : transports.values()) {
    100             if (t.hasCurrentAddress()) {
    101                 for (RouterAddress ra : t.getCurrentAddresses()) {
    102                     buf.append(ra.toString());
    103                     buf.append("\n\n");
     112        if (_transport != null && !_transport.equals("upnp")) {
     113            for (Map.Entry<String, Transport> e : transports.entrySet()) {
     114                String style = e.getKey();
     115                Transport t = e.getValue();
     116                if (style.equals("NTCP") && "ntcp".equals(_transport)) {
     117                    NTCPTransport nt = (NTCPTransport) t;
     118                    render(nt, out, urlBase, sortFlags);
     119                } else if (style.equals("SSU") && "ssu".equals(_transport)) {
     120                    UDPTransport ut = (UDPTransport) t;
     121                    render(ut, out, urlBase, sortFlags);
     122                } else {
     123                    // pluggable (none yet)
     124                    t.renderStatusHTML(out, urlBase, sortFlags);
     125                }
     126            }
     127            if (!transports.isEmpty()) {
     128                out.write(getTransportsLegend());
     129            }
     130        } else if (_transport == null) {
     131            StringBuilder buf = new StringBuilder(4*1024);
     132            buf.append("<h3 id=\"transports\">").append(_t("Router Transport Addresses")).append("</h3><pre id=\"transports\">\n");
     133            if (!transports.isEmpty()) {
     134                for (Transport t : transports.values()) {
     135                    if (t.hasCurrentAddress()) {
     136                        for (RouterAddress ra : t.getCurrentAddresses()) {
     137                            buf.append(ra.toString());
     138                            buf.append("\n\n");
     139                        }
     140                    } else {
     141                        buf.append(_t("{0} is used for outbound connections only", t.getStyle()));
     142                        buf.append("\n\n");
     143                    }
    104144                }
    105145            } else {
    106                 buf.append(_t("{0} is used for outbound connections only", t.getStyle()));
    107                 buf.append("\n\n");
    108             }
    109         }
    110         buf.append("</pre>\n");
     146                buf.append(_t("none"));
     147            }
     148            buf.append("</pre>\n");
     149            out.write(buf.toString());
     150        } else if ("upnp".equals(_transport)) {
     151            // UPnP Status
     152            _context.commSystem().renderStatusHTML(_out, _urlBase, _sortFlags);
     153        }
     154        out.flush();
     155    }
     156
     157    /**
     158     *  @since 0.9.38
     159     */
     160    private int getTab() {
     161        if ("ntcp".equals(_transport))
     162            return 1;
     163        if ("ssu".equals(_transport))
     164            return 2;
     165        if ("upnp".equals(_transport))
     166            return 3;
     167        return 0;
     168    }
     169
     170    /**
     171     *  @since 0.9.38
     172     */
     173    private void renderNavBar(Writer out) throws IOException {
     174        StringBuilder buf = new StringBuilder(1024);
     175        buf.append("<div class=\"confignav\" id=\"confignav\">");
     176        boolean span = _graphical;
     177        if (!span)
     178            buf.append("<center>");
     179        int tab = getTab();
     180        for (int i = 0; i < titles.length; i++) {
     181            if (i == tab) {
     182                // we are there
     183                if (span)
     184                    buf.append("<span class=\"tab2\">");
     185                buf.append(_t(titles[i]));
     186            } else {
     187                // we are not there, make a link
     188                if (span)
     189                    buf.append("<span class=\"tab\">");
     190                buf.append("<a href=\"peers").append(links[i]).append("\">").append(_t(titles[i])).append("</a>");
     191            }
     192            if (span)
     193                buf.append("</span>\n");
     194            else if (i != titles.length - 1)
     195                buf.append("&nbsp;&nbsp;\n");
     196        }
     197        if (!span)
     198            buf.append("</center>");
     199        buf.append("</div>");
    111200        out.write(buf.toString());
    112         // UPnP Status
    113         _context.commSystem().renderStatusHTML(_out, _urlBase, _sortFlags);
    114         out.write("</p>\n");
    115         out.flush();
    116201    }
    117202
  • apps/routerconsole/jsp/peers.jsp

    r8dc3163 rb8d33f7  
    1515 <jsp:useBean class="net.i2p.router.web.helpers.PeerHelper" id="peerHelper" scope="request" />
    1616 <jsp:setProperty name="peerHelper" property="contextId" value="<%=i2pcontextId%>" />
    17  <% peerHelper.storeWriter(out); %>
     17<%
     18    peerHelper.storeWriter(out);
     19    if (allowIFrame)
     20        peerHelper.allowGraphical();
     21%>
    1822 <jsp:setProperty name="peerHelper" property="urlBase" value="peers.jsp" />
    1923 <jsp:setProperty name="peerHelper" property="sort" value="<%=request.getParameter(\"sort\") != null ? request.getParameter(\"sort\") : \"\"%>" />
     24 <jsp:setProperty name="peerHelper" property="transport" value="<%=request.getParameter(\"tx\")%>" />
    2025 <jsp:getProperty name="peerHelper" property="peerSummary" />
    21 </div></div></body></html>
     26</div></body></html>
Note: See TracChangeset for help on using the changeset viewer.