Guest User

Untitled

a guest
Dec 12th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. public class UserReportingFilter implements IsSerializable {
  2.  
  3. public static final String FILTER_ID_KEY = "filter_id";
  4. public static final String USER_ID_KEY = "user_id";
  5. public static final String FILTER_CONTENT_KEY = "filter_content";
  6. public static final String REPORT_VIEW_TYPE = "report_view_type";
  7. public static final String FILTER_NAME_KEY = "filter_name";
  8.  
  9. @JsonProperty(FILTER_ID_KEY)
  10. private int filterId;
  11.  
  12. @JsonProperty(USER_ID_KEY)
  13. private int userId;
  14.  
  15. @JsonProperty(FILTER_CONTENT_KEY)
  16. @JsonDeserialize(using = StringToFilterContentDeserializer.class)
  17. private Map<ReportsFilterName, ReportsFilter> filterContent;
  18.  
  19. @JsonProperty(REPORT_VIEW_TYPE)
  20. @JsonSerialize(using = ReportViewToStringSerializer.class)
  21. @JsonDeserialize(using = StringToReportViewDeserializer.class)
  22. private ReportView reportViewType;
  23.  
  24. @JsonProperty(FILTER_NAME_KEY)
  25. private String filterName;
  26.  
  27. public UserReportingFilter() {
  28. //no-args serialization constructor
  29. }
  30.  
  31. public UserReportingFilter(int filterId, int userId, Map<ReportsFilterName, ReportsFilter> filterContent, ReportView reportViewType, String filterName) {
  32. this.filterId = filterId;
  33. this.userId = userId;
  34. this.filterContent = filterContent;
  35. this.reportViewType = reportViewType;
  36. this.filterName = filterName;
  37. }}
  38.  
  39. public enum ReportView implements IsSerializable {
  40. CHANGES("CHANGES", newArrayList(DATE, ID, CHANGE_TYPE, DN, MO_CLASS, STATUS, MODULE_INSTANCE_NAME, MODULE_NAME, ACTIVATION_NUMBER, CHANGESET_ID, OWNER_USER)),
  41. ANALYSIS("ANALYSIS", newArrayList(DATE, ID, SCENARIO, MODULE_INSTANCE_NAME, CHANGE_OBJECT, MODULE_NAME, OWNER_USER, STATUS));
  42.  
  43. private final List<ReportsFilterName> supportedFilters;
  44. private final String reportViewName;
  45.  
  46. ReportView(String reportViewName, List<ReportsFilterName> supportedFilters) {
  47. this.reportViewName = reportViewName;
  48. this.supportedFilters = supportedFilters;
  49. }
  50.  
  51. public boolean isSupported(ReportsFilterName filter) {
  52. return supportedFilters.contains(filter);
  53. }
  54.  
  55. public List<ReportsFilterName> getSupportedFilters() {
  56. return supportedFilters;
  57. }
  58.  
  59. public String getReportViewName() { return reportViewName; }}
  60.  
  61. public long update(T to) {
  62. Client client = makeClient();
  63. try {
  64. return invocationBuilder(client).put(Entity.json(to), Long.class);
  65. } finally {
  66. client.close();
  67. }}
  68.  
  69. public void storeFilter(UserReportingFilter filter, ReportView reportView) {
  70. Optional<UserReportingFilter> filterToUpdate = getExistingUserFilter(filter);
  71. int filterId = filterToUpdate.get().getFilterId();
  72. filter.setFilterId(filterId);
  73. update(filter);}
  74.  
  75.  
  76. private Invocation.Builder invocationBuilder(Client client) {
  77. WebTarget target = client.target(baseUri);
  78. return target.request(MediaType.APPLICATION_JSON_TYPE);
  79. }
Add Comment
Please, Sign In to add comment