static { mandatoryProps = new TreeSet(); mandatoryProps.add("_driver"); mandatoryProps.add("_database"); mandatoryProps.add("_select"); mandatoryProps.add("_from"); mandatoryProps.add("_emsTablePrimaryKeys"); mandatoryProps.add("lastEmum"); mandatoryProps.add("_user"); mandatoryProps.add("_password"); String xmlName = Platform.getRoot() + "/classes/COM/dragonflow/topaz/ems/JDBCSource/db.xml"; StringProperty props[] = StaticInitializer.initialize(xmlName); pFieldType = new ScalarProperty("_fieldType"); pFieldType.setParameterOptions(true, true, 10, false); pFieldType.setDisplayText("Enumerating Field Type", "type of field used to order this query"); pStatus = new StringProperty("pMStatus"); pStatus.setIsThreshold(false); Vector vec = new Vector(Arrays.asList(props)); vec.add(pStatus); vec.add(pFieldType); PropertiedObject.addProperties( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", (StringProperty[]) vec.toArray(props)); SiteViewObject.addClassElement( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", Rule.stringToClassifier("pMStatus == 2\terror", false)); SiteViewObject.addClassElement( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", Rule.stringToClassifier("pMStatus == 1\twarning", false)); SiteViewObject.addClassElement( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", Rule.stringToClassifier("pMStatus == 0\tgood", false)); SiteViewObject.addClassElement( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", Rule.stringToClassifier("always\tgood")); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "description", "Sends Topaz data retireved from a database by connecting to it and performing a query.\t"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "title", "EMS Database"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "topazName", "EMS Database"); handleEmsLicense("COM.dragonflow.StandardMonitor.EMSDatabaseMonitor"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "class", "EMSDatabaseMonitor"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "topazType", "System Resources"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "help", "EMSDatabaseMonitor.htm"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "toolName", "Database Connection"); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "toolDescription", "Provides an interface to test a JDBC or ODBC connection to a database."); PropertiedObject.setClassProperty( "COM.dragonflow.StandardMonitor.EMSDatabaseMonitor", "classType", "advanced"); }
public static Array getTemplateConfigFileList() { Array array = new Array(); String s = Platform.getRoot() + "/groups/" + TEMPLATES_FILE; File file = new File(s); if (file.exists()) { array.add(s); } if (Platform.isPortal()) { Portal.addTemplateConfigFiles(array); } return array; }
public static Vector getTemplateList(String s) { Vector vector = new Vector(); vector.addElement(""); vector.addElement("none"); String s1 = Platform.getRoot() + "/groups/" + TEMPLATES_FILE; if (s.length() > 0) { s = Portal.cleanPortalServerID(s); s1 = Portal.getPortalSiteViewRootPath(s) + "/groups/" + TEMPLATES_FILE; } try { Array array = FrameFile.readFromFile(s1); for (int i = 1; i < array.size(); i++) { HashMap hashmap = (HashMap) array.at(i); vector.addElement(TextUtils.getValue(hashmap, "__id")); vector.addElement(TextUtils.getValue(hashmap, "__name")); } } catch (IOException e) { /* empty */ } return vector; }
protected String getTemplateConfigFilePath() { return Platform.getRoot() + "/groups/" + TEMPLATES_FILE; }
static { path = Platform.getRoot() + File.separator + "templates.applications" + File.separator; addProperties( (COM.dragonflow.StandardMonitor.MediaPlayerMonitorBase.class).getName(), new StringProperty[0]); }
/** CAUTION: Decompiled by hand. */ protected boolean update() { long l = Platform.timeMillis(); int i = -1; String[] as = (new String[] {""}); String s = getProperty(pExpression); long l1 = getPropertyAsLong(pMaxMeasurement); int j = getPropertyAsInteger(pCacheLife); boolean flag = j > 0; ArrayList array = new ArrayList(); String s1 = ""; try { String s2 = I18N.toDefaultEncoding(getProperty(pScript)); String s3 = I18N.toDefaultEncoding(getProperty(pRemoteScript)); String s4 = null; String s7 = I18N.toDefaultEncoding(getProperty(pLocalScriptLocation)); if (s7.length() == 0) { s7 = "scripts"; } else if (s7.indexOf("../") >= 0 || s7.indexOf("..\\") >= 0) { failMonitorRun(i, "Illegal Script Location contains ../ construct"); return true; } s1 = getProperty(pMachineName); if (Machine.isNTSSH(s1) && s2.equals("USE COMMAND")) { failMonitorRun(i, "Can't use this option with remote NT ssh connection"); return true; } if (Platform.isRemote(s1) && Machine.getMachine(s1) == null) { failMonitorRun(i, "Remote host unreachable"); return true; } if (Platform.isNTRemote(s1) && !Machine.isNTSSH(s1)) { failMonitorRun(i, "NT host must be configured as NT ssh remote "); return true; } if (s3.equals("none") && s2.equals("USE COMMAND")) { failMonitorRun(i, "Need to specify a script"); return true; } if (s3.length() != 0 && !s3.equals("none")) { try { s4 = getCommandFromLocalFile(s3); s4 = TextUtils.replaceParameters(s4, getParameters(), getReplacementChars()); } catch (IOException ioexception) { LogManager.log("Error", " File load error " + ioexception.toString()); setProperty(pNoData, "n/a"); } } else { if (!Platform.isRemote(s1)) { String s8 = Platform.getRoot() + "/" + s7 + "/" + s2; File file = new File(s8); s4 = file.getAbsolutePath(); } else { String s9 = "scripts" + Machine.getMachinePathSeparator(s1) + s2; OSAdapter osadapter = Machine.getAdapter(s1); if (osadapter != null) { CommandLine commandline = new CommandLine(); String s11 = osadapter.getCommandSetting("fileExists", "changeDirectory"); if (s11.length() > 0) { s4 = s11; } else { s4 = "/usr/bin/cd"; } commandline.exec(s4, s1, Platform.getLock(s1)); } RemoteFile remotefile = new RemoteFile(s1, s9); s4 = remotefile.getFullPath(); } s4 = s4 + " " + getParameters(); System.out.println("Script: " + s4); } LogManager.log("RunMonitor", "Script monitor command: " + s4 + ", machine: " + s1); String s10 = s1; if (s10.startsWith("\\\\")) { s10 = s10.substring(2); } Machine machine = Machine.getNTMachine(s10); int j1 = getPropertyAsInteger(pTimeout) * 1000; if (j1 < 0) { j1 = getSettingAsLong("_scriptMonitorTimeout", -1) * 1000; } String s12 = getScriptServerName(s1); String s14 = getProperty(pScript).equals("USE COMMAND") ? getProperty(pRemoteScript) : getProperty(pScript); ScriptMonitorCache scriptmonitorcache = new ScriptMonitorCache(s12, s14, getPropertyAsInteger(pCacheLife)); if (!flag && alertDebug) { System.out.println("Caching is disabled."); } boolean flag1 = scriptmonitorcache.isFresh(); if (flag && flag1 && scriptmonitorcache.getExitValue() == 0) { if (alertDebug) { System.out.println( "Caching is enabled, the cache life time is set to: " + getPropertyAsInteger(pCacheLife)); } if (alertDebug) { System.out.println( "The cache is still good, not exec'ing script, cache last modified on: " + scriptmonitorcache.getLastModDate()); } array = scriptmonitorcache.getOutput(); i = scriptmonitorcache.getExitValue(); } else if (machine != null && Machine.isNTSSH(s10)) { if (s4.indexOf("\\\\" + s10) > 0) { s4 = TextUtils.replaceString(s4, "\\\\" + s10, ""); } s4 = "scripts\\" + s4.substring(s4.indexOf(s2)); if (j1 > 0) { s4 = CommandLine.getExecSyncCmd(s10, s4, j1, true); } SSHCommandLine sshcommandline = new SSHCommandLine(); array = sshcommandline.exec(s4, machine, false); i = sshcommandline.exitValue; } else { CommandLine commandline1 = new CommandLine(); array = commandline1.exec(s4, s1, Platform.monitorLock, j1); i = commandline1.getExitValue(); } if (flag && !flag1) { if (alertDebug) { System.out.println("Exec'd script and updating cache."); } scriptmonitorcache.update(i, array); } if (i < 0) { String s16 = "Failed to run script"; if (i == Monitor.kURLTimeoutError) { s16 = "Script timed out"; } failMonitorRun(i, s16); return true; } StringBuffer stringbuffer1 = new StringBuffer(); String s17; Enumeration enumeration = (Enumeration) array.iterator(); while (enumeration.hasMoreElements()) { s17 = (String) enumeration.nextElement(); LogManager.log("RunMonitor", "Script monitor machine " + s1 + " output: " + s17); if (s17.startsWith(CommandLine.PERFEX_EXECSYNC_TIMEOUT)) { failMonitorRun(-1, "Error: Timeout"); return true; } if (s17.indexOf("not found") > 0 || s17.indexOf("Not Found") > 0 || s17.indexOf("denied") > 0 || s17.indexOf("Denied") > 0 || s17.indexOf("cannot execute") > 0 || s17.indexOf("such file or directory") > 0) { failMonitorRun(-1, s17); return true; } stringbuffer1.append(s17); stringbuffer1.append("\n"); if (s.length() > 0 && !TextUtils.isRegularExpression(s) && s17.indexOf(s) != -1) { long l4 = TextUtils.findLong(s17, "", ""); if (l4 != -1L) { as[0] = String.valueOf(l4); } } } if (TextUtils.isSubstituteExpression(s)) { s = TextUtils.substitute(s, this); } if (s.length() > 0 && TextUtils.isRegularExpression(s)) { String s18 = stringbuffer1.toString(); Perl5Util perl5util = new Perl5Util(); if (perl5util.match(s, s18)) { int i2 = perl5util.groups(); if (i2 > 0) { if (i2 == 1) { as = new String[i2]; as[0] = perl5util.group(0); } else { if (--i2 > maxNumberOfMatches) { i2 = maxNumberOfMatches; } as = new String[i2]; for (int j2 = 0; j2 < as.length && j2 < maxNumberOfMatches; j2++) { as[j2] = perl5util.group(j2 + 1); } } } } else { failMonitorRun(-1, "Content Match Error"); return true; } } } catch (Exception exception) { LogManager.log("RunMonitor", "Script monitor error: " + exception + " machine: " + s1); setProperty(pNoData, "n/a"); } LogManager.log("RunMonitor", "Script monitor exit: " + i + " machine: " + s1); setProperty(pScriptOutput, ""); if (as[0].trim().length() == 0) { as[0] = "n/a"; long l2 = getSettingAsLong("_scriptMonitorLinesToSave", 25); String s5 = ""; for (int k = 0; k < array.size() && (long) k < l2; k++) { s5 = s5 + array.get(k); s5 = s5 + "^"; } s5 = s5.replace('\r', ' '); s5 = s5.replace('\n', '^'); setProperty(pScriptOutput, s5); } long l3 = Platform.timeMillis() - l; String s6 = TextUtils.floatToString((float) l3 / 1000F, 2) + " sec"; if (stillActive()) { synchronized (this) { for (int i1 = 0; i1 < as.length; i1++) { setProperty(pMatchValue[i1], as[i1]); } setProperty(pStatus, i); if (i != 0) { setProperty(pNoData, "n/a"); } setProperty(pRoundTripTime, l3); setProperty(pMeasurement, getMeasurement(pRoundTripTime, l1)); if (s.length() > 0) { HashMap hashmap = getLabels(); StringBuffer stringbuffer = new StringBuffer(); for (int k1 = 0; k1 < as.length; k1++) { String s13 = getNameFromIndex(k1); String s15 = (String) hashmap.get(s13); if (s15 == null) { s15 = s13; } stringbuffer.append(s15 + "=" + as[k1] + (k1 >= as.length - 1 ? "" : ",")); } setProperty(pStateString, stringbuffer); } else { setProperty(pStateString, "exit: " + i + ", " + s6); } } } return true; }
static { rootDir = Platform.getRoot() + File.pathSeparatorChar + "ems" + File.pathSeparatorChar; }