📄 boardfacadebean.java
字号:
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 + -