Update of /cvsroot/freenet/freenet/src/freenet
In directory sc8-pr-cvs1:/tmp/cvs-serv2453/src/freenet

Modified Files:
        ConnectionHandlerComparator.java OpenConnectionManager.java 
Log Message:
Moved the OCM local port value to its own column
Enabled rev. 0.2 or so of OCM HTML Peerhandler mode
Preliminary obsoletion the 'text only' OCM mode (might be returned to existence if you 
miss it too much, or even better make a suggestion of how to make the graphical mode 
able to do what you want)

Index: ConnectionHandlerComparator.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/ConnectionHandlerComparator.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- ConnectionHandlerComparator.java    15 Oct 2003 09:48:50 -0000      1.10
+++ ConnectionHandlerComparator.java    20 Oct 2003 10:41:59 -0000      1.11
@@ -28,6 +28,7 @@
                        public static final int COMBINED_DATA_TRANSFERED = 16;
                        public static final int PEER_NODE_VERSION = 17;
                        public static final int PEER_ARK_REVISION = 18;
+                       public static final int LOCAL_PORT = 19;
                        
                        
                        
@@ -124,6 +125,8 @@
                                                Long l2=(n2==null?new Long(-1):new 
Long(n2.revision()));
                                                return 
secondaryCompare(iSign,l1.compareTo(l2),ch1,ch2);
                                        }
+                                       case LOCAL_PORT:
+                                               return secondaryCompare(iSign,new 
Long(ch1.getLocalPort()).compareTo(new Long(ch2.getLocalPort())),ch1,ch2);
                                        default:
                                                return 0;       
                                }

Index: OpenConnectionManager.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/OpenConnectionManager.java,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -w -r1.132 -r1.133
--- OpenConnectionManager.java  20 Oct 2003 08:50:37 -0000      1.132
+++ OpenConnectionManager.java  20 Oct 2003 10:41:59 -0000      1.133
@@ -65,7 +65,7 @@
        private boolean logDEBUG = true;
        
        private final boolean doHardConnectionLimit = true; // set true to enable 
special debugging for the Curus Bug (simultaneous connect attempts to the same node)!. 
FIXME: set false before release
-    private boolean peerHandlerHTMLMode = false; //If true then we will render the 
OCM HTML page in PeerHandler mode, else in Connectionsmode
+    private boolean peerHandlerHTMLMode = true; //If true then we will render the OCM 
HTML page in PeerHandler mode, else in Connectionsmode
        private int iPeerHandlerSortingMode = 0; //The sorting mode to be used when in 
peerHandlermode
     private NumberFormat nf = NumberFormat.getInstance();
     private ConnectionsHTMLRenderer connectionsHTMLRenderer = new 
ConnectionsHTMLRenderer();
@@ -789,8 +789,11 @@
         [EMAIL PROTECTED]  &setLevel=    In "new" mode, choose one of three detail 
levels.
      */
        public void writeHtmlContents(PrintWriter pw,HttpServletRequest req) {
-
-
+               if(req.getParameter("setMode") != null) //Check for modeswitch
+                       if(req.getParameter("setMode").compareTo("Peer") ==0)
+                               peerHandlerHTMLMode = true;
+                       else
+                               peerHandlerHTMLMode = false;
                if(peerHandlerHTMLMode)
                        peerHTMLRenderer.render(pw,req);
                else
@@ -1312,14 +1315,9 @@
     
     private abstract class HTMLRenderer{
                protected int iSortingMode = 0; //The sorting mode to use when in 
ConnectionsMode
-               protected boolean useOldStyle = false; //Keep track of what HTML mode 
the user last requested
+               protected boolean useOldStyle = false; //Keep track of what HTML mode 
the user last requested. Obsoleted
                protected int viewLevel = 0;
                public final void render(PrintWriter pw, HttpServletRequest req) {
-                       if(req.getParameter("setMode") != null) //Check for modeswitch
-                               if(req.getParameter("setMode").compareTo("old") ==0)
-                                       useOldStyle = true;
-                               else
-                                       useOldStyle = false;
 
                        if(req.getParameter("setLevel")!= null)
                                try{
@@ -1331,9 +1329,18 @@
                                        //TODO: catch casting errors
                                } catch (NumberFormatException e) { /* iSorting=0; */}
                        }
-                       doRender(pw,req);
+                       renderOverview(pw,req);
+                       doRenderBody(pw,req);
+               }
+               protected abstract void doRenderBody(PrintWriter pw, 
HttpServletRequest req);
+               protected void renderLeftHeader(PrintWriter pw, HttpServletRequest req)
+               {
+                       renderConnectionsSummary(pw, req);
+               }
+               protected void renderRightHeader(PrintWriter pw, HttpServletRequest 
req)
+               {
+                       pw.println(renderConnectionIconLegend());
                }
-               protected abstract void doRender(PrintWriter pw, HttpServletRequest 
req);
                protected String timeFromMillis(long millis,boolean bMinutes,boolean 
bSeconds)
                {
                        String sRetval=null;
@@ -1376,8 +1383,6 @@
                protected String renderConnectionIconLegend(){
                        StringBuffer retval = new StringBuffer(500);
                        retval.append("<table>");
-                       //pw.println("<tr><td colspan = 4 align = 'center'><b>Icon
-                       // legend</b></td></tr>");
                        retval.append("<tr><td colspan = 
2><b>Outbound&nbsp;connections&nbsp;legend</b></td>" + "<td colspan = 
2><b>Inbound&nbsp;connections&nbsp;legend</b></td></tr>");
                        retval.append("<tr><td><img 
SRC='/servlet/images/aqua/arrow_outbound_sleeping.png'></td><td>Idle</td>");
                        retval.append("<td><img 
SRC='/servlet/images/aqua/arrow_inbound_sleeping.png'></td><td>Idle</td></tr>");
@@ -1390,7 +1395,9 @@
                        retval.append("</table>");
                        return retval.toString();
                }
-               protected void renderOCMOverview(PrintWriter pw, HttpServletRequest 
req, List lConnections) {
+               protected void renderConnectionsSummary(PrintWriter pw, 
HttpServletRequest req)
+               {
+                       List lConnections = getConnectionListSnapshot();
                                int outboundConnectionsCount = 0;
                                int outboundNotInRoutingtable=0;
                                int inboundConnectionsCount = 0;
@@ -1419,85 +1426,61 @@
                                        totalDataSent += ch.totalDataSent();
                                        totalDataReceived += ch.totalDataReceived();
                                        NodeReference n = 
Main.node.rt.getNodeReference(ch.peerIdentity());
-                                                               NodeReference nPrev = 
(chPrev == null)
-                                                                       ? null
-                                                                       : 
Main.node.rt.getNodeReference(chPrev.peerIdentity());
+                               NodeReference nPrev = (chPrev == null) ? null : 
Main.node.rt.getNodeReference(chPrev.peerIdentity());
                                                                String s;
                        
                                                                if (n == null) {
-                                                                       
if(ch.outbound) outboundNotInRoutingtable++;
+                                       if (ch.outbound)
+                                               outboundNotInRoutingtable++;
                                                                }
                                        
if(!uniquePeers.contains(ch.peerIdentity().toString()))
                                                
uniquePeers.add(ch.peerIdentity().toString());
                                        chPrev = ch;
                                }
-                       renderTitle(pw,req);
+                       pw.println("<table border=0 cellspacing = 1>\n");
                                if(useOldStyle) {
-                                       pw.println("<br>Number of open connections: " 
+ lru.size());
-                                       pw.println("<br>Number of outbound 
connections: " + outboundConnectionsCount);
-                                       pw.println("<br>Number of inbound connections: 
" + inboundConnectionsCount);
-                                       pw.println("<br>Number of connections sending 
messages: "+sendingConnectionsCount);
-                                       pw.println("<br>Number of connections 
receiving messages: "+receivingConnectionsCount);
-                                       pw.println("<br>Bytes waiting to be sent: " + 
sendQueueSize);
-                                       pw.println("<br>Outbound connections that are 
to peers not in the routingtable: " + 
-                                                          100*(new 
Float(outboundNotInRoutingtable).floatValue() /
-                                                                       new 
Float(outboundConnectionsCount).floatValue()) +
-                                                          "%");
+                               pw.println("<tr><td>Number of open connections: " + 
lru.size()+"</TD></TR>");
+                               pw.println("<tr><td>Number of outbound connections: " 
+ outboundConnectionsCount+"</TD></TR>");
+                               pw.println("<tr><td>Number of inbound connections: " + 
inboundConnectionsCount+"</TD></TR>");
+                               pw.println("<tr><td>Number of connections sending 
messages: " + sendingConnectionsCount+"</TD></TR>");
+                               pw.println("<tr><td>Number of connections receiving 
messages: " + receivingConnectionsCount+"</TD></TR>");
+                               pw.println("<tr><td>Bytes waiting to be sent: " + 
sendQueueSize+"</TD></TR>");
+                               pw.println("<tr><td>Outbound connections that are to 
peers not in the routingtable: " + 100 * (new 
Float(outboundNotInRoutingtable).floatValue() / new 
Float(outboundConnectionsCount).floatValue()) + "%" + "</TD></TR>");
                                } else {
-                                       pw.println("<table><tr><td>");
-                                       pw.println("<table border=0 cellspacing = 
1>\n");
-                                       
pw.println("<tr><td>Connections&nbsp;open&nbsp;(Inbound/Outbound/Limit)</td><td width 
=10></td><td>" + 
-                                                          
(inboundConnectionsCount+outboundConnectionsCount) + 
-                                                          "&nbsp;(" + 
inboundConnectionsCount + "/" + outboundConnectionsCount + "/" + 
maxConnections+")</td></tr>");
-
-                                       pw.println
-                                               
("<tr><td>Connections&nbsp;transferring&nbsp;(Transmitting/Receiving)</td><td 
width=10></td><td>" +
-                                                (sendingConnectionsCount + 
receivingConnectionsCount) + 
-                                                
"&nbsp;("+sendingConnectionsCount+"/"+receivingConnectionsCount+")</td></tr>");
+                               
pw.println("<tr><td>Connections&nbsp;open&nbsp;(Inbound/Outbound/Limit)</td><td width 
=10></td><td>" + (inboundConnectionsCount + outboundConnectionsCount) + "&nbsp;(" + 
inboundConnectionsCount + "/" + outboundConnectionsCount + "/" + maxConnections + 
")</td></tr>");
+                               
pw.println("<tr><td>Connections&nbsp;transferring&nbsp;(Transmitting/Receiving)</td><td
 width=10></td><td>" + (sendingConnectionsCount + receivingConnectionsCount) + 
"&nbsp;(" + sendingConnectionsCount + "/" + receivingConnectionsCount + ")</td></tr>");
                                        if(viewLevel>0) {
-                                               pw.println("<tr><td>Data waiting to be 
transmitted/received</td><td width =10></td><td>" +
-                                                                  
format(sendQueueSize)+
-                                                                  "/"+ 
-                                                                  
format(receiveQueueSize) + 
-                                                                  "</td></tr>");
-                                               pw.println("<tr><td>Amount of data 
transmitted/received over currently open connections</td>" + 
-                                                                  "<td width 
=10></td><td>" + 
-                                                                  
format(totalDataSent) + 
-                                                                  "/" + 
-                                                                  
format(totalDataReceived) + 
-                                                                  "</td></tr>");
-                                               pw.println("<tr><td>Outbound 
connections that are to peers not in the routingtable</td>" + 
-                                                                  "<td width 
=10></td><td>" + 
-                                                                  100*(new 
Float(outboundNotInRoutingtable).floatValue() / 
-                                                                               new 
Float(outboundConnectionsCount).floatValue()) + 
-                                                                  "%</td></tr>");
-                                               pw.println("<tr><td>Number of distinct 
nodes connected</td><td width =10></td><td>" + 
-                                                                  uniquePeers.size() 
+ 
-                                                                  "</td></tr>");
-                               
-                                               
//pw.println("<tr><td>&nbsp;</td></tr>");
-                                       } else {
-                                               pw.println("<tr><td>Data waiting to be 
transfered</td><td width =10></td><td>" +
-                                                                  
format(sendQueueSize+receiveQueueSize)+ 
-                                                                  "</td></tr>");
+                                       pw.println("<tr><td>Data waiting to be 
transmitted/received</td><td width =10></td><td>" + format(sendQueueSize) + "/" + 
format(receiveQueueSize) + "</td></tr>");
+                                       pw.println("<tr><td>Amount of data 
transmitted/received over currently open connections</td>" + "<td width =10></td><td>" 
+ format(totalDataSent) + "/" + format(totalDataReceived) + "</td></tr>");
+                                       pw.println("<tr><td>Outbound connections that 
are to peers not in the routingtable</td>" + "<td width =10></td><td>" + 100 * (new 
Float(outboundNotInRoutingtable).floatValue() / new 
Float(outboundConnectionsCount).floatValue()) + "%</td></tr>");
+                                       pw.println("<tr><td>Number of distinct nodes 
connected</td><td width =10></td><td>" + uniquePeers.size() + "</td></tr>");
+                               } else {
+                                       pw.println("<tr><td>Data waiting to be 
transfered</td><td width =10></td><td>" + format(sendQueueSize + receiveQueueSize) + 
"</td></tr>");
                                                
pw.println("<tr><td>&nbsp;</td></tr><tr><td>&nbsp;</td></tr>");
                                        }
-                               
+                       }
                                        pw.println("</table>\n");
-                       
+               }
+               protected void renderOverview(PrintWriter pw, HttpServletRequest req)
+               {
+                       renderTitle(pw, req);
+                       pw.println("<table><tr><td>");
+                       renderLeftHeader(pw,req);
                                        pw.println("</td><td width = 
100>&nbsp;</td><td>");
-                                       pw.println(renderConnectionIconLegend());
+                       renderRightHeader(pw, req);
                                        pw.println("</td></tr></table>");
                                }
-                       }
                private void renderTitle(PrintWriter pw, HttpServletRequest req) {
-                       if (useOldStyle) {
+                       /*if (useOldStyle)
                                pw.println("<h2>Fred OpenConnectionManager Contents 
<font size = 1><A HREF = '" + req.getRequestURI() + "?setMode=new'>[Switch to 
graphical mode]</A></font></h2>");
-                       } else {
+                       else
                                pw.println("<h2>Open connections <font size = 1><A 
HREF = '" + req.getRequestURI() + "?setMode=old'>[Switch to text only 
mode]</A></font></h2>");
-                       }
+                               */
+                       if (peerHandlerHTMLMode)
+                               pw.println("<h2>Peers<font size = 1><A HREF = '" + 
req.getRequestURI() + "?setMode=Connection'>[Switch to connections 
mode]</A></font></h2>");
+                       else
+                               pw.println("<h2>Connections <font size = 1><A HREF = 
'" + req.getRequestURI() + "?setMode=Peer'>[Switch to peers mode]</A></font></h2>");
                        pw.println("<b>" + new Date() + "</b><br>");
-                       
                }
     }
     private class ConnectionsHTMLRenderer extends HTMLRenderer
@@ -1525,10 +1508,10 @@
                                                        else if(ch.sending()) imageURL 
+= "_transmitting";
                                                        else imageURL += "_sleeping";
                                                imageURL += ".png";
-                                               buffer.append("<center><img src='" + 
imageURL + "' height = '15' width = '24'>" + 
-                                                                         
ch.getLocalPort() + //FIXME put this into its own column.
-                                                                         
"</center></td>");
+                                               buffer.append("<center><img src='" + 
imageURL + "' height = '15' width = '24'>" + "</center></td>");
                                        }
+                                       if(useOldStyle || viewLevel>0)
+                                               buffer.append("<TD>" + 
ch.getLocalPort()+"</TD>");
                                        NodeReference n = 
Main.node.rt.getNodeReference(ch.peerIdentity());
                                        NodeReference nPrev = (chPrev == null)
                                                ? null
@@ -1545,34 +1528,13 @@
                                                // physical[odd] contains the 
associated address
                                        }
                                        if (useOldStyle || viewLevel > 1) {
-                                               buffer.append
-                                                       ("<td>" +
-                                                        (
-                                                         (chPrev != null && 
-                                                          
(chPrev.peerAddress().toString().compareTo(ch.peerAddress().toString()) == 0)
-                                                          ) 
-                                                         ? repetition 
-                                                         : ch.peerAddress().toString()
-                                                         )
-                                                        );
+                                               buffer.append("<td>" + ((chPrev != 
null && (chPrev.peerAddress().toString().compareTo(ch.peerAddress().toString()) == 0)) 
? repetition : ch.peerAddress().toString()));
                                                buffer.append(sep + ((nPrev != null && 
n != null && nPrev.equals(n)) ? repetition : s));
                                        } else
-                                               buffer.append
-                                                       ("<td align = 'right'>" +
-                                                        (n == null 
-                                                         ? "<font color = 
#555555>"+ch.peerAddress().toString()+"</font>"
-                                                         : s)
-                                                        );
+                                       buffer.append("<td align = 'right'>" + (n == 
null ? "<font color = #555555>" + ch.peerAddress().toString() + "</font>" : s));
                        
                                        if(useOldStyle || viewLevel > 1)
-                                               buffer.append
-                                                       (sep + 
-                                                        (
-                                                         (chPrev != null && 
chPrev.peerIdentity() == ch.peerIdentity())
-                                                         ? repetition
-                                                         : 
ch.peerIdentity().toString().replaceAll(" ","&nbsp;")
-                                                         )
-                                                        );
+                                               buffer.append(sep + ((chPrev != null 
&& chPrev.peerIdentity() == ch.peerIdentity()) ? repetition : 
ch.peerIdentity().toString().replaceAll(" ", "&nbsp;")));
                                        if(useOldStyle || viewLevel > 0) {
                                                NodeReference nTarget = 
ch.targetReference();
                                                String peerVersion;
@@ -1636,6 +1598,8 @@
                private void renderConnectionsTableHeader(PrintWriter pw, 
HttpServletRequest req) {
                        if(!useOldStyle)
                                
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.OUTBOUND,"Type"));
+                       if(useOldStyle || viewLevel>0)
+                               
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.LOCAL_PORT,"Local
 port"));
                        if(useOldStyle || viewLevel>1) {
                                
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.PEER_ADDRESS,"Peer
 address"));
                                
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.ROUTING_ADDRESS,"Routing
 address"));
@@ -1671,19 +1635,11 @@
                //Helper method for rendering the connection table header fields to 
HTML
                private String renderConnectionsTableColumnHeader(String scriptName, 
int currentSorting, int clickSortingMode, String label) {
                        String sImgClause = "<img src='/servlet/images/aqua/s_ar_" + 
(currentSorting < 0 ? "up" : "down") + "_olive.gif' height = '9' width = '10'>";
-                       return "<th><A HREF='"
-                               + scriptName
-                               + "?setSorting="
-                               + (currentSorting == clickSortingMode ? ("-" + 
clickSortingMode) : new Long(clickSortingMode).toString())
-                               + "'>"
-                               + (Math.abs(currentSorting) == clickSortingMode ? 
sImgClause : "")
-                               + " "
-                               + label.replaceAll(" ", "&nbsp;")
-                               + "</A></th>";
+                       return "<th><A HREF='" + scriptName + "?setSorting=" + 
(currentSorting == clickSortingMode ? ("-" + clickSortingMode) : new 
Long(clickSortingMode).toString()) + "'>" + (Math.abs(currentSorting) == 
clickSortingMode ? sImgClause : "") + " " + label.replaceAll(" ", "&nbsp;") + 
"</A></th>";
                }
 
                
-               protected void doRender(PrintWriter pw, HttpServletRequest req) {
+               protected void doRenderBody(PrintWriter pw, HttpServletRequest req) {
                        
                        StringBuffer buffer = new StringBuffer();
                        List lConnections = getConnectionListSnapshot();
@@ -1722,7 +1678,7 @@
 
                        renderConnectionList(buffer, lConnections);
 
-                       renderOCMOverview(pw, req, lConnections);
+                       //renderOCMOverview(pw, req);
                        if (!useOldStyle)
                                pw.print(
                                        renderViewLevelSelectorLink(
@@ -1783,7 +1739,7 @@
                                outboundConnectionsCount = 
p.getOutboundConnectionsCount();
                        }
                }
-               protected void doRender(PrintWriter pw, HttpServletRequest req) {
+               protected void doRenderBody(PrintWriter pw, HttpServletRequest req) {
                        pw.println(renderViewLevelSelectorLink(req.getRequestURI()));
                        
                        Hashtable pPeerHandlers = getPeerHandlersSnapshot();
@@ -1806,6 +1762,8 @@
                                maxValues.copyLargest(p);
                        }
 
+                       
+
                        pw.println("<TABLE>");
                        it = lPHData.iterator();
                        while(it.hasNext()){
@@ -1824,13 +1782,14 @@
                }
                protected long calculateBarLength(long value, long max)
                {
-                       int maxBarWidth = 150;
+                       int maxBarWidth = 350;
                        int minBarLength = 2;
                        return 
Math.round(normalize(value,max)*maxBarWidth+minBarLength);
                }
 
                protected void renderPeerHandler(PrintWriter pw, HttpServletRequest 
req,PeerHandlerDataSnapshot p,PeerHandlerDataSnapshot normalizeTo)
                {
+                       
                        pw.println("<TABLE BORDER = 1 BORDERCOLOR = #91A7DE 
cellspacing = 0 cellpadding=0><TR><TD>");
                        pw.println("<TABLE border=0 cellspacing = 0><TR BGCOLOR = 
#E7EDFE>");
                        boolean inRoutingTable = 
freenet.node.Main.node.rt.references(p.identity);
@@ -1845,19 +1804,9 @@
                                if(iSep >0)
                                        peerAddress = peerAddress.substring(0,iSep);
                        }
-                       pw.println("<TD colspan = 
2>"+peerAddress+"&nbsp;(version&nbsp;"+peerVersion+")</TD>");
+                       pw.println("<TD colspan = 2 width = 200 
>"+peerAddress+"&nbsp;(version&nbsp;"+peerVersion+")</TD>");
                        colsUsed = colsUsed+2;
                        
-                       /*
-                       if(viewLevel>0)
-                       {
-                               if(freenet.node.Main.node.rt.references(p.id))
-                                       pw.println("<TD>"+"In routing table"+"</TD>");
-                               else
-                                       pw.println("<TD></TD>");
-                               colsUsed++;
-                       }
-                       */
                        if(viewLevel>1)
                        {
                                pw.println("<TD>"+p.identity.toString()+"</TD>");
@@ -1879,66 +1828,71 @@
                        //DataQueues
                        if(viewLevel ==0){
                                //TODO: Add receiveQueue to the sendqueue below
-                               v1 = new 
Value(null,format(p.sendQueue),"0000FF",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
+                               v1 = new 
Value(null,format(p.sendQueue),"252597",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
                                v2 = null;
                        }else{
                                String sendQueue = 
viewLevel>1?String.valueOf(p.sendQueue):format(p.sendQueue);
                                String receiveQueue = 
viewLevel>1?String.valueOf(0):format(0);
-                               v1 = new 
Value("out",sendQueue,"0000FF",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
-                               v2 = new 
Value("in",receiveQueue,"0000FF",calculateBarLength(0,normalizeTo.sendQueue));
+                               v1 = new 
Value("out",sendQueue,"7810D0",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
+                               v2 = new 
Value("in",receiveQueue,"252597",calculateBarLength(0,normalizeTo.sendQueue));
                        }
                        renderPeerHandlerCell(pw,req,"Data queued",v1,v2);
                        
                        
                        //Data Transfered
                        if(viewLevel ==0){
-                               v1 = new 
Value(null,format(0),"0000FF",calculateBarLength(0,0));
+                               v1 = new 
Value(null,format(0),"252597",calculateBarLength(0,0));
                                v2 = null;
                        }else{
                                String dataSent = 
viewLevel>1?String.valueOf(0):format(0);
                                String dataReceived = 
viewLevel>1?String.valueOf(0):format(0);
-                               v1 = new 
Value("sent",dataSent,"FF0000",calculateBarLength(0,0));
-                               v2 = new 
Value("received",dataReceived,"FF0000",calculateBarLength(0,0));
+                               v1 = new 
Value("sent",dataSent,"7810D0",calculateBarLength(0,0));
+                               v2 = new 
Value("received",dataReceived,"252597",calculateBarLength(0,0));
                        }
                        renderPeerHandlerCell(pw,req,"Data transfered",v1,v2);
 
                        //MessageQueue
                        if(viewLevel ==0){
-                               v1 = new 
Value(null,String.valueOf(p.nonTrailerMessagesQueued+p.trailerMessagesQueued),"0000FF",calculateBarLength(p.nonTrailerMessagesQueued+p.trailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued+normalizeTo.trailerMessagesQueued));
+                               v1 = new 
Value(null,String.valueOf(p.nonTrailerMessagesQueued+p.trailerMessagesQueued),"252597",calculateBarLength(p.nonTrailerMessagesQueued+p.trailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued+normalizeTo.trailerMessagesQueued));
                                v2 = null;
                        }else{
-                               v1 = new 
Value("small",String.valueOf(p.nonTrailerMessagesQueued),"FF0000",calculateBarLength(p.nonTrailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued));
-                               v2 = new 
Value("large",String.valueOf(p.trailerMessagesQueued),"FF0000",calculateBarLength(p.trailerMessagesQueued,normalizeTo.trailerMessagesQueued));
+                               v1 = new 
Value("small",String.valueOf(p.nonTrailerMessagesQueued),"7810D0",calculateBarLength(p.nonTrailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued));
+                               v2 = new 
Value("large",String.valueOf(p.trailerMessagesQueued),"252597",calculateBarLength(p.trailerMessagesQueued,normalizeTo.trailerMessagesQueued));
                        }
                        renderPeerHandlerCell(pw,req,"Messages queued",v1,v2);
 
                        //Messages transfered
                        String messagesTransfered = String.valueOf(0);
-                       renderPeerHandlerCell(pw,req,"Messages 
transfered",messagesTransfered,"0000FF",calculateBarLength(0,0));
+                       renderPeerHandlerCell(pw,req,"Messages 
transfered",messagesTransfered,"252597",calculateBarLength(0,0));
                        
                        //Transfers
                        //String transfers = String.valueOf(0);
                        //renderPeerHandlerCell(pw,req,"Transfers 
completed",transfers,"0000FF",100);
 
                        //Idle time
+                       v1 = new 
Value("idle",timeFromMillis(p.idleTime,true,true),"7810D0",calculateBarLength(p.idleTime,normalizeTo.idleTime));
+                       v2 = new 
Value("life",timeFromMillis(p.lifeTime,true,true),"252597",calculateBarLength(p.lifeTime,normalizeTo.lifeTime));
+                       renderPeerHandlerCell(pw,req,"Time",v1,v2);
+                       /*
                        String idleTime = timeFromMillis(p.idleTime,true,true);
-                       renderPeerHandlerCell(pw,req,"Idle 
time",idleTime,"FF0000",calculateBarLength(p.idleTime,normalizeTo.idleTime));
+                       renderPeerHandlerCell(pw,req,"Idle 
time",idleTime,"FF9C01",calculateBarLength(p.idleTime,normalizeTo.idleTime));
 
                        //Life time
                        String lifeTime = timeFromMillis(p.lifeTime,true,true);
-                       renderPeerHandlerCell(pw,req,"Life 
time",lifeTime,"FF0000",calculateBarLength(p.lifeTime,normalizeTo.lifeTime));
+                       renderPeerHandlerCell(pw,req,"Life 
time",lifeTime,"FF9C01",calculateBarLength(p.lifeTime,normalizeTo.lifeTime));
+                       */
                        
                        //Connections
                        if (viewLevel == 0) {
-                               v1 = new 
Value(null,String.valueOf(p.inboundConnectionsCount+p.outboundConnectionsCount),"FF0000",calculateBarLength(p.inboundConnectionsCount+p.outboundConnectionsCount,normalizeTo.inboundConnectionsCount+normalizeTo.outboundConnectionsCount));
+                               v1 = new 
Value(null,String.valueOf(p.inboundConnectionsCount+p.outboundConnectionsCount),"252597",calculateBarLength(p.inboundConnectionsCount+p.outboundConnectionsCount,normalizeTo.inboundConnectionsCount+normalizeTo.outboundConnectionsCount));
                                v2 = null;
                        } else {
-                               v1 = new 
Value("out",String.valueOf(p.outboundConnectionsCount),"FF0000",calculateBarLength(p.outboundConnectionsCount,normalizeTo.outboundConnectionsCount));
-                               v2 = new 
Value("in",String.valueOf(p.inboundConnectionsCount),"FF00FF",calculateBarLength(p.inboundConnectionsCount,normalizeTo.inboundConnectionsCount));
+                               v1 = new 
Value("out",String.valueOf(p.outboundConnectionsCount),"7810D0",calculateBarLength(p.outboundConnectionsCount,normalizeTo.outboundConnectionsCount));
+                               v2 = new 
Value("in",String.valueOf(p.inboundConnectionsCount),"252597",calculateBarLength(p.inboundConnectionsCount,normalizeTo.inboundConnectionsCount));
                        }
                        renderPeerHandlerCell(pw,req,"Open connections",v1,v2);
-               
                        pw.println("</TABLE></TD></TR></TABLE>");
+                       
                }
                
                protected void renderPeerHandlerCell(PrintWriter pw, 
HttpServletRequest req, String label,String data,String barColor, long barLength) {
@@ -1948,27 +1902,48 @@
                protected void renderPeerHandlerCell(PrintWriter pw, 
HttpServletRequest req, String label, Value v1, Value v2) {
                        String labelString,dataString;
                        if(v2 == null){
-                               labelString = label.replaceAll(" ","&nbsp;");
-                               dataString = v1.data;
+                               labelString = "<font size = 2>"+label.replaceAll(" 
","&nbsp;")+"</font>";
+                               dataString = "<font size = 2>"+v1.data+"</font>";
                        }else{
-                               labelString = label.replaceAll(" ","&nbsp;") 
+"&nbsp;(<font color="+v1.barColor+">"+v1.subLabel+"</font>/<font 
color="+v2.barColor+">"+v2.subLabel+ "</font>)";
-                               dataString = "<font 
color="+v1.barColor+">"+v1.data+"</font>/<font color="+v2.barColor+">"+v2.data+ 
"</font>";
+                               labelString = "<font size = 2>"+label.replaceAll(" 
","&nbsp;") +"&nbsp;(</FONT><font size = 2 
color="+v1.barColor+">"+v1.subLabel+"</font><font size = 2 >/</font><font size = 2 
color="+v2.barColor+">"+v2.subLabel+ "</font><font size = 2>)</font>";
+                               dataString = "<font size = 2 
color="+v1.barColor+">"+v1.data.replaceAll(" ","&nbsp;")+"</font><font size = 2 
>/</font><font size = 2 color="+v2.barColor+">"+v2.data.replaceAll(" ","&nbsp;")+ 
"</font>";
                        }
-                       pw.println("<TR><TD>"+labelString+":</TD><TD>" + dataString + 
"</TD>");
-                       pw.println("<TD ROWSPAN = 
"+(v2==null?"2":"3")+">&nbsp;</TD><TD ROWSPAN = 
"+(v2==null?"2":"3")+">Graph&nbsp;here</TD></TR>");
-                       pw.println("<TR height = 3px><TD COLSPAN=2><IMG height = 3 
width="+v1.barLength+" 
SRC='/servlet/coloredpixel?color="+v1.barColor+"'></IMG></TD></TR>");
+                       pw.println("<TR><TD>"+labelString+"</TD><TD>" + dataString+ 
"</TD>");
+                       pw.println("<TD ROWSPAN = 
"+(v2==null?"2":"3")+">&nbsp;</TD><TD ROWSPAN = 
"+(v2==null?"2":"3")+">[History&nbsp;graph&nbsp;here]</TD></TR>");
+                       pw.println("<TR height = 3px><TD COLSPAN=2><IMG height = 4 
width="+v1.barLength+" 
SRC='/servlet/coloredpixel?color="+v1.barColor+"'></IMG></TD></TR>");
                        if(v2 != null)
-                               pw.println("<TR height = 3px><TD COLSPAN=2><IMG height 
= 3 width="+v2.barLength+" 
SRC='/servlet/coloredpixel?color="+v2.barColor+"'></IMG></TD></TR>");
+                               pw.println("<TR height = 3px><TD COLSPAN=2><IMG height 
= 4 width="+v2.barLength+" 
SRC='/servlet/coloredpixel?color="+v2.barColor+"'></IMG></TD></TR>");
+               }
+               protected void renderRightHeader(PrintWriter pw, HttpServletRequest 
req)
+               {
+                       renderSortingTool(pw,req);
                }
                protected void renderSortingTool(PrintWriter pw, HttpServletRequest 
req){
-                       pw.println("<TABLE>");
+                       pw.println("<TABLE BORDER = 1 BORDERCOLOR = #91A7DE 
cellspacing = 0 cellpadding=0><TR><TD>");
+                       pw.println("<TABLE border=0 cellspacing = 0><TR BGCOLOR = 
#E7EDFE><TD>Sort by:</TD></TR>");
+                       pw.println(renderSortingLink(req.getRequestURI(),"Peer 
address",PeerHandler.PeerHandlerComparator.PEER_ADDRESS));
                        if(viewLevel==0)
                                pw.println(renderSortingLink(req.getRequestURI(),"Data 
queued",PeerHandler.PeerHandlerComparator.COMBINEDQUEUE));
                        else{
                                pw.println(renderSortingLink(req.getRequestURI(),"Data 
queued out",PeerHandler.PeerHandlerComparator.SENDQUEUE));
-                               
//pw.println(renderSortingLink(req.getRequestURI(),"Data queued 
out",PeerHandler.PeerHandlerComparator.SENDQUEUE));
+                               
//pw.println(renderSortingLink(req.getRequestURI(),"Data queued 
in",PeerHandler.PeerHandlerComparator.SENDQUEUE));
                        }
-                       pw.println("/<TABLE>");
+                       
+                       if(viewLevel==0)
+                               
pw.println(renderSortingLink(req.getRequestURI(),"Messages 
queued",PeerHandler.PeerHandlerComparator.QUEUED_MESSAGES_COMBINED));
+                       else{
+                               
pw.println(renderSortingLink(req.getRequestURI(),"Small messages 
queued",PeerHandler.PeerHandlerComparator.QUEUED_MESSAGES));
+                               
pw.println(renderSortingLink(req.getRequestURI(),"Large messages 
queued",PeerHandler.PeerHandlerComparator.QUEUED_TRAILERMESSAGES));
+                       }
+                       pw.println(renderSortingLink(req.getRequestURI(),"Idle 
time",PeerHandler.PeerHandlerComparator.IDLETIME));
+                       pw.println(renderSortingLink(req.getRequestURI(),"Life 
time",PeerHandler.PeerHandlerComparator.LIFETIME));
+                       if(viewLevel==0)
+                               pw.println(renderSortingLink(req.getRequestURI(),"Open 
connections",PeerHandler.PeerHandlerComparator.CONNECTIONS_OPEN_COMBINED));
+                       else{
+                               
pw.println(renderSortingLink(req.getRequestURI(),"Outbound 
connections",PeerHandler.PeerHandlerComparator.CONNECTIONS_OPEN_OUTBOUND));
+                               
pw.println(renderSortingLink(req.getRequestURI(),"Inbound 
connections",PeerHandler.PeerHandlerComparator.CONNECTIONS_OPEN_INBOUND));
+                       }
+                       pw.println("</TABLE></TD></TR></TABLE>");
                }
                protected String renderSortingLink(String scriptName, String label, 
int clickSortingMode) {
                        String sImgClause = "<img src='/servlet/images/aqua/s_ar_" + 
(iSortingMode < 0 ? "up" : "down") + "_olive.gif' height = '9' width = '10'>";

_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to