/** * Returns the total duration of a given event. * * @param aPT - * Event container * @param eventName - * name of the event for which the time is needed * @return - total duration of an event */ public synchronized static long extractTime(ProcessTrace aPT, String eventName) { List aList = aPT.getEvents(); int counter = 0; while (aList != null && aList.size() > 0 && counter < aList.size()) { ProcessTraceEvent pte = (ProcessTraceEvent) aList.get(counter++); if (pte == null) { return 0; } else if (eventName == null || eventName.equals(pte.getDescription())) { return pte.getDurationExcludingSubEvents(); } else { List subEvents = pte.getSubEvents(); for (int i = 0; subEvents != null && i < subEvents.size(); i++) { if (eventName.equals(((ProcessTraceEvent) subEvents.get(i)).getType())) { return ((ProcessTraceEvent) subEvents.get(i)).getDurationExcludingSubEvents(); } } } } return 0; }
/** * Dumps all events in the process trace object. * * @param aPTr - * event container */ public static void dumpEvents(ProcessTrace aPTr) { List aList = aPTr.getEvents(); for (int i = 0; i < aList.size(); i++) { ProcessTraceEvent prEvent = (ProcessTraceEvent) aList.get(i); String aEvType = prEvent.getType(); if (System.getProperty("DEBUG_EVENTS") != null) { if (UIMAFramework.getLogger().isLoggable(Level.FINEST)) { UIMAFramework.getLogger(CPMUtils.class).log( Level.FINEST, "Returning Report With Event::" + aEvType + " For Component:::" + prEvent.getComponentName() + " Duration:::" + prEvent.getDurationExcludingSubEvents()); } } } }
compNameS = prEvent.getComponentName(); typeS = prEvent.getType(); dur = prEvent.getDurationExcludingSubEvents(); totDur = prEvent.getDuration(); subEveList = prEvent.getSubEvents();