/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
package org.eclipse.tracecompass.tmf.tests.stubs.trace;
+import java.lang.reflect.Method;
+import java.util.LinkedList;
+import java.util.List;
+
import org.eclipse.core.resources.IResource;
+import org.eclipse.tracecompass.internal.tmf.core.request.TmfCoalescedEventRequest;
+import org.eclipse.tracecompass.tmf.core.component.TmfEventProvider;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
-import org.eclipse.tracecompass.tmf.core.trace.TmfExperiment;
+import org.eclipse.tracecompass.tmf.core.trace.experiment.TmfExperiment;
import org.eclipse.tracecompass.tmf.core.trace.indexer.ITmfTraceIndexer;
/**
public void initExperiment(final Class<? extends ITmfEvent> type, final String path, final ITmfTrace[] traces, final int indexPageSize, IResource resource) {
super.initExperiment(type, path, traces, indexPageSize, resource);
}
+
+ /**
+ * @return a copy of the pending request list
+ * @throws Exception if java reflection failed
+ */
+ public List<TmfCoalescedEventRequest> getAllPendingRequests() throws Exception {
+ Method m = TmfEventProvider.class.getDeclaredMethod("getPendingRequests");
+ m.setAccessible(true);
+ LinkedList<?> list= (LinkedList<?>) m.invoke(this);
+ LinkedList<TmfCoalescedEventRequest> retList = new LinkedList<>();
+ for (Object element : list) {
+ retList.add((TmfCoalescedEventRequest) element);
+ }
+
+ return retList;
+ }
+
+ /**
+ * Clears the pending request list
+ * @throws Exception if java reflection failed
+ */
+ public void clearAllPendingRequests() throws Exception {
+ Method m = TmfEventProvider.class.getDeclaredMethod("clearPendingRequests");
+ m.setAccessible(true);
+ m.invoke(this);
+ }
+
+ /**
+ * Sets the timer flag
+ * @param enabled
+ * flag to set
+ * @throws Exception if java reflection failed
+ */
+ public void setTimerEnabledFlag(boolean enabled) throws Exception {
+ Class<?>[] paramTypes = new Class[1];
+ paramTypes[0] = Boolean.class;
+ Method m = TmfEventProvider.class.getDeclaredMethod("setTimerEnabled", paramTypes);
+
+ Object[] params = new Object[1];
+ params[0] = Boolean.valueOf(enabled);
+ m.setAccessible(true);
+ m.invoke(this, params);
+ }
}