public Query legacyConstructQuery()

in indexer-core/src/main/java/org/apache/maven/index/DefaultQueryCreator.java [321:369]


    public Query legacyConstructQuery(String field, String query) {
        if (query == null || query.length() == 0) {
            getLogger().info("Empty or null query for field:" + field);

            return null;
        }

        String q = query.toLowerCase();

        char h = query.charAt(0);

        if (JarFileContentsIndexCreator.FLD_CLASSNAMES_KW.getKey().equals(field)
                || JarFileContentsIndexCreator.FLD_CLASSNAMES.getKey().equals(field)) {
            q = q.replaceAll("\\.", "/");

            if (h == '^') {
                q = q.substring(1);

                if (q.charAt(0) != '/') {
                    q = '/' + q;
                }
            } else if (h != '*') {
                q = "*/" + q;
            }
        } else {
            if (h == '^') {
                q = q.substring(1);
            } else if (h != '*') {
                q = "*" + q;
            }
        }

        int l = q.length() - 1;
        char c = q.charAt(l);
        if (c == ' ' || c == '<' || c == '$') {
            q = q.substring(0, q.length() - 1);
        } else if (c != '*') {
            q += "*";
        }

        int n = q.indexOf('*');
        if (n == -1) {
            return new TermQuery(new Term(field, q));
        } else if (n > 0 && n == q.length() - 1) {
            return new PrefixQuery(new Term(field, q.substring(0, q.length() - 1)));
        }

        return new WildcardQuery(new Term(field, q));
    }