⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eventutil.java

📁 opennms得相关源码 请大家看看
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				retParmVal = event.getInterface();		} else if (parm.equals(TAG_SNMPHOST)) {			retParmVal = event.getSnmphost();		} else if (parm.equals(TAG_SERVICE)) {			retParmVal = event.getService();		} else if (parm.equals(TAG_SNMP)) {			Snmp info = event.getSnmp();			if (info == null)				retParmVal = null;			else {				StringBuffer snmpStr = new StringBuffer(info.getId());				if (info.getIdtext() != null)					snmpStr.append(ATTRIB_DELIM							+ escape(info.getIdtext().trim(), ATTRIB_DELIM));				else					snmpStr.append(ATTRIB_DELIM + "undefined");				snmpStr.append(ATTRIB_DELIM + info.getVersion());				if (info.hasSpecific())					snmpStr.append(ATTRIB_DELIM							+ Integer.toString(info.getSpecific()));				else					snmpStr.append(ATTRIB_DELIM + "undefined");				if (info.hasGeneric())					snmpStr.append(ATTRIB_DELIM							+ Integer.toString(info.getGeneric()));				else					snmpStr.append(ATTRIB_DELIM + "undefined");				if (info.getCommunity() != null) {					snmpStr.append(ATTRIB_DELIM + info.getCommunity().trim());				} else					snmpStr.append(ATTRIB_DELIM + "undefined");				retParmVal = snmpStr.toString();			}		} else if (parm.equals(TAG_SNMP_ID)) {			Snmp info = event.getSnmp();			if (info != null) {				retParmVal = info.getId();			}		} else if (parm.equals(TAG_SNMP_IDTEXT)) {			Snmp info = event.getSnmp();			if (info != null && info.getIdtext() != null) {				retParmVal = info.getIdtext();			}		} else if (parm.equals(TAG_SNMP_VERSION)) {			Snmp info = event.getSnmp();			if (info != null) {				retParmVal = info.getVersion();			}		} else if (parm.equals(TAG_SNMP_SPECIFIC)) {			Snmp info = event.getSnmp();			if (info != null && info.hasSpecific()) {				retParmVal = Integer.toString(info.getSpecific());			}		} else if (parm.equals(TAG_SNMP_GENERIC)) {			Snmp info = event.getSnmp();			if (info != null && info.hasGeneric()) {				retParmVal = Integer.toString(info.getGeneric());			}		} else if (parm.equals(TAG_SNMP_COMMUNITY)) {			Snmp info = event.getSnmp();			if (info != null && info.getCommunity() != null) {				retParmVal = info.getCommunity();			}		} else if (parm.equals(TAG_SEVERITY)) {			retParmVal = event.getSeverity();		} else if (parm.equals(TAG_OPERINSTR)) {			retParmVal = event.getOperinstruct();		} else if (parm.equals(TAG_MOUSEOVERTEXT)) {			retParmVal = event.getMouseovertext();		} else if (parm.equals(TAG_ASSET_DESCR)) {			retParmVal = Long.toString(event.getNodeid());			String assetdescr = null;			if (event.getNodeid() > 0) {				try {					assetdescr = getAssetInfo(event.getNodeid(), "description");				} catch (SQLException sqlE) {					// do nothing				}			}			if (assetdescr != null)				retParmVal = assetdescr;			else				retParmVal = "Unknown";		} else if (parm.equals(TAG_ASSET_COMMENT)) {			retParmVal = Long.toString(event.getNodeid());			String assetcomment = null;			if (event.getNodeid() > 0) {				try {					assetcomment = getAssetInfo(event.getNodeid(), "comment");				} catch (SQLException sqlE) {					// do nothing				}			}			if (assetcomment != null)				retParmVal = assetcomment;			else				retParmVal = "Unknown";		} else if (parm.equals(PARMS_VALUES)) {			if (event.getParms() != null					&& event.getParms().getParmCount() <= 0)				retParmVal = null;			else {				StringBuffer ret = new StringBuffer();				Parms parms = event.getParms();				Enumeration en = parms.enumerateParm();				while (en.hasMoreElements()) {					Parm evParm = (Parm) en.nextElement();					Value parmValue = evParm.getValue();					if (parmValue == null)						continue;					String parmValueStr = getValueAsString(parmValue);					if (parmValueStr == null)						continue;					if (ret.length() == 0) {						ret.append(parmValueStr);					} else {						ret.append(SPACE_DELIM + parmValueStr);					}				}				retParmVal = ret.toString();			}		} else if (parm.equals(PARMS_NAMES)) {			if (event.getParms() != null					&& event.getParms().getParmCount() <= 0)				retParmVal = null;			else {				StringBuffer ret = new StringBuffer();				Parms parms = event.getParms();				if (parm != null) {					Enumeration en = parms.enumerateParm();					while (en.hasMoreElements()) {						Parm evParm = (Parm) en.nextElement();						String parmName = evParm.getParmName();						if (parmName == null)							continue;						if (ret.length() == 0) {							ret.append(parmName.trim());						} else {							ret.append(SPACE_DELIM + parmName.trim());						}					}				}				retParmVal = ret.toString();			}		} else if (parm.equals(PARMS_ALL)) {			if (event.getParms() != null					&& event.getParms().getParmCount() <= 0)				retParmVal = null;			else {				StringBuffer ret = new StringBuffer();				Parms parms = event.getParms();				if (parms != null) {					Enumeration en = parms.enumerateParm();					while (en.hasMoreElements()) {						Parm evParm = (Parm) en.nextElement();						String parmName = evParm.getParmName();						if (parmName == null)							continue;						Value parmValue = evParm.getValue();						if (parmValue == null)							continue;						String parmValueStr = getValueAsString(parmValue);						if (ret.length() != 0) {							ret.append(SPACE_DELIM);						}						ret.append(parmName.trim() + NAME_VAL_DELIM + "\""								+ parmValueStr + "\"");					}				}				retParmVal = ret.toString();			}		} else if (parm.equals(NUM_PARMS_STR)) {			if (event.getParms() != null) {				int count = event.getParms().getParmCount();				retParmVal = String.valueOf(count);			}		} else if (parm.startsWith(PARM_NUM_PREFIX)) {			Parms eventParms = event.getParms();			int end = parm.lastIndexOf(PARM_END_SUFFIX);			if (end != -1 && eventParms != null) {				// Get the value between the '#' and ']'				String eparmname = parm.substring(PARM_NUM_PREFIX_LENGTH, end);				int parmNum = -1;				try {					parmNum = Integer.parseInt(eparmname);				} catch (NumberFormatException nfe) {					parmNum = -1;					retParmVal = null;				}				if (parmNum > 0 && parmNum <= eventParms.getParmCount()) {					Parm evParm = eventParms.getParm(parmNum - 1);					// get parm value					Value eparmval = evParm.getValue();					if (eparmval != null) {						retParmVal = getValueAsString(eparmval);					}				} else {					retParmVal = null;				}			}		} else if (parm.startsWith(PARM_BEGIN)) {			if (parm.length() > PARM_BEGIN_LENGTH) {				int end = parm.indexOf(PARM_END_SUFFIX, PARM_BEGIN_LENGTH);				if (end != -1) {					// Get the value between the '[' and ']'					String eparmname = parm.substring(PARM_BEGIN_LENGTH, end);					Parms parms = event.getParms();					if (parms != null) {						Enumeration en = parms.enumerateParm();						while (en.hasMoreElements()) {							Parm evParm = (Parm) en.nextElement();							String parmName = evParm.getParmName();							if (parmName != null									&& parmName.trim().startsWith(eparmname)) {								// get parm value								Value eparmval = evParm.getValue();								if (eparmval != null) {									retParmVal = getValueAsString(eparmval);									break;								}							}						}					}				}			}		}		return (retParmVal == null ? null : retParmVal.trim());	}	private static DateFormat ThreadCategory(Class class1) {		// TODO Auto-generated method stub		return null;	}	/**	 * Expand the value if it has parms in one of the following formats -	 * %element% values are expanded to have the value of the element where	 * 'element' is an element in the event DTD - %parm[values-all]% is expanded	 * to a delimited list of all parmblock values - %parm[names-all]% is	 * expanded to a list of all parm names - %parm[all]% is expanded to a full	 * dump of all parmblocks - %parm[name]% is expanded to the value of the	 * parameter named 'name' - %parm[ <name>]% is replaced by the value of the	 * parameter named 'name', if present - %parm[# <num>]% is replaced by the	 * value of the parameter number 'num', if present - %parm[##]% is replaced	 * by the number of parameters	 * 	 * @param inp	 *            the input string in which parm values are to be expanded	 * 	 * @return expanded value if the value had any parameter to expand, null	 *         otherwise	 */	public static String expandParms(String inp, Event event) {		int index1 = -1;		int index2 = -1;		StringBuffer ret = new StringBuffer();		String tempInp = inp;		int inpLen = inp.length();		// check input string to see if it has any %xxx% substring		while ((tempInp != null) && ((index1 = tempInp.indexOf(PERCENT)) != -1)) {			// copy till first %			ret.append(tempInp.substring(0, index1));			index2 = tempInp.indexOf(PERCENT, index1 + 1);			if (index2 != -1) {				// Get the value between the %s				String parm = tempInp.substring(index1 + 1, index2);				// m_logger.debug("parm: " + parm + " found in value");				String parmVal = getValueOfParm(parm, event);				// m_logger.debug("value of parm: " + parmVal);				if (parmVal != null) {					ret.append(parmVal);				}				/**				 * else { ret.append(tempInp.substring(index1, index2+1)); }				 */				if (index2 < (inpLen - 1)) {					tempInp = tempInp.substring(index2 + 1);				} else {					tempInp = null;				}			}			else {				break;			}		}		if ((index1 == -1 || index2 == -1) && (tempInp != null)) {			ret.append(tempInp);		}		String retStr = ret.toString();		if (ret.length() > 0 && !retStr.equals(inp))			return retStr;		return null;	}	/**	 * Retrieve nodeLabel from the node table of the database given a particular	 * nodeId.	 * 	 * @param nodeId	 *            Node identifier	 * 	 * @return nodeLabel Retreived nodeLabel	 * 	 * @throws SQLException	 *             if database error encountered	 */	private static String getNodeLabel(long nodeId) throws SQLException {		String nodeLabel = null;		java.sql.Connection dbConn = null;		Statement stmt = null;		try {			// Get datbase connection from the factory			dbConn = DatabaseConnectionFactory.getInstance().getConnection();			// Issue query and extract nodeLabel from result set			stmt = dbConn.createStatement();			ResultSet rs = stmt					.executeQuery("SELECT nodelabel FROM node WHERE nodeid="							+ String.valueOf(nodeId));			if (rs.next()) {				nodeLabel = (String) rs.getString("nodelabel");			}		} finally {			// Close the statement			if (stmt != null) {				try {					stmt.close();				} catch (Exception e) {					// do nothing				}			}			// Close the database connection			if (dbConn != null) {				try {					dbConn.close();				} catch (Throwable t) {					// do nothing				}			}		}		return nodeLabel;	}	/**	 * Retrieve ifAlias from the snmpinterface table of the database given a particular	 * nodeId and ipAddr.	 *	 * @param nodeId	 *            Node identifier	 * @param ipAddr	 *            Interface IP address	 *	 * @return ifAlias Retreived ifAlias	 *	 * @throws SQLException	 *             if database error encountered	 */	private static String getIfAlias(long nodeId, String ipaddr) throws SQLException {				String ifAlias = null;		java.sql.Connection dbConn = null;		Statement stmt = null;		try {			// Get database connection from the factory			dbConn = DatabaseConnectionFactory.getInstance().getConnection();						// Issue query and extract ifAlias from result set			stmt = dbConn.createStatement();			ResultSet rs = stmt			.executeQuery("SELECT snmpifalias FROM snmpinterface WHERE nodeid="					+ nodeId + " and ipaddr='" + ipaddr + "'");			// Assumes only one response.  It will pick the first hit			if (rs.next()) {				ifAlias = (String) rs.getString("snmpifalias");			}		} finally {			// Close the statement			if (stmt != null) {				try {					stmt.close();				} catch (Exception e) {					// do nothing				}			}						// Close the database connection			if (dbConn != null) {				try {					dbConn.close();				} catch (Throwable t) {					// do nothing				}			}		}				return ifAlias;	}		/**	 * Retrieve asset info from the asset table of the database given a particular	 * nodeId and field.	 * 	 * @param nodeId	 *            Node identifier	 * @param assetField	 *	      Field from the asset table	 * 	 * @return assetInfo Retreived assetinfo	 * 	 * @throws SQLException	 *             if database error encountered	 */	private static String getAssetInfo(long nodeId, String assetField) throws SQLException {		String assetInfo = null;		java.sql.Connection dbConn = null;		Statement stmt = null;		try {			// Get datbase connection from the factory			dbConn = DatabaseConnectionFactory.getInstance().getConnection();			// Issue query and extract nodeLabel from result set			stmt = dbConn.createStatement();			ResultSet rs = stmt					.executeQuery("SELECT " + assetField + " FROM assets WHERE nodeid="							+ String.valueOf(nodeId));			if (rs.next()) {				assetInfo = (String) rs.getString(assetField);			}		} finally {			// Close the statement			if (stmt != null) {				try {					stmt.close();				} catch (Exception e) {					// do nothing				}			}			// Close the database connection			if (dbConn != null) {				try {					dbConn.close();				} catch (Throwable t) {					// do nothing				}			}		}		return assetInfo;	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -