/*******************************************************************************
- * Copyright (c) 2013 Ericsson
+ * Copyright (c) 2013, 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
* Contributors:
* Matthew Khouzam - Initial API and implementation
* Bernd Hufmann - Handling of directory traces types
+ * Geneviève Bastien - Added support of experiment types
*******************************************************************************/
package org.eclipse.linuxtools.tmf.core.project.model;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.linuxtools.tmf.core.project.model.TmfTraceType.TraceElementType;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.TraceValidationStatus;
private final String fName;
private final String fCategoryName;
private final String fCanonicalName;
+ private final TraceElementType fElementType;
+ @NonNull
private final ITmfTrace fTrace;
private final boolean fIsDirectory;
* an object of the trace type
* @param isDir
* flag indicating whether the trace type is for a directory or file trace
+ * @param elementType
+ * True if this helper is for an experiment type
*/
- public TraceTypeHelper(String canonicalName, String categoryName, String name, ITmfTrace trace, boolean isDir) {
+ public TraceTypeHelper(String canonicalName, String categoryName, String name, @NonNull ITmfTrace trace, boolean isDir, TraceElementType elementType) {
fName = name;
fCategoryName = categoryName;
fCanonicalName = canonicalName;
fTrace = trace;
fIsDirectory = isDir;
+ fElementType = elementType;
}
/**
* the trace to validate
* @return whether it passes the validation
*/
- public boolean validate(String path) {
- boolean valid = false;
- if (fTrace != null) {
- valid = standardValidate(path);
- }
- return valid;
+ public IStatus validate(String path) {
+ return fTrace.validate(null, path);
}
/**
*/
public int validateWithConfidence(String path) {
int result = -1;
- if (fTrace != null) {
- IStatus status = fTrace.validate(null, path);
- if (status.isOK()) {
- result = 0;
- if (status instanceof TraceValidationStatus) {
- result = ((TraceValidationStatus) status).getConfidence();
- }
+ IStatus status = fTrace.validate(null, path);
+ if (status.isOK()) {
+ result = 0;
+ if (status instanceof TraceValidationStatus) {
+ result = ((TraceValidationStatus) status).getConfidence();
}
}
return result;
return fTrace;
}
- private boolean standardValidate(String path) {
- final boolean valid = fTrace.validate(null, path).isOK();
- return valid;
+ /**
+ * Return whether this helper applies to a trace type or experiment type
+ *
+ * @return True if experiment type, false otherwise
+ */
+ public boolean isExperimentType() {
+ return fElementType == TraceElementType.EXPERIMENT;
}
/**