package org.myLazyClock.model.repository;
/**
* Created on 22/10/14.
*
* @author Maxime, Dralagen
*/
import org.myLazyClock.model.model.AlarmClock;
import javax.jdo.JDOHelper;
import javax.jdo.JDOObjectNotFoundException;
import javax.jdo.PersistenceManager;
import javax.jdo.Query;
import java.util.Collection;
import java.util.List;
public class AlarmClockRepository {
private static AlarmClockRepository repo = null;
private AlarmClockRepository() {
}
public static synchronized AlarmClockRepository getInstance() {
if (null == repo) {
repo = new AlarmClockRepository();
}
return repo;
}
public Collection<AlarmClock> findAll() {
PersistenceManager pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(AlarmClock.class);
List<AlarmClock> all;
try {
all = (List<AlarmClock>) q.execute();
} finally {
q.closeAll();
}
return all;
}
public Collection<AlarmClock> findAllByUserId(String userId) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Query q = pm.newQuery(AlarmClock.class);
q.setFilter("user == paramUserId");
q.declareParameters("String paramUserId");
List<AlarmClock> all;
try {
all = (List<AlarmClock>) q.execute(userId);
} finally {
q.closeAll();
}
return all;
}
public AlarmClock findOne(Long id) {
PersistenceManager pm = PMF.get().getPersistenceManager();
try {
return pm.getObjectById(AlarmClock.class, id);
} catch (JDOObjectNotFoundException e) {
return null;
}
}
public AlarmClock save(AlarmClock alarmClock) {
PersistenceManager pm = null;
if (alarmClock.getId() == null) {
pm = PMF.get().getPersistenceManager();
}
else {
pm = JDOHelper.getPersistenceManager(alarmClock);
}
try {
pm.makePersistent(alarmClock);
} finally {
pm.close();
}
return alarmClock;
}
}