diff options
| author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2026-04-15 13:49:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-15 13:49:22 +0200 |
| commit | 77dd3fcc4d85088b15ab859c4438521d9cd6ed10 (patch) | |
| tree | aefedc8d2ef77e6819b46a948459d6016dfe5b62 /pdf-as-web-db/src/main/java/at | |
| parent | 88930540361a88ff56e07fed31004b583f2e729f (diff) | |
| download | pdf-as-4-77dd3fcc4d85088b15ab859c4438521d9cd6ed10.tar.gz pdf-as-4-77dd3fcc4d85088b15ab859c4438521d9cd6ed10.tar.bz2 pdf-as-4-77dd3fcc4d85088b15ab859c4438521d9cd6ed10.zip | |
pdf-as-5 (#82)
- JDK 17
- PDFBox 3
- PDF-AS Web moved to Spring Boot
- MOA Integration tests w/ new error code
---------
Co-authored-by: Gerald Palfinger <gerald.palfinger@a-sit.at>
Co-authored-by: kathrin.resek <kathrin.resek@a-sit.at>
Diffstat (limited to 'pdf-as-web-db/src/main/java/at')
4 files changed, 124 insertions, 166 deletions
diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java index e5a789d2..b371026d 100644 --- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java +++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/DBRequestStore.java @@ -9,6 +9,7 @@ import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; +import org.hibernate.query.MutationQuery; import org.hibernate.query.Query; import org.hibernate.service.ServiceRegistry; import org.slf4j.Logger; @@ -28,7 +29,6 @@ public class DBRequestStore implements IRequestStore { .getLogger(DBRequestStore.class); private final SessionFactory sessions; - private final ServiceRegistry serviceRegistry; public DBRequestStore() { final Configuration cfg = new Configuration(); @@ -37,8 +37,8 @@ public class DBRequestStore implements IRequestStore { cfg.addAnnotatedClass(StatisticRequest.class); cfg.setProperties(WebConfiguration.getHibernateProps()); - serviceRegistry = new StandardServiceRegistryBuilder().applySettings( - cfg.getProperties()).build(); + ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings( + cfg.getProperties()).build(); sessions = cfg.buildSessionFactory(serviceRegistry); } @@ -50,24 +50,18 @@ public class DBRequestStore implements IRequestStore { final Date date = calendar.getTime(); final 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(); - final Query query = session.createQuery("delete from Request as req" - + " where req.created < :date"); - query.setCalendar("date", calendar); - query.executeUpdate(); - tx.commit(); - } catch (final Throwable e) { - logger.error("Failed to save Request", e); - tx.rollback(); - } finally { - if (session != null) { - session.close(); + Transaction tx = null; + try (Session session = sessions.openSession()) { + tx = session.beginTransaction(); + final MutationQuery query = session.createMutationQuery("delete from Request as req" + + " where req.created < :date"); + query.setParameter("date", calendar.getTime()); + query.executeUpdate(); + tx.commit(); + } catch (final Throwable e) { + logger.error("Failed to save Request", e); + if (tx != null) tx.rollback(); } - } } public void cleanOldRequestException() { @@ -77,29 +71,23 @@ public class DBRequestStore implements IRequestStore { final Date date = calendar.getTime(); final SimpleDateFormat dt = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); logger.info("Clearing Entries before: " + dt.format(date)); - Session session = null; - try { - session = sessions.openSession(); - final Query query = session.createQuery("delete from Request as req" - + " where req.created < :date"); - query.setCalendar("date", calendar); - query.executeUpdate(); - - final Query queryStat = session.createQuery("delete from StatisticRequest as req" - + " where req.created < :date"); - queryStat.setCalendar("date", calendar); - queryStat.executeUpdate(); - - final Query queryResponse = session.createQuery("delete from Response as req" - + " where req.created < :date"); - queryResponse.setCalendar("date", calendar); - queryResponse.executeUpdate(); - - } finally { - if (session != null) { - session.close(); + try (Session session = sessions.openSession()) { + final MutationQuery query = session.createMutationQuery("delete from Request as req" + + " where req.created < :date"); + query.setParameter("date", calendar.getTime()); + query.executeUpdate(); + + final MutationQuery queryStat = session.createMutationQuery("delete from StatisticRequest as req" + + " where req.created < :date"); + queryStat.setParameter("date", calendar.getTime()); + queryStat.executeUpdate(); + + final MutationQuery queryResponse = session.createMutationQuery("delete from Response as req" + + " where req.created < :date"); + queryResponse.setParameter("date", calendar.getTime()); + queryResponse.executeUpdate(); + } - } } @Override @@ -107,32 +95,26 @@ public class DBRequestStore implements IRequestStore { StatisticEvent event) { // Clean Old Requests this.cleanOldRequests(); - Session session = null; - Transaction tx = null; - try { - session = sessions.openSession(); - tx = session.beginTransaction(); - final Request dbRequest = new Request(); - dbRequest.setSignRequest(request); - dbRequest.setCreated(Calendar.getInstance().getTime()); - session.save(dbRequest); - - final StatisticRequest statisticRequest = new StatisticRequest(); - statisticRequest.setStatisticEvent(event); - statisticRequest.setCreated(Calendar.getInstance().getTime()); - session.save(statisticRequest); - - tx.commit(); - return dbRequest.getId(); - } catch (final Throwable e) { - logger.error("Failed to save Request", e); - tx.rollback(); - return null; - } finally { - if (session != null) { - session.close(); + Transaction tx = null; + try (Session session = sessions.openSession()) { + tx = session.beginTransaction(); + final Request dbRequest = new Request(); + dbRequest.setSignRequest(request); + dbRequest.setCreated(Calendar.getInstance().getTime()); + session.persist(dbRequest); + + final StatisticRequest statisticRequest = new StatisticRequest(); + statisticRequest.setStatisticEvent(event); + statisticRequest.setCreated(Calendar.getInstance().getTime()); + session.persist(statisticRequest); + + tx.commit(); + return dbRequest.getId(); + } catch (final Throwable e) { + logger.error("Failed to save Request", e); + if (tx != null) tx.rollback(); + return null; } - } } @Override @@ -140,28 +122,22 @@ public class DBRequestStore implements IRequestStore { // Clean Old Requests this.cleanOldRequests(); - Session session = null; - Transaction tx = null; - try { - session = sessions.openSession(); - tx = session.beginTransaction(); - final Request dbRequest = session.get(Request.class, id); - - final PdfasSignRequest request = dbRequest.getSignRequest(); - - session.delete(dbRequest); - - tx.commit(); - return request; - } catch (final Throwable e) { - logger.error("Failed to fetch Request", e); - tx.rollback(); - return null; - } finally { - if (session != null) { - session.close(); + Transaction tx = null; + try (Session session = sessions.openSession()) { + tx = session.beginTransaction(); + final Request dbRequest = session.get(Request.class, id); + + final PdfasSignRequest request = dbRequest.getSignRequest(); + + session.remove(dbRequest); + + tx.commit(); + return request; + } catch (final Throwable e) { + logger.error("Failed to fetch Request", e); + if (tx != null) tx.rollback(); + return null; } - } } @@ -170,56 +146,44 @@ public class DBRequestStore implements IRequestStore { // Clean Old Requests this.cleanOldRequests(); - Session session = null; - Transaction tx = null; - try { - session = sessions.openSession(); - tx = session.beginTransaction(); - final StatisticRequest dbRequest = session.get( - StatisticRequest.class, id); - - final StatisticEvent request = dbRequest.getStatisticEvent(); - - session.delete(dbRequest); - - tx.commit(); - return request; - } catch (final Throwable e) { - logger.error("Failed to fetch Request", e); - tx.rollback(); - return null; - } finally { - if (session != null) { - session.close(); + Transaction tx = null; + try (Session session = sessions.openSession()) { + tx = session.beginTransaction(); + final StatisticRequest dbRequest = session.get( + StatisticRequest.class, id); + + final StatisticEvent request = dbRequest.getStatisticEvent(); + + session.remove(dbRequest); + + tx.commit(); + return request; + } catch (final Throwable e) { + logger.error("Failed to fetch Request", e); + if (tx != null) tx.rollback(); + return null; } - } } @Override public String createNewResponseEntry(PdfasSignResponse response) { // Clean Old Requests this.cleanOldRequests(); - Session session = null; - Transaction tx = null; - try { - session = sessions.openSession(); - tx = session.beginTransaction(); - final Response dbRequest = new Response(); - dbRequest.setSignedResponse(response); - dbRequest.setCreated(Calendar.getInstance().getTime()); - session.save(dbRequest); - - tx.commit(); - return dbRequest.getId(); - } catch (final Throwable e) { - logger.error("Failed to save Request", e); - tx.rollback(); - return null; - } finally { - if (session != null) { - session.close(); + Transaction tx = null; + try (Session session = sessions.openSession()) { + tx = session.beginTransaction(); + final Response dbRequest = new Response(); + dbRequest.setSignedResponse(response); + dbRequest.setCreated(Calendar.getInstance().getTime()); + session.persist(dbRequest); + + tx.commit(); + return dbRequest.getId(); + } catch (final Throwable e) { + logger.error("Failed to save Request", e); + if (tx != null) tx.rollback(); + return null; } - } } @Override @@ -227,27 +191,21 @@ public class DBRequestStore implements IRequestStore { // Clean Old Requests this.cleanOldRequests(); - Session session = null; - Transaction tx = null; - try { - session = sessions.openSession(); - tx = session.beginTransaction(); - final Response dbResponse = session.get(Response.class, id); - - final PdfasSignResponse request = dbResponse.getSignedResponse(); - - session.delete(dbResponse); - - tx.commit(); - return request; - } catch (final Throwable e) { - logger.error("Failed to fetch Response", e); - tx.rollback(); - return null; - } finally { - if (session != null) { - session.close(); + Transaction tx = null; + try (Session session = sessions.openSession()) { + tx = session.beginTransaction(); + final Response dbResponse = session.get(Response.class, id); + + final PdfasSignResponse request = dbResponse.getSignedResponse(); + + session.remove(dbResponse); + + tx.commit(); + return request; + } catch (final Throwable e) { + logger.error("Failed to fetch Response", e); + if (tx != null) tx.rollback(); + return null; } - } } } diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java index f8a169c3..978601b1 100644 --- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java +++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Request.java @@ -2,11 +2,11 @@ package at.gv.egiz.pdfas.web.store.db; import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import org.hibernate.annotations.GenericGenerator; diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java index a47f532c..2367dcf0 100644 --- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java +++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/Response.java @@ -2,11 +2,11 @@ package at.gv.egiz.pdfas.web.store.db; import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import org.hibernate.annotations.GenericGenerator; diff --git a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java index 23b2425b..276db6b0 100644 --- a/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java +++ b/pdf-as-web-db/src/main/java/at/gv/egiz/pdfas/web/store/db/StatisticRequest.java @@ -2,11 +2,11 @@ package at.gv.egiz.pdfas.web.store.db; import java.util.Date; -import javax.persistence.Column; -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.Id; -import javax.persistence.Table; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.Id; +import jakarta.persistence.Table; import org.hibernate.annotations.GenericGenerator; |
