tmf: Simple warning fixes in tmf.ui and tests
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui.tests / widgetStubs / org / eclipse / linuxtools / tmf / ui / tests / uml2sd / load / TestLoaders.java
1 package org.eclipse.linuxtools.tmf.ui.tests.uml2sd.load;
2
3 import java.net.URL;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.eclipse.jface.action.Action;
8 import org.eclipse.jface.resource.ImageDescriptor;
9 import org.eclipse.jface.viewers.ISelection;
10 import org.eclipse.jface.viewers.StructuredSelection;
11 import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp;
12 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView;
13 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessageReturn;
14 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence;
15 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.EllipsisMessage;
16 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ExecutionOccurrence;
17 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Frame;
18 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.GraphNode;
19 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.HotSpot;
20 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline;
21 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.LifelineCategories;
22 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Stop;
23 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage;
24 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessageReturn;
25 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.Criteria;
26 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.dialogs.FilterCriteria;
27 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
28 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFilterProvider;
29 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDFindProvider;
30 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDGraphNodeSupporter;
31 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.handlers.provider.ISDPagingProvider;
32 import org.eclipse.linuxtools.tmf.ui.views.uml2sd.load.IUml2SDLoader;
33 import org.eclipse.swt.graphics.Image;
34 import org.eclipse.ui.ISelectionListener;
35 import org.eclipse.ui.IWorkbenchPart;
36 import org.eclipse.ui.PlatformUI;
37
38 // Referenced classes of package org.eclipse.hyades.uml2sd.ztest:
39 // OpenToolBox
40
41 public class TestLoaders implements IUml2SDLoader, ISDFindProvider, ISDFilterProvider, ISDPagingProvider, ISelectionListener {
42
43 public SDView v;
44 public int page;
45 private List<GraphNode> findResults = new ArrayList<GraphNode>();
46 private Criteria findCriteria;
47 private int currentFindIndex = 0;
48
49 private Frame savedFrame = null;
50
51 public TestLoaders() {
52 this(""); //$NON-NLS-1$
53 }
54
55 public TestLoaders(String name) {
56 page = 1;
57 }
58
59 @Override
60 public void setViewer(SDView j) {
61 PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
62 v = j;
63 v.setSDPagingProvider(this);
64 v.setSDFindProvider(this);
65 v.setSDFilterProvider(this);
66 page = 1;
67 createFrame();
68 }
69
70 @Override
71 public boolean hasNextPage() {
72 return page == 1;
73 }
74
75 @Override
76 public boolean hasPrevPage() {
77 return page == 2;
78 }
79
80 @Override
81 public void prevPage() {
82 page--;
83 createFrame();
84 }
85
86 @Override
87 public void nextPage() {
88 page++;
89 createFrame();
90 }
91
92 @SuppressWarnings("nls")
93 private void createFrame() {
94 Frame testFrame = new Frame();
95 if (page == 1) {
96 testFrame.setName("Sequence Diagram - First Page");
97 LifelineCategories tt[] = new LifelineCategories[2];
98 tt[0] = new LifelineCategories();
99 tt[1] = new LifelineCategories();
100 tt[1].setName("Categorie 1");
101 tt[1].setImage(new LocalImageImpl("obj16/node_obj.gif"));
102 tt[0].setImage(new LocalImageImpl("obj16/class.gif"));
103 tt[0].setName("Categorie 0");
104 testFrame.setLifelineCategories(tt);
105 Lifeline lifeline = new Lifeline();
106 lifeline.setName("LifeLine 0");
107 testFrame.addLifeLine(lifeline);
108 EllipsisMessage mn = new EllipsisMessage();
109 lifeline.getNewEventOccurrence();
110 mn.setStartLifeline(lifeline);
111 mn.setName("******************* EllipsisisMessage TEST ****************");
112 testFrame.addMessage(mn);
113 SyncMessage mn3 = new SyncMessage();
114 mn3.setStartLifeline(lifeline);
115 testFrame.addMessage(mn3);
116 SyncMessage mn2 = new SyncMessage();
117 lifeline.getNewEventOccurrence();
118 lifeline.setCategory(0);
119 mn2.setEndLifeline(lifeline);
120 mn2.setName("*******************Sync TEST ****************");
121 testFrame.addMessage(mn2);
122 for (int i = 1; i < 300; i++) {
123 lifeline = new Lifeline();
124 lifeline.setName((new StringBuilder("LifeLine ")).append(i).toString());
125 lifeline.setCategory(1);
126 testFrame.addLifeLine(lifeline);
127 SyncMessage m3 = new SyncMessage();
128 testFrame.getLifeline(i - 1).getNewEventOccurrence();
129 m3.setStartLifeline(testFrame.getLifeline(i - 1));
130 m3.setEndLifeline(testFrame.getLifeline(i));
131 m3.setName((new StringBuilder("Sync Message ")).append(i).toString());
132 testFrame.addMessage(m3);
133 // if (i == 11)
134 // m3.setTime(new TmfTimestamp(i - 400));
135 // else if (i == 6)
136 // m3.setTime(new TmfTimestamp(i));
137 // else
138 m3.setTime(new TmfTimestamp(i + 1));
139 }
140
141 for (int i = testFrame.lifeLinesCount() - 1; i > 0; i--) {
142 SyncMessageReturn m = new SyncMessageReturn();
143 testFrame.getLifeline(i).getNewEventOccurrence();
144 m.setStartLifeline(testFrame.getLifeline(i));
145 m.setEndLifeline(testFrame.getLifeline(i - 1));
146 testFrame.addMessage(m);
147 m.setName((new StringBuilder("Sync Message return ")).append(i).toString());
148 if (i + 1 < testFrame.lifeLinesCount()) {
149 SyncMessage h = testFrame.getSyncMessage(i + 1);
150 m.setMessage(h);
151 }
152 }
153
154 for (int i = 0; i < testFrame.lifeLinesCount(); i++) {
155 if (i > 0) {
156 ExecutionOccurrence occ = new ExecutionOccurrence();
157 occ.setStartOccurrence(testFrame.getSyncMessage(i).getEventOccurrence() + 1);
158 occ.setEndOccurrence(testFrame.getSyncMessageReturn(testFrame.syncMessageReturnCount() - i).getEventOccurrence());
159 testFrame.getLifeline(i).addExecution(occ);
160 occ.setName("******************* Execution Occurance TEST ****************");
161 }
162 }
163
164 Stop s = new Stop();
165 s.setLifeline(testFrame.getLifeline(1));
166 s.setEventOccurrence(testFrame.getLifeline(1).getNewEventOccurrence());
167 testFrame.getLifeline(1).addNode(s);
168 HotSpot gg = new HotSpot();
169 gg.setImage(new LocalImageImpl("obj16/plus_obj.gif"));
170 gg.setExecution((BasicExecutionOccurrence) testFrame.getLifeline(1).getExecutions().get(0));
171 AsyncMessageReturn m = new AsyncMessageReturn();
172 m.setStartLifeline(testFrame.getLifeline(1));
173 m.setEndLifeline(testFrame.getLifeline(3));
174 m.setStartOccurrence(2);
175 m.setEndOccurrence(6);
176 m.setStartTime(new TmfTimestamp(2));
177 m.setEndTime(new TmfTimestamp(6));
178 m.setName("*******************Async TEST ****************");
179 testFrame.addMessage(m);
180 v.setFrame(testFrame);
181 v.getSDWidget().setReorderMode(true);
182 } else {
183
184 // if (page == 2) {
185 testFrame.setName("Sequence Diagram");
186 Lifeline lifeline = new Lifeline();
187 lifeline.setName("LifeLine 0");
188 testFrame.addLifeLine(lifeline);
189 lifeline = new Lifeline();
190 lifeline.setName("LifeLine 1");
191 testFrame.addLifeLine(lifeline);
192 for (int i = 1; i < 30; i++) {
193 SyncMessage m3 = new SyncMessage();
194 m3.autoSetStartLifeline(testFrame.getLifeline(0));
195 m3.autoSetEndLifeline(testFrame.getLifeline(0));
196 m3.setName((new StringBuilder("Message ")).append(i).toString());
197 testFrame.addMessage(m3);
198 SyncMessageReturn m = new SyncMessageReturn();
199 m.autoSetStartLifeline(testFrame.getLifeline(0));
200 m.autoSetEndLifeline(testFrame.getLifeline(0));
201 testFrame.addMessage(m);
202 m.setName((new StringBuilder("Message return ")).append(i).toString());
203 ExecutionOccurrence occ = new ExecutionOccurrence();
204 occ.setStartOccurrence(testFrame.getSyncMessage(i - 1).getEventOccurrence());
205 occ.setEndOccurrence(testFrame.getSyncMessageReturn(i - 1).getEventOccurrence());
206 testFrame.getLifeline(0).addExecution(occ);
207 }
208 }
209 v.setFrame(testFrame);
210 }
211
212 /*
213 * (non-Javadoc)
214 * @see org.eclipse.hyades.uml2sd.ui.actions.provider.ISDFindProvider#find(org.eclipse.hyades.uml2sd.ui.actions.widgets.Criteria)
215 */
216 @Override
217 public boolean find(Criteria toSearch) {
218 Frame frame = v.getFrame();
219
220 if (frame == null) {
221 return false;
222 }
223 if (findResults == null || findCriteria == null || !findCriteria.compareTo(toSearch)) {
224 findResults = new ArrayList<GraphNode>();
225 findCriteria = toSearch;
226 if (findCriteria.isLifeLineSelected()) {
227 for (int i = 0; i < frame.lifeLinesCount(); i++) {
228 if (findCriteria.matches(frame.getLifeline(i).getName())) {
229 findResults.add(frame.getLifeline(i));
230 }
231 }
232
233 }
234 ArrayList<GraphNode> msgs = new ArrayList<GraphNode>();
235 if (findCriteria.isSyncMessageSelected()) {
236 for (int i = 0; i < frame.syncMessageCount(); i++) {
237 if (findCriteria.matches(frame.getSyncMessage(i).getName())) {
238 msgs.add(frame.getSyncMessage(i));
239 }
240 }
241
242 for (int i = 0; i < frame.syncMessageReturnCount(); i++) {
243 if (findCriteria.matches(frame.getSyncMessageReturn(i).getName())) {
244 msgs.add(frame.getSyncMessageReturn(i));
245 }
246 }
247
248 }
249 // if(msgs.size() > 0) {
250 // GraphNode temp[] = msgs.toArray(new GraphNode[0]);
251 // Arrays.sort(temp, new DateComparator());
252 // findResults.addAll(Arrays.asList(temp));
253 // }
254
255 msgs = new ArrayList<GraphNode>();
256 if (findCriteria.isAsyncMessageSelected()) {
257 for (int i = 0; i < frame.asyncMessageCount(); i++) {
258 if (findCriteria.matches(frame.getAsyncMessage(i).getName())) {
259 msgs.add(frame.getAsyncMessage(i));
260 }
261 }
262
263 for (int i = 0; i < frame.asyncMessageReturnCount(); i++) {
264 if (findCriteria.matches(frame.getAsyncMessageReturn(i).getName())) {
265 msgs.add(frame.getAsyncMessageReturn(i));
266 }
267 }
268
269 }
270 // if(msgs.size() > 0) {
271 // GraphNode temp[] = msgs.toArray(new GraphNode[0]);
272 // Arrays.sort(temp, new DateComparator());
273 // findResults.addAll(Arrays.asList(temp));
274 // }
275
276 @SuppressWarnings("rawtypes")
277 List selection = v.getSDWidget().getSelection();
278 if (selection != null && selection.size() == 1) {
279 currentFindIndex = findResults.indexOf(selection.get(0)) + 1;
280 } else {
281 currentFindIndex = 0;
282 }
283 } else {
284 currentFindIndex++;
285 }
286 if (findResults.size() > currentFindIndex) {
287 GraphNode current = findResults.get(currentFindIndex);
288 v.getSDWidget().moveTo(current);
289 return true;
290 }
291 // return notFoundYet(findCriteria); // search in other page
292 return false;
293 }
294
295 @Override
296 public void cancel() {
297 findResults = null;
298 findCriteria = null;
299 currentFindIndex = 0;
300 }
301
302 public boolean isLifelineSupported() {
303 return false;
304 }
305
306 public boolean isSyncMessageSupported() {
307 return false;
308 }
309
310 public boolean isSyncMessageReturnSupported() {
311 return false;
312 }
313
314 public boolean isAsyncMessageSupported() {
315 return false;
316 }
317
318 public boolean isAsyncMessageReturnSupported() {
319 return false;
320 }
321
322 public boolean isStopSupported() {
323 return false;
324 }
325
326 public Action getFindAction() {
327 return null;
328 }
329
330 @Override
331 public boolean filter(List<?> filters) {
332
333 if (savedFrame != null) {
334 savedFrame = v.getFrame();
335 }
336
337 Frame frame = v.getFrame();
338
339 if (frame == null) {
340 return false;
341 }
342
343 if (filters.size() != 1) {
344 return false;
345 }
346
347 FilterCriteria filterCriteria = (FilterCriteria) filters.get(0);
348
349 // One way is to set visiblity of the item, but this only works for messages and not
350 // for lifelines! It's better to create a new frame without the filtered messages.
351 boolean found = false;
352 if (filterCriteria.getCriteria().isSyncMessageSelected()) {
353 for (int i = 0; i < frame.syncMessageCount(); i++) {
354 if (filterCriteria.getCriteria().matches(frame.getSyncMessage(i).getName())) {
355 frame.getSyncMessage(i).setVisible(false);
356 found = true;
357 }
358 }
359
360 for (int i = 0; i < frame.syncMessageReturnCount(); i++) {
361 if (filterCriteria.getCriteria().matches(frame.getSyncMessageReturn(i).getName())) {
362 frame.getSyncMessageReturn(i).setVisible(false);
363 found = true;
364 }
365 }
366 }
367
368 v.getSDWidget().redraw();
369 return found;
370 }
371
372 public ArrayList<?> getCurrentFilters() {
373 return null;
374 }
375
376 @SuppressWarnings("nls")
377 @Override
378 public String getTitleString() {
379 return "Test Loader";
380 }
381
382 @Override
383 public void dispose() {
384 }
385
386
387 @Override
388 public void selectionChanged(IWorkbenchPart part, ISelection selection) {
389 ISelection sel = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService().getSelection();
390 if (sel != null && (sel instanceof StructuredSelection)) {
391 StructuredSelection stSel = (StructuredSelection) sel;
392 if (stSel.getFirstElement() instanceof HotSpot) {
393 // OpenToolBox gg = new OpenToolBox(v);
394 // gg.run();
395 }
396 }
397 }
398
399 /*
400 * (non-Javadoc)
401 * @see org.eclipse.hyades.uml2sd.ui.actions.provider.ISDGraphNodeSupporter#isNodeSupported(int)
402 */
403 @Override
404 public boolean isNodeSupported(int nodeType) {
405 switch (nodeType) {
406 case ISDGraphNodeSupporter.LIFELINE:
407 case ISDGraphNodeSupporter.SYNCMESSAGE:
408 case ISDGraphNodeSupporter.SYNCMESSAGERETURN:
409 case ISDGraphNodeSupporter.ASYNCMESSAGE:
410 case ISDGraphNodeSupporter.ASYNCMESSAGERETURN:
411 case ISDGraphNodeSupporter.STOP:
412 return true;
413
414 default:
415 break;
416 }
417 return false;
418 }
419
420 @Override
421 public String getNodeName(int nodeType, String loaderClassName) {
422 return null;
423 }
424
425 public static class LocalImageImpl implements IImage {
426 protected Image img;
427
428 public LocalImageImpl(String file) {
429 img = null;
430 img = getResourceImage(file);
431 }
432
433 public LocalImageImpl(Image img_) {
434 img = null;
435 img = img_;
436 }
437
438 @SuppressWarnings("nls")
439 public Image getResourceImage(String _name) {
440 ImageDescriptor img;
441 try {
442 URL BASIC_URL = new URL("platform", "localhost", "plugin");
443 URL url = new URL(BASIC_URL, (new StringBuilder("plugin/org.eclipse.linuxtools.tmf.ui/icons/")).append(_name).toString());
444 img = ImageDescriptor.createFromURL(url);
445 return img.createImage();
446 } catch (Exception e) {
447 System.err.println(e);
448 }
449 return null;
450 }
451
452 @Override
453 public Object getImage() {
454 return img;
455 }
456
457 @Override
458 public void dispose() {
459 if (img != null) {
460 img.dispose();
461 }
462 }
463
464 }
465
466 @Override
467 public void firstPage() {
468 page = 0;
469 createFrame();
470
471 }
472
473 @Override
474 public void lastPage() {
475 page = 2;
476 createFrame();
477 }
478 }
This page took 0.043607 seconds and 6 git commands to generate.