package org.jboss.test.media.entity.ejb;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.emb.MediaEntityLocal;
import javax.emb.MediaEntityLocalHome;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.apache.log4j.Category;
import org.jboss.media.entity.MediaEntityBean;
public class EntityMediaBeanTesterBean implements SessionBean
{
private Category log = Category.getInstance(getClass());
private MediaEntityLocalHome entityHome;
public static final String MEDIA_ENTITY_JNDI =
MediaEntityBean.MEDIA_ENTITY_JNDI;
public String createEntityMediaBean()
{
try
{
return (String) getMediaEntityLocalHome().create().getPrimaryKey();
}
catch (Exception e)
{
e.printStackTrace();
throw new EJBException(e.getMessage());
}
}
public void removeEntityMediaBean(String id) throws Exception
{
try
{
getMediaEntityLocalHome().remove(id);
}
catch (Exception e)
{
e.printStackTrace();
throw new EJBException(e.getMessage());
}
}
public byte[] getContent(String id) throws Exception
{
MediaEntityLocal entity = getMediaEntityLocalHome().findByPrimaryKey(id);
return entity.getContent();
}
public void setContent(String id, byte[] content) throws Exception
{
try
{
getMediaEntityLocalHome().findByPrimaryKey(id).setContent(content);
}
catch (Exception e)
{
e.printStackTrace();
throw new EJBException(e.getMessage());
}
}
public void ejbCreate() throws CreateException
{
}
public void ejbActivate()
{
}
public void ejbPassivate()
{
}
public void ejbRemove()
{
}
public void setSessionContext(SessionContext ctx)
{
}
private MediaEntityLocalHome getMediaEntityLocalHome()
{
if (entityHome == null)
{
try
{
Context initialContext = new InitialContext();
return (MediaEntityLocalHome) initialContext.lookup(
MEDIA_ENTITY_JNDI);
}
catch (Exception e)
{
throw new EJBException("Could not lookup " + MEDIA_ENTITY_JNDI);
}
}
return entityHome;
}
}