*/
protected void setValue(Object value, ITmfEventField[] fields) {
fValue = value;
- fFields = fields;
+ fFields = (fields != null) ? Arrays.copyOf(fields, fields.length) : null;
populateStructs();
}
// Object
// ------------------------------------------------------------------------
+ /* (non-Javadoc)
+ * @see org.eclipse.linuxtools.tmf.core.event.TmfTimestamp#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
/* (non-Javadoc)
* @see org.eclipse.linuxtools.tmf.core.event.TmfTimestamp#equals(java.lang.Object)
*/
private CountDownLatch startedLatch = new CountDownLatch(1);
private CountDownLatch completedLatch = new CountDownLatch(1);
- private boolean fRequestRunning = false;
- private boolean fRequestCompleted = false;
- private boolean fRequestFailed = false;
- private boolean fRequestCanceled = false;
+ private boolean fRequestRunning;
+ private boolean fRequestCompleted;
+ private boolean fRequestFailed;
+ private boolean fRequestCanceled;
// ------------------------------------------------------------------------
// Constructors
fBlockSize = blockSize;
fExecType = execType;
fNbRead = 0;
+
+ fRequestRunning = false;
+ fRequestCompleted = false;
+ fRequestFailed = false;
+ fRequestCanceled = false;
+
if (Tracer.isRequestTraced())
Tracer.traceRequest(this, "created"); //$NON-NLS-1$
}
* to handle these conditions.
*/
@Override
- public void handleCompleted() {
+ public synchronized void handleCompleted() {
if (fRequestFailed) {
handleFailure();
} else if (fRequestCanceled) {
* @see org.eclipse.linuxtools.tmf.stream.ITmfEventStream#getNbEvents()
*/
@Override
- public long getNbEvents() {
+ public synchronized long getNbEvents() {
return fNbEvents;
}
* @see org.eclipse.linuxtools.tmf.trace.ITmfTrace#seekEvent(org.eclipse.linuxtools.tmf.event.TmfTimestamp)
*/
@Override
- public TmfContext seekEvent(ITmfTimestamp timestamp) {
+ public TmfContext seekEvent(ITmfTimestamp ts) {
+ ITmfTimestamp timestamp = ts;
if (timestamp == null) {
timestamp = TmfTimestamp.BigBang;
}
// Position the stream at the checkpoint
ITmfLocation<?> location;
synchronized (fCheckpoints) {
- if (fCheckpoints.size() > 0) {
+ if (!fCheckpoints.isEmpty()) {
if (index >= fCheckpoints.size()) {
index = fCheckpoints.size() - 1;
}
int index = (int) rank / fIndexPageSize;
ITmfLocation<?> location;
synchronized (fCheckpoints) {
- if (fCheckpoints.size() == 0) {
+ if (fCheckpoints.isEmpty()) {
location = null;
} else {
if (index >= fCheckpoints.size()) {
super.handleCompleted();
}
- private void updateTrace() {
+ private synchronized void updateTrace() {
int nbRead = getNbRead();
if (nbRead != 0) {
fStartTime = startTime;
try {
request.waitForCompletion();
} catch (InterruptedException e) {
- e.printStackTrace();
+// e.printStackTrace();
}
}
typeElements.add(element);
}
}
- return typeElements.toArray(new IConfigurationElement[0]);
+ return typeElements.toArray(new IConfigurationElement[typeElements.size()]);
}
}
\r
import java.text.ParseException;\r
import java.text.SimpleDateFormat;\r
-import java.util.Arrays;\r
import java.util.Date;\r
import java.util.HashMap;\r
import java.util.Map;\r
}
// Format result
- return traceTypes.toArray(new String[0]);
+ return traceTypes.toArray(new String[traceTypes.size()]);
}
private String getCategory(IConfigurationElement ce) {