From 7628eefd6d31bbc75b61e7317ec46754560b545d Mon Sep 17 00:00:00 2001 From: bancika Date: Mon, 17 Aug 2020 12:21:40 +0200 Subject: [PATCH] track usage and sessions started --- .../announcements/AnnouncementProvider.java | 19 +++++++++++++++---- .../announcements/IAnnouncementService.java | 6 ++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java b/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java index 872b6cf0..f15bd5e5 100644 --- a/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java +++ b/diylc/diylc-core/src/org/diylc/announcements/AnnouncementProvider.java @@ -25,8 +25,9 @@ import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.List; - +import java.util.List; +import java.util.UUID; + import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.plugins.cloud.model.IServiceAPI; @@ -36,7 +37,8 @@ import com.diyfever.httpproxy.ProxyFactory; public class AnnouncementProvider { private String serviceUrl = "http://www.diy-fever.com/diylc/api/v1/announcements.html"; - private String LAST_READ_KEY = "announcement.lastReadDate"; + private String LAST_READ_KEY = "announcement.lastReadDate"; + private String USER_ID_KEY = "userId"; private IAnnouncementService service; @@ -55,10 +57,19 @@ public class AnnouncementProvider { ConfigurationManager.getInstance().readString(IServiceAPI.URL_KEY, "http://www.diy-fever.com/diylc/api/v1"); ProxyFactory factory = new ProxyFactory(new PhpFlatProxy()); service = factory.createProxy(IAnnouncementService.class, serviceUrl); + } + + private String getUserId() { + String userId = ConfigurationManager.getInstance().readString(USER_ID_KEY, null); + if (userId == null) { + userId = UUID.randomUUID().toString(); + ConfigurationManager.getInstance().writeValue(USER_ID_KEY, userId); + } + return userId; } public String getCurrentAnnouncements(boolean forceLast) throws ParseException { - announcements = service.getAnnouncements(); + announcements = service.getAnnouncements(getUserId()); if (announcements == null) return null; boolean hasUnread = false; diff --git a/diylc/diylc-core/src/org/diylc/announcements/IAnnouncementService.java b/diylc/diylc-core/src/org/diylc/announcements/IAnnouncementService.java index a1af5154..21c7ba1d 100644 --- a/diylc/diylc-core/src/org/diylc/announcements/IAnnouncementService.java +++ b/diylc/diylc-core/src/org/diylc/announcements/IAnnouncementService.java @@ -21,9 +21,11 @@ */ package org.diylc.announcements; -import java.util.List; +import java.util.List; + +import com.diyfever.httpproxy.ParamName; public interface IAnnouncementService { - public List getAnnouncements(); + public List getAnnouncements(@ParamName("userId")String userId); }