import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
import org.eclipse.linuxtools.tmf.core.trace.TmfTrace;
+import org.eclipse.linuxtools.tmf.core.util.ReadOnlyTextPropertyDescriptor;
import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor;
import org.eclipse.ui.IActionFilter;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.IPropertySource2;
-import org.eclipse.ui.views.properties.TextPropertyDescriptor;
/**
- * Implementation of trace model element representing a trace. It provides methods to instantiate
- * <code>ITmfTrace</code> and <code>ITmfEvent</code> as well as editor ID from the trace type
- * extension definition.
+ * Implementation of trace model element representing a trace. It provides
+ * methods to instantiate <code>ITmfTrace</code> and <code>ITmfEvent</code> as
+ * well as editor ID from the trace type extension definition.
*
* @version 1.0
* @author Francois Chouinard
private static final String sfEventType = "type"; //$NON-NLS-1$
private static final String sfIsLinked = "linked"; //$NON-NLS-1$
- private static final TextPropertyDescriptor sfNameDescriptor = new TextPropertyDescriptor(sfName, sfName);
- private static final TextPropertyDescriptor sfPathDescriptor = new TextPropertyDescriptor(sfPath, sfPath);
- private static final TextPropertyDescriptor sfLocationDescriptor = new TextPropertyDescriptor(sfLocation, sfLocation);
- private static final TextPropertyDescriptor sfTypeDescriptor = new TextPropertyDescriptor(sfEventType, sfEventType);
- private static final TextPropertyDescriptor sfIsLinkedDescriptor = new TextPropertyDescriptor(sfIsLinked, sfIsLinked);
+ private static final ReadOnlyTextPropertyDescriptor sfNameDescriptor = new ReadOnlyTextPropertyDescriptor(sfName, sfName);
+ private static final ReadOnlyTextPropertyDescriptor sfPathDescriptor = new ReadOnlyTextPropertyDescriptor(sfPath, sfPath);
+ private static final ReadOnlyTextPropertyDescriptor sfLocationDescriptor = new ReadOnlyTextPropertyDescriptor(sfLocation, sfLocation);
+ private static final ReadOnlyTextPropertyDescriptor sfTypeDescriptor = new ReadOnlyTextPropertyDescriptor(sfEventType, sfEventType);
+ private static final ReadOnlyTextPropertyDescriptor sfIsLinkedDescriptor = new ReadOnlyTextPropertyDescriptor(sfIsLinked, sfIsLinked);
private static final IPropertyDescriptor[] sfDescriptors = { sfNameDescriptor, sfPathDescriptor, sfLocationDescriptor,
sfTypeDescriptor, sfIsLinkedDescriptor };
// Static initialization
// ------------------------------------------------------------------------
- // The mapping of available trace type IDs to their corresponding configuration element
+ // The mapping of available trace type IDs to their corresponding
+ // configuration element
private static final Map<String, IConfigurationElement> sfTraceTypeAttributes = new HashMap<String, IConfigurationElement>();
private static final Map<String, IConfigurationElement> sfTraceCategories = new HashMap<String, IConfigurationElement>();
/**
- * Initialize statically at startup by getting extensions from the platform extension registry.
+ * Initialize statically at startup by getting extensions from the platform
+ * extension registry.
*/
public static void init() {
IConfigurationElement[] config = Platform.getExtensionRegistry().getConfigurationElementsFor(TmfTraceType.TMF_TRACE_TYPE_ID);
// Constructors
// ------------------------------------------------------------------------
/**
- * Constructor.
- * Creates trace model element under the trace folder.
- * @param name The name of trace
- * @param trace The trace resource.
- * @param parent The parent element (trace folder)
+ * Constructor. Creates trace model element under the trace folder.
+ *
+ * @param name
+ * The name of trace
+ * @param trace
+ * The trace resource.
+ * @param parent
+ * The parent element (trace folder)
*/
public TmfTraceElement(String name, IResource trace, TmfTraceFolder parent) {
this(name, trace, (TmfProjectModelElement) parent);
}
+
/**
- * Constructor.
- * Creates trace model element under the experiment folder.
- * @param name The name of trace
- * @param trace The trace resource.
- * @param parent The parent element (experiment folder)
+ * Constructor. Creates trace model element under the experiment folder.
+ *
+ * @param name
+ * The name of trace
+ * @param trace
+ * The trace resource.
+ * @param parent
+ * The parent element (experiment folder)
*/
public TmfTraceElement(String name, IResource trace, TmfExperimentElement parent) {
this(name, trace, (TmfProjectModelElement) parent);
// ------------------------------------------------------------------------
/**
* Returns the trace type ID.
+ *
* @return trace type ID.
*/
public String getTraceType() {
}
/**
- * Refreshes the trace type filed by reading the trace type persistent property of the resource
- * referenece.
+ * Refreshes the trace type filed by reading the trace type persistent
+ * property of the resource referenece.
*/
public void refreshTraceType() {
try {
}
/**
- * Instantiate a <code>ITmfTrace</code> object based on the trace type and the corresponding extension.
+ * Instantiate a <code>ITmfTrace</code> object based on the trace type and
+ * the corresponding extension.
*
* @return the <code>ITmfTrace</code> or <code>null</code> for an error
*/
}
}
IConfigurationElement ce = sfTraceTypeAttributes.get(fTraceTypeId);
+ if (ce == null) {
+ return null;
+ }
ITmfTrace trace = (ITmfTrace) ce.createExecutableExtension(TmfTraceType.TRACE_TYPE_ATTR);
return trace;
}
}
/**
- * Instantiate a <code>ITmfEvent</code> object based on the trace type and the corresponding extension.
+ * Instantiate a <code>ITmfEvent</code> object based on the trace type and
+ * the corresponding extension.
*
* @return the <code>ITmfEvent</code> or <code>null</code> for an error
*/
}
}
IConfigurationElement ce = sfTraceTypeAttributes.get(fTraceTypeId);
+ if (ce == null) {
+ return null;
+ }
ITmfEvent event = (ITmfEvent) ce.createExecutableExtension(TmfTraceType.EVENT_TYPE_ATTR);
return event;
}
/**
* Returns the optional editor ID from the trace type extension.
+ *
* @return the editor ID or <code>null</code> if not defined.
*/
public String getEditorId() {
}
/**
- * Returns the file resource used to store bookmarks after creating it if necessary.
- * If the trace resource is a file, it is returned directly.
- * If the trace resource is a folder, a linked file is returned.
- * The file will be created if it does not exist.
+ * Returns the file resource used to store bookmarks after creating it if
+ * necessary. If the trace resource is a file, it is returned directly. If
+ * the trace resource is a folder, a linked file is returned. The file will
+ * be created if it does not exist.
+ *
* @return the bookmarks file
- * @throws CoreException if the bookmarks file cannot be created
+ * @throws CoreException
+ * if the bookmarks file cannot be created
* @since 2.0
*/
public IFile createBookmarksFile() throws CoreException {
}
/**
- * Returns the file resource used to store bookmarks.
- * The file may not exist.
+ * Returns the file resource used to store bookmarks. The file may not
+ * exist.
+ *
* @return the bookmarks file
* @since 2.0
*/
}
/**
- * Returns the <code>TmfTraceElement</code> located under the <code>TmfTracesFolder</code>.
+ * Returns the <code>TmfTraceElement</code> located under the
+ * <code>TmfTracesFolder</code>.
*
- * @return <code>this</code> if this element is under the <code>TmfTracesFolder</code>
- * else the corresponding <code>TmfTraceElement</code> if this element is under
+ * @return <code>this</code> if this element is under the
+ * <code>TmfTracesFolder</code> else the corresponding
+ * <code>TmfTraceElement</code> if this element is under
* <code>TmfExperimentElement</code>.
*/
public TmfTraceElement getElementUnderTraceFolder() {
- // If trace is under an experiment, return original trace from the traces folder
+ // If trace is under an experiment, return original trace from the
+ // traces folder
if (getParent() instanceof TmfExperimentElement) {
for (TmfTraceElement aTrace : getProject().getTracesFolder().getTraces()) {
if (aTrace.getName().equals(getName())) {
// ------------------------------------------------------------------------
// TmfTraceElement
// ------------------------------------------------------------------------
- /*
- * (non-Javadoc)
- * @see org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement#getProject()
- */
+
@Override
public TmfProjectElement getProject() {
if (getParent() instanceof TmfTraceFolder) {
// IPropertySource2
// ------------------------------------------------------------------------
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
- */
@Override
public Object getEditableValue() {
return null;
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
- */
@Override
public IPropertyDescriptor[] getPropertyDescriptors() {
return Arrays.copyOf(sfDescriptors, sfDescriptors.length);
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
- */
@Override
public Object getPropertyValue(Object id) {
return "[no category]"; //$NON-NLS-1$
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
- */
@Override
public void resetPropertyValue(Object id) {
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
- */
@Override
public void setPropertyValue(Object id, Object value) {
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource2#isPropertyResettable(java.lang.Object)
- */
@Override
public boolean isPropertyResettable(Object id) {
return false;
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.ui.views.properties.IPropertySource2#isPropertySet(java.lang.Object)
- */
@Override
public boolean isPropertySet(Object id) {
return false;
return new TmfTraceElement(string, res, folder);
}
-
}