1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package com.mindtree.techworks.insight.filter.criteria.test;
25
26 import java.text.ParseException;
27 import java.text.SimpleDateFormat;
28
29 import com.mindtree.techworks.insight.filter.criteria.DateRangeFilterCriterionField;
30 import com.mindtree.techworks.insight.filter.criteria.FilterCriteria;
31 import com.mindtree.techworks.insight.filter.criteria.FilterCriteriaFormatException;
32 import com.mindtree.techworks.insight.filter.criteria.FilterCriteriaParseException;
33 import com.mindtree.techworks.insight.filter.criteria.FilterCriterion;
34 import com.mindtree.techworks.insight.filter.criteria.FilterCriterionFieldType;
35 import com.mindtree.techworks.insight.filter.criteria.FilterCriterionOperator;
36 import com.mindtree.techworks.insight.filter.criteria.FilterCriterionSeparator;
37
38
39
40
41
42
43
44
45
46 public class FilterCriteriaSerializationTest {
47
48
49
50
51
52
53
54
55 public static void main (String [] args) {
56
57 SimpleDateFormat dateFormat = new SimpleDateFormat (
58 "yyyyMMdd HH:mm:ss.SSS");
59
60
61 FilterCriterion filterCriterion1 = new FilterCriterion ();
62 filterCriterion1
63 .setFilterValue ("C:\\test.log",
64 FilterCriterionFieldType.NAMESPACE_FIELD);
65 DateRangeFilterCriterionField rangeFilterCriterion = new DateRangeFilterCriterionField ();
66 try {
67 rangeFilterCriterion.setStartDate (dateFormat
68 .parse ("20051231 23:59:59.999"));
69 } catch (ParseException e1) {
70 e1.printStackTrace ();
71 }
72 try {
73 rangeFilterCriterion.setEndDate (dateFormat
74 .parse ("20060101 00:00:00.000"));
75 } catch (ParseException e1) {
76 e1.printStackTrace ();
77 }
78 filterCriterion1
79 .setFilterValue (rangeFilterCriterion,
80 FilterCriterionFieldType.DATE_RANGE_FIELD);
81
82
83 FilterCriterion filterCriterion2 = new FilterCriterion ();
84 filterCriterion2
85 .setFilterValue ("ERROR", FilterCriterionFieldType.PRIORITY_FIELD);
86 filterCriterion2
87 .setFilterValue ("javax.sql.SQLException",
88 FilterCriterionFieldType.EXCEPTION_FIELD);
89
90
91
92 FilterCriterion filterCriterion3 = new FilterCriterion ();
93 filterCriterion3
94 .setFilterValue ("Thread-1",
95 FilterCriterionFieldType.THREAD_NAME_FIELD);
96
97
98 FilterCriterion filterCriterion4 = new FilterCriterion ();
99 filterCriterion4
100 .setFilterValue ("WorkerThread-1",
101 FilterCriterionFieldType.THREAD_NAME_FIELD);
102
103
104 FilterCriterion filterCriterion5 = new FilterCriterion ();
105 filterCriterion5
106 .setFilterValue ("BootStrap",
107 FilterCriterionFieldType.CATEGORY_FIELD);
108
109 FilterCriteria filterCriteria = new FilterCriteria ();
110
111 filterCriteria.addFilterCriteriaElement (filterCriterion1);
112 filterCriteria.addFilterCriteriaElement (FilterCriterionOperator.AND);
113 filterCriteria
114 .addFilterCriteriaElement (FilterCriterionSeparator.OPEN_PARANTHESIS);
115 filterCriteria.addFilterCriteriaElement (filterCriterion2);
116 filterCriteria.addFilterCriteriaElement (FilterCriterionOperator.AND);
117 filterCriteria
118 .addFilterCriteriaElement (FilterCriterionSeparator.OPEN_PARANTHESIS);
119 filterCriteria.addFilterCriteriaElement (filterCriterion3);
120 filterCriteria.addFilterCriteriaElement (FilterCriterionOperator.OR);
121 filterCriteria.addFilterCriteriaElement (filterCriterion4);
122 filterCriteria
123 .addFilterCriteriaElement (FilterCriterionSeparator.CLOSE_PARANTHESIS);
124 filterCriteria
125 .addFilterCriteriaElement (FilterCriterionSeparator.CLOSE_PARANTHESIS);
126 filterCriteria.addFilterCriteriaElement (FilterCriterionOperator.AND);
127 filterCriteria
128 .addFilterCriteriaElement (FilterCriterionSeparator.OPEN_PARANTHESIS);
129 filterCriteria.addFilterCriteriaElement (FilterCriterionOperator.NOT);
130 filterCriteria.addFilterCriteriaElement (filterCriterion5);
131 filterCriteria
132 .addFilterCriteriaElement (FilterCriterionSeparator.CLOSE_PARANTHESIS);
133
134 String criteriaString = filterCriteria.toString ();
135
136 System.out.println ("Serialized Filter Criteria: " + criteriaString);
137
138
139
140
141
142
143 try {
144 FilterCriteria newCriteria = FilterCriteria
145 .parseFilterString (criteriaString);
146 System.out.println ("Serialized New Filter Criteria: "
147 + newCriteria.toString ());
148 } catch (FilterCriteriaParseException e) {
149 e.printStackTrace ();
150 } catch (FilterCriteriaFormatException e) {
151 e.printStackTrace ();
152 }
153
154 }
155
156 }