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.gui.action;
25
26 import java.awt.event.ActionEvent;
27
28 import javax.swing.AbstractAction;
29
30 import com.mindtree.techworks.insight.Controller;
31 import com.mindtree.techworks.insight.InsightConstants;
32 import com.mindtree.techworks.insight.gui.widgets.StatusBar;
33 import com.mindtree.techworks.insight.preferences.util.PreferenceInterpreter;
34
35
36
37
38
39
40
41
42
43
44
45 public class LocateAction extends AbstractAction {
46
47
48
49
50
51 private static final long serialVersionUID = -3578056532882836648L;
52
53
54
55
56 private static LocateAction instance;
57
58
59
60
61 private Controller controller;
62
63
64
65
66
67 private LocateAction(Controller controller) {
68 this.controller = controller;
69 }
70
71
72
73
74
75
76 public static synchronized LocateAction getInstance(Controller controller){
77 if(instance == null){
78 instance = new LocateAction(controller);
79 }
80 return instance;
81 }
82
83
84
85
86
87 public void actionPerformed(ActionEvent e) {
88 if (controller.getCurrentLogEventModel() == null) {
89 return;
90 }
91 long eventSequenceNumber = controller.getCurrentLogEventModel().getLogEventIndex();
92 if (eventSequenceNumber < 0) {
93 StatusBar.getInstance().setDisplayText(0,InsightConstants.getLiteral("ERROR_LOCATE_FAILURE"),false);
94 return;
95 }
96
97 long eventsPerPage = PreferenceInterpreter.getCachePageSize();
98 int pageNumber = (int)((eventSequenceNumber-1)/eventsPerPage+1);
99 if(!controller.getCurrentLogEventModel().equals(controller.getRootLogEventModel())){
100 controller.clearCurrentModel();
101 }
102 controller.setCurrentLogEventModel(controller.getRootLogEventModel(),pageNumber,eventSequenceNumber);
103
104 }
105 }