tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / model / TmfNavigatorContentProvider.java
index ebf65691c23ad63884fbc8fe5dec4821f3f266fc..2be60ebf16bd9bb261ccaf86b527c48a9f9ec1c8 100644 (file)
@@ -1,13 +1,14 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2011, 2012 Ericsson
- * 
+ * Copyright (c) 2010, 2012 Ericsson
+ *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
  * accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  *   Francois Chouinard - Initial API and implementation
+ *   Bernd Hufmann - Implement getParent()
  *******************************************************************************/
 
 package org.eclipse.linuxtools.tmf.ui.project.model;
@@ -25,18 +26,17 @@ import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.ui.IMemento;
 import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.ICommonContentProvider;
 import org.eclipse.ui.navigator.IPipelinedTreeContentProvider;
 import org.eclipse.ui.navigator.PipelinedShapeModification;
 import org.eclipse.ui.navigator.PipelinedViewerUpdate;
 
 /**
- * The TMF project content provider for the tree viewer in the project explorer view. 
+ * The TMF project content provider for the tree viewer in the project explorer view.
  * <p>
  * @version 1.0
  * @author Francois Chouinard
  */
-public class TmfNavigatorContentProvider implements ICommonContentProvider, IPipelinedTreeContentProvider {
+public class TmfNavigatorContentProvider implements IPipelinedTreeContentProvider {
 
     // ------------------------------------------------------------------------
     // ICommonContentProvider
@@ -56,6 +56,34 @@ public class TmfNavigatorContentProvider implements ICommonContentProvider, IPip
      */
     @Override
     public Object getParent(Object element) {
+        if (element instanceof IProject) {
+            IProject project = (IProject) element;
+            return project.getParent();
+        }
+
+        if (element instanceof TmfTraceFolder) {
+            TmfTraceFolder folder = (TmfTraceFolder) element;
+            // Return the corresponding IProject as parent because from CNF point of view the IProject is the parent.
+            // The IProject is needed e.g. for link with Editor to work correctly.
+            return folder.getParent().getResource();
+        }
+
+        if (element instanceof TmfTraceElement) {
+            TmfTraceElement traceElement = (TmfTraceElement) element;
+            return traceElement.getParent();
+        }
+
+        if (element instanceof TmfExperimentFolder) {
+            TmfExperimentFolder folder = (TmfExperimentFolder) element;
+            // Return the corresponding IProject as parent because from CNF point of view the IProject is the parent.
+            // The IProject is needed e.g. for link with Editor to work correctly.
+            return folder.getParent().getResource();
+        }
+
+        if (element instanceof TmfExperimentElement) {
+            TmfExperimentElement expElement = (TmfExperimentElement) element;
+            return expElement.getParent();
+        }
         return null;
     }
 
@@ -99,7 +127,7 @@ public class TmfNavigatorContentProvider implements ICommonContentProvider, IPip
     @Override
     public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
     }
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.ui.navigator.IMementoAware#restoreState(org.eclipse.ui.IMemento)
@@ -107,7 +135,7 @@ public class TmfNavigatorContentProvider implements ICommonContentProvider, IPip
     @Override
     public void restoreState(IMemento aMemento) {
     }
-    
+
     /*
      * (non-Javadoc)
      * @see org.eclipse.ui.navigator.IMementoAware#saveState(org.eclipse.ui.IMemento)
@@ -346,7 +374,6 @@ public class TmfNavigatorContentProvider implements ICommonContentProvider, IPip
      * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedChildren(java.lang.Object, java.util.Set)
      */
     @Override
-    @SuppressWarnings({ "rawtypes", "unchecked" })
     public void getPipelinedChildren(Object parent, Set currentChildren) {
         customizeTmfElements(getChildren(parent), currentChildren);
     }
@@ -356,20 +383,20 @@ public class TmfNavigatorContentProvider implements ICommonContentProvider, IPip
      * @see org.eclipse.ui.navigator.IPipelinedTreeContentProvider#getPipelinedElements(java.lang.Object, java.util.Set)
      */
     @Override
-    @SuppressWarnings({ "rawtypes", "unchecked" })
     public void getPipelinedElements(Object input, Set currentElements) {
         customizeTmfElements(getElements(input), currentElements);
     }
 
     /**
      * Add/replace the ITmfProjectElement to the list of children
-     * 
+     *
      * @param elements
      *            the list returned by getChildren()
      * @param children
      *            the current children
      */
-    private void customizeTmfElements(Object[] elements, Set<Object> children) {
+    private static void customizeTmfElements(Object[] elements,
+            Set<Object> children) {
         if (elements != null && children != null) {
             for (Object element : elements) {
                 if (element instanceof ITmfProjectModelElement) {
This page took 0.025496 seconds and 5 git commands to generate.