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

📄 agenthelper.java.svn-base

📁 this is example use EJB with jboss.
💻 SVN-BASE
字号:
/*
 * Copyright(C) 2008, NTT AT Co., Ltd.
 * Project: AWGView
 *
 * Notes:
 *  N/A
 *
 * Record of change:
 * Date         Version      Name       Content
 * 2009/01/10   1.0          TriNT      First create       
 */
package jp.co.ntt.awgview.server.thread;

import java.io.Serializable;
import java.util.Vector;

import javax.jms.Message;

import jp.co.ntt.awgview.server.common.LogWriter;
import jp.co.ntt.awgview.server.vo.SnmpVO;

/**
 * Class name : AgentHelper <BR>
 * Package : jp.co.ntt.awgview.server.thread <BR>
 * Description: A helper class to do some common tasks <BR>
 * such as add, update, change layer, delete a data object <BR>
 * 
 * @author : AI&T
 * @version : 1.0
 */
public class AgentHelper implements Serializable {

	private static final long serialVersionUID = -1694259899939266688L;

	/** List storage SnmpVO object */
	private Vector<SnmpVO> lstSnmpVO = null;
	/** List storage Message object */
	private Vector<Message> lstMessage = null;

	/**
	 * Empty constructor
	 */
	public AgentHelper() {
		lstMessage = new Vector<Message>();
		lstSnmpVO = new Vector<SnmpVO>();
	}

	/**
	 * Sets the Message list
	 * 
	 * @param lstMessage
	 *            The lstMessage to set
	 */
	public void setCurrMessageList(Vector<Message> lstMessage) {
		this.lstMessage = lstMessage;
	}

	/**
	 * Returns the Current Message list
	 * 
	 * @return Returns the lstMessage.
	 */
	public Vector<Message> getCurrMessageList() {
		return lstMessage;
	}

	/**
	 * Sets the Current SnmpVO list
	 * 
	 * @param lstSnmpVO
	 *            The lstSnmpVO to set
	 */
	public void setCurrSnmpVOList(Vector<SnmpVO> lstSnmpVO) {
		this.lstSnmpVO = lstSnmpVO;
	}

	/**
	 * Returns the Current SnmpVO list
	 * 
	 * @return Returns the lstSnmpVO.
	 */
	public Vector<SnmpVO> getCurrSnmpVOList() {
		return lstSnmpVO;
	}

	/***
	 * Search a SnmpVO object in lstSnmpVO
	 * 
	 * @param snmpVO
	 * 
	 * @return A lstSnmpVO object that expected
	 */
	public synchronized boolean searchAgent(SnmpVO snmpVO) {
		try {
			if ((lstSnmpVO == null) || (snmpVO == null)) {
				return false;
			} else if (lstSnmpVO.isEmpty()) {
				return false;
			} else {
				int len = lstSnmpVO.size();
				for (int i = 0; i < len; i++) {
					SnmpVO tempSnmpVO = lstSnmpVO.get(i);

					if ((tempSnmpVO != null)) {
						String currentIP = "" + tempSnmpVO.getAwgNeIP();
						if ((currentIP != null)
								&& (currentIP.equals(snmpVO.getAwgNeIP()))) {
							return true;
						}
					}
				}
			}
		} catch (Exception e) {
			LogWriter.getSNMPLogger().warn(e.toString());
		}
		return false;
	}

	/**
	 * Add new a SnmpVO and message object in lstSnmpVO
	 * 
	 * @param message
	 * @param snmpVO
	 * @return boolean
	 */
	public synchronized boolean addData(Message message, SnmpVO snmpVO) {
		boolean isAdded = false;

		if ((snmpVO != null) && (message != null)) {
			try {
				lstMessage.addElement(message);
				lstSnmpVO.addElement(snmpVO);
				isAdded = true;
			} catch (Exception e) {
				LogWriter.getSNMPLogger().warn("List store SnmpVO out of memory. Refesh data");
				refeshAll();

				lstMessage = new Vector<Message>();
				lstMessage.addElement(message);

				lstSnmpVO = new Vector<SnmpVO>();
				lstSnmpVO.addElement(snmpVO);

				isAdded = true;
			}
		}
		return isAdded;
	}

	/**
	 * Remove all elements in list
	 *
	 * @param deleteMessageList
	 * @param snmpVOList
	 */
	public synchronized void removeAll(Vector<Message> deleteMessageList,
			Vector<SnmpVO> snmpVOList) {
		try {
			synchronized (lstMessage) {
				LogWriter.getSNMPLogger().debug("-----------------------------------------");
				LogWriter.getSNMPLogger().debug("Start remove: " + deleteMessageList.size());
				LogWriter.getSNMPLogger().debug(">>Current Message list:" + lstMessage.size());
				LogWriter.getSNMPLogger().debug(">>Current SnmpVO list:" + lstSnmpVO.size());

				lstMessage.removeAll(deleteMessageList);
				lstSnmpVO.removeAll(snmpVOList);

				LogWriter.getSNMPLogger().debug("End removeAll: " + deleteMessageList.size());
				LogWriter.getSNMPLogger().debug(">>Message list after deleted:" + lstMessage.size());
				LogWriter.getSNMPLogger().debug(">>SnmpVO list  after deleted:" + lstSnmpVO.size());
				LogWriter.getSNMPLogger().debug("Current requested command: " + size());
				LogWriter.getSNMPLogger().debug(
						"-----------------------------------------");
			}
		} catch (Exception e) {
			LogWriter.getSNMPLogger().error(e.toString());
		}
	}

	/**
	 * Refesh all data
	 */
	public synchronized void refeshAll() {
		try {
			synchronized (this) {
				if (lstSnmpVO != null) {
					lstSnmpVO.removeAllElements();
				}
				lstSnmpVO = new Vector<SnmpVO>();

				if (lstMessage != null) {
					lstMessage.removeAllElements();
				}
				lstMessage = new Vector<Message>();
			}
		} catch (Exception e) {
			LogWriter.getSNMPLogger().warn(e.toString());
			LogWriter.getSNMPLogger().warn("Refeshing all data");
			synchronized (this) {
				lstSnmpVO = new Vector<SnmpVO>();
				lstMessage = new Vector<Message>();
			}
		}
	}

	/**
	 * destroy all data
	 */
	public synchronized void destroy() {
		try {

			if (lstSnmpVO != null) {
				lstSnmpVO.removeAllElements();
			}

			if (lstMessage != null) {
				lstMessage.removeAllElements();
			}

			System.gc();
		} catch (Exception e) {
			LogWriter.getSNMPLogger().error(e.toString());
			LogWriter.getSNMPLogger().error("Error when destroy SnmpVOHelper");
		}
	}

	/**
	 * Check List is empty?
	 * 
	 * @return boolean
	 */
	public synchronized boolean isEmpty() {
		synchronized (lstMessage) {
			if ((lstMessage == null)) {
				lstSnmpVO = new Vector<SnmpVO>();
				lstMessage = new Vector<Message>();
				return true;
			} else if (lstMessage.isEmpty()) {
				return true;
			} else {
				return false;
			}
		}
	}

	/**
	 * Return size of List
	 * 
	 * @return int
	 */
	public synchronized int size() {
		if ((lstMessage == null)) {
			lstSnmpVO = new Vector<SnmpVO>();
			lstMessage = new Vector<Message>();
			return 0;
		} else {
			return lstMessage.size();
		}
	}
}

⌨️ 快捷键说明

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