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

📄 boardfacadebean.java

📁 用java编写的留言版
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.bitterjava.bbs.ejb;

import java.rmi.RemoteException;
import java.security.Identity;
import java.util.Properties;
import javax.ejb.*;
/**
 * This is a Session Bean Class
 */
public class BoardFacadeBean implements SessionBean {
	private javax.ejb.SessionContext mySessionCtx = null;
	final static long serialVersionUID = 3206093459760846163L;
	
	private static BoardHome boardHome = null;
	private static ThreadHome threadHome = null;
	private static PostHome postHome = null;
/**
 * Appends a Post to a Thread and returns the updated Vector of Posts for this Thread.
 * Creation date: (9/26/2001 10:12:51 PM)
 * @return java.util.Vector
 * @param boardName java.lang.String
 * @param threadID int
 * @param post com.bitterjava.bbs.Post
 */
public java.util.Vector addPostToThread(String boardName, int threadID, Post post) throws RemoteException, FinderException, CreateException {
	Thread thread = getThreadHome().findByPrimaryKey(new ThreadKey(boardName, threadID));
	thread.addPost(post.getAuthor(), post.getDate(), post.getSubject(), post.getText());
	return getPostsInThread(boardName, threadID);
}
/**
 * Appends a Thread to a Board and returns the updated Vector of Threads for this Board.
 * Creation date: (9/26/2001 10:18:22 PM)
 * @return java.util.Vector
 * @param boardName java.lang.String
 * @param threadName java.lang.String
 */
public java.util.Vector addThreadToBoard(String boardName, String threadName) throws RemoteException, FinderException, CreateException {
	Board board = getBoardHome().findByPrimaryKey(new BoardKey(boardName));
	board.addThread(threadName);
	return getThreadsInBoard(boardName);
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 10:30:10 PM)
 * @return com.bitterjava.bbs.ejb.Board
 * @param boardName java.lang.String
 * @exception javax.ejb.CreateException The exception description.
 * @exception java.rmi.RemoteException The exception description.
 */
public com.bitterjava.bbs.Board createBoard(String boardName) throws javax.ejb.CreateException, java.rmi.RemoteException, FinderException {
	getBoardHome().create(boardName);
	return getBoard(boardName);
}
/**
 * ejbActivate method comment
 * @exception java.rmi.RemoteException The exception description.
 */
public void ejbActivate() throws java.rmi.RemoteException {}
/**
 * ejbCreate method comment
 * @exception javax.ejb.CreateException The exception description.
 * @exception java.rmi.RemoteException The exception description.
 */
public void ejbCreate() throws javax.ejb.CreateException, java.rmi.RemoteException {}
/**
 * ejbPassivate method comment
 * @exception java.rmi.RemoteException The exception description.
 */
public void ejbPassivate() throws java.rmi.RemoteException {}
/**
 * ejbRemove method comment
 * @exception java.rmi.RemoteException The exception description.
 */
public void ejbRemove() throws java.rmi.RemoteException {}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 3:48:45 PM)
 * @return com.bitterjava.bbs.ejb.Board
 * @param name java.lang.String
 * @exception java.rmi.RemoteException The exception description.
 */
public com.bitterjava.bbs.Board getBoard(String name) throws java.rmi.RemoteException, FinderException {
	com.bitterjava.bbs.ejb.Board boardEjb = getBoardHome().findByPrimaryKey(new BoardKey(name));
	return marshalDataObject(boardEjb);
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 3:49:23 PM)
 * @return com.bitterjava.bbs.ejb.BoardHome
 */
private BoardHome getBoardHome() {
	if (boardHome == null) {
		try {
			Properties env = mySessionCtx.getEnvironment();
			String providerURL = env.getProperty("providerURL");
			String boardHomeName = env.getProperty("boardHomeName");
			String ctxFactory = env.getProperty("ctxFactory");
			
			Properties p = new Properties();
		
			p.put("java.naming.provider.url", providerURL);
			p.put("java.naming.factory.initial", ctxFactory);
			javax.naming.InitialContext ic  = new javax.naming.InitialContext(p);

			java.lang.Object homeObject = ic.lookup(boardHomeName);
			boardHome = (BoardHome)javax.rmi.PortableRemoteObject.narrow((org.omg.CORBA.Object)homeObject, BoardHome.class);
		}
		catch (Exception e) {
		}

	}
	return boardHome;
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 3:49:23 PM)
 * @return com.bitterjava.bbs.ejb.BoardHome
 */
private PostHome getPostHome() {
	if (postHome == null) {
		try {
			Properties env = mySessionCtx.getEnvironment();
			String providerURL = env.getProperty("providerURL");
			String postHomeName = env.getProperty("postHomeName");
			String ctxFactory = env.getProperty("ctxFactory");
			
			Properties p = new Properties();
		
			p.put("java.naming.provider.url", providerURL);
			p.put("java.naming.factory.initial", ctxFactory);
			javax.naming.InitialContext ic  = new javax.naming.InitialContext(p);

			java.lang.Object homeObject = ic.lookup(postHomeName);
			postHome = (PostHome)javax.rmi.PortableRemoteObject.narrow((org.omg.CORBA.Object)homeObject, PostHome.class);
		}
		catch (Exception e) {
		}

	}
	return postHome;
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 4:19:52 PM)
 * @return java.util.Vector
 * @param boardName java.lang.String
 * @param threadID int
 * @exception java.rmi.RemoteException The exception description.
 * @exception javax.ejb.FinderException The exception description.
 */
public java.util.Vector getPostsInThread(String boardName, int threadID) throws java.rmi.RemoteException, javax.ejb.FinderException {
	java.util.Vector posts = new java.util.Vector();

	try {
		java.util.Enumeration e = getPostHome().findAllForThread(boardName, threadID);
		while (e.hasMoreElements()) {
			java.lang.Object o = e.nextElement();
			com.bitterjava.bbs.ejb.Post postEjb = resolvePost(o);
			com.bitterjava.bbs.Post post = marshalDataObject(postEjb);
			posts.addElement(post);
		}
	}
	catch (NullPointerException e) {}
	
	return posts;
}
/**
 * getSessionContext method comment
 * @return javax.ejb.SessionContext
 */
public javax.ejb.SessionContext getSessionContext() {
	return mySessionCtx;
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 3:49:23 PM)
 * @return com.bitterjava.bbs.ejb.BoardHome
 */
private ThreadHome getThreadHome() {
	if (threadHome == null) {
		try {
			Properties env = mySessionCtx.getEnvironment();
			String providerURL = env.getProperty("providerURL");
			String threadHomeName = env.getProperty("threadHomeName");
			String ctxFactory = env.getProperty("ctxFactory");
			
			Properties p = new Properties();
		
			p.put("java.naming.provider.url", providerURL);
			p.put("java.naming.factory.initial", ctxFactory);
			javax.naming.InitialContext ic  = new javax.naming.InitialContext(p);

			java.lang.Object homeObject = ic.lookup(threadHomeName);
			threadHome = (ThreadHome)javax.rmi.PortableRemoteObject.narrow((org.omg.CORBA.Object)homeObject, ThreadHome.class);
		}
		catch (Exception e) {
		}

	}
	return threadHome;
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 4:28:10 PM)
 * @return java.util.Vector
 * @param boardName java.lang.String
 * @exception java.rmi.RemoteException The exception description.
 * @exception javax.ejb.FinderException The exception description.
 */
public java.util.Vector getThreadsInBoard(String boardName) throws java.rmi.RemoteException, javax.ejb.FinderException {
	java.util.Vector threads = new java.util.Vector();

	try {
		java.util.Enumeration e = getThreadHome().findAllForBoard(boardName);
		while (e.hasMoreElements()) {

			java.lang.Object o = e.nextElement();
			com.bitterjava.bbs.ejb.Thread threadEjb = resolveThread(o);
			com.bitterjava.bbs.Thread thread = marshalDataObject(threadEjb);
			threads.addElement(thread);
		}
	}
	catch (NullPointerException e) {}
	
	return threads;
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 10:32:08 PM)
 * @param boardName java.lang.String
 * @exception java.rmi.RemoteException The exception description.
 * @exception javax.ejb.RemoveException The exception description.
 */
public void removeBoard(String boardName) throws java.rmi.RemoteException, javax.ejb.RemoveException, FinderException {
	try {
		Board board = getBoardHome().findByPrimaryKey(new BoardKey(boardName));
		board.remove();
	}
	catch (NullPointerException e) {}
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 10:12:51 PM)
 * @return java.util.Vector
 * @param boardName java.lang.String
 * @param threadID int
 * @param post com.bitterjava.bbs.Post
 */
public java.util.Vector removePostFromThread(String boardName, int threadID, Post post) throws RemoteException, FinderException, RemoveException {
	try {
		Thread thread = getThreadHome().findByPrimaryKey(new ThreadKey(boardName, threadID));
		Post postEJB = getPostHome().findByPrimaryKey(new PostKey(boardName, threadID, post.getPostID()));
		thread.removePost(postEJB);
	}
	catch (NullPointerException e) {}
	
	return getPostsInThread(boardName, threadID);
}
/**
 * Insert the method's description here.
 * Creation date: (9/26/2001 10:18:22 PM)
 * @return java.util.Vector
 * @param boardName java.lang.String
 * @param threadName java.lang.String
 */
public java.util.Vector removeThreadFromBoard(String boardName, com.bitterjava.bbs.Thread thread) throws RemoteException, FinderException, RemoveException {
	try {
		Board board = getBoardHome().findByPrimaryKey(new BoardKey(boardName));
		Thread threadEJB = getThreadHome().findByPrimaryKey(new ThreadKey(boardName, thread.getThreadID()));
		board.removeThread(threadEJB);
	}
	catch (NullPointerException e) {}
	
	return getThreadsInBoard(boardName);
}
/**
 * Insert the method's description here.
 * Creation date: (9/27/2001 10:17:07 AM)
 * @return com.bitterjava.bbs.ejb.Thread
 * @param o java.lang.Object
 */
private Post resolvePost(Object o) {
	return (Post)javax.rmi.PortableRemoteObject.narrow((org.omg.CORBA.Object)o, Post.class);
}
/**
 * Insert the method's description here.
 * Creation date: (9/27/2001 10:17:07 AM)
 * @return com.bitterjava.bbs.ejb.Thread
 * @param o java.lang.Object
 */
private Thread resolveThread(Object o) {
	return (Thread)javax.rmi.PortableRemoteObject.narrow((org.omg.CORBA.Object)o, Thread.class);
}
/**

⌨️ 快捷键说明

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