Skip to content

Commit edf7d40

Browse files
committed
Add SupportedFilters metadata to Datapoint
1 parent 981cf3e commit edf7d40

33 files changed

Lines changed: 235 additions & 0 deletions

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/Datapoint.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ default FormatType getFormatType() {
3636
return FormatType.NONE;
3737
}
3838

39+
SupportedFilters[] getSupportedFilters();
40+
3941
enum FormatType {
4042
TIME_AMOUNT,
4143
TIME_SINCE,
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* This file is part of Player Analytics (Plan).
3+
*
4+
* Plan is free software: you can redistribute it and/or modify
5+
* it under the terms of the GNU Lesser General Public License v3 as published by
6+
* the Free Software Foundation, either version 3 of the License, or
7+
* (at your option) any later version.
8+
*
9+
* Plan is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12+
* GNU Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public License
15+
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
16+
*/
17+
package com.djrapitops.plan.delivery.rendering.json.datapoint;
18+
19+
/**
20+
* @author AuroraLS3
21+
*/
22+
public enum SupportedFilters {
23+
24+
PLAYER,
25+
SERVER,
26+
NETWORK;
27+
28+
public static SupportedFilters[] all() {
29+
return values();
30+
}
31+
32+
public static SupportedFilters[] noPlayer() {
33+
return new SupportedFilters[]{
34+
SupportedFilters.SERVER,
35+
SupportedFilters.NETWORK
36+
};
37+
}
38+
39+
public static SupportedFilters[] onlyServer() {
40+
return new SupportedFilters[]{
41+
SupportedFilters.SERVER
42+
};
43+
}
44+
45+
}

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/AfkTime.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.storage.database.DBSystem;
2425
import com.djrapitops.plan.storage.database.Database;
2526
import com.djrapitops.plan.storage.database.queries.objects.SessionQueries;
@@ -63,6 +64,11 @@ public WebPermission getPermission(GenericFilter filter) {
6364
}
6465
}
6566

67+
@Override
68+
public SupportedFilters[] getSupportedFilters() {
69+
return SupportedFilters.all();
70+
}
71+
6672
@Override
6773
public Optional<Long> getValue(GenericFilter filter) {
6874
Database db = dbSystem.getDatabase();

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/AfkTimePercentage.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
2425
import com.djrapitops.plan.storage.database.DBSystem;
2526
import com.djrapitops.plan.storage.database.Database;
@@ -63,6 +64,11 @@ public WebPermission getPermission(GenericFilter filter) {
6364
}
6465
}
6566

67+
@Override
68+
public SupportedFilters[] getSupportedFilters() {
69+
return SupportedFilters.noPlayer();
70+
}
71+
6672
@Override
6773
public Optional<Double> getValue(GenericFilter filter) {
6874
Database db = dbSystem.getDatabase();

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/CPUAverage.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
2425
import com.djrapitops.plan.storage.database.DBSystem;
2526
import com.djrapitops.plan.storage.database.queries.objects.TPSQueries;
@@ -43,6 +44,11 @@ public CPUAverage(DBSystem dbSystem) {
4344
this.dbSystem = dbSystem;
4445
}
4546

47+
@Override
48+
public SupportedFilters[] getSupportedFilters() {
49+
return SupportedFilters.onlyServer();
50+
}
51+
4652
@Override
4753
public Optional<Double> getValue(GenericFilter filter) {
4854
if (filter.getPlayerUUID().isPresent()) {

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/ChunksAverage.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
2425
import com.djrapitops.plan.storage.database.DBSystem;
2526
import com.djrapitops.plan.storage.database.queries.objects.TPSQueries;
@@ -43,6 +44,11 @@ public ChunksAverage(DBSystem dbSystem) {
4344
this.dbSystem = dbSystem;
4445
}
4546

47+
@Override
48+
public SupportedFilters[] getSupportedFilters() {
49+
return SupportedFilters.onlyServer();
50+
}
51+
4652
@Override
4753
public Optional<Long> getValue(GenericFilter filter) {
4854
if (filter.getPlayerUUID().isPresent()) {

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/Deaths.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.gathering.cache.SessionCache;
2425
import com.djrapitops.plan.gathering.domain.DeathCounter;
2526
import com.djrapitops.plan.identification.ServerInfo;
@@ -47,6 +48,11 @@ public Deaths(DBSystem dbSystem, ServerInfo serverInfo) {
4748
this.serverInfo = serverInfo;
4849
}
4950

51+
@Override
52+
public SupportedFilters[] getSupportedFilters() {
53+
return SupportedFilters.all();
54+
}
55+
5056
@Override
5157
public DatapointType getType() {
5258
return DatapointType.DEATHS;

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/Downtime.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
2425
import com.djrapitops.plan.identification.ServerUUID;
2526
import com.djrapitops.plan.storage.database.DBSystem;
@@ -52,6 +53,11 @@ public Downtime(DBSystem dbSystem) {
5253
this.dbSystem = dbSystem;
5354
}
5455

56+
@Override
57+
public SupportedFilters[] getSupportedFilters() {
58+
return SupportedFilters.noPlayer();
59+
}
60+
5561
@Override
5662
public Optional<Long> getValue(GenericFilter filter) {
5763
if (filter.getPlayerUUID().isPresent()) {

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/EntitiesAverage.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
2425
import com.djrapitops.plan.storage.database.DBSystem;
2526
import com.djrapitops.plan.storage.database.queries.objects.TPSQueries;
@@ -43,6 +44,11 @@ public EntitiesAverage(DBSystem dbSystem) {
4344
this.dbSystem = dbSystem;
4445
}
4546

47+
@Override
48+
public SupportedFilters[] getSupportedFilters() {
49+
return SupportedFilters.onlyServer();
50+
}
51+
4652
@Override
4753
public Optional<Long> getValue(GenericFilter filter) {
4854
if (filter.getPlayerUUID().isPresent()) {

Plan/common/src/main/java/com/djrapitops/plan/delivery/rendering/json/datapoint/types/MSPTAverage.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import com.djrapitops.plan.delivery.domain.datatransfer.GenericFilter;
2121
import com.djrapitops.plan.delivery.rendering.json.datapoint.Datapoint;
2222
import com.djrapitops.plan.delivery.rendering.json.datapoint.DatapointType;
23+
import com.djrapitops.plan.delivery.rendering.json.datapoint.SupportedFilters;
2324
import com.djrapitops.plan.delivery.web.resolver.exception.BadRequestException;
2425
import com.djrapitops.plan.storage.database.DBSystem;
2526
import com.djrapitops.plan.storage.database.queries.objects.TPSQueries;
@@ -43,6 +44,11 @@ public MSPTAverage(DBSystem dbSystem) {
4344
this.dbSystem = dbSystem;
4445
}
4546

47+
@Override
48+
public SupportedFilters[] getSupportedFilters() {
49+
return SupportedFilters.onlyServer();
50+
}
51+
4652
@Override
4753
public Optional<Double> getValue(GenericFilter filter) {
4854
if (filter.getPlayerUUID().isPresent()) {

0 commit comments

Comments
 (0)