Author: scabanovich
Date: 2011-03-16 20:48:28 -0400 (Wed, 16 Mar 2011)
New Revision: 29837
Modified:
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XLabelProvider.java
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XProjectContentProvider.java
Log:
JBIDE-8306
https://issues.jboss.org/browse/JBIDE-8306
Modified:
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XLabelProvider.java
===================================================================
---
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XLabelProvider.java 2011-03-17
00:41:57 UTC (rev 29836)
+++
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XLabelProvider.java 2011-03-17
00:48:28 UTC (rev 29837)
@@ -10,6 +10,7 @@
******************************************************************************/
package org.jboss.tools.jst.web.ui.navigator;
+import org.eclipse.swt.graphics.Image;
import org.jboss.tools.common.model.impl.ExtraRootImpl;
import org.jboss.tools.jst.web.messages.xpl.WebUIMessages;
import org.jboss.tools.jst.web.model.pv.WebProjectNode;
@@ -19,14 +20,28 @@
*/
public class XLabelProvider extends WebProjectsLabelProvider {
+ public static class RootWrapper {
+ public Object element;
+ }
+
public XLabelProvider() {}
public String getText(Object element) {
+ if(element instanceof RootWrapper) {
+ element = ((RootWrapper)element).element;
+ }
if(element instanceof WebProjectNode && element instanceof ExtraRootImpl) {
return WebUIMessages.WEB_RESOURCES;
}
return super.getText(element);
}
+ public Image getImage(Object element) {
+ if(element instanceof RootWrapper) {
+ element = ((RootWrapper)element).element;
+ }
+ return super.getImage(element);
+ }
+
}
Modified:
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XProjectContentProvider.java
===================================================================
---
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XProjectContentProvider.java 2011-03-17
00:41:57 UTC (rev 29836)
+++
branches/jbosstools-3.2.x/jst/plugins/org.jboss.tools.jst.web.ui/src/org/jboss/tools/jst/web/ui/navigator/XProjectContentProvider.java 2011-03-17
00:48:28 UTC (rev 29837)
@@ -10,6 +10,9 @@
******************************************************************************/
package org.jboss.tools.jst.web.ui.navigator;
+import java.util.ArrayList;
+import java.util.List;
+
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.jdt.core.IJavaProject;
@@ -17,15 +20,31 @@
import org.jboss.tools.common.model.XModelObject;
import org.jboss.tools.common.model.project.IModelNature;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
+import org.jboss.tools.jst.web.ui.navigator.XLabelProvider.RootWrapper;
public class XProjectContentProvider extends XContentProvider {
public Object[] getChildren(Object parentElement) {
+ boolean root = false;
+ if(parentElement instanceof RootWrapper) {
+ root = true;
+ parentElement = ((RootWrapper)parentElement).element;
+ }
if(parentElement instanceof XModelObject) {
XModelObject o = (XModelObject)parentElement;
XFilteredTree filteredTree = getFilteredTree(o);
if(filteredTree != null) {
- return filteredTree.getChildren(o);
+ XModelObject[] result = filteredTree.getChildren(o);
+ if(root) {
+ List<XModelObject> list = new ArrayList<XModelObject>();
+ for (XModelObject c: result) {
+ if(c.getFileType() != XModelObject.SYSTEM) {
+ list.add(c);
+ }
+ }
+ return list.toArray(new XModelObject[0]);
+ }
+ return result;
}
return o.getChildrenForSave();
} else if(parentElement instanceof IProject || parentElement instanceof IJavaProject)
{
@@ -42,7 +61,9 @@
filteredTree = getFilteredTree(o);
}
if(filteredTree != null) {
- return new Object[]{filteredTree.getRoot()};
+ RootWrapper w = new RootWrapper();
+ w.element = filteredTree.getRoot();
+ return new Object[]{w};
}
return new Object[0];
}
@@ -50,6 +71,9 @@
}
public Object getParent(Object element) {
+ if(element instanceof RootWrapper) {
+ element = ((RootWrapper)element).element;
+ }
if(element instanceof XModelObject) {
XModelObject o = (XModelObject)element;
XFilteredTree filteredTree = getFilteredTree(o);