content: package ro.isdc.wro.extensions.model.resource;
  
  import static org.apache.commons.lang3.Validate.notNull;
  
  import java.util.ArrayList;
  import java.util.List;
  
  import org.springframework.util.AntPathMatcher;
  
  import ro.isdc.wro.model.resource.support.ResourceAuthorizationManager;
  import ro.isdc.wro.util.WroUtil;
  
  
  /**
   * An implementation of {@link ResourceAuthorizationManager} which authorize the uri based on configured list of uri's
   * matched using antPath support.
   *
   * @author Alex Objelean
   * @since 1.5.0
   * @created 22 Sep 2012
   */
  public class ConfigurableAntPathPatternsResourceAuthorizationManager
      implements ResourceAuthorizationManager {
    private final AntPathMatcher matcher = new AntPathMatcher();
    private List<String> patterns = new ArrayList<String>();
  
    @Override
    public boolean isAuthorized(final String uri) {
      for (final String pattern : patterns) {
        if (matcher.match(pattern, WroUtil.removeQueryString(uri))) {
          return true;
        }
      }
      return false;
    }
  
    /**
     * @param list set a list of authorized patterns
     */
    public void setPatterns(final List<String> list) {
      notNull(list);
      this.patterns = list;
    }
  }
  