Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class UserReportingFilter implements IsSerializable {
- public static final String FILTER_ID_KEY = "filter_id";
- public static final String USER_ID_KEY = "user_id";
- public static final String FILTER_CONTENT_KEY = "filter_content";
- public static final String REPORT_VIEW_TYPE = "report_view_type";
- public static final String FILTER_NAME_KEY = "filter_name";
- @JsonProperty(FILTER_ID_KEY)
- private int filterId;
- @JsonProperty(USER_ID_KEY)
- private int userId;
- @JsonProperty(FILTER_CONTENT_KEY)
- @JsonDeserialize(using = StringToFilterContentDeserializer.class)
- private Map<ReportsFilterName, ReportsFilter> filterContent;
- @JsonProperty(REPORT_VIEW_TYPE)
- @JsonSerialize(using = ReportViewToStringSerializer.class)
- @JsonDeserialize(using = StringToReportViewDeserializer.class)
- private ReportView reportViewType;
- @JsonProperty(FILTER_NAME_KEY)
- private String filterName;
- public UserReportingFilter() {
- //no-args serialization constructor
- }
- public UserReportingFilter(int filterId, int userId, Map<ReportsFilterName, ReportsFilter> filterContent, ReportView reportViewType, String filterName) {
- this.filterId = filterId;
- this.userId = userId;
- this.filterContent = filterContent;
- this.reportViewType = reportViewType;
- this.filterName = filterName;
- }}
- public enum ReportView implements IsSerializable {
- CHANGES("CHANGES", newArrayList(DATE, ID, CHANGE_TYPE, DN, MO_CLASS, STATUS, MODULE_INSTANCE_NAME, MODULE_NAME, ACTIVATION_NUMBER, CHANGESET_ID, OWNER_USER)),
- ANALYSIS("ANALYSIS", newArrayList(DATE, ID, SCENARIO, MODULE_INSTANCE_NAME, CHANGE_OBJECT, MODULE_NAME, OWNER_USER, STATUS));
- private final List<ReportsFilterName> supportedFilters;
- private final String reportViewName;
- ReportView(String reportViewName, List<ReportsFilterName> supportedFilters) {
- this.reportViewName = reportViewName;
- this.supportedFilters = supportedFilters;
- }
- public boolean isSupported(ReportsFilterName filter) {
- return supportedFilters.contains(filter);
- }
- public List<ReportsFilterName> getSupportedFilters() {
- return supportedFilters;
- }
- public String getReportViewName() { return reportViewName; }}
- public long update(T to) {
- Client client = makeClient();
- try {
- return invocationBuilder(client).put(Entity.json(to), Long.class);
- } finally {
- client.close();
- }}
- public void storeFilter(UserReportingFilter filter, ReportView reportView) {
- Optional<UserReportingFilter> filterToUpdate = getExistingUserFilter(filter);
- int filterId = filterToUpdate.get().getFilterId();
- filter.setFilterId(filterId);
- update(filter);}
- private Invocation.Builder invocationBuilder(Client client) {
- WebTarget target = client.target(baseUri);
- return target.request(MediaType.APPLICATION_JSON_TYPE);
- }
Add Comment
Please, Sign In to add comment