04141952330ed9455c75f840c7f5f8afd3e28764
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / uml2sd / util / SortSyncMessageComparator.java
1 /**********************************************************************
2 * Copyright (c) 2005, 2014 IBM Corporation, Ericsson
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
11 **********************************************************************/
12
13 package org.eclipse.tracecompass.tmf.ui.views.uml2sd.util;
14
15 import java.io.Serializable;
16 import java.util.Comparator;
17
18 import org.eclipse.tracecompass.tmf.ui.views.uml2sd.core.GraphNode;
19 import org.eclipse.tracecompass.tmf.ui.views.uml2sd.core.SyncMessage;
20
21 /**
22 * Synchronous message comparator Compare two syncMessages only taking into account the event occurrence when their
23 * appear.<br>
24 *
25 * The message with the greater event occurrence is considered to be the greater.<br>
26 *
27 * @version 1.0
28 * @author sveyrier
29 *
30 */
31 public class SortSyncMessageComparator implements Comparator<GraphNode>, Serializable {
32
33 // ------------------------------------------------------------------------
34 // Constants
35 // ------------------------------------------------------------------------
36
37 /**
38 * Serial version UID
39 */
40 private static final long serialVersionUID = 4781250984753283718L;
41
42 // ------------------------------------------------------------------------
43 // Methods
44 // ------------------------------------------------------------------------
45
46 @Override
47 public int compare(GraphNode arg0, GraphNode arg1) {
48 if (arg0 instanceof SyncMessage && arg1 instanceof SyncMessage) {
49 SyncMessage m1 = (SyncMessage) arg0;
50 SyncMessage m2 = (SyncMessage) arg1;
51 if (m1.getEventOccurrence() > m2.getEventOccurrence()) {
52 return 1;
53 } else if (m1.getEventOccurrence() == m2.getEventOccurrence()) {
54 return 0;
55 } else {
56 return -1;
57 }
58 }
59 return 0;
60 }
61 }
This page took 0.034979 seconds and 4 git commands to generate.