/*******************************************************************************
- * Copyright (c) 2012, 2013 Ericsson, École Polytechnique de Montréal
+ * Copyright (c) 2012, 2014 Ericsson, École Polytechnique de Montréal
*
* All rights reserved. This program and the accompanying materials are made
* available under the terms of the Eclipse Public License v1.0 which
import java.nio.BufferOverflowException;
import java.nio.ByteBuffer;
-import java.util.Collections;
import java.util.Map;
import org.eclipse.core.resources.IProject;
import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTraceProperties;
import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
+import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfPersistentlyIndexable;
import org.eclipse.linuxtools.tmf.core.trace.indexer.ITmfTraceIndexer;
import org.eclipse.linuxtools.tmf.core.trace.indexer.TmfBTreeTraceIndexer;
* The Ctf clock unique identifier field
*/
private static final String CLOCK_HOST_PROPERTY = "uuid"; //$NON-NLS-1$
+ private static final int CONFIDENCE = 10;
// -------------------------------------------
// Fields
* @param eventType
* The type of events that will be read from this trace
* @throws TmfTraceException
- * If something when wrong while reading the trace
+ * If something went wrong while reading the trace
*/
@Override
public void initTrace(final IResource resource, final String path, final Class<? extends ITmfEvent> eventType)
}
/**
- * Method validate.
- *
- * @param project
- * IProject
- * @param path
- * String
- * @return IStatus IStatus.error or Status.OK_STATUS
- * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#validate(IProject, String)
- * @since 2.0
+ * {@inheritDoc}
+ * <p>
+ * The default implementation sets the confidence to 10 if the trace is a
+ * valid CTF trace.
*/
@Override
public IStatus validate(final IProject project, final String path) {
- IStatus validTrace = Status.OK_STATUS;
+ IStatus validTrace = new TraceValidationStatus(CONFIDENCE, Activator.PLUGIN_ID);
try {
final CTFTrace temp = new CTFTrace(path);
- if (!temp.majortIsSet()) {
+ if (!temp.majorIsSet()) {
validTrace = new Status(IStatus.ERROR, Activator.PLUGIN_ID, Messages.CtfTmfTrace_MajorNotSet);
} else {
CTFTraceReader ctfTraceReader = new CTFTraceReader(temp);
*/
@Override
public Map<String, String> getTraceProperties() {
- return Collections.unmodifiableMap(fTrace.getEnvironment());
+ return fTrace.getEnvironment();
}
// -------------------------------------------
* @since 2.0
*/
public CtfIterator createIterator() {
- return new CtfIterator(this);
+ try {
+ return new CtfIterator(this);
+ } catch (CTFReaderException e) {
+ Activator.logError(e.getMessage(), e);
+ }
+ return null;
}
// ------------------------------------------------------------------------
private static int fCheckpointSize = -1;
+ /**
+ * @since 3.0
+ */
@Override
public synchronized int getCheckpointSize() {
if (fCheckpointSize == -1) {
return new TmfBTreeTraceIndexer(this, interval);
}
+ /**
+ * @since 3.0
+ */
@Override
public ITmfLocation restoreLocation(ByteBuffer bufferIn) {
return new CtfLocation(bufferIn);