/** {@inheritDoc} */ public int compare(final InvocationModel o1, final InvocationModel o2) { int ret = Long.signum(o2.getMaximum() - o1.getMaximum()); if (ret == 0) { ret = Double.compare(o2.getAverageDouble(), o1.getAverageDouble()); if (ret == 0) { ret = o1.getMethodName().compareTo(o2.getMethodName()); } } return ret; }
/** * View タブ上に表示される項目(メソッド名、最大時間、平均時間、計測対象)で比較します。<br> * * @param invocation1 InvocationModel * @param invocation2 InvocationModel * @return 2つのメソッド名、最大時間、平均時間、計測対象が同じ場合、<code>true</code> */ private boolean equalsInvocationModel( final InvocationModel invocation1, final InvocationModel invocation2) { String methodName1 = invocation1.getMethodName(); String methodName2 = invocation2.getMethodName(); double average1 = invocation1.getAverageDouble(); double average2 = invocation2.getAverageDouble(); long maximum1 = invocation1.getMaximum(); long maximum2 = invocation2.getMaximum(); long callCount1 = invocation1.getCount(); long callCount2 = invocation2.getCount(); boolean equal = (methodName1.equals(methodName2) && average1 == average2 && maximum1 == maximum2 && callCount1 == callCount2 && invocation1.isTarget() == invocation2.isTarget()); return equal; }