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

📄 nodebean.java

📁 精通Jboss——Ejb和Web Services开发精解的随书源代码
💻 JAVA
字号:
/**
 * Created on 2003-7-21
 */
package com.liuyang.ejb.cmp.node;

import java.io.StringWriter;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;

import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.EntityBean;
import javax.ejb.EntityContext;
import javax.ejb.FinderException;
import javax.ejb.RemoveException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.exolab.castor.xml.Marshaller;

import com.liuyang.ejb.cmp.node.data.NodeBook;

/**
 * @author liuyang
 * 
 * @ejb.bean	description="NodeBean"
 * 				display-name="NodeBean"
 *	    	    local-jndi-name = "cmp/nodelocal"
 *  	        name="Node"
 *           	primkey-field="title"
 *	            schema="node"
 *  	        type="CMP"
 *      	    view-type="local"
 * 				cmp-version = "2.x"
 * 				
 * 
 * 
 * @ejb.finder	signature="java.util.Collection findAll()"
 * 				query = "SELECT OBJECT(g) FROM node g"
 * 				
 * @ejb.finder	query="SELECT OBJECT(g) FROM node g WHERE g.title =?1"
 * 				signature="java.util.Collection findByTitle(java.lang.String title)"
 * 
 * @ejb.finder	query="SELECT OBJECT(g) FROM node g WHERE g.date < ?1"
 * 				signature="java.util.Collection findByDate(java.util.Date date)"
 * 
 * @jboss.query query="SELECT OBJECT(g) FROM node g WHERE g.date < ?1 ORDER BY g.date"
 * 				signature="java.util.Collection findByDate(java.util.Date date)"
 * 
 * 
 */

public abstract class NodeBean implements EntityBean {
	/**
	 * @ejb.interface-method view-type = "local"
	 */
	public abstract void setTitle(String title);
	/**
	 * @ejb.persistence 
	 * 
	 * @ejb.interface-method view-type = "local"
	 */
	public abstract String getTitle();
	/**
	 * @ejb.interface-method view-type = "local"
	 */
	public abstract void setText(String text);
	/**
	 * @ejb.persistence 
	 * @ejb.interface-method view-type = "local"
	 */
	public abstract String getText();
	/**
	 * @ejb.interface-method view-type = "local"
	 */
	public abstract void  setDate(Date date);
	/**
	 * @ejb.persistence 
	 * @ejb.interface-method view-type = "local"
	 */
	public abstract Date  getDate();	
	/**
	 * 
	 * @ejb.home-method view-type = "local"
	 */	
	public NodeBook ejbHomeGetNodeBook(String title){
		NodeLocalHome home = (NodeLocalHome) ctx.getEJBLocalHome();
		NodeBook nbook = new NodeBook();
		try {
			if(!home.findByTitle(title).isEmpty()){
				NodeLocal node = home.findByPrimaryKey(title);
				nbook.setTitle(title);
				nbook.setText(node.getText());
				nbook.setDate(node.getDate());
			}
		} catch (FinderException e) {
			e.printStackTrace();
		}
		return nbook;
	}
	/**
	 * 
	 * @ejb.home-method view-type = "local"
	 */	
	public String ejbHomeGetXML(){
		NodeLocalHome home = (NodeLocalHome) ctx.getEJBLocalHome();
		Document nodesresult = DocumentHelper.createDocument();
		Element root = DocumentHelper.createElement("nodebooks");
		nodesresult.add(root);
		Collection nodes;
		try {
			nodes = home.findByDate(new Date());
			for(Iterator it = nodes.iterator();it.hasNext();){
				NodeLocal node = (NodeLocal) it.next();
				String t = node.getTitle();
				System.out.println(t);
				NodeBook nBook = home.getNodeBook(t);
				StringWriter wr = new StringWriter();
				String encoding = "ISO-8859-1";
				Marshaller marshaller = new Marshaller(wr);
				marshaller.setEncoding(encoding);
				marshaller.marshal(nBook);
				String cs = wr.toString();
				cs  = new String(cs.getBytes(encoding),"gb2312");
				cs = cs.substring(0,cs.indexOf("ISO-8859-1"))+"gb2312"+cs.substring(cs.indexOf("ISO-8859-1")+10);
				Element element = DocumentHelper.parseText(cs).getRootElement().createCopy();
				root.add(element);
			}		
		} catch (Exception e) {
			e.printStackTrace();
		}
		//System.out.println(nodesresult.asXML());
		return nodesresult.asXML();
	}			
	/**
	 * @ejb.create-method view-type = "local"
	 */
	public String ejbCreate(String title,String text,java.util.Date date)throws CreateException{
		setTitle(title);
		setText(text);
		setDate(date);
		return title;
	}
	public void ejbPostCreate(String title,String text,java.util.Date date){
	}	
	/**
	 * @ejb.create-method 
	 */	
	public String ejbCreate(String title,String text) throws CreateException{
		setTitle(title);
		setText(text);
		setDate(new java.util.Date());
		return title;
	}
	public void ejbPostCreate(String title,String text){
	}
	/**
	 * @ejb.create-method 
	 */	
	public String ejbCreate(String title) throws CreateException{
		setTitle(title);
		setText("empty content");
		setDate(new java.util.Date());
		return title;
	}
	public void ejbPostCreate(String title){
	}
	public void ejbActivate() throws EJBException, RemoteException {
	}
	public void ejbLoad() throws EJBException, RemoteException {
	}
	public void ejbPassivate() throws EJBException, RemoteException {
	}
	public void ejbRemove()
		throws RemoveException, EJBException, RemoteException {
	}
	public void ejbStore() throws EJBException, RemoteException {
	}
	private EntityContext ctx;
	public void setEntityContext(EntityContext context)
		throws EJBException, RemoteException {
		ctx = context;
	}
	public void unsetEntityContext() throws EJBException, RemoteException {
	}
}

⌨️ 快捷键说明

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