📄 schoolutils.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 + -