From 4973b940cc8ce0885653ed7c0223cbedd3dde3bc Mon Sep 17 00:00:00 2001 From: Andreas Fitzek Date: Mon, 23 Feb 2015 11:27:59 +0100 Subject: added Statistics Facilities to PDF-AS Web --- .../java/at/gv/egiz/pdfas/web/store/IRequestStore.java | 4 +++- .../at/gv/egiz/pdfas/web/store/InMemoryRequestStore.java | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store') diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/IRequestStore.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/IRequestStore.java index 82534aa3..f07a36ce 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/IRequestStore.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/IRequestStore.java @@ -24,8 +24,10 @@ package at.gv.egiz.pdfas.web.store; import at.gv.egiz.pdfas.api.ws.PDFASSignRequest; +import at.gv.egiz.pdfas.web.stats.StatisticEvent; public interface IRequestStore { - public String createNewStoreEntry(PDFASSignRequest request); + public StatisticEvent fetchStatisticEntry(String id); + public String createNewStoreEntry(PDFASSignRequest request, StatisticEvent event); public PDFASSignRequest fetchStoreEntry(String id); } diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/InMemoryRequestStore.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/InMemoryRequestStore.java index 6ec61292..f712a894 100644 --- a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/InMemoryRequestStore.java +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/store/InMemoryRequestStore.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.UUID; import at.gv.egiz.pdfas.api.ws.PDFASSignRequest; +import at.gv.egiz.pdfas.web.stats.StatisticEvent; public class InMemoryRequestStore implements IRequestStore { @@ -34,14 +35,25 @@ public class InMemoryRequestStore implements IRequestStore { } private HashMap store = new HashMap(); + private HashMap statEvents = new HashMap(); - public String createNewStoreEntry(PDFASSignRequest request) { + public String createNewStoreEntry(PDFASSignRequest request, StatisticEvent event) { UUID id = UUID.randomUUID(); String sid = id.toString(); this.store.put(sid, request); + this.statEvents.put(sid, event); return sid; } + public StatisticEvent fetchStatisticEntry(String id) { + if(statEvents.containsKey(id)) { + StatisticEvent event = statEvents.get(id); + statEvents.remove(id); + return event; + } + return null; + } + public PDFASSignRequest fetchStoreEntry(String id) { if(store.containsKey(id)) { PDFASSignRequest request = store.get(id); -- cgit v1.2.3