Bug 307163 DBCS3.6: Resource Filter UI didn't restore grouped filters
Build Identifier: I20100313-1044 When reopening Resource Filters property editor after adding several filters under either of top-level AND/OR/NOT group, none of children in such top-level group filter is shown while settings are actually persisted in .project. Reproducible: Always Steps to Reproduce: 1. Create a project and add some files and folders. 2. Add resource filters to the project or the folder just created, and filters are grouped by AND/OR/NOT. 3. Ensure filters are active for exiting resources under the project. 4. Reopen "Resource Fileters" property editor 5. Verify the filters added in Step 2 are restored. Problem: None of child filters under top-level AND/OR/NOT group is shown Expected: All nested child filters under top-level AND/OR/NOT group are totally shown. Note that persistent entries for all filters are actually existing in a .project file.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/dialogs/ResourceFilterGroup.java
if (getChildrenLimit() > 0) {
			initializeChildren();
			return (FilterCopy[]) children.toArray(new FilterCopy[0]);
		}
		return null;
	}
	protected void initializeChildren() {
		if (children == null) {
			if (getChildrenLimit() > 0) {
				children = new LinkedList();
				Object arguments = getArguments();
				if (arguments instanceof IResourceFilterDescription[]) {
					IResourceFilterDescription[] filters = (IResourceFilterDescription[]) arguments;
					if (filters != null)
						for (int i = 0; i < filters.length; i++) {
							FilterCopy child = new FilterCopy(UIResourceFilterDescription.wrap(filters[i]));
							child.parent = this;
							children.add(child);
						}
				}
			}
		}
	}
	public void addChild(FilterCopy child) {
		initializeChildren();
		if (child.getParent() != null)
			child.getParent().removeChild(child);
		children.add(child);
		child.parent = this;
		serializeChildren();