@Override
public void storePatientPushInfo(String localPatientID, String remoteServerName,
String remotePatientGUID, String remotePatientID, String remotePatientURL)
{
if (localPatientID == null || remoteServerName == null) {
return;
}
PatientPushedToInfo existing = getPatientPushInfo(localPatientID, remoteServerName);
Session session = this.sessionFactory.getSessionFactory().openSession();
Transaction t = session.beginTransaction();
t.begin();
if (existing != null)
{
this.logger.debug("Updating patient push info for [{}]: [{}@{}] -> [{}@{}]", localPatientID,
existing.getRemotePatientID(), existing.getRemoteServerName(), remotePatientID, remoteServerName);
existing.setLastPushTimeToNow();
existing.setRemotePatientID(remotePatientID);
existing.setRemotePatientGUID(remotePatientGUID);
existing.setRemotePatientURL(remotePatientURL);
session.update(existing);
}
else
{
this.logger.debug("Saving new patient push info [{}]: [{}@{}]", localPatientID,
remotePatientID, remoteServerName);
session.save(new PatientPushedToInfo(localPatientID, remoteServerName,
remotePatientGUID, remotePatientID, remotePatientURL));
}
t.commit();
}