{
Database db = beginTransaction();
try
{
PublicationImpl p = new PublicationImpl();
p.setValueObject(publication);
p.setPublicationDetails(new ArrayList());
for (Iterator iter = publication.getPublicationDetails().iterator(); iter.hasNext();)
{
PublicationDetailVO detailVO = (PublicationDetailVO) iter.next();
PublicationDetail pd = new PublicationDetailImpl();
pd.setPublication(p);
pd.setValueObject(detailVO);
p.getPublicationDetails().add(pd);
}
db.create(p);
PublicationVO returnPub = p.getValueObject();
returnPub.setPublicationDetails(toVOList(p.getPublicationDetails()));
commitTransaction(db);
return returnPub;
}
catch(Exception e)