Author: stefanegli
Date: Wed Aug 28 15:03:27 2013
New Revision: 1518237

URL: http://svn.apache.org/r1518237
Log:
SLING-2985 : filter out the jcr_root provided via JDT as a packagefragment - as 
it otherwise shows up twice and that could be confusing

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

Modified: 
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/JcrContentContentProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/JcrContentContentProvider.java?rev=1518237&r1=1518236&r2=1518237&view=diff
==============================================================================
--- 
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/JcrContentContentProvider.java
 (original)
+++ 
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/nav/JcrContentContentProvider.java
 Wed Aug 28 15:03:27 2013
@@ -17,17 +17,17 @@
 package org.apache.sling.ide.eclipse.ui.nav;
 
 import java.util.Arrays;
+import java.util.Iterator;
 import java.util.Set;
 
 import org.apache.sling.ide.eclipse.core.ProjectUtil;
-import org.apache.sling.ide.eclipse.ui.internal.Activator;
+import org.apache.sling.ide.eclipse.core.internal.ProjectHelper;
 import org.apache.sling.ide.eclipse.ui.nav.model.JcrNode;
 import org.apache.sling.ide.eclipse.ui.nav.model.SyncDir;
-import org.apache.sling.ide.serialization.SerializationManager;
 import org.eclipse.core.resources.IFolder;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
+import org.eclipse.jdt.core.IPackageFragmentRoot;
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.ui.IMemento;
@@ -175,7 +175,27 @@ public class JcrContentContentProvider i
        @Override
        public void getPipelinedChildren(Object aParent, Set 
theCurrentChildren) {
                if (aParent instanceof IProject) {
-                       Object[] children = 
projectGetChildren((IProject)aParent);
+                       IProject project = (IProject)aParent;
+                       if (ProjectHelper.isContentProject(project)) {
+                               for (Iterator it = 
theCurrentChildren.iterator(); it
+                                               .hasNext();) {
+                                       Object aChild = (Object) it.next();
+                                       if (aChild instanceof 
IPackageFragmentRoot) {
+                                               IPackageFragmentRoot ipfr = 
(IPackageFragmentRoot)aChild;
+                                               IResource res = 
ipfr.getResource();
+                                               IFolder syncDir = 
getSyncDir(project);
+                                               if (res!=null && syncDir!=null 
&& res.equals(syncDir)) {
+                                                       // then remove this one 
folder provided via j2ee content provider
+                                                       // reason: we are 
showing it too via the sling content provider
+                                                       it.remove();
+                                                       // and we can break 
here since there's only one syncdir currently
+                                                       break;
+                                               }
+                                               
+                                       }
+                               }
+                       }
+                       Object[] children = projectGetChildren(project);
                        if (children!=null && children.length>0) {
                                
theCurrentChildren.addAll(Arrays.asList(children));
                        }


Reply via email to