Package com.flaptor.hounder.searcher.filter

Examples of com.flaptor.hounder.searcher.filter.BooleanFilter


   */
  protected AFilter generateFilters(final Vector filters) {
    if (null == filters) {
      return null;
    } else {
      BooleanFilter andedFilter = new BooleanFilter(BooleanFilter.Type.AND);
      int filterCounter = 0;
      for (Iterator iter = filters.iterator(); iter.hasNext();) {
        List filter;
        try {
          filter = (Vector) iter.next();
        } catch (ClassCastException e) {
          String s = "generateFilters: the outer list contains an object that is not a list." + e;
          logger.error(s);
          throw new IllegalArgumentException(s);
        }
        int stringCounter = 0;
        String[] s = new String[3];
        for (Iterator iter2 = filter.iterator(); iter2.hasNext();) {
          try {
            s[stringCounter] = (String) iter2.next();
          } catch (ClassCastException e) {
            String m = "generateFilters: the inner list " + filterCounter + " contains a non String object at position " + stringCounter;
            logger.error(m);
            throw new IllegalArgumentException(m);
          }
          stringCounter++;
          if (stringCounter > 2) {
            break;
          }
        }
        if (stringCounter == 2) {
          andedFilter.addFilter(new ValueFilter(s[0], s[1]));
        } else if (stringCounter == 3) {
          andedFilter.addFilter(new RangeFilter(s[0], s[1], s[2]));
        } else {
          String m = "generateFilters: inner list number " + filterCounter + " contains " + stringCounter + " strings.";
          logger.error(m);
          throw new IllegalArgumentException(m);
        }
View Full Code Here


        // Filtering

        // Categories (multi-valued)
        String[] categoriesParams = params.get("categories");
        BooleanFilter andFilter = null;
        if (categoriesParams != null) {
            andFilter = new BooleanFilter(BooleanFilter.Type.AND);
            for (String categoriesParam : categoriesParams) {
                String[] oredCategories = categoriesParam.split(",");
                BooleanFilter orFilter = new BooleanFilter(BooleanFilter.Type.OR);
                for (String oredCategory : oredCategories) {
                    orFilter.addFilter(new ValueFilter("categories", oredCategory));
                }
                andFilter.addFilter(orFilter);
            }
        }
       
View Full Code Here

        // Filtering

        // Categories (multi-valued)
        String[] categoriesParams = params.get("categories");
        BooleanFilter andFilter = null;
        if (categoriesParams != null) {
            andFilter = new BooleanFilter(BooleanFilter.Type.AND);
            for (String categoriesParam : categoriesParams) {
                String[] oredCategories = categoriesParam.split(",");
                BooleanFilter orFilter = new BooleanFilter(BooleanFilter.Type.OR);
                for (String oredCategory : oredCategories) {
                    orFilter.addFilter(new ValueFilter("categories", oredCategory));
                }
                andFilter.addFilter(orFilter);
            }
        }

        // Site (uni-valued)
        String siteParam = getParameter(params,"site");
        if (siteParam != null) {
            if (andFilter == null) {
                andFilter = new BooleanFilter(BooleanFilter.Type.AND);
            }
            andFilter.addFilter(new ValueFilter("site", siteParam));
        }

        // Crawl (multi-valued)
        String[] crawlParams = params.get("crawl");
        if (crawlParams != null) {
            if (andFilter == null) {
                andFilter = new BooleanFilter(BooleanFilter.Type.AND);
            }
            for (String crawlParam : crawlParams) {
                String[] oredCrawls = crawlParam.split(",");
                BooleanFilter orFilter = new BooleanFilter(BooleanFilter.Type.OR);
                for (String oredCrawl : oredCrawls) {
                    orFilter.addFilter(new ValueFilter("crawl", oredCrawl));
                }
                andFilter.addFilter(orFilter);
            }
        }
View Full Code Here

TOP

Related Classes of com.flaptor.hounder.searcher.filter.BooleanFilter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.