package org.tgdb.simplelog;
import org.tgdb.project.AbstractTgDbBean;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.FinderException;
import javax.ejb.ObjectNotFoundException;
/**
* This is the bean class for the SimpleLogBean enterprise bean.
* Created Dec 22, 2005 10:42:25 AM
* @author heto
*/
public class SimpleLogBean extends AbstractTgDbBean implements javax.ejb.EntityBean, org.tgdb.simplelog.SimpleLogRemoteBusiness {
private javax.ejb.EntityContext context;
private int logid;
private java.sql.Timestamp ts;
private String txt;
/*
create table simplelog (
logid int not null,
ts timestamp null,
txt varchar null,
primary key (logid)
);
*/
private boolean dirty;
// <editor-fold defaultstate="collapsed" desc="EJB infrastructure methods. Click the + sign on the left to edit the code.">
// TODO Add code to acquire and use other enterprise resources (DataSource, JMS, enterprise beans, Web services)
// TODO Add business methods
// TODO Add create methods
/**
* @see javax.ejb.EntityBean#setEntityContext(javax.ejb.EntityContext)
*/
public void setEntityContext(javax.ejb.EntityContext aContext) {
context = aContext;
}
/**
* @see javax.ejb.EntityBean#ejbActivate()
*/
public void ejbActivate() {
}
/**
* @see javax.ejb.EntityBean#ejbPassivate()
*/
public void ejbPassivate() {
}
/**
* @see javax.ejb.EntityBean#ejbRemove()
*/
public void ejbRemove() {
}
/**
* @see javax.ejb.EntityBean#unsetEntityContext()
*/
public void unsetEntityContext() {
context = null;
}
/**
* @see javax.ejb.EntityBean#ejbLoad()
*/
public void ejbLoad() {
makeConnection();
Integer pk = (Integer)context.getPrimaryKey();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement("select logid,ts,txt " +
"from simplelog where logid=?");
ps.setInt(1, pk.intValue());
ResultSet rs = ps.executeQuery();
if (rs.next()) {
logid = rs.getInt("logid");
ts = rs.getTimestamp("ts");
txt = rs.getString("txt");
dirty = false;
} else
throw new EJBException("SimpleLogBean#ejbLoad: Error loading log");
} catch (Exception e) {
throw new EJBException("SimpleLogBean#ejbLoad: error loading log. \n"+e.getMessage());
} finally {
releaseConnection();
}
}
/**
* @see javax.ejb.EntityBean#ejbStore()
*/
public void ejbStore() {
if (dirty)
{
makeConnection();
PreparedStatement ps = null;
try {
ps = conn.prepareStatement("update simplelog set txt=?,ts=? where logid=?");
ps.setString(1, txt);
ps.setTimestamp(2, ts);
ps.setInt(3, logid);
ps.execute();
} catch (Exception e) {
throw new EJBException("SimpleLogBean#ejbStore: error storing log. \n"+e.getMessage());
} finally {
releaseConnection();
dirty = false;
}
}
}
// </editor-fold>
/**
* See EJB 2.0 and EJB 2.1 section 12.2.5
*/
public java.lang.Integer ejbFindByPrimaryKey(java.lang.Integer aKey) throws javax.ejb.FinderException {
makeConnection();
PreparedStatement ps = null;
ResultSet result = null;
try {
ps = conn.prepareStatement("select logid from simplelog where logid = ?");
ps.setInt(1,aKey.intValue());
result = ps.executeQuery();
if (!result.next()) {
throw new ObjectNotFoundException("SimpleLogBean#ejbFindByPrimaryKey: Cannot find log. No next in resultset");
}
} catch (SQLException se) {
throw new FinderException("SimpleLogBean#ejbFindByPrimaryKey: Cannot find log. \n"+se.getMessage());
} finally {
releaseConnection();
}
return aKey;
}
public int getLogid() {
return logid;
}
public java.sql.Timestamp getTs() {
return ts;
}
public String getTxt() {
return txt;
}
public void setTxt(String txt) {
this.txt = txt;
}
public java.lang.Integer ejbCreate(java.lang.String txt) throws javax.ejb.CreateException {
makeConnection();
Integer pk = null;
try {
PreparedStatement ps = conn.prepareStatement("select nextval('simplelog_seq') as logid");
ResultSet rs = ps.executeQuery();
if (rs.next())
{
logid=rs.getInt("logid");
}
this.txt = txt;
ts = new java.sql.Timestamp(System.currentTimeMillis());
pk = new Integer(logid);
PreparedStatement ps2 = conn.prepareStatement("insert into simplelog (logid,txt,ts) values (?,?,?)");
ps2.setInt(1, logid);
ps2.setString(2, txt);
ps2.setTimestamp(3, ts);
ps2.execute();
dirty = false;
} catch (Exception e) {
e.printStackTrace();
throw new CreateException("SimpleLogBean#ejbCreate: Unable to create log. \n"+e.getMessage());
} finally {
releaseConnection();
}
return pk;
}
public void ejbPostCreate(java.lang.String txt) throws javax.ejb.CreateException {
//TODO implement ejbPostCreate
}
}