You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2016/11/03 09:31:57 UTC

svn commit: r1767850 - /sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/ContentViewerFilter.java

Author: kwin
Date: Thu Nov  3 09:31:57 2016
New Revision: 1767850

URL: http://svn.apache.org/viewvc?rev=1767850&view=rev
Log:
SLING-6236 hide deployment descriptor even if toplevel elements are working sets

Modified:
    sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/ContentViewerFilter.java

Modified: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/ContentViewerFilter.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/ContentViewerFilter.java?rev=1767850&r1=1767849&r2=1767850&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/ContentViewerFilter.java (original)
+++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/ContentViewerFilter.java Thu Nov  3 09:31:57 2016
@@ -18,9 +18,9 @@ package org.apache.sling.ide.eclipse.ui.
 
 import org.apache.sling.ide.eclipse.core.internal.ProjectHelper;
 import org.eclipse.core.resources.IProject;
+import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.viewers.TreePath;;
+import org.eclipse.jface.viewers.ViewerFilter;;
 
 /**
  * The <tt>ContentViewerFilter</tt> ensures that Sling content projects do not have 
@@ -55,9 +55,13 @@ public class ContentViewerFilter extends
     private IProject getProjectFromParent(Object parentElement) {
 
         if (parentElement instanceof TreePath) {
-            Object firstSegment = ((TreePath) parentElement).getFirstSegment();
-            if (firstSegment instanceof IProject) {
-                return (IProject) firstSegment;
+            TreePath treePath = (TreePath) parentElement;
+            // go through all segments from the bottom up until a project is found
+            for (int n = treePath.getSegmentCount() - 1; n >= 0; n--) {
+                Object segment = treePath.getSegment(n);
+                if (segment instanceof IProject) {
+                    return (IProject) segment;
+                }
             }
         } else if (parentElement instanceof IProject) {
             return (IProject) parentElement;