private Set<String> parseOutPattern( Pattern pattern ) { StringBuilder strippedFilter = new StringBuilder(); String[] parts = workingFilter.split( "\\|" ); Set<String> memberSet = null; for ( String part : parts ) { Matcher m = pattern.matcher( part ); if ( m.matches() ) { String includeMembersStr = m.group( 1 ); memberSet = new HashSet<String>( Arrays.asList( includeMembersStr.split( "," ) ) ); } else { appendFilter( strippedFilter, part ); } } workingFilter = strippedFilter.toString(); return memberSet; }
/** * Strips out and sets the file types portion of the legacyFilter */ private void parseOutFileTypes() { // Check for File type filter types = FILES_TYPE_FILTER.FILES_FOLDERS; StringBuilder strippedFilter = new StringBuilder(); if ( !workingFilter.isEmpty() ) { String[] parts = workingFilter.split( "\\|" ); for ( String part : parts ) { Matcher m = FILES_TYPES_PATTERN.matcher( part ); if ( m.matches() ) { FILES_TYPE_FILTER newType = FILES_TYPE_FILTER.valueOf( m.group( 1 ) ); if ( newType != null ) { types = newType; // note it only makes sense to have FILES if the depth is 1 if ( types == FILES_TYPE_FILTER.FILES && depth != 1 ) { types = FILES_TYPE_FILTER.FILES_FOLDERS; } } } else { appendFilter( strippedFilter, part ); } } } workingFilter = strippedFilter.toString(); }