blob: 0eade8f11dbcb94fed311d298bb31436c501fab2 [file] [log] [blame]
package org.eclipse.om2m.persistence.eclipselink.internal.dao;
import javax.persistence.NoResultException;
import javax.persistence.Query;
import org.eclipse.om2m.commons.constants.DBEntities;
import org.eclipse.om2m.commons.entities.CreatedAnnouncedResourceEntity;
import org.eclipse.om2m.persistence.eclipselink.internal.DBTransactionJPAImpl;
import org.eclipse.om2m.persistence.service.DBTransaction;
import org.eclipse.om2m.persistence.service.util.AnnouncedResourceUtil;
public class CreatedAnnouncedResourceDAO extends AbstractDAO<CreatedAnnouncedResourceEntity> implements AnnouncedResourceUtil {
@Override
public CreatedAnnouncedResourceEntity find(DBTransaction dbTransaction, Object id) {
DBTransactionJPAImpl transaction = (DBTransactionJPAImpl) dbTransaction;
return transaction.getEm().find(CreatedAnnouncedResourceEntity.class, id);
}
@Override
public void delete(DBTransaction dbTransaction, CreatedAnnouncedResourceEntity resource) {
DBTransactionJPAImpl transaction = (DBTransactionJPAImpl) dbTransaction;
transaction.getEm().remove(resource);
}
public CreatedAnnouncedResourceEntity find(DBTransaction dbTransaction, String localAnnounceableId, String announceCseId) {
CreatedAnnouncedResourceEntity are = null;
DBTransactionJPAImpl transaction = (DBTransactionJPAImpl) dbTransaction;
Query q = transaction.getEm().createQuery(
"SELECT ar FROM " + DBEntities.ANNOUNCED_RESOURCE_ENTITY + " ar WHERE ar.localAnnounceableId=\""
+ localAnnounceableId + "\" AND ar.announceCseId=\"" + announceCseId + "\"");
try {
are = (CreatedAnnouncedResourceEntity) q.getSingleResult();
} catch (NoResultException e) {
are = null;
}
return are;
}
}