Skip to content

Commit 2de5b64

Browse files
committed
feature: Create dw_event_stats view and remove dw_even and dw_event_public
1 parent 0d11769 commit 2de5b64

File tree

6 files changed

+32
-5
lines changed

6 files changed

+32
-5
lines changed

orcid-persistence/src/main/java/org/orcid/persistence/dao/impl/EventStatsDaoImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ public void createEventStats() {
2525
"INSERT INTO event_stats (event_type, client_id, count, date, date_created, last_modified) " +
2626
"SELECT event_type, client_id, COUNT(id), CAST(e.date_created as date), now(), now() " +
2727
"FROM event as e " +
28-
"WHERE event_type != 'Public-Page' " +
29-
"AND CAST(e.date_created as date) = CAST(now() - (CAST('1' AS INTERVAL DAY) * 1) as date) " +
28+
"WHERE CAST(e.date_created as date) = CAST(now() - (CAST('1' AS INTERVAL DAY) * 1) as date) " +
3029
"GROUP BY event_type, client_id, CAST(e.date_created as date) " +
3130
"ORDER BY CAST(e.date_created as date) DESC;";
3231
Query insertQuery = entityManager.createNativeQuery(query);

orcid-persistence/src/main/resources/db-master.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,4 +381,5 @@
381381
<include file="/db/updates/dw_alter_event_2.xml" />
382382
<include file="/db/updates/grant_select_to_dw_user_on_dw_event.xml" />
383383
<include file="/db/updates/create_event_stats_table.xml" />
384+
<include file="/db/updates/dw_event_stats.xml" />
384385
</databaseChangeLog>
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
4+
5+
<changeSet id="DROP-VIEW-FOR-EVENT" author="Daniel Palafox" dbms="postgresql">
6+
<dropView viewName="dw_event"/>
7+
</changeSet>
8+
9+
<changeSet id="CREATE-DW-EVENT-STATS-VIEW-GROUP-BY-DAY-CLIENT_ID-AND-EVENT_TYPE" author="Daniel Palafox" dbms="postgresql">
10+
<preConditions onFail="MARK_RAN">
11+
<not><viewExists viewName="dw_event_stats"/></not>
12+
</preConditions>
13+
<createView viewName="dw_event_stats">
14+
SELECT event_type, client_id, count, DATE_TRUNC('day', date), DATE_TRUNC('day', date) as last_modified
15+
FROM event_stats
16+
ORDER BY DATE_TRUNC('day', date_created) DESC;
17+
</createView>
18+
</changeSet>
19+
20+
<changeSet id="GRANT-READ-TO-DW_USER-TO-DW_EVENT-STATS-VIEW" author="Daniel Palafox" dbms="postgresql">
21+
<preConditions>
22+
<sqlCheck expectedResult="1">SELECT 1 FROM pg_roles WHERE rolname='dw_user'</sqlCheck>
23+
</preConditions>
24+
<sql>GRANT SELECT ON TABLE dw_event_stats to dw_user;</sql>
25+
</changeSet>
26+
27+
</databaseChangeLog>

orcid-persistence/src/test/java/org/orcid/persistence/dao/EventStatsDaoTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.orcid.persistence.dao;
22

3-
import org.apache.commons.lang3.reflect.FieldUtils;
43
import org.junit.Test;
54
import org.junit.runner.RunWith;
65
import org.orcid.persistence.jpa.entities.EventEntity;
@@ -38,6 +37,7 @@ public void createEventStats() {
3837

3938
assertNotNull(eventStatsEntityList);
4039
assertEquals(1, eventStatsEntityList.size());
40+
assertEquals(20, java.util.Optional.ofNullable(eventStatsEntityList.get(0).getCount()));
4141
}
4242

4343
private void createEvents() {

orcid-scheduler-web/src/main/resources/orcid-scheduler-context.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<task:scheduled ref="emailMessageSender" method="addWorksToRecordSecondReminder" cron="${org.orcid.scheduler.web.addWorksToRecord.secondReminder:0 20 * * * *}"/>
4343
<task:scheduled ref="emailMessageSender" method="addWorksToRecordThirdReminder" cron="${org.orcid.scheduler.web.addWorksToRecord.thirdReminder:0 30 * * * *}"/>
4444
<task:scheduled ref="eventStats" method="deleteEvents" cron="${org.orcid.scheduler.web.deleteEventsOlderDays:0 10 * * * *}"/>
45-
<task:scheduled ref="eventStats" method="saveEventStats" cron="${org.orcid.scheduler.web.saveEventStats:0 10 * * * *}"/>
45+
<task:scheduled ref="eventStats" method="saveEventStats" cron="${org.orcid.scheduler.web.saveEventStats:30 * * * * *}"/>
4646
</task:scheduled-tasks>
4747

4848
<task:scheduler id="scheduler" pool-size="${org.orcid.scheduler.tasks.pool_size:30}"/>

orcid-test/src/main/resources/data/EventEntityData.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
/>
1414

1515
<event id="3"
16-
event_type="Sign-In"
16+
event_type="Public-Page"
1717
label="Website"
1818
date_created="2023-01-01 15:31:00.00"
1919
/>

0 commit comments

Comments
 (0)