📄 vpserver.java
字号:
if (nettident == null || nettident.length() == 0) nettident = "unknown_netident"; if (nettident.indexOf("-fw") != -1) nettype = "fw"; String[] s = { nettident, nettype }; sysNames.put("-"+prefiksid, s); // Egen sær ting for tekst på ikke-gw bokser String[] fields = (String[])text.get(nettype+"Boks"); if (fields == null) fields = (String[])text.get("defBoks"); if (fields == null) continue; // fail-safe ArrayList tl = (ArrayList)textOut.get(nettype+"Boks"); if (tl == null) tl = (ArrayList)textOut.get("defBoks"); if (tl == null) continue; // fail-safe s = new String[fields.length]; s[0] = "-"+prefiksid; for (int i=1;i<s.length;i++) s[i] = rs.getString(fields[i]); tl.add(s); /* if (nettype.equals("elink")) { String[] s = { rs.getString("orgid"), nettype }; sysNames.put("-"+prefiksid, s); } else { String[] s = { rs.getString("komm"), nettype }; sysNames.put("-"+prefiksid, s); } */ } } ArrayList pRouterL = (ArrayList)pRouters.get(prefiksid); pRouterL.add(gwportid); pRouterL.add(boksid); // Legg til link-info { String[] s = { rs.getString("speed"), rs.getString("interface") }; linkInfo.put(gwportid, s); } // Legg til tekst for bokser if (boksDupe.add(boksid)) { // Legg til tekst for bokser String[] fields = (String[])text.get(kat+"Boks"); if (fields == null) fields = (String[])text.get("defBoks"); if (fields == null) continue; // fail-safe ArrayList tl = (ArrayList)textOut.get(kat+"Boks"); if (tl == null) tl = (ArrayList)textOut.get("defBoks"); if (tl == null) continue; // fail-safe String[] s = new String[fields.length]; s[0] = String.valueOf(boksid); for (int i=1;i<s.length;i++) s[i] = rs.getString(fields[i]); tl.add(s); /* String kat = rs.getString("kat").toLowerCase(); String[] boksFields; if (kat.equals("gw")) boksFields = gwBoksFields; else boksFields = defBoksFields; String[] s = new String[boksFields.length]; for (int i=0;i<boksFields.length;i++) s[i] = rs.getString(boksFields[i]); textBoks.put(boksid, s); */ } if (nettype.equals("link")) nettype = "gw"; // Legg til tekst for link gw->gw eller gw->(stam||elink) { String[] fields = (String[])text.get("gw-"+nettype+"Link"); if (fields == null) fields = (String[])text.get("gw-defLink"); if (fields == null) continue; // fail-safe ArrayList tl = (ArrayList)textOut.get("gw-"+nettype+"Link"); if (tl == null) tl = (ArrayList)textOut.get("gw-defLink"); if (tl == null) continue; // fail-safe String[] s = new String[fields.length]; s[0] = String.valueOf(gwportid); for (int i=1;i<s.length;i++) s[i] = rs.getString(fields[i]); tl.add(s); } // Legg til tekst for link fra (stam||elink) -> gw if (!nettype.equals("gw")) { String[] fields = (String[])text.get(nettype+"-"+kat+"Link"); if (fields == null) fields = (String[])text.get(nettype+"-defLink"); if (fields == null) fields = (String[])text.get("def-defLink"); if (fields == null) continue; // fail-safe ArrayList tl = (ArrayList)textOut.get(nettype+"-"+kat+"Link"); if (tl == null) tl = (ArrayList)textOut.get(nettype+"-defLink"); if (tl == null) tl = (ArrayList)textOut.get("def-defLink"); if (tl == null) continue; // fail-safe String[] s = new String[fields.length]; s[0] = "-"+gwportid; for (int i=1;i<s.length;i++) s[i] = rs.getString(fields[i]); tl.add(s); } if (rs.getInt("netboxid")!=curid) { curid = rs.getInt("netboxid"); l = new ArrayList(); l.add(new Integer(curid)); links.add(l); } l.add(prefiksid); String[] s = { rs.getString("sysname"), kat }; sysNames.put(boksid, s); } // Skriv ut liste over rutere outl("listRouters"); //outl("boksid^sysname^kat"); Iterator iter = sysNames.entrySet().iterator(); Set rrdNetboxid = new HashSet(); Map sysnameMap = new HashMap(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); // Ikke skriv ut (stam||elink) rutere (negativ boksid) String boksid = entry.getKey().toString(); if (boksid.charAt(0) == '-') continue; String[] s = (String[])entry.getValue(); outl(boksid + "^" + s[0] + "^" + s[1] ); routerBoksIds.add(boksid); rrdNetboxid.add(boksid); sysnameMap.put(boksid, s[0]); } { Map mm = new HashMap(); mm.put("boxId", rrdNetboxid); mm.put("datatype", "cpu5min"); loadMap.put("listBoxLoad", mm); } // Skriv ut alle (stam||elink) rutere iter = pRouters.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); Integer prefiksid = (Integer)entry.getKey(); ArrayList pRouterL = (ArrayList)entry.getValue(); if (pRouterL.size() == 4) continue; String[] s = (String[])sysNames.get("-"+prefiksid); if (s == null) { //outl("ERROR at prefiksid: " + prefiksid); continue; } outl("-"+prefiksid + "^" + s[0] + "^" + s[1]); otherBoksIds.add("-"+prefiksid); } // Skriv ut liste over linker mellom ruterne outl("listRouterLinks"); //outl("boksid^linkto^kat"); Set routerLinkIds = new HashSet(); //List rrdLinks = new ArrayList(); for (int i=0; i<links.size(); i++) { l = (ArrayList)links.get(i); int myBoksid = ((Integer)l.get(0)).intValue(); out(""+myBoksid); for (int j=1; j<l.size(); j++) { Integer prefiksid = (Integer)l.get(j); ArrayList pRouterL = (ArrayList)pRouters.get(prefiksid); if (pRouterL.size() == 4) { int g1 = ((Integer)pRouterL.get(0)).intValue(); int v1 = ((Integer)pRouterL.get(1)).intValue(); int g2 = ((Integer)pRouterL.get(2)).intValue(); int v2 = ((Integer)pRouterL.get(3)).intValue(); if (myBoksid == v1) v1 = v2; else g1 = g2; // Format: linkid,boksid out("^"+g1+","+v1); routerLinkIds.add(new Integer(g1)); //rrdLinks.add(new String[] { ""+myBoksid, ""+g1, (String)sysnameMap.get(""+myBoksid) }); } } outl(""); } // Skriv ut alle (stam||elink) linker Set otherLinkIds = new HashSet(); iter = pRouters.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); Integer prefiksid = (Integer)entry.getKey(); ArrayList pRouterL = (ArrayList)entry.getValue(); if (pRouterL.size() == 4) continue; out("-" + prefiksid); for (int i=0;i<pRouterL.size(); i+=2) { out("^" + pRouterL.get(i) + "," + pRouterL.get(i+1)); otherLinkIds.add(pRouterL.get(i)); } outl(""); } { Map mm = new HashMap(); mm.put("gwId", routerLinkIds); mm.put("dualGwId", otherLinkIds); loadMap.put("listLinkLoad", mm); } //listCPULinkLoad(rrdLinks, linkInfo); outl("listRouterLinkInfo"); iter = linkInfo.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); Integer gwportid = (Integer)entry.getKey(); String[] s = (String[])entry.getValue(); out(gwportid.toString()); for (int i=0;i<s.length; i++) { out("^" + s[i]); } outl(""); } // Skriv ut tekst for bokser String[] types = { "Boks", "Link" }; for (int typ=0; typ < types.length; typ++) { outl("list"+types[typ]+"Text"); int tcnt=0; iter = textOut.entrySet().iterator(); while (iter.hasNext()) { Map.Entry me = (Map.Entry)iter.next(); String key = (String)me.getKey(); if (!key.endsWith(types[typ])) continue; l = (ArrayList)me.getValue(); String txt = ((String[])text.get(key))[0]; out("t"+tcnt+"^"+txt); for (int i=0; i < l.size(); i++) out("^"+((String[])l.get(i))[0]); outl(""); for (int i=0; i < l.size(); i++) { String[] s = (String[])l.get(i); out(s[0]); for (int j=1; j < s.length; j++) out("^"+s[j]); outl(""); } tcnt++; } } /* outl("listRouterText"); out("t0^"+gwBoksText); for (int i=0;i<routerBoksIds.size();i++) out("^"+routerBoksIds.get(i)); outl(""); out("t1^"+defBoksText); for (int i=0;i<otherBoksIds.size();i++) out("^"+otherBoksIds.get(i)); outl(""); iter = textBoks.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); Integer boksid = (Integer)entry.getKey(); String[] s = (String[])entry.getValue(); out(""+boksid); for (int i=0;i<s.length;i++) out("^"+s[i]); outl(""); } // Skriv ut tekst for linker outl("listRouterLinkText"); out("t0^"+gwLinkText); for (int i=0;i<routerLinkIds.size();i++) out("^"+routerLinkIds.get(i)); outl(""); out("t1^"+defLinkText); for (int i=0;i<otherLinkIds.size();i++) out("^"+otherLinkIds.get(i)); outl(""); iter = textLinks.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); Integer linkid = (Integer)entry.getKey(); String[] s = (String[])entry.getValue(); out(""+linkid); for (int i=0;i<s.length;i++) out("^"+s[i]); outl(""); } */ reqQ.add("listLoad"); } private static Map newMap(String key, Object val) { Map m = new HashMap(); m.put(key, val); return m; } /* // Lister ut alle routere på topp-nivå og linker/vlan mellom dem static void listRouters2() throws SQLException { // listRouters, listRouterLinks, list //"select tilruter,id,speed,interf,gwip,bits,maxhosts,antmask,ospf from subnet where type='link' and ruter='" + nettel[i] + "' order by tilruter;"); ResultSet rs = Database.query("select g0.boksid,b0.sysName,g0.interf,g1.boksid as tilboksid,b1.sysName as tilsysname,g1.interf from gwport as g0,gwport as g1,boks as b0,boks as b1 where g0.prefiksid=g1.prefiksid and g0.boksid!=g1.boksid and g0.boksid=b0.boksid and g1.boksid=b1.boksid order by g0.boksid"); HashMap sysNames = new HashMap(); ArrayList links = new ArrayList(); ArrayList l=null; int curid=0; while (rs.next()) { if (rs.getInt(1)!=curid) { curid = rs.getInt(1); l = new ArrayList(); l.add(new Integer(curid)); links.add(l); } l.add(new Integer(rs.getInt("tilboksid"))); sysNames.put(new Integer(curid), rs.getString("sysName")); sysNames.put(new Integer(rs.getInt("tilboksid")), rs.getString("tilsysName")); } outl("listRouters"); Iterator iter = sysNames.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry)iter.next(); outl(entry.getKey() + "," + entry.getValue() ); } outl("listRouterLinks"); for (int i=0; i<links.size(); i++) { l = (ArrayList)links.get(i); out(""+l.get(0)); for (int j=1; j<l.size(); j++) { out(","+l.get(j)); } outl(""); } } */ private static Map loadMap = new HashMap(); private static void listLoad() throws SQLException { outl("---"); try { out.flush(); res.flushBuffer(); } catch (IOException exp) { outl("IOException: " + exp); } try { for (Iterator it = loadMap.entrySet().iterator(); it.hasNext();) { Map.Entry me = (Map.Entry)it.next(); String func = (String)me.getKey(); Map m = (Map)me.getValue(); if (func.equals("listBoxLoad")) listBoxLoad(m); if (func.equals("listLinkLoad")) listLinkLoad(m); } } catch (Exception e) { e.printStackTrace(new PrintStream(out)); } } private static void listBoxLoad(Map hm) { outl("listBoxLoad");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -