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

📄 schoolutils.java

📁 老外的在线考试
💻 JAVA
字号:
/* * SchoolEJB - CyberDemia's library of EJBs for educational related services. * Copyright (C) 2003 CyberDemia Research and Services * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Library General Public License for more details. *  * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA  02111-1307, USA. * * See the COPYING file located in the top-level-directory of * the archive of this library for complete text of license. */package com.cyberdemia.school;import java.util.*;import javax.ejb.*;import java.util.logging.*;/*** Utility class that provides some methods that are useful* throughout the SchoolEJB module.** @author Alexander Yap*/public abstract class SchoolUtils{	private static Logger s_logger = Logger.getLogger("com.cyberdemia.school");	public static Logger getLogger()	{		return s_logger;	}	/**	* Converts "hierarchy ID" to its equivalent IHierarchy node.	* @param hierId Hierarchy ID as a String.	* @return IHierarchy node that corresponds to hierId, or null if it can't be resolved to any node.	*/	public static IHierarchy getNodeFromHierarchyId(String hierId)	{		IHierarchy node = null;		StringTokenizer tokenizer = new StringTokenizer(hierId, IHierarchy.HIERARCHY_ID_SEPARATOR);		if (!tokenizer.hasMoreTokens())			throw new NumberFormatException("Hierarchy ID "+hierId+" is invalid.");		Integer rootId = new Integer( tokenizer.nextToken() );		IHierarchy rootNode = SchoolConfig.getInstance().getHierarchyRoot();		if (rootNode.getId().equals(rootId))		{			node = rootNode;			while(tokenizer.hasMoreTokens())			{				IHierarchy childNode =  null;				try				{					childNode = node.getChild(new Integer(tokenizer.nextToken()));				}				catch (NumberFormatException nfex)				{                    // Ignore, childNode remains null.				}				if (childNode!=null)				{					node = childNode;				}				else				{	// Failed to resolve the hierarchy ID, set node to null and break;					s_logger.warning("Failed to resolve Hierarchy ID "+hierId);					node = null;					break;				}			}		}		return node;	}		/**	 * Gets a list of all nodes in the hierarchy path from the root node to	 * the specified node.	 * @param node Node at the end of the list.	 * @return List of IHierarchy nodes.	 */	public static List getHierarchyNodeList(IHierarchy node)	{		LinkedList hierList = new LinkedList();		IHierarchy chkNode = node;		while (chkNode!=null)		{			hierList.addFirst(chkNode);			chkNode = chkNode.getParent();		}		return hierList;	}	/**	 * Converts any exception to an EJBException, unless it is already an EJBException.	 * @param ex Source exception.	 * @return An EJBException.	 */	public static EJBException convertToEJBException(Exception ex)	{		if (ex instanceof EJBException)			return (EJBException)ex;		return new EJBException(ex);		}	}

⌨️ 快捷键说明

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