private String[] findlatest(String[] onlysecuritym, File dir) { Hashtable list = new Hashtable(); String filename; Vector parsed; Vector similarlist; String Key; if (onlysecuritym != null) { for (int i = 0; i < onlysecuritym.length; i++) { filename = onlysecuritym[i]; parsed = MonitoringUtils.parseString(filename, '_'); if (MonitoringUtils.debug > 0) { for (int z = 0; z < parsed.size(); z++) { System.out.println("parsed data is : " + z + " :: " + (String) parsed.elementAt(z)); } } if (parsed.size() > 2) { Key = (String) parsed.elementAt(1); if (list.containsKey(Key)) { similarlist = (Vector) list.get(Key); similarlist.add(filename); list.put(Key, similarlist); } else { similarlist = new Vector(); similarlist.add(filename); list.put(Key, similarlist); } } else { System.err.println("Error in parsing the log file name::" + filename); } } } Enumeration keylist = list.keys(); String nodename; String latestfile = null; Date latestdate = null; Date tempdate; File completepath; parsed = new Vector(); long ldate; for (; keylist.hasMoreElements(); ) { nodename = (String) keylist.nextElement(); similarlist = (Vector) list.get(nodename); for (int i = 0; i < similarlist.size(); i++) { filename = (String) similarlist.elementAt(i); if (latestdate == null) { completepath = new File(dir, filename); ldate = completepath.lastModified(); latestdate = new Date(ldate); latestfile = filename; } else { completepath = new File(dir, filename); ldate = completepath.lastModified(); tempdate = new Date(ldate); if (tempdate.after(latestdate)) { latestdate = tempdate; latestfile = filename; } latestfile = filename; } } if (latestfile != null) parsed.add(latestfile); else System.err.println("Could not get latest file for ::" + nodename); latestdate = null; latestfile = null; } return MonitoringUtils.toStringArray(parsed); }
/** * Called inside of an open transaction whenever the plugin was explicitly told to run or when * there are changes to any of our subscriptions. */ public void execute() { if (MonitoringUtils.debug > 0) { System.out.println("In exec of Sensor"); } if (!publishedcapabilities) { if (MonitoringUtils.debug > 0) System.out.println("In Sensor Plugin publishing capabilities"); publishedcapabilities = publishcapabilities(); File filelist = null; if (Services.contains("SecurityException")) { String filename = secprop.getProperty(secprop.BOOTSTRAP_LOGFILE); if (filename != null) { int lastindex = filename.lastIndexOf(File.separator); filename = filename.substring(0, lastindex); filelist = new File(filename); } else { if (MonitoringUtils.debug > 0) System.out.println( "Could not get the log file name for security exception through java property .Probably org.cougaar.core.security.bootstrap.SecurityManagerLogFile is not set ---- using default values"); String cougaarpath = secprop.getProperty(secprop.COUGAAR_INSTALL_PATH); StringBuffer logfilepath = new StringBuffer(); logfilepath.append(cougaarpath); if (MonitoringUtils.debug > 0) System.out.println("got cougaar install path" + logfilepath.toString()); logfilepath.append(File.separatorChar); logfilepath.append("log" + File.separatorChar + "bootstrap" + File.separator); if (MonitoringUtils.debug > 0) System.out.println("IN Sensor Plugin got log path" + logfilepath.toString()); filelist = new File(logfilepath.toString()); } String[] filenames = null; if (filelist != null) { filenames = filelist.list(); if ((filenames != null) && (filenames.length > 0)) { if (MonitoringUtils.debug > 0) { for (int i = 0; i < filenames.length; i++) { System.out.println("file name at : " + i + " :: " + filenames[i]); } } String[] uniquelog = findUniquePerNode(filenames, filelist, "SecurityManager"); if (MonitoringUtils.debug > 0) { for (int i = 0; i < uniquelog.length; i++) { System.out.println("file name unique at : " + i + " :: " + uniquelog[i]); } } fi = new FileInputStream[uniquelog.length]; File tempfile = null; for (int i = 0; i < uniquelog.length; i++) { tempfile = new File(filelist, uniquelog[i]); try { fi[i] = new FileInputStream(tempfile); } catch (IOException ioexp) { System.err.println( "Error while opening file stream for file ::: " + tempfile.toString()); ioexp.printStackTrace(); } } nodename = findNodeName(fi); for (int i = 0; i < uniquelog.length; i++) { tempfile = new File(filelist, uniquelog[i]); try { fi[i] = new FileInputStream(tempfile); } catch (IOException ioexp) { System.err.println( "Error while opening file stream for file ::: " + tempfile.toString()); ioexp.printStackTrace(); } } } } } } process_publishCmd(allcmd.getAddedList()); double slp = Math.random(); double crit = Math.random(); while ((crit * 10) > 4 || ((crit * 10) == 0)) { crit = Math.random(); // System.out.println("crit while gen is :"+crit*10); } slp *= 10 * 0.6; sleeptime = ((int) slp) * 100000l; if (sleeptime == 0) { sleeptime = 1000000l; } publishdata(); wakeAfter(sleeptime); }