aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java121
1 files changed, 0 insertions, 121 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java
deleted file mode 100644
index 6ca6d9a4..00000000
--- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package at.gv.egiz.pdfas.web.store;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
-import org.hibernate.cfg.Configuration;
-import org.hibernate.service.ServiceRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import at.gv.egiz.pdfas.api.ws.PDFASSignRequest;
-import at.gv.egiz.pdfas.web.config.WebConfiguration;
-import at.gv.egiz.pdfas.web.store.db.Request;
-
-public class DBRequestStore implements IRequestStore {
-
- private static final Logger logger = LoggerFactory
- .getLogger(DBRequestStore.class);
-
- private SessionFactory sessions;
- private ServiceRegistry serviceRegistry;
-
- public DBRequestStore() {
- Configuration cfg = new Configuration();
- cfg.addAnnotatedClass(Request.class);
- cfg.setProperties(WebConfiguration.getHibernateProps());
-
- serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
- cfg.getProperties()).build();
-
- sessions = cfg.buildSessionFactory(serviceRegistry);
- }
-
- private void cleanOldRequests() {
- int seconds = WebConfiguration.getDBTimeout();
- Calendar calendar = Calendar.getInstance();
- calendar.add(Calendar.SECOND, (-1)* seconds);
- Date date = calendar.getTime();
- SimpleDateFormat dt = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
- logger.info("Clearing Entries before: " + dt.format(date));
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- Query query = session.createQuery("delete from Request as req" +
- " where req.created < :date");
- query.setCalendar("date", calendar);
- query.executeUpdate();
- } catch(Throwable e) {
- logger.error("Failed to save Request", e);
- tx.rollback();
- } finally {
- if(session != null) {
- session.close();
- }
- }
- }
-
- public String createNewStoreEntry(PDFASSignRequest request) {
- // Clean Old Requests
- this.cleanOldRequests();
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- Request dbRequest = new Request();
- dbRequest.setSignRequest(request);
- dbRequest.setCreated(Calendar.getInstance().getTime());
- session.save(dbRequest);
-
- tx.commit();
- return dbRequest.getId();
- } catch(Throwable e) {
- logger.error("Failed to save Request", e);
- tx.rollback();
- return null;
- } finally {
- if(session != null) {
- session.close();
- }
- }
- }
-
- public PDFASSignRequest fetchStoreEntry(String id) {
- // Clean Old Requests
- this.cleanOldRequests();
-
- Session session = null;
- Transaction tx = null;
- try {
- session = sessions.openSession();
- tx = session.beginTransaction();
- Request dbRequest = (Request) session.get(Request.class, id);
-
- PDFASSignRequest request = dbRequest.getSignRequest();
-
- session.delete(dbRequest);
-
- tx.commit();
- return request;
- } catch(Throwable e) {
- logger.error("Failed to fetch Request", e);
- tx.rollback();
- return null;
- } finally {
- if(session != null) {
- session.close();
- }
- }
-
- }
-
-}