Project

General

Profile

1 52839 tsampikos.
package eu.dnetlib.usagestats.sushilite.domain;
2
3
import com.fasterxml.jackson.annotation.JsonProperty;
4
5
import java.util.ArrayList;
6
import java.util.List;
7
8
/**
9
 * Created by tsampikos on 26/10/2016.
10
 */
11
public class Filters {
12
    private final UsageDateRange usageDateRange;
13
    private final List<Filter> filter = new ArrayList<>();
14
    private final List<Filter> reportAttribute = new ArrayList<>();
15
16
17
    public Filters(String beginDate, String endDate, String repositoryIdentifier,
18
                   String itemIdentifier, String itemDataType, String granularity, String reportItemCount) {
19
        usageDateRange = new UsageDateRange(beginDate, endDate);
20
21
        if (repositoryIdentifier != null && !repositoryIdentifier.equals("")) {
22
            filter.add(new Filter("RepositoryIdentifier", repositoryIdentifier));
23
        }
24
        if (itemIdentifier != null && !itemIdentifier.equals("")) {
25
            filter.add(new Filter("ItemIdentifier", itemIdentifier));
26
        }
27
        if (itemDataType != null && !itemDataType.equals("")) {
28
            filter.add(new Filter("ItemDataType", itemDataType));
29
        }
30
31
        reportAttribute.add(new Filter("Granularity", granularity));
32
        if (reportItemCount != null && !reportItemCount.equals("")) {
33
            reportAttribute.add(new Filter("ReportItemCount", reportItemCount));
34
        }
35
    }
36
37
    @JsonProperty("UsageDateRange")
38
    public UsageDateRange getUsageDateRange() {
39
        return usageDateRange;
40
    }
41
42
    @JsonProperty("Filter")
43
    public List<Filter> getFilter() {
44
        return filter;
45
    }
46
47
    @JsonProperty("ReportAttribute")
48
    public List<Filter> getReportAttribute() {
49
        return reportAttribute;
50
    }
51
}